Difference between revisions of "Extension:EmailToWiki"
m (Extension:EmailToWiki.php moved to Foo:EmailToWiki.php) |
m (sortkey) |
||
Line 1: | Line 1: | ||
<?php | <?php | ||
− | # Extension:EmailToWiki{{Category:Extensions}}{{php}}{{Category:Extensions created with Template:Extension}} | + | # Extension:EmailToWiki{{Category:Extensions|EmailToWiki}}{{php}}{{Category:Extensions created with Template:Extension|EmailToWiki}} |
# - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html) | # - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html) | ||
# - Author: [http://www.organicdesign.co.nz/nad User:Nad] | # - Author: [http://www.organicdesign.co.nz/nad User:Nad] |
Revision as of 11:48, 29 September 2007
<?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'][] = 'wfETWAddCustomVariable'; $wgHooks['MagicWordwgVariableIDs'][] = 'wfETWAddCustomVariableID'; $wgHooks['LanguageGetMagic'][] = 'wfETWAddCustomVariableLang'; $wgHooks['ParserGetVariableValueSwitch'][] = 'wfETWGetCustomVariable';
function wfETWAddCustomVariable(&$magicWords) { foreach($GLOBALS['wgCustomVariables'] as $var) $magicWords[] = "MAG_$var"; return true; }
function wfETWAddCustomVariableID(&$variables) { foreach($GLOBALS['wgCustomVariables'] as $var) $variables[] = constant("MAG_$var"); return true; }
function wfETWAddCustomVariableLang(&$langMagic, $langCode = 0) { foreach($GLOBALS['wgCustomVariables'] as $var) { $magic = "MAG_$var"; $langMagic[defined($magic) ? constant($magic) : $magic] = array(0,$var); } return true; }
function wfETWGetCustomVariable(&$parser,&$cache,&$index,&$ret) { if ($index == MAG_EMAILTOWIKI) { global $wgTitle,$wgServer; $url = parse_url($wgServer); $host = ereg_replace('^www.',,$url['host']); $ret = $wgTitle->getPrefixedURL(); $ret = str_replace(':','&3A',$ret); $ret = eregi_replace('%([0-9a-z]{2})','&$1',$ret); $ret = "$ret@".$url['host']; $ret = "$ret"; } return true; } ?>