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; }