View source for Handler: sendpage

{{hits}}

#||
|| 
bugs: **NONE !!!**
Compatible with: !!(green)**R5.x**!!
Current version: 5.5
Credits: //((user:EvaggelosBalaskas Evaggelos Balaskas))//
|{{toc numerate=1}} ||
||#

##~sendpage.php##

Your wackowiki **~/handlers/page/sendpage.php**

%%(php)
 
<?php

if (!defined('IN_WACKO'))
{
	exit;
}

?>
<div class="page">
<?php

if ( $this->has_access('write') && $this->has_access('read') )
{
	if (!$this->page)
	{
		echo str_replace('%1', $this->href('edit'), $this->_t('DoesNotExists'));
	}
	else
	{
		if (!empty($_POST['email']))
		{
			$email		= $_POST['email'];

			// check form token
			if (!$this->validate_form_token('send_page'))
			{
				$this->show_message($this->_t('FormInvalid'));
			}
			else if (!$this->validate_email($email))
			{
				$this->show_message($this->_t('NotAEmail'));
			}
			else
			{
				$url		= $this->config['base_url'].$this->tag;
				$subject	= $url;
				$user		= $this->get_user();
				$message	= $this->_t('EmailSubject') . $user['user_name'] ." - ".$user['email']."\r\n<br>";
				$message	.= $data = $this->format($this->page['body'], 'wiki');

				$this->send_mail($email, $subject, $message);
				$this->set_message($this->_t('SendPage').'');
				$this->redirect($this->href('', $this->tag));
			}
		}
		else
		{
?>
  <h2><?php echo $this->_t('EmailPage'); ?></h2>
<?php     echo $this->form_open('send_page', 'sendpage', '', true); ?>
      <p><?php echo $this->_t('WriteEmail'); ?></p>
      <input type="email" name="email" size="25" maxlength="50">
      <input type="submit" value="Send">
    <?php    echo $this->form_close(); ?>
  <p> </p>
<?php
		echo $data = $this->format($this->page['body'], 'wiki');
		}
	}
}
else
{
	$message = $this->_t('ReadAccessDenied');
	$this->show_message($message, 'info');
}
?>
</div>


%%

===Documentation==

Just copy the above code to your wackowiki under handlers/page/sendpage.php
and add the below language variables/values to your wacko.xy.php with your translation.

===How to==

If you want to send a page to someone via email just type: **/sendpage** to your url
eg. http://ebalaskas.gr/wiki/HomePage/sendpage

**//__ATTENTION__//** You must have write permissions to a page - this is for security reasons -ANTISPAM protection. 

====Localization ==
put this at the end of your language file 

**/lang/wacko.xyz.php**
%%
// sendpage handler
'EmailPage' => 'Send this page via email!',
'WriteEmail' => 'Write email address',
'BadEmail' => 'No valid email address',
'ReturnToPage' => 'Return',
'EmailSubject' => 'You receive this page from: ',
'SendPage' => 'The page has been sent.<br>If for any reason the page wasnt delivered, please contact with your wackowiki administrator',
%%

pls. notice that this entry will not survive an Wacko upgrade, so you have to redo this

**[xyz] proposed translations**
[el]

%%
// sendpage handler
'EmailPage' => "Αποστολή αυτής της σελίδας μέσω ηλεκτρονικού ταχυδρομείου!",
'WriteEmail' => "Εισάγετε την ηλεκτρονική διεύθυνση αποστολής",
'BadEmail' => "Η ηλεκτρονική διεύθυνση που έχετε εισάγει για την αποστολή της σελίδας ΔΕΝ είναι έγκυρη",
'ReturnToPage' => "Επιστροφή στην σελίδα",
'EmailSubject' => "Παραλάβατε αυτή την σελίδα από τον: ",
'SendPage' => "Η αποστολή της σελίδας πραγματοποιήθηκε.<br>Εάν για κάποιο λόγο δεν παραδόθηκε, επικοινωνήστε με τον διαχειριστή",
%%

===To Do==
  * To find a small email icon
  * convince the core developers that this is a beautiful idea and modify the first page to add this handler next to print with a nice description :)

{{backlinks}}