Email-article.php
<? if ($event == 'data') {
if (xwGetProperty($properties, 'sendarticle/sent', $sent)) xwMessage("This article has been sent to $sent",'green');
elseif (xwGetProperty($properties, 'sendarticle/to', $GLOBALS['sa-email'])) {
# If mail not sent but we have details, prepare for sending on view event xwSetProperty($properties, 'xpath:/properties:view', 'class.phpmailer.php'); xwSetProperty($properties, 'xpath:/properties:view+', $tTitle);
# Tells skin not to wrap site-template around article $GLOBALS['xwRaw'] = true; }
else {
# Not sent and no details either, render input form
xwSetProperty($properties, 'language', 'raw');
$article = "<form action=\"$script\">
<input type=hidden name=title value=\"$title\">
<input type=hidden name=xpath:/properties:data value=\"$tTitle\">
<input type=hidden name=xpath:/properties:sendarticle>
Email Address: <input type=text name=xpath:/properties/sendarticle:to size=30>
<input type=submit value=\" Send \">
You can also include a message before the article here if you like:
<textarea name=xpath:/properties/sendarticle:msg rows=10 cols=50></textarea> </form>";
}
}
else {
# Replace msg-token with user article url and msg
$utitle = urlencode($title);
xwGetProperty($properties, 'sendarticle/msg', $msg);
$msg = htmlentities($msg)."
Article source : <a href=\"$script/$utitle\">$script/$utitle</a>";
$article = str_replace($GLOBALS['xwMsgToken'], "$msg
", $article);
# Replace stylesheet-token with embedded stylesheets xwReplaceTokens($article, true);
# Absoluterise relative urls Absolute url of wiki $article = str_replace('"/wiki/', '"http://'.$_SERVER['HTTP_HOST'].'/wiki/', $article);
# Set up new mailer instance $mail = new PHPMailer(); $mail->From = $GLOBALS['wgUser']->mEmail; $mail->FromName = $GLOBALS['xwUserName']; $mail->IsHTML(true); $mail->AddAddress($email = $GLOBALS['sa-email']); $mail->Subject = $title; $mail->Body = $article;
# Send message and redirect client back to article or raise error if ($mail->Send()) { header("Location: $script?title=$utitle&xpath:/properties:data=$tTitle&xpath:/properties:sendarticle&xpath:/properties/sendarticle:sent=$email"); } else xwMessage($mail->ErrorInfo,'red');
} ?>