X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FActivitySpam%2FActivitySpamPlugin.php;h=779507fe1f1b55c93438ce461768d325e4af1806;hb=c04c91bb8974671ee093f444b3d180993bc4987c;hp=e9c481e3bc7487adb3f3f72e002165c5fd1e1bb5;hpb=0fec1872cdab51e04c4aa8e6100403c3e1fedb91;p=quix0rs-gnu-social.git diff --git a/plugins/ActivitySpam/ActivitySpamPlugin.php b/plugins/ActivitySpam/ActivitySpamPlugin.php index e9c481e3bc..779507fe1f 100644 --- a/plugins/ActivitySpam/ActivitySpamPlugin.php +++ b/plugins/ActivitySpam/ActivitySpamPlugin.php @@ -92,38 +92,6 @@ class ActivitySpamPlugin extends Plugin return true; } - /** - * Load related modules when needed - * - * @param string $cls Name of the class to be loaded - * - * @return boolean hook value; true means continue processing, false means stop. - */ - - function onAutoload($cls) - { - $dir = dirname(__FILE__); - - switch ($cls) - { - case 'TrainAction': - case 'SpamAction': - include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php'; - return false; - case 'Spam_score': - include_once $dir . '/'.$cls.'.php'; - return false; - case 'SpamFilter': - case 'SpamNoticeStream': - case 'TrainSpamForm': - case 'TrainHamForm': - include_once $dir . '/'.strtolower($cls).'.php'; - return false; - default: - return true; - } - } - /** * When a notice is saved, check its spam score * @@ -150,15 +118,15 @@ class ActivitySpamPlugin extends Plugin return true; } - function onNoticeDeleteRelated($notice) { - $score = Spam_score::staticGet('notice_id', $notice->id); + function onNoticeDeleteRelated(Notice $notice) { + $score = Spam_score::getKV('notice_id', $notice->id); if (!empty($score)) { $score->delete(); } return true; } - function onUserRightsCheck($profile, $right, &$result) { + function onUserRightsCheck(Profile $profile, $right, &$result) { switch ($right) { case self::REVIEWSPAM: case self::TRAINSPAM: @@ -185,11 +153,12 @@ class ActivitySpamPlugin extends Plugin if (!empty($notice)) { - $score = Spam_score::staticGet('notice_id', $notice->id); + $score = Spam_score::getKV('notice_id', $notice->id); if (empty($score)) { - $this->debug("No score for notice " . $notice->id); - // XXX: show a question-mark or something + // If it's empty, we can train it. + $form = new TrainSpamForm($out, $notice); + $form->show(); } else if ($score->is_spam) { $form = new TrainHamForm($out, $notice); $form->show(); @@ -206,12 +175,12 @@ class ActivitySpamPlugin extends Plugin /** * Map URLs to actions * - * @param Net_URL_Mapper $m path-to-action mapper + * @param URLMapper $m path-to-action mapper * * @return boolean hook value; true means continue processing, false means stop. */ - function onRouterInitialized($m) + public function onRouterInitialized(URLMapper $m) { $m->connect('main/train/spam', array('action' => 'train', 'category' => 'spam')); @@ -222,7 +191,7 @@ class ActivitySpamPlugin extends Plugin return true; } - function onEndShowStyles($action) + function onEndShowStyles(Action $action) { $action->element('style', null, '.form-train-spam input.submit { background: url('.$this->path('icons/bullet_black.png').') no-repeat 0px 0px } ' . "\n" . @@ -230,7 +199,7 @@ class ActivitySpamPlugin extends Plugin return true; } - function onEndPublicGroupNav($nav) + function onEndPublicGroupNav(Menu $nav) { $user = common_current_user(); @@ -246,10 +215,10 @@ class ActivitySpamPlugin extends Plugin return true; } - function onPluginVersion(&$versions) + function onPluginVersion(array &$versions) { $versions[] = array('name' => 'ActivitySpam', - 'version' => STATUSNET_VERSION, + 'version' => GNUSOCIAL_VERSION, 'author' => 'Evan Prodromou', 'homepage' => 'http://status.net/wiki/Plugin:ActivitySpam', 'description' => @@ -262,7 +231,7 @@ class ActivitySpamPlugin extends Plugin if ($this->hideSpam) { if ($bResult) { - $score = Spam_score::staticGet('notice_id', $notice->id); + $score = Spam_score::getKV('notice_id', $notice->id); if (!empty($score) && $score->is_spam) { if (empty($profile) || @@ -280,12 +249,9 @@ class ActivitySpamPlugin extends Plugin /** * Pre-cache our spam scores if needed. */ - function onEndNoticeListPrefill(&$notices, &$profiles, $avatarSize) { + function onEndNoticeListPrefill(array &$notices, array &$profiles, array $notice_ids, Profile $scoped=null) { if ($this->hideSpam) { - foreach ($notices as $notice) { - $ids[] = $notice->id; - } - Memcached_DataObject::multiGet('Spam_score', 'notice_id', $ids); + Spam_score::multiGet('notice_id', $notice_ids); } return true; }