View source for Handler: sendpage

{{hits}}

#||
|| 
Compatible with: !!(green)**R6.0**!!
Current version: 0.4
Credits: //((user:EvaggelosBalaskas Evaggelos Balaskas))//
|{{toc numerate=1}} ||
||#

##sendpage.php##

((source:master/community/handler/sendpage.php handler/page/sendpage.php)) 
%%(php)
<?php

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

if (!$this->page)
{
	$this->http->redirect($this->href());
}

if ($this->has_access('write'))
{
	if (!empty($_POST['email']))
	{
		$email_to		= $_POST['email'];

		if (!$this->validate_email_address($email_to))
		{
			$tpl->message = $this->show_message($this->_t('NotAEmail'), 'error', false);
		}
		else
		{
			$subject	= $this->page['title'];
			$user		= $this->get_user();
			$message	=
							$this->_t('EmailSubject') . $user['user_name'] . ' - ' . /* $user['email']  .*/ "\n\n" .

							$this->href('', $tag, null, null, null, null, true, true) . "\n\n" .
							$this->page['title'] . "\n" .
							"----------------------------------------------------------------------\n\n" .
							Ut::amp_decode($this->page['body']) . "\n\n" .
							"----------------------------------------------------------------------\n\n" .

							$this->_t('EmailDoNotReply') . "\n\n" .
							$this->db->site_name . "\n" .
							$this->db->base_url;

			$email = new Email($this);
			$email->send_mail($email_to, $email_to, $subject, $message);

			$this->set_message($this->_t('SendPage'));

			$this->http->redirect($this->href());
		}
	}
	else
	{
		#$tpl->data = $this->format($this->page['body'], 'wiki');
		$tpl->data = $this->format($this->page['body'], 'source'); // -> [ ' data | pre ' ]
	}
}
else
{
	$this->http->redirect($this->href());
}

%%

((source:master/community/handler/template/sendpage.tpl handler/page/template/sendpage.tpl)) 
%%
[ === main === ]
	[ ' dummy | default * // ADD_NO_DIV ' ]<div id="page" class="page">
		[ ' message ' ]
		<h3>[ ' _t: EmailPage ' ]</h3>
		<br>
		<form action="[ ' href: sendpage ' ]" method="post" name="send_page">
			[ ' csrf: send_page ' ]
			<label for="email_recipient">[ ' _t: WriteEmail ' ]:</label><br>
			<input type="email" id="email_recipient" name="email" size="60" maxlength="255">
			<button type="submit" id="submit_sendpage">[ ' _t: SendButton ' ]</button>
		</form>
		[ ' data | pre ' ]
	</div>
%%

===Documentation==

Just copy the above code to your WackoWiki under handler/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/custom.<lang>.php**
%%
// sendpage handler
'EmailPage' => 'Send this page via email!',
'WriteEmail' => 'Write email address',
'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',
%%

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

%%
// sendpage handler
'EmailPage' => "Αποστολή αυτής της σελίδας μέσω ηλεκτρονικού ταχυδρομείου!",
'WriteEmail' => "Εισάγετε την ηλεκτρονική διεύθυνση αποστολής",
'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 :)
  * add option for HTML email (?)
  * add recipient name to form (?)
  * safeguard the handler better to avoid misuse

===Changelog===
  * 0.3 - fixed the handler to work with 6.0 and the template engine
  *  0.4 - minor bug fixes

{{backlinks}}