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


PHP E::ModuleTopic方法代码示例

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


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

示例1: getTopicsForSitemap

 /**
  * Список опубликованых топиков в открытых блогах (с кешированием)
  *
  * @param int $iPage
  *
  * @return array
  */
 public function getTopicsForSitemap($iPage = 0)
 {
     $sCacheKey = "sitemap_topics_{$iPage}_" . C::Get('plugin.sitemap.items_per_page');
     if (false === ($aData = E::ModuleCache()->Get($sCacheKey))) {
         $aFilter = $this->GetNamedFilter('sitemap');
         $aTopics = E::ModuleTopic()->GetTopicsByFilter($aFilter, $iPage, C::Get('plugin.sitemap.items_per_page'), array('blog' => array('owner' => array())));
         $aData = array();
         $iIndex = 0;
         $aPriority = F::Array_Str2Array(C::Get('plugin.sitemap.type.topics.priority'));
         $nPriority = sizeof($aPriority) ? reset($aPriority) : null;
         $aChangeFreq = F::Array_Str2Array(C::Get('plugin.sitemap.type.topics.changefreq'));
         $sChangeFreq = sizeof($aChangeFreq) ? reset($aChangeFreq) : null;
         /** @var ModuleTopic_EntityTopic $oTopic */
         foreach ($aTopics['collection'] as $oTopic) {
             if ($aPriority) {
                 if (isset($aPriority[$iIndex])) {
                     $nPriority = $aPriority[$iIndex];
                 }
             }
             if ($aChangeFreq) {
                 if (isset($aChangeFreq[$iIndex])) {
                     $sChangeFreq = $aChangeFreq[$iIndex];
                 }
             }
             $aData[] = E::ModuleSitemap()->GetDataForSitemapRow($oTopic->getLink(), $oTopic->getDateLastMod(), $sChangeFreq, $nPriority);
             $iIndex += 1;
         }
         // тег 'blog_update' т.к. при редактировании блога его тип может измениться
         // с открытого на закрытый или наоборот
         E::ModuleCache()->Set($aData, $sCacheKey, array('topic_new', 'topic_update', 'blog_update'), C::Get('plugin.sitemap.type.topics.cache_lifetime'));
     }
     return $aData;
 }
开发者ID:Azany,项目名称:altocms,代码行数:40,代码来源:Topic.class.php

示例2: getComments

 public function getComments($iTopicId, $iPageNum, $iPageSize)
 {
     $sCacheKey = 'api_topic_' . $iTopicId;
     $oTopic = E::ModuleCache()->GetTmp($sCacheKey);
     if (!$oTopic) {
         $oTopic = E::ModuleTopic()->GetTopicById($iTopicId);
     }
     if (!$oTopic || !($oBlog = $oTopic->getBlog())) {
         return array();
     }
     $oBlogType = $oBlog->GetBlogType();
     if ($oBlogType) {
         $bCloseBlog = !$oBlog->CanReadBy(E::User());
     } else {
         // if blog type not defined then it' open blog
         $bCloseBlog = false;
     }
     if ($bCloseBlog) {
         return array();
     }
     $aComments = E::ModuleComment()->GetCommentsByTargetId($oTopic, 'topic', $iPageNum, $iPageSize);
     $aResult = array('total' => $oTopic->getCountComment(), 'list' => array());
     foreach ($aComments['comments'] as $oComment) {
         $aResult['list'][] = $oComment->getApiData();
     }
     return $aResult;
 }
开发者ID:altocms,项目名称:alto-plugin-api,代码行数:27,代码来源:ApiPosts.class.php

示例3: EventShutdown

 public function EventShutdown()
 {
     parent::EventShutdown();
     if ($this->oCurrentBlog) {
         $iCountSandboxBlogNew = E::ModuleTopic()->GetCountTopicsSandboxNew(array('blog_id' => $this->oCurrentBlog->getId()));
         E::ModuleViewer()->Assign('iCountSandboxBlogNew', $iCountSandboxBlogNew);
     }
 }
开发者ID:altocms,项目名称:alto-plugin-sandbox,代码行数:8,代码来源:ActionBlog.class.php

示例4: GetUserProfileStats

 public function GetUserProfileStats($xUser)
 {
     $aUserPublicationStats = parent::GetUserProfileStats($xUser);
     $iCountTopicsSandbox = E::ModuleTopic()->GetCountTopicsSandboxByUser($xUser);
     $aUserPublicationStats['count_sandbox'] = $iCountTopicsSandbox;
     $aUserPublicationStats['count_created'] += $iCountTopicsSandbox;
     return $aUserPublicationStats;
 }
开发者ID:altocms,项目名称:alto-plugin-sandbox,代码行数:8,代码来源:User.class.php

示例5: getFields

 /**
  * Get all additional fields of the content type
  *
  * @return ModuleTopic_EntityField[]
  */
 public function getFields()
 {
     if (is_null($this->aFields)) {
         $aFilter = array();
         $aFilter['content_id'] = $this->getContentId();
         $this->aFields = E::ModuleTopic()->GetContentFields($aFilter);
     }
     return $this->aFields;
 }
开发者ID:hard990,项目名称:altocms,代码行数:14,代码来源:ContentType.entity.class.php

示例6: EventDownloadFile

 public function EventDownloadFile()
 {
     $this->SetTemplate(false);
     $sTopicId = $this->GetParam(0);
     $sFieldId = $this->GetParam(1);
     E::ModuleSecurity()->ValidateSendForm();
     if (!($oTopic = E::ModuleTopic()->GetTopicById($sTopicId))) {
         return parent::EventNotFound();
     }
     if (!($this->oType = E::ModuleTopic()->GetContentType($oTopic->getType()))) {
         return parent::EventNotFound();
     }
     if (!($oField = E::ModuleTopic()->GetContentFieldById($sFieldId))) {
         return parent::EventNotFound();
     }
     if ($oField->getContentId() != $this->oType->getContentId()) {
         return parent::EventNotFound();
     }
     //получаем объект файла
     $oFile = $oTopic->getFieldFile($oField->getFieldId());
     //получаем объект поля топика, содержащий данные о файле
     $oValue = $oTopic->getField($oField->getFieldId());
     if ($oFile && $oValue) {
         if (preg_match("/^(http:\\/\\/)/i", $oFile->getFileUrl())) {
             $sFullPath = $oFile->getFileUrl();
             R::Location($sFullPath);
         } else {
             $sFullPath = Config::Get('path.root.dir') . $oFile->getFileUrl();
         }
         $sFilename = $oFile->getFileName();
         /*
          * Обновляем данные
          */
         $aFileObj = array();
         $aFileObj['file_name'] = $oFile->getFileName();
         $aFileObj['file_url'] = $oFile->getFileUrl();
         $aFileObj['file_size'] = $oFile->getFileSize();
         $aFileObj['file_extension'] = $oFile->getFileExtension();
         $aFileObj['file_downloads'] = $oFile->getFileDownloads() + 1;
         $sText = serialize($aFileObj);
         $oValue->setValue($sText);
         $oValue->setValueSource($sText);
         //сохраняем
         E::ModuleTopic()->UpdateContentFieldValue($oValue);
         /*
          * Отдаем файл
          */
         header('Content-type: ' . $oFile->getFileExtension());
         header('Content-Disposition: attachment; filename="' . $sFilename . '"');
         F::File_PrintChunked($sFullPath);
     } else {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('content_download_file_error'));
         return R::Action('error');
     }
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:55,代码来源:ActionDownload.class.php

示例7: EventIndex

 public function EventIndex()
 {
     if ($nTopicId = intval($this->sCurrentEvent)) {
         $oTopic = E::ModuleTopic()->GetTopicById($nTopicId);
         if ($oTopic) {
             F::HttpRedirect($oTopic->getUrl());
             exit;
         }
     }
     return $this->EventNotFound();
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:11,代码来源:ActionT.class.php

示例8: EventShutdown

 /**
  * Выполняется при завершении работы экшена
  */
 public function EventShutdown()
 {
     parent::EventShutdown();
     if (!$this->oUserProfile) {
         return;
     }
     /**
      * Загружаем в шаблон необходимые переменные
      */
     $iCountDraftUser = E::ModuleTopic()->GetCountDraftsPersonalByUser($this->oUserProfile->getId());
     E::ModuleViewer()->Assign('iCountDraftUser', $iCountDraftUser);
 }
开发者ID:shtrih,项目名称:altocms-plugin-drafts,代码行数:15,代码来源:ActionProfile.class.php

示例9: EventStreamTopicSandbox

 /**
  * Обработка получения последних топиков
  * Используется в блоке "Прямой эфир"
  *
  */
 protected function EventStreamTopicSandbox()
 {
     $aVars = array();
     $aFilter = E::ModuleTopic()->GetNamedFilter('default', array('accessible' => true, 'sandbox' => true));
     $aTopics = E::ModuleTopic()->GetTopicsByFilter($aFilter, 1, Config::Get('widgets.stream.params.limit'));
     if ($aTopics) {
         $aVars['aTopics'] = $aTopics['collection'];
         // LS-compatibility
         $aVars['oTopics'] = $aTopics['collection'];
     }
     $sTextResult = E::ModuleViewer()->FetchWidget('stream_topic.tpl', $aVars);
     E::ModuleViewer()->AssignAjax('sText', $sTextResult);
 }
开发者ID:altocms,项目名称:alto-plugin-sandbox,代码行数:18,代码来源:ActionAjax.class.php

示例10: GetSimilarTopicsByTags

 /**
  * @param array     $aTags
  * @param array|int $aExcludeTopics
  * @param int       $iLimit
  *
  * @return array
  */
 public function GetSimilarTopicsByTags($aTags, $aExcludeTopics = array(), $iLimit = null)
 {
     if (is_null($iLimit)) {
         $iLimit = 10;
     }
     $aTopicsId = $this->GetSimilarTopicsIdByTags($aTags, $aExcludeTopics, $iLimit);
     if ($aTopicsId) {
         $aTopics = E::ModuleTopic()->GetTopicsAdditionalData($aTopicsId);
     } else {
         $aTopics = array();
     }
     return $aTopics;
 }
开发者ID:Azany,项目名称:altocms,代码行数:20,代码来源:Topic.class.php

示例11: GetTopicsIdByRegexp

 /**
  * Получает список топиков по регулярному выражению (поиск)
  *
  * @param $sRegexp
  * @param $iPage
  * @param $iPerPage
  * @param array $aParams
  * @param bool $bAccessible
  *
  * @return array
  */
 public function GetTopicsIdByRegexp($sRegexp, $iPage, $iPerPage, $aParams = array(), $bAccessible = false)
 {
     $s = md5(serialize($sRegexp) . serialize($aParams));
     $sCacheKey = 'search_topics_' . $s . '_' . $iPage . '_' . $iPerPage;
     if (false === ($data = E::ModuleCache()->Get($sCacheKey))) {
         if ($bAccessible) {
             $aParams['aFilter'] = E::ModuleTopic()->GetNamedFilter(FALSE, array('accessible' => true));
         }
         $data = array('collection' => $this->oMapper->GetTopicsIdByRegexp($sRegexp, $iCount, $iPage, $iPerPage, $aParams), 'count' => $iCount);
         E::ModuleCache()->Set($data, $sCacheKey, array('topic_update', 'topic_new'), 'PT1H');
     }
     return $data;
 }
开发者ID:hard990,项目名称:altocms,代码行数:24,代码来源:Search.class.php

示例12: newSandboxCount

 /**
  * @param string $sCssClass
  *
  * @return int|string
  */
 public function newSandboxCount($sCssClass = '')
 {
     $iCount = E::ModuleTopic()->GetCountTopicsSandboxNew();
     if ($iCount) {
         if ($sCssClass) {
             $sData = '<span class="' . $sCssClass . '"> +' . $iCount . '</span>';
         } else {
             $sData = $iCount;
         }
     } else {
         $sData = '';
     }
     return $sData;
 }
开发者ID:altocms,项目名称:alto-plugin-sandbox,代码行数:19,代码来源:HookSandbox.class.php

示例13: getApiData

 public function getApiData($aProps = array())
 {
     $aData = array();
     if (!empty($aProps)) {
         foreach ($aProps as $sProp => $sKey) {
             if (is_numeric($sProp)) {
                 $sProp = $sKey;
             }
             $aData[$sKey] = $this->getProp($sProp);
         }
     } else {
         $aData = array('id' => $this->getId(), 'title' => $this->getTitle(), 'annotation' => $this->getDescription(), 'date' => $this->getDateAdd(), 'avatar' => $this->getAvatarUrl(), 'author' => $this->getOwner()->getApiData(), 'count_topics' => $this->getCountTopic(), 'new_topics' => E::ModuleTopic()->GetCountTopicsByBlogNew($this));
     }
     return $aData;
 }
开发者ID:altocms,项目名称:alto-plugin-api,代码行数:15,代码来源:Blog.entity.class.php

示例14: EventSandbox

 public function EventSandbox()
 {
     // * Меню
     $this->sMenuSubItemSelect = 'sandbox';
     // * Передан ли номер страницы
     $iPage = $this->GetParamEventMatch(0, 2) ? $this->GetParamEventMatch(0, 2) : 1;
     // * Получаем список топиков
     $aResult = E::ModuleTopic()->GetTopicsNewAll($iPage, Config::Get('module.topic.per_page'));
     $aTopics = $aResult['collection'];
     // * Вызов хуков
     E::ModuleHook()->Run('topics_list_show', array('aTopics' => $aTopics));
     // * Формируем постраничность
     $aPaging = E::ModuleViewer()->MakePaging($aResult['count'], $iPage, Config::Get('module.topic.per_page'), Config::Get('pagination.pages.count'), R::GetPath('index/sandbox'));
     E::ModuleViewer()->AddHtmlTitle(E::ModuleLang()->Get('plugin.sandbox.menu_text') . ($iPage > 1 ? ' (' . $iPage . ')' : ''));
     // * Загружаем переменные в шаблон
     E::ModuleViewer()->Assign('aTopics', $aTopics);
     E::ModuleViewer()->Assign('aPaging', $aPaging);
     // * Устанавливаем шаблон вывода
     $this->SetTemplateAction('index');
 }
开发者ID:altocms,项目名称:alto-plugin-sandbox,代码行数:20,代码来源:ActionIndex.class.php

示例15: Exec

 /**
  * Запуск обработки
  */
 public function Exec()
 {
     $iLimit = C::Val('widgets.tags.params.limit', 70);
     // * Получаем список тегов
     $aTags = E::ModuleTopic()->GetOpenTopicTags($iLimit);
     // * Расчитываем логарифмическое облако тегов
     if ($aTags) {
         E::ModuleTools()->MakeCloud($aTags);
         // * Устанавливаем шаблон вывода
         E::ModuleViewer()->Assign('aTags', $aTags);
     }
     // * Теги пользователя
     if ($oUserCurrent = E::ModuleUser()->GetUserCurrent()) {
         $aTags = E::ModuleTopic()->GetOpenTopicTags($iLimit, $oUserCurrent->getId());
         // * Расчитываем логарифмическое облако тегов
         if ($aTags) {
             E::ModuleTools()->MakeCloud($aTags);
             // * Устанавливаем шаблон вывода
             E::ModuleViewer()->Assign('aTagsUser', $aTags);
         }
     }
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:25,代码来源:WidgetTags.class.php


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