コード例 #1
0
 public function execute()
 {
     $params = $this->extractRequestParams();
     $this->requireOnlyOneParameter($params, 'url', 'list');
     $flickrBlacklist = new UploadWizardFlickrBlacklist(UploadWizardConfig::getConfig(), $this->getContext());
     if ($params['list']) {
         $list = $flickrBlacklist->getBlacklist();
         $this->getResult()->setIndexedTagName($list, 'item');
         $this->getResult()->addValue('flickrblacklist', 'list', $list);
     }
     if (!is_null($params['url'])) {
         if ($flickrBlacklist->isBlacklisted($params['url'])) {
             $this->getResult()->addValue('flickrblacklist', 'result', 'bad');
         } else {
             $this->getResult()->addValue('flickrblacklist', 'result', 'ok');
         }
     }
 }
コード例 #2
0
 /**
  * Returns the blacklist, which is a non-associative array of user NSIDs and path_aliases
  * (the name name which can be seen in the pretty URL). For a given user, usually only one
  * of the NSID and the path_alias will be present; it is the responsibility of the consumers
  * of the blacklist to check it against both.
  * @return array
  */
 public function getBlacklist()
 {
     if (!isset(self::$blacklist)) {
         self::$blacklist = array();
         if ($this->flickrBlacklistPage) {
             $title = Title::newFromText($this->flickrBlacklistPage);
             $page = WikiPage::factory($title);
             $text = ContentHandler::getContentText($page->getContent());
             $text = preg_replace('/^\\s*#.*$/m', '', $text);
             preg_match_all('/\\S+/', $text, $match);
             self::$blacklist = $match[0];
         }
     }
     return self::$blacklist;
 }
コード例 #3
0
 /**
  * Hook to blacklist flickr images by intercepting upload from url
  */
 public static function onIsUploadAllowedFromUrl($url, &$allowed)
 {
     if ($allowed) {
         $flickrBlacklist = new UploadWizardFlickrBlacklist(UploadWizardConfig::getConfig(), RequestContext::getMain());
         if ($flickrBlacklist->isBlacklisted($url)) {
             $allowed = false;
         }
     }
     return true;
 }