Difference between revisions of "Email-article.php"
m |
(account for php tags when eval'ing List-Cat.php) |
||
Line 21: | Line 21: | ||
$tmp = $article; | $tmp = $article; | ||
xwSetProperty($properties, 'list-cat', 'Contact Lists'); | xwSetProperty($properties, 'list-cat', 'Contact Lists'); | ||
− | eval( xwArticleContent('List-Cat.php') ); | + | eval( '?>'.xwArticleContent('List-Cat.php').'<?' ); |
$lists = str_replace('*[[', '<option>', $article); | $lists = str_replace('*[[', '<option>', $article); | ||
$lists = str_replace(']]', '</option>', $lists); | $lists = str_replace(']]', '</option>', $lists); | ||
− | $lists = " <b>or</b> <select name=xpath:/properties/sendarticle:list>$lists</select | + | $lists = " <b>or</b> <select name=xpath:/properties/sendarticle:list>$lists</select>"; |
$article = $tmp; | $article = $tmp; | ||
} else $lists = ''; | } else $lists = ''; | ||
Line 31: | Line 31: | ||
<input type=hidden name=xpath:/properties:data value=\"$tTitle\"> | <input type=hidden name=xpath:/properties:data value=\"$tTitle\"> | ||
<input type=hidden name=xpath:/properties:sendarticle> | <input type=hidden name=xpath:/properties:sendarticle> | ||
− | <b>Email Address: </b><input type=text name=xpath:/properties/sendarticle:to size=30 | + | <b>Email Address: </b><input type=text name=xpath:/properties/sendarticle:to size=30> |
$lists | $lists | ||
− | <br><input type=submit value=\" Send \"> | + | <br><br><input type=submit value=\" Send \"> |
(<input type=checkbox value=no name=xpath:/properties/sendarticle:textonly> | (<input type=checkbox value=no name=xpath:/properties/sendarticle:textonly> | ||
<i>text-only)</i><br><br> | <i>text-only)</i><br><br> |
Revision as of 08:44, 26 January 2006
<? if ($event == 'data') {
if (xwGetProperty($properties, 'sendarticle/sent', $sent)) { if (ereg('@',$sent)) xwMessage("Article sent to $sent", 'green'); else xwMessage("Error sending article: $sent", 'red'); }
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); $_REQUEST['printable'] = true; }
else {
# Not sent and no details either, render input form
xwSetProperty($properties, 'language', 'raw');
if (in_array('postmasters', $GLOBALS['xwUserGroups'])) {
# Get available mail-lists from Contact Lists category using List-Cat code
$tmp = $article;
xwSetProperty($properties, 'list-cat', 'Contact Lists');
eval( '?>'.xwArticleContent('List-Cat.php').'<?' );
$lists = str_replace('*[[', '<option>', $article);
$lists = str_replace(']]', '</option>', $lists);
$lists = " or <select name=xpath:/properties/sendarticle:list>$lists</select>";
$article = $tmp;
} else $lists = ;
$article = "<form action=\"$script\" method=\"GET\">
<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>
$lists
<input type=submit value=\" Send \">
(<input type=checkbox value=no name=xpath:/properties/sendarticle:textonly>
text-only)
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);
xwGetProperty($properties, 'sendarticle/textonly', $textonly);
if ($textonly) {
$html = false;
$article = "$msg\n\n".xwArticleContent( $title, true );
}
else {
$html = true;
$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($html); foreach ( split('[,;]', $GLOBALS['sa-email']) as $i ) $mail->AddAddress( trim($i) ); $mail->Subject = $title; $mail->Body = $article;
# Send message and redirect client back to article or raise error $msg = $mail->Send() ? $GLOBALS['sa-email'] : $mail->ErrorInfo; header("Location: $script?title=$utitle&xpath:/properties:data=$tTitle&xpath:/properties:sendarticle&xpath:/properties/sendarticle:sent=$msg"); } ?>