Exemplo n.º 1
0
 public static function searchTagPlugin($user_id, $searchString)
 {
     // output container
     $feed_update = array();
     $feed_update['id'] = array();
     $feed_update['content'] = array();
     $feed_list = array();
     $count = 0;
     $skip = false;
     // search on tags first
     if (isset($searchString[0])) {
         foreach ($searchString[0] as $keyT => $valueT) {
             // init
             $feed_update['content'] = array();
             $feedtagMapper = new Mapper('Feed');
             $feedtagMapper->join('Feed_Tag', 'feed.id = feed_tag.feed_id')->join('Tag', 'feed_tag.tag_id = tag.id')->filter('tag.user_id=(?)', $user_id)->filter('tag.name=(?)', $valueT);
             $feedtagMapper->order('time');
             $feedtagResults = $feedtagMapper->get();
             if (count($feedtagResults['Feed']) >= 1) {
                 FeedC::parseTagPlugin($feedtagResults, $count, $feed_list, $feed_update);
             } else {
                 // empty content
                 $skip = true;
                 $feed_update['id'] = array();
                 $feed_update['content'] = array();
                 break;
             }
             $count++;
         }
     }
     // search on plugins next if necessary
     if (isset($searchString[1]) && !$skip) {
         foreach ($searchString[1] as $keyT => $valueT) {
             // init
             $feed_update['id'] = array();
             $feed_update['content'] = array();
             // get tag ID
             $tagMapper = new Mapper('Feed');
             $tagMapper->filter('user_id=(?)', $user_id)->filter('plugin=(?)', $valueT);
             $tagMapper->order('time');
             $tagResults = $tagMapper->get();
             if (count($tagResults['Feed']) >= 1) {
                 FeedC::parseTagPlugin($tagResults, $count, $feed_list, $feed_update);
             } else {
                 // empty content
                 $skip = true;
                 $feed_update['id'] = array();
                 $feed_update['content'] = array();
                 break;
             }
             $count++;
         }
     }
     return $feed_update;
 }