Rene (Diskussion | Beiträge) Beschreibung |
Rene (Diskussion | Beiträge) Fehler im RegEx behoben |
||
| Zeile 18: | Zeile 18: | ||
$wgExtensionCredits['other'][] = array( | $wgExtensionCredits['other'][] = array( | ||
'name' => 'BlockSpammer', | 'name' => 'BlockSpammer', | ||
'author' => ' | 'author' => 'Rene Raule', | ||
'version' => '0. | 'version' => '0.2', | ||
'description' => 'Nicht angemeldete Benutzer | 'description' => 'Nicht angemeldete Benutzer duerfen keine externen Links anlegen.', | ||
'descriptionmsg' => 'block_spammer_error-desc', | 'descriptionmsg' => 'block_spammer_error-desc', | ||
'url' => 'http://www.stargate-wiki.de/index.php/Benutzer:Rene/BlockSpammer', | 'url' => 'http://www.stargate-wiki.de/index.php/Benutzer:Rene/BlockSpammer', | ||
| Zeile 29: | Zeile 29: | ||
// Welche RegEx zeigen einen Spammer | // Welche RegEx zeigen einen Spammer | ||
$wgBlockSpammerPatterns = array ( | $wgBlockSpammerPatterns = array ( | ||
"/http/i", // externe Links | |||
); | |||
$wgHooks['ArticleSave'][] = 'wfCheckBlockSpammer'; | $wgHooks['ArticleSave'][] = 'wfCheckBlockSpammer'; | ||
function wfBlockSpammer() { | function wfBlockSpammer() { | ||
wfLoadExtensionMessages( 'BlockSpammer' ); | |||
} | } | ||
function wfCheckBlockSpammer (&$article,&$user,&$text ) { | function wfCheckBlockSpammer (&$article,&$user,&$text ) { | ||
global $wgBlockSpammerPatterns; | |||
global $wgOut; | |||
if($user->mId == 0) { | if($user->mId == 0) { | ||
$t = PHPDiff($article->mContent."\n",$text."\n",2); | $t = PHPDiff($article->mContent."\n",$text."\n",2); | ||
foreach ($wgBlockSpammerPatterns as $re) { | |||
if (preg_match($re, $t)===1) { | |||
$wgOut->errorpage('block_spammer_error_page_title', 'block_spammer_error' ); | |||
return false; | |||
} | |||
} | |||
} | } | ||
return true; | |||
} | } | ||