/**
  * Load our global_user_groups variable
  * @param AbuseFilterVariableHolder $vars
  * @param User $user
  * @return bool
  */
 static function abuseFilterGenerateUserVars($vars, $user)
 {
     $vars->setLazyLoadVar('global_user_groups', 'global-user-groups', array('user' => $user));
     return true;
 }
 /**
  * @param Title $title
  * @param null|Page $page
  * @return AbuseFilterVariableHolder
  */
 public static function getEditVars($title, Page $page = null)
 {
     $vars = new AbuseFilterVariableHolder();
     // NOTE: $page may end up remaining null, e.g. if $title points to a special page.
     if (!$page && $title instanceof Title && $title->canExist()) {
         $page = WikiPage::factory($title);
     }
     $vars->setLazyLoadVar('edit_diff', 'diff', array('oldtext-var' => 'old_wikitext', 'newtext-var' => 'new_wikitext'));
     $vars->setLazyLoadVar('edit_diff_pst', 'diff', array('oldtext-var' => 'old_wikitext', 'newtext-var' => 'new_pst'));
     $vars->setLazyLoadVar('new_size', 'length', array('length-var' => 'new_wikitext'));
     $vars->setLazyLoadVar('old_size', 'length', array('length-var' => 'old_wikitext'));
     $vars->setLazyLoadVar('edit_delta', 'subtract', array('val1-var' => 'new_size', 'val2-var' => 'old_size'));
     // Some more specific/useful details about the changes.
     $vars->setLazyLoadVar('added_lines', 'diff-split', array('diff-var' => 'edit_diff', 'line-prefix' => '+'));
     $vars->setLazyLoadVar('removed_lines', 'diff-split', array('diff-var' => 'edit_diff', 'line-prefix' => '-'));
     $vars->setLazyLoadVar('added_lines_pst', 'diff-split', array('diff-var' => 'edit_diff_pst', 'line-prefix' => '+'));
     // Links
     $vars->setLazyLoadVar('added_links', 'link-diff-added', array('oldlink-var' => 'old_links', 'newlink-var' => 'all_links'));
     $vars->setLazyLoadVar('removed_links', 'link-diff-removed', array('oldlink-var' => 'old_links', 'newlink-var' => 'all_links'));
     $vars->setLazyLoadVar('new_text', 'strip-html', array('html-var' => 'new_html'));
     $vars->setLazyLoadVar('old_text', 'strip-html', array('html-var' => 'old_html'));
     if ($title instanceof Title) {
         $vars->setLazyLoadVar('all_links', 'links-from-wikitext', array('namespace' => $title->getNamespace(), 'title' => $title->getText(), 'text-var' => 'new_wikitext', 'article' => $page));
         $vars->setLazyLoadVar('old_links', 'links-from-wikitext-or-database', array('namespace' => $title->getNamespace(), 'title' => $title->getText(), 'text-var' => 'old_wikitext'));
         $vars->setLazyLoadVar('new_pst', 'parse-wikitext', array('namespace' => $title->getNamespace(), 'title' => $title->getText(), 'wikitext-var' => 'new_wikitext', 'article' => $page, 'pst' => true));
         $vars->setLazyLoadVar('new_html', 'parse-wikitext', array('namespace' => $title->getNamespace(), 'title' => $title->getText(), 'wikitext-var' => 'new_wikitext', 'article' => $page));
         $vars->setLazyLoadVar('old_html', 'parse-wikitext-nonedit', array('namespace' => $title->getNamespace(), 'title' => $title->getText(), 'wikitext-var' => 'old_wikitext'));
     }
     return $vars;
 }
Esempio n. 3
0
 /**
  * @static
  * @param  $title Title
  * @return AbuseFilterVariableHolder
  */
 public static function getEditVars($title)
 {
     $vars = new AbuseFilterVariableHolder();
     $vars->setLazyLoadVar('edit_diff', 'diff', array('oldtext-var' => 'old_wikitext', 'newtext-var' => 'new_wikitext'));
     $vars->setLazyLoadVar('new_size', 'length', array('length-var' => 'new_wikitext'));
     $vars->setLazyLoadVar('old_size', 'length', array('length-var' => 'old_wikitext'));
     $vars->setLazyLoadVar('edit_delta', 'subtract', array('val1-var' => 'new_size', 'val2-var' => 'old_size'));
     // Some more specific/useful details about the changes.
     $vars->setLazyLoadVar('added_lines', 'diff-split', array('diff-var' => 'edit_diff', 'line-prefix' => '+'));
     $vars->setLazyLoadVar('removed_lines', 'diff-split', array('diff-var' => 'edit_diff', 'line-prefix' => '-'));
     // Links
     $vars->setLazyLoadVar('all_links', 'links-from-wikitext', array('namespace' => $title->getNamespace(), 'title' => $title->getText(), 'text-var' => 'new_wikitext'));
     $vars->setLazyLoadVar('old_links', 'links-from-wikitext-or-database', array('namespace' => $title->getNamespace(), 'title' => $title->getText(), 'text-var' => 'old_wikitext'));
     $vars->setLazyLoadVar('added_links', 'link-diff-added', array('oldlink-var' => 'old_links', 'newlink-var' => 'all_links'));
     $vars->setLazyLoadVar('removed_links', 'link-diff-removed', array('oldlink-var' => 'old_links', 'newlink-var' => 'all_links'));
     $vars->setLazyLoadVar('new_html', 'parse-wikitext', array('namespace' => $title->getNamespace(), 'title' => $title->getText(), 'wikitext-var' => 'new_wikitext'));
     $vars->setLazyLoadVar('new_text', 'strip-html', array('html-var' => 'new_html'));
     $vars->setLazyLoadVar('old_html', 'parse-wikitext-nonedit', array('namespace' => $title->getNamespace(), 'title' => $title->getText(), 'wikitext-var' => 'old_wikitext'));
     $vars->setLazyLoadVar('old_text', 'strip-html', array('html-var' => 'old_html'));
     return $vars;
 }