Extension:EmailToWiki
<?php
- Extension:EmailToWiki
Template:PhpCategory:Extensions created with Template:Extension
- - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
- - Author: User:Nad
- - Started: 2007-05-25
- - See http://www.mediawiki.org/wiki/Extension:EmailToWiki for installation and usage details
- NOTE: This script just adds the version and extension information to Special:version,
- the actual work is done by EmailToWiki.pl which should be run from the crontab
if (!defined('MEDIAWIKI')) die('Not an entry point.');
define('EMAILTOWIKI_VERSION','1.0.1, 2007-06-15');
$wgExtensionCredits['other'][] = array( 'name' => 'EmailToWiki', 'author' => 'User:Nad', 'description' => 'Allows emails to be sent to the wiki and added to an existing or new article', 'url' => 'http://www.mediawiki.org/wiki/Extension:EmailToWiki', 'version' => EMAILTOWIKI_VERSION );
- Add a MediaWiki variable to get the page's email address
$wgCustomVariables = array('EMAILTOWIKI');
$wgHooks['MagicWordMagicWords'][] = 'wfAddCustomVariable'; $wgHooks['MagicWordwgVariableIDs'][] = 'wfAddCustomVariableID'; $wgHooks['LanguageGetMagic'][] = 'wfAddCustomVariableLang'; $wgHooks['ParserGetVariableValueSwitch'][] = 'wfGetCustomVariable';
function wfAddCustomVariable(&$magicWords) { foreach($GLOBALS['wgCustomVariables'] as $var) $magicWords[] = "MAG_$var"; return true; }
function wfAddCustomVariableID(&$variables) { foreach($GLOBALS['wgCustomVariables'] as $var) $variables[] = constant("MAG_$var"); return true; }
function wfAddCustomVariableLang(&$langMagic, $langCode = 0) { foreach($GLOBALS['wgCustomVariables'] as $var) { $magic = "MAG_$var"; $langMagic[defined($magic) ? constant($magic) : $magic] = array(0,$var); } return true; }
function wfGetCustomVariable(&$parser,&$cache,&$index,&$ret) { if ($index == MAG_EMAILTOWIKI) { global $wgTitle,$wgServer; $url = parse_url($wgServer); $ret = $wgTitle->getPrefixedURL(); $ret = str_replace(':','&3A'); $ret = eregi_replace('%([0-9a-z]{2})','&$1',$ret); $ret = "$ret@".$url['host']; } return true; }
?>