/** * 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; }
/** * @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; }