当前位置: 首页>>代码示例>>PHP>>正文


PHP EasyBlogHelper::buildNestedCategories方法代码示例

本文整理汇总了PHP中EasyBlogHelper::buildNestedCategories方法的典型用法代码示例。如果您正苦于以下问题:PHP EasyBlogHelper::buildNestedCategories方法的具体用法?PHP EasyBlogHelper::buildNestedCategories怎么用?PHP EasyBlogHelper::buildNestedCategories使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在EasyBlogHelper的用法示例。


在下文中一共展示了EasyBlogHelper::buildNestedCategories方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _getParentIdsWithPost

 function _getParentIdsWithPost($accessibleCatsIds = array())
 {
     $db = EasyBlogHelper::db();
     $my = JFactory::getUser();
     $query = 'select * from `#__easyblog_category`';
     $query .= ' where `published` = 1';
     $query .= ' and `parent_id` = 0';
     if (!empty($accessibleCatsIds)) {
         $catAccessQuery = ' `id` IN(';
         if (!is_array($accessibleCatsIds)) {
             $accessibleCatsIds = array($accessibleCatsIds);
         }
         for ($i = 0; $i < count($accessibleCatsIds); $i++) {
             $catAccessQuery .= $db->Quote($accessibleCatsIds[$i]->id);
             if (next($accessibleCatsIds) !== false) {
                 $catAccessQuery .= ',';
             }
         }
         $catAccessQuery .= ')';
         $query .= ' and ' . $catAccessQuery;
     }
     $db->setQuery($query);
     $result = $db->loadObjectList();
     $validCat = array();
     if (count($result) > 0) {
         for ($i = 0; $i < count($result); $i++) {
             $item =& $result[$i];
             $item->childs = null;
             EasyBlogHelper::buildNestedCategories($item->id, $item);
             $catIds = array();
             $catIds[] = $item->id;
             EasyBlogHelper::accessNestedCategoriesId($item, $catIds);
             $item->cnt = $this->getTotalPostCount($catIds);
             if ($item->cnt > 0) {
                 $validCat[] = $item->id;
             }
         }
     }
     return $validCat;
 }
开发者ID:Tommar,项目名称:vino2,代码行数:40,代码来源:category.php

示例2: getPrivateCategories

 public static function getPrivateCategories()
 {
     $db = EasyBlogHelper::db();
     $my = JFactory::getUser();
     $excludeCats = array();
     $catQuery = '';
     // get all private categories id
     if ($my->id == 0) {
         $catQuery = 'select distinct a.`id`, a.`private`';
         $catQuery .= ' from `#__easyblog_category` as a';
         $catQuery .= ' 	left join `#__easyblog_category_acl` as b on a.`id` = b.`category_id` and b.`acl_id` = ' . $db->Quote(CATEGORY_ACL_ACTION_VIEW);
         $catQuery .= ' where a.`private` != ' . $db->Quote('0');
         $gid = array();
         $gids = '';
         if (EasyBlogHelper::getJoomlaVersion() >= '1.6') {
             $gid = JAccess::getGroupsByUser(0, false);
         } else {
             $gid = EasyBlogHelper::getUserGids();
         }
         if (count($gid) > 0) {
             foreach ($gid as $id) {
                 $gids .= empty($gids) ? $db->Quote($id) : ',' . $db->Quote($id);
             }
             $catQuery .= ' and b.`category_id` NOT IN (';
             $catQuery .= '     SELECT c.category_id FROM `#__easyblog_category_acl` as c ';
             $catQuery .= '        WHERE c.acl_id = ' . $db->Quote(CATEGORY_ACL_ACTION_VIEW);
             $catQuery .= '        AND c.content_id IN (' . $gids . ') )';
         }
     } else {
         $gid = EasyBlogHelper::getUserGids();
         $gids = '';
         if (count($gid) > 0) {
             foreach ($gid as $id) {
                 $gids .= empty($gids) ? $db->Quote($id) : ',' . $db->Quote($id);
             }
         }
         $catQuery = 'select id from `#__easyblog_category` as a';
         $catQuery .= ' where not exists (';
         $catQuery .= '		select b.category_id from `#__easyblog_category_acl` as b';
         $catQuery .= '			where b.category_id = a.id and b.`acl_id` = ' . $db->Quote(CATEGORY_ACL_ACTION_VIEW);
         $catQuery .= '			and b.type = ' . $db->Quote('group');
         $catQuery .= '			and b.content_id IN (' . $gids . ')';
         $catQuery .= '      )';
         $catQuery .= ' and a.`private` = ' . $db->Quote(CATEGORY_PRIVACY_ACL);
     }
     if (!empty($catQuery)) {
         $db->setQuery($catQuery);
         $result = $db->loadObjectList();
         for ($i = 0; $i < count($result); $i++) {
             $item =& $result[$i];
             $item->childs = null;
             EasyBlogHelper::buildNestedCategories($item->id, $item);
             $catIds = array();
             $catIds[] = $item->id;
             EasyBlogHelper::accessNestedCategoriesId($item, $catIds);
             $excludeCats = array_merge($excludeCats, $catIds);
         }
     }
     return $excludeCats;
 }
开发者ID:knigherrant,项目名称:decopatio,代码行数:60,代码来源:easyblog.php

示例3: onAlbumPrepare

 /**
  * Plugin that returns the object list for DJ-Mediatools album
  * 
  * Each object must contain following properties (mandatory): title, description, image
  * Optional properties: link, target (_blank or _self), alt (alt attribute for image)
  * 
  * @param	object	The album params
  */
 public function onAlbumPrepare(&$source, &$params)
 {
     // Lets check the requirements
     $check = $this->onCheckRequirements($source);
     if (is_null($check) || is_string($check)) {
         return null;
     }
     $app = JFactory::getApplication();
     $default_image = $params->get('plg_easyblog_image');
     $path = JPATH_ROOT . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_easyblog' . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR . 'helper.php';
     if (!JFile::exists($path)) {
         return null;
     }
     require_once $path;
     require_once EBLOG_HELPERS . DIRECTORY_SEPARATOR . 'router.php';
     JFactory::getLanguage()->load('com_easyblog', JPATH_ROOT);
     $mparams = new JRegistry();
     $count = $params->get('max_images');
     $sort = array();
     $sort[0] = $params->get('plg_easyblog_order');
     $sort[1] = $params->get('plg_easyblog_order_dir');
     $featured = $params->get('plg_easyblog_usefeatured');
     $type = 'latest';
     $model = EasyBlogHelper::getModel('Blog');
     $categories = EasyBlogHelper::getCategoryInclusion($params->get('plg_easyblog_catid'));
     $catIds = array();
     if (!empty($categories)) {
         if (!is_array($categories)) {
             $categories = array($categories);
         }
         foreach ($categories as $item) {
             $category = new stdClass();
             $category->id = trim($item);
             $catIds[] = $category->id;
             if ($params->get('plg_easyblog_includesubcategory', 0)) {
                 $category->childs = null;
                 EasyBlogHelper::buildNestedCategories($category->id, $category, false, true);
                 EasyBlogHelper::accessNestedCategoriesId($category, $catIds);
             }
         }
         $catIds = array_unique($catIds);
     }
     $cid = $catIds;
     if (!empty($cid)) {
         $type = 'category';
     }
     $posts = $model->getBlogsBy($type, $cid, $sort, $count, EBLOG_FILTER_PUBLISHED, null, $featured, array(), false, false, true, array(), $cid);
     $slides = array();
     foreach ($posts as $item) {
         $slide = (object) array();
         $row = EasyBlogHelper::getTable('Blog', 'Table');
         $row->bind($item);
         $image = $row->getImage();
         if (!empty($image)) {
             $slide->image = str_replace(JURI::base(), '', $image->getSource('original'));
         } else {
             $slide->image = DJMediatoolsLayoutHelper::getImageFromText($item->intro);
         }
         // if no image found in images and introtext then try fulltext
         if (empty($slide->image)) {
             $slide->image = DJMediatoolsLayoutHelper::getImageFromText($item->content);
         }
         // if no image found in fulltext then take default image
         if (empty($slide->image)) {
             $slide->image = $default_image;
         }
         // if no default image set then don't display this article
         if (empty($slide->image)) {
             continue;
         }
         $slide->title = $item->title;
         $slide->description = $item->intro;
         if (empty($slide->description)) {
             $slide->description = $item->content;
         }
         $slide->canonical = $slide->link = EasyBlogRouter::_('index.php?option=com_easyblog&view=entry&id=' . $item->id);
         //.'&Itemid='. EasyBlogRouter::getItemIdByCategories( $item->category_id ) );
         $slide->id = $item->id . ':' . $item->permalink;
         //$this->dd($item);
         if ($comments = $params->get('commnets', 0)) {
             $host = str_replace(JURI::root(true), '', JURI::root());
             $host = preg_replace('/\\/$/', '', $host);
             switch ($comments) {
                 case 1:
                     // jcomments
                     $slide->comments = array('id' => $item->id, 'group' => 'com_easyblog');
                     break;
                 case 2:
                     // disqus
                     $disqus_shortname = $params->get('disqus_shortname', '');
                     if (!empty($disqus_shortname)) {
                         $slide->comments = array();
//.........这里部分代码省略.........
开发者ID:chaudhary4k4,项目名称:modernstore,代码行数:101,代码来源:easyblog.php

示例4: listings

 function listings()
 {
     $app = JFactory::getApplication();
     $doc = JFactory::getDocument();
     $config = EasyBlogHelper::getConfig();
     $my = JFactory::getUser();
     $acl = EasyBlogACLHelper::getRuleSet();
     $sort = JRequest::getCmd('sort', $config->get('layout_postorder'));
     $catId = JRequest::getCmd('id', '0');
     $category = EasyBlogHelper::getTable('Category', 'Table');
     $category->load($catId);
     if ($category->id == 0) {
         $category->title = JText::_('COM_EASYBLOG_UNCATEGORIZED');
     }
     // Set the meta description for the category
     EasyBlogHelper::setMeta($category->id, META_TYPE_CATEGORY);
     // Set the meta description for the category
     // $doc->setMetadata( 'description' , strip_tags( $category->description ) );
     //setting pathway
     $pathway = $app->getPathway();
     $privacy = $category->checkPrivacy();
     $addRSS = true;
     if (!$privacy->allowed) {
         if ($my->id == 0 && !$config->get('main_allowguestsubscribe')) {
             $addRSS = false;
         }
     }
     if ($addRSS) {
         // Add rss feed link
         $doc->addHeadLink($category->getRSS(), 'alternate', 'rel', array('type' => 'application/rss+xml', 'title' => 'RSS 2.0'));
         $doc->addHeadLink($category->getAtom(), 'alternate', 'rel', array('type' => 'application/atom+xml', 'title' => 'Atom 1.0'));
     }
     if (!EasyBlogRouter::isCurrentActiveMenu('categories', $category->id)) {
         if (!EasyBlogRouter::isCurrentActiveMenu('categories')) {
             $this->setPathway(JText::_('COM_EASYBLOG_CATEGORIES_BREADCRUMB'), EasyBlogRouter::_('index.php?option=com_easyblog&view=categories'));
         }
         //add the pathway for category
         $this->setPathway($category->title, '');
     }
     //get the nested categories
     $category->childs = null;
     EasyBlogHelper::buildNestedCategories($category->id, $category, false, true);
     // TODO: Parameterize initial subcategories to display. Ability to configure from backend.
     $nestedLinks = '';
     $initialLimit = $app->getCfg('list_limit') == 0 ? 5 : $app->getCfg('list_limit');
     if (count($category->childs) > $initialLimit) {
         $initialNestedLinks = '';
         $initialRow = new stdClass();
         $initialRow->childs = array_slice($category->childs, 0, $initialLimit);
         EasyBlogHelper::accessNestedCategories($initialRow, $initialNestedLinks, '0', '', 'link', ', ');
         $moreNestedLinks = '';
         $moreRow = new stdClass();
         $moreRow->childs = array_slice($category->childs, $initialLimit);
         EasyBlogHelper::accessNestedCategories($moreRow, $moreNestedLinks, '0', '', 'link', ', ');
         // Hide more nested links until triggered
         $nestedLinks .= $initialNestedLinks;
         $nestedLinks .= '<span class="more-subcategories-toggle"> ' . JText::_('COM_EASYBLOG_AND') . ' <a href="javascript: void(0);onclick="eblog.categories.loadMore( this );">' . JText::sprintf('COM_EASYBLOG_OTHER_SUBCATEGORIES', count($category->childs) - $initialLimit) . '</a></span>';
         $nestedLinks .= '<span class="more-subcategories" style="display: none;">, ' . $moreNestedLinks . '</span>';
     } else {
         EasyBlogHelper::accessNestedCategories($category, $nestedLinks, '0', '', 'link', ', ');
     }
     $catIds = array();
     $catIds[] = $category->id;
     EasyBlogHelper::accessNestedCategoriesId($category, $catIds);
     $category->nestedLink = $nestedLinks;
     $modelC = $this->getModel('Category');
     $category->cnt = $modelC->getTotalPostCount($category->id);
     $modelPT = $this->getModel('PostTag');
     $model = $this->getModel('Blog');
     $modelCat = $this->getModel('Category');
     $data = $model->getBlogsBy('category', $catIds, $sort, null, null, null, null, array(), null, null, null, array(), array(), null, EBLOG_PAGINATION_CATEGORIES);
     $pagination = $model->getPagination();
     $allowCat = $modelCat->allowAclCategory($category->id);
     //for trigger
     $params = $app->getParams('com_easyblog');
     $limitstart = JRequest::getVar('limitstart', 0, '', 'int');
     if (!empty($data)) {
         $data = EasyBlogHelper::formatBlog($data, false, true, true, true);
         if ($config->get('layout_showcomment', false)) {
             for ($i = 0; $i < count($data); $i++) {
                 $row =& $data[$i];
                 $maxComment = $config->get('layout_showcommentcount', 3);
                 $comments = EasyBlogHelper::getHelper('Comment')->getBlogComment($row->id, $maxComment, 'desc');
                 $comments = EasyBlogHelper::formatBlogCommentsLite($comments);
                 $row->comments = $comments;
             }
         }
     }
     $teamBlogCount = $modelCat->getTeamBlogCount($category->id);
     $title = EasyBlogHelper::getPageTitle(JText::_($category->title));
     // @task: Set the page title
     parent::setPageTitle($title, $pagination, $config->get('main_pagetitle_autoappend'));
     $themes = new CodeThemes();
     $themes->set('allowCat', $allowCat);
     $themes->set('category', $category);
     $themes->set('sort', $sort);
     $themes->set('blogs', $data);
     $themes->set('currentURL', 'index.php?option=com_easyblog&view=categories&layout=listings&id=' . $category->id);
     $themes->set('pagination', $pagination->getPagesLinks());
     $themes->set('config', $config);
//.........这里部分代码省略.........
开发者ID:Tommar,项目名称:vino2,代码行数:101,代码来源:view.html.php

示例5: display

 /**
  * Responsible to display the front page of the blog listings
  *
  * @access	public
  */
 function display($tmpl = null)
 {
     // @task: Set meta tags for latest post
     EasyBlogHelper::setMeta(META_ID_LATEST, META_TYPE_VIEW);
     // @task: Set rss links into headers.
     EasyBlogHelper::getHelper('Feeds')->addHeaders('index.php?option=com_easyblog&view=latest');
     $app = JFactory::getApplication();
     $doc = JFactory::getDocument();
     $config = EasyBlogHelper::getConfig();
     $my = JFactory::getUser();
     $acl = EasyBlogACLHelper::getRuleSet();
     // @task: Add a breadcrumb if the current menu that's being accessed is not from the latest view.
     if (!EasyBlogRouter::isCurrentActiveMenu('latest')) {
         $this->setPathway(JText::_('COM_EASYBLOG_LATEST_BREADCRUMB'), '');
     }
     // @task: Get the current active menu's properties.
     $menu = $app->getMenu()->getActive();
     $menu = JFactory::getApplication()->getMenu()->getActive();
     $inclusion = '';
     if (is_object($menu)) {
         $params = EasyBlogHelper::getRegistry();
         $params->load($menu->params);
         $inclusion = EasyBlogHelper::getCategoryInclusion($params->get('inclusion'));
         if ($params->get('includesubcategories', 0) && !empty($inclusion)) {
             $tmpInclusion = array();
             foreach ($inclusion as $includeCatId) {
                 //get the nested categories
                 $category = new stdClass();
                 $category->id = $includeCatId;
                 $category->childs = null;
                 EasyBlogHelper::buildNestedCategories($category->id, $category);
                 $linkage = '';
                 EasyBlogHelper::accessNestedCategories($category, $linkage, '0', '', 'link', ', ');
                 $catIds = array();
                 $catIds[] = $category->id;
                 EasyBlogHelper::accessNestedCategoriesId($category, $catIds);
                 $tmpInclusion = array_merge($tmpInclusion, $catIds);
             }
             $inclusion = $tmpInclusion;
         }
     }
     // @task: Necessary filters
     $sort = JRequest::getCmd('sort', $config->get('layout_postorder'));
     $model = $this->getModel('Blog');
     // @task: Retrieve the list of featured blog posts.
     $featured = $model->getFeaturedBlog($inclusion);
     $excludeIds = array();
     // @task: Add canonical URLs.
     if ($config->get('main_canonical_entry')) {
         $canonicalUrl = EasyBlogRouter::getRoutedURL('index.php?option=com_easyblog&view=latest', false, true, true);
         $doc->addCustomTag('<link rel="canonical" href="' . $canonicalUrl . '"/>');
     }
     // Test if user also wants the featured items to be appearing in the blog listings on the front page.
     // Otherwise, we'll need to exclude the featured id's from appearing on the front page.
     if (!$config->get('layout_featured_frontpage')) {
         foreach ($featured as $item) {
             $excludeIds[] = $item->id;
         }
     }
     // @task: Admin might want to display the featured blogs on all pages.
     if (!$config->get('layout_featured_allpages') && (JRequest::getInt('start', 0) != 0 || JRequest::getInt('limitstart', 0) != 0)) {
         $featured = array();
     } else {
         for ($i = 0; $i < count($featured); $i++) {
             $row = $featured[$i];
             $row->featuredImage = EasyBlogHelper::getFeaturedImage($row->intro . $row->content);
         }
         $featured = EasyBlogHelper::formatBlog($featured, true, false, false, false, false);
     }
     // @task: Try to retrieve any categories to be excluded.
     $excludedCategories = $config->get('layout_exclude_categories');
     $excludedCategories = empty($excludedCategories) ? '' : explode(',', $excludedCategories);
     // @task: Fetch the blog entries.
     $data = $model->getBlogsBy('', '', $sort, 0, EBLOG_FILTER_PUBLISHED, null, true, $excludeIds, false, false, true, $excludedCategories, $inclusion);
     $pagination = $model->getPagination();
     $params = $app->getParams('com_easyblog');
     // @task: Perform necessary formatting here.
     $data = EasyBlogHelper::formatBlog($data, true, true, true, true);
     // @task: Update the title of the page if navigating on different pages to avoid Google marking these title's as duplicates.
     $title = EasyBlogHelper::getPageTitle(JText::_('COM_EASYBLOG_LATEST_PAGE_TITLE'));
     // @task: Set the page title
     parent::setPageTitle($title, $pagination, $config->get('main_pagetitle_autoappend'));
     // @task: Get pagination output here.
     $paginationHTML = $pagination->getPagesLinks();
     $theme = new CodeThemes();
     $theme->set('data', $data);
     $theme->set('featured', $featured);
     $theme->set('currentURL', EasyBlogRouter::_('index.php?option=com_easyblog&view=latest', false));
     $theme->set('pagination', $paginationHTML);
     // @task: Send back response to the browser.
     echo $theme->fetch('blog.latest.php');
 }
开发者ID:Tommar,项目名称:vino2,代码行数:97,代码来源:view.html.php

示例6: display

 function display($tmpl = null)
 {
     $config = EasyBlogHelper::getConfig();
     $jConfig = EasyBlogHelper::getJConfig();
     if (!$config->get('main_rss')) {
         return;
     }
     $id = JRequest::getCmd('id', '0');
     $category = EasyBlogHelper::getTable('Category', 'Table');
     $category->load($id);
     // private category shouldn't allow to access.
     $privacy = $category->checkPrivacy();
     if (!$privacy->allowed) {
         return;
     }
     if ($category->id == 0) {
         $category->title = JText::_('COM_EASYBLOG_UNCATEGORIZED');
     }
     //get the nested categories
     $category->childs = null;
     EasyBlogHelper::buildNestedCategories($category->id, $category);
     $linkage = '';
     EasyBlogHelper::accessNestedCategories($category, $linkage, '0', '', 'link', ', ');
     $catIds = array();
     $catIds[] = $category->id;
     EasyBlogHelper::accessNestedCategoriesId($category, $catIds);
     $category->nestedLink = $linkage;
     $model = $this->getModel('Blog');
     $sort = JRequest::getCmd('sort', $config->get('layout_postorder'));
     $data = $model->getBlogsBy('category', $catIds, $sort);
     $document = JFactory::getDocument();
     $document->link = EasyBlogRouter::_('index.php?option=com_easyblog&view=categories&id=' . $id . '&layout=listings');
     $document->setTitle($this->escape($category->title));
     $document->setDescription(JText::sprintf('COM_EASYBLOG_FEEDS_CATEGORY_DESC', $this->escape($category->title)));
     if (empty($data)) {
         return;
     }
     for ($i = 0; $i < count($data); $i++) {
         $row =& $data[$i];
         $blog = EasyBlogHelper::getTable('Blog');
         $blog->load($row->id);
         $user = JFactory::getUser($row->created_by);
         $profile = EasyBlogHelper::getTable('Profile', 'Table');
         $profile->load($user->id);
         $created = EasyBlogHelper::getDate($row->created);
         $formatDate = true;
         if (EasyBlogHelper::getJoomlaVersion() >= '1.6') {
             $langCode = EasyBlogStringHelper::getLangCode();
             if ($langCode != 'en-GB' || $langCode != 'en-US') {
                 $formatDate = false;
             }
         }
         //$row->created       = ( $formatDate ) ? $created->toFormat( $config->get('layout_dateformat', '%A, %d %B %Y') ) : $created->toFormat();
         $row->created = $created->toMySQL();
         if ($config->get('main_rss_content') == 'introtext') {
             $row->text = !empty($row->intro) ? $row->intro : $row->content;
         } else {
             $row->text = $row->intro . $row->content;
         }
         $row->text = EasyBlogHelper::getHelper('Videos')->strip($row->text);
         $row->text = EasyBlogGoogleAdsense::stripAdsenseCode($row->text);
         $image = '';
         if ($blog->getImage()) {
             $image = '<img src="' . $blog->getImage()->getSource('frontpage') . '" />';
         }
         // load individual item creator class
         $item = new JFeedItem();
         $item->title = html_entity_decode($this->escape($row->title));
         $item->link = EasyBlogRouter::_('index.php?option=com_easyblog&view=entry&id=' . $row->id);
         $item->description = $image . $row->text;
         $item->date = $row->created;
         $item->category = $category->title;
         $item->author = $profile->getName();
         if ($jConfig->get('feed_email') == 'author') {
             $item->authorEmail = $profile->user->email;
         } else {
             $item->authorEmail = $jConfig->get('mailfrom');
         }
         $document->addItem($item);
     }
 }
开发者ID:Tommar,项目名称:vino2,代码行数:81,代码来源:view.feed.php


注:本文中的EasyBlogHelper::buildNestedCategories方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。