Esempio n. 1
0
 function _loadEntriesFromWeb($page = 1, $category_name)
 {
     $params =& JComponentHelper::getParams('com_wordbridge');
     $blogname = $params->get('wordbridge_blog_name');
     if (empty($blogname) || !function_exists('curl_init')) {
         return null;
     }
     $isTag = false;
     $ucategory = urlencode(strtolower($category_name));
     $pageParam = '';
     if ($page > 1) {
         $pageParam = '&paged=' . (int) $page;
     }
     $url = sprintf('http://%s/?feed=rss2&category_name=%s%s', WordbridgeHelper::fqdnBlogName($blogname), $ucategory, $pageParam);
     $tagUrl = sprintf('http://%s/?feed=rss2&tag=%s%s', WordbridgeHelper::fqdnBlogName($blogname), $ucategory, $pageParam);
     $blogInfo = WordbridgeHelper::getBlogByName($blogname);
     if ($blogInfo['uuid'] && WordbridgeHelper::isTag($blogInfo['uuid'], $category_name)) {
         $isTag = true;
         $url = $tagUrl;
     }
     $results = WordbridgeHelper::getEntriesFromUrl($url);
     if (!$isTag && !count($results) && $page <= 1) {
         if ($blogInfo['uuid']) {
             WordbridgeHelper::addTag($blogInfo['uuid'], $category_name);
         }
         $isTag = true;
         $results = WordbridgeHelper::getEntriesFromUrl($tagUrl);
     }
     return (object) array('isTag' => $isTag, 'entries' => $results);
 }
Esempio n. 2
0
 function onContentSearch($text, $phrase = '', $ordering = '', $areas = null)
 {
     // Need to look up all the menu items that are linked to blogs
     $results = array();
     $text = trim($text);
     if (empty($text)) {
         return $results;
     }
     if (is_array($areas)) {
         if (count(array_intersect($areas, array_keys($this->onContentSearchAreas()))) == 0) {
             return array();
         }
     }
     // We want to keep an eye on any blogs we've seen before, as
     // they may be linked in as multiple menus
     $seenBlogs = array();
     $menuIDs = WordbridgeHelper::getWordbridgeMenuIDs();
     $app = JFactory::getApplication();
     $menu = $app->getMenu();
     foreach ($menuIDs as $itemid) {
         $params = $menu->getParams($itemid);
         $blog_name = $params->get('wordbridge_blog_name');
         if (!$params || $params->get('wordbridge_searchable') == 'no' || empty($blog_name)) {
             continue;
         }
         if (array_key_exists($blog_name, $seenBlogs)) {
             continue;
         }
         $seenBlogs[$blog_name] = 1;
         // Create a curl request for the search
         $blogInfo = WordbridgeHelper::getBlogInfo($blog_name, true);
         if (!$blogInfo) {
             continue;
         }
         $url = sprintf('http://%s/?s=%s&feed=rss2', WordbridgeHelper::fqdnBlogName($blog_name), urlencode($text));
         $entries = WordbridgeHelper::getEntriesFromUrl($url);
         WordbridgeHelper::storeBlogEntries($entries, $blogInfo['uuid']);
         foreach ($entries as $entry) {
             $results[] = (object) array('href' => sprintf('index.php?option=com_wordbridge&Itemid=%d&view=entry&p=%d&slug=%s', $itemid, $entry['postid'], urlencode($entry['slug'])), 'title' => $entry['title'], 'section' => JText::_('PLG_SEARCH_WORDBRIDGE_AREA'), 'created' => $entry['date'], 'text' => strip_tags($entry['content']));
         }
     }
     // Results really should be sorted
     switch ($ordering) {
         case 'oldest':
             usort($results, array('plgSearchWordbridge', '_sortByOldest'));
             break;
         case 'alpha':
             usort($results, array('plgSearchWordbridge', '_sortByName'));
             break;
         case 'newest':
         default:
             usort($results, array('plgSearchWordbridge', '_sortByNewest'));
             break;
     }
     return $results;
 }
Esempio n. 3
0
 function _loadEntriesFromWeb($page = 1)
 {
     $app = JFactory::getApplication();
     $params = $app->getParams();
     $blogname = $params->get('wordbridge_blog_name');
     if (empty($blogname) || !function_exists('curl_init')) {
         return false;
     }
     $url = WordbridgeHelper::fqdnBlogName($blogname);
     if (!preg_match("/^https?:\\/\\/.+/", $url)) {
         $url = sprintf('http://%s', $url);
     }
     $url = sprintf('%s/?feed=rss2&paged=%d', $url, (int) $page);
     $this->_entries = WordbridgeHelper::getEntriesFromUrl($url);
     return true;
 }