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


PHP cmsCore::processFilters方法代码示例

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


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

示例1: content


//.........这里部分代码省略.........
        $article['pagetitle'] = $article['pagetitle'] ? $article['pagetitle'] : $article['title'];
        // Тело статьи в зависимости от настроек
        $article['content'] = $model->config['readdesc'] ? $article['description'] . $article['content'] : $article['content'];
        // Дата публикации
        $article['pubdate'] = cmsCore::dateFormat($article['pubdate']);
        // Шаблон статьи
        $article['tpl'] = $article['tpl'] ? $article['tpl'] : 'com_content_read.tpl';
        $inPage->setTitle($article['pagetitle']);
        // Получаем дерево категорий
        $path_list = $article['showpath'] ? $inDB->getNsCategoryPath('cms_category', $article['leftkey'], $article['rightkey'], 'id, title, NSLevel, seolink, url') : array();
        if ($path_list) {
            $path_list = translations::process(cmsConfig::getConfig('lang'), 'content_category', $path_list);
            foreach ($path_list as $pcat) {
                if (!$inCore->checkUserAccess('category', $pcat['id'])) {
                    cmsCore::addSessionMessage($_LANG['NO_PERM_FOR_VIEW_TEXT'] . '<br>' . $_LANG['NO_PERM_FOR_VIEW_RULES'], 'error');
                    cmsCore::redirect('/content');
                }
                $inPage->addPathway($pcat['title'], $model->getCategoryURL(null, $pcat['seolink']));
            }
        }
        $inPage->addPathway($article['title']);
        // Мета теги KEYWORDS и DESCRIPTION
        if ($article['meta_keys']) {
            $inPage->setKeywords($article['meta_keys']);
        } else {
            if (mb_strlen($article['content']) > 30) {
                $inPage->setKeywords(cmsCore::getKeywords(cmsCore::strClear($article['content'])));
            }
        }
        if (mb_strlen($article['meta_desc'])) {
            $inPage->setDescription($article['meta_desc']);
        }
        // Выполняем фильтры
        $article['content'] = cmsCore::processFilters($article['content']);
        // Разбивка статей на страницы
        $pt_pages = array();
        if (!empty($GLOBALS['pt'])) {
            foreach ($GLOBALS['pt'] as $num => $page_title) {
                $pt_pages[$num]['title'] = $page_title;
                $pt_pages[$num]['url'] = $model->getArticleURL(null, $article['seolink'], $num + 1);
            }
        }
        // Рейтинг статьи
        if ($model->config['rating'] && $article['canrate']) {
            $karma = cmsKarma('content', $article['id']);
            $karma_points = cmsKarmaFormatSmall($karma['points']);
            $btns = cmsKarmaButtonsText('content', $article['id'], $karma['points'], $is_author);
        }
        cmsPage::initTemplate('components', $article['tpl'])->assign('article', $article)->assign('cfg', $model->config)->assign('page', $page)->assign('is_pages', !empty($GLOBALS['pt']))->assign('pt_pages', $pt_pages)->assign('is_admin', $is_admin)->assign('is_editor', $is_editor)->assign('is_author', $is_author)->assign('is_author_del', $is_author_del)->assign('tagbar', cmsTagBar('content', $article['id']))->assign('karma_points', @$karma_points)->assign('karma_votes', @$karma['votes'])->assign('karma_buttons', @$btns)->display($article['tpl']);
        // Комментарии статьи
        if ($article['published'] && $article['comments'] && $inCore->isComponentInstalled('comments')) {
            cmsCore::includeComments();
            comments('article', $article['id'], array(), $is_author);
        }
    }
    ///////////////////////////////////// ADD ARTICLE //////////////////////////////////////////////////////////////////////////////////
    if ($do == 'addarticle' || $do == 'editarticle') {
        $is_add = cmsUser::isUserCan('content/add');
        // может добавлять статьи
        $is_auto_add = cmsUser::isUserCan('content/autoadd');
        // добавлять статьи без модерации
        if (!$is_add && !$is_auto_add) {
            cmsCore::error404();
        }
        // Для редактирования получаем статью и проверяем доступ
        if ($do == 'editarticle') {
开发者ID:deltas1,项目名称:icms1,代码行数:67,代码来源:frontend.php

示例2: renderModule

 /**
  * Формирует модуль
  * @param array $mod
  * @return html
  */
 private function renderModule($mod)
 {
     $inCore = cmsCore::getInstance();
     // флаг показа модуля
     $callback = true;
     // html код модуля
     $html = '';
     // для php модулей загружаем файл локализации
     if (!$mod['user']) {
         cmsCore::loadLanguage('modules/' . $mod['content']);
     }
     // Собственный модуль, созданный в админке
     if (!$mod['is_external']) {
         $mod['body'] = cmsCore::processFilters($mod['content']);
     } else {
         // Отдельный модуль
         if (cmsCore::includeFile('modules/' . $mod['content'] . '/module.php')) {
             // Если есть кеш, берем тело модуля из него
             if ($mod['cache'] && cmsCore::isCached('module', $mod['id'], $mod['cachetime'], $mod['cacheint'])) {
                 $mod['body'] = cmsCore::getCache('module', $mod['id']);
                 $callback = true;
             } else {
                 $cfg = cmsCore::yamlToArray($mod['config']);
                 // переходный костыль для указания шаблона
                 if (!isset($cfg['tpl'])) {
                     $cfg['tpl'] = $mod['content'] . '.tpl';
                 }
                 $inCore->cacheModuleConfig($mod['id'], $cfg);
                 ob_start();
                 $callback = call_user_func($mod['content'], $mod['id'], $cfg);
                 $mod['body'] = ob_get_clean();
                 if ($mod['cache']) {
                     cmsCore::saveCache('module', $mod['id'], $mod['body']);
                 }
             }
         }
     }
     // выводим модуль в шаблоне если модуль вернул true
     if ($callback) {
         $module_tpl = file_exists(TEMPLATE_DIR . 'modules/' . $mod['template']) ? $mod['template'] : 'module.tpl';
         $cfglink = cmsConfig::getConfig('fastcfg') && cmsUser::getInstance()->is_admin ? true : false;
         ob_start();
         self::initTemplate('modules', $module_tpl)->assign('cfglink', $cfglink)->assign('mod', $mod)->display($module_tpl);
         $html = ob_get_clean();
     }
     return $html;
 }
开发者ID:vityapro,项目名称:cms,代码行数:52,代码来源:page.class.php

示例3: renderModule

    /**
     * Формирует модуль
     * @param array $mod
     * @return html
     */
    private function renderModule($mod){
        $inCore = cmsCore::getInstance();

        // флаг показа модуля
        $callback = true;

        // html код модуля
        $html = '';
        
        $mod['titles'] = cmsCore::yamlToArray($mod['titles']);
        // переопределяем название в зависимости от языка
        if (!empty($mod['titles'][cmsCore::c('config')->lang])) {
            $mod['title'] = $mod['titles'][cmsCore::c('config')->lang];
        } 

        // для php модулей загружаем файл локализации
        if (!$mod['user']){ cmsCore::loadLanguage('modules/'.$mod['content']); }

        // Собственный модуль, созданный в админке
        if (!$mod['is_external']){
            $mod['body'] = cmsCore::processFilters($mod['content']);
        }else{ // Отдельный модуль
            if (cmsCore::includeFile('modules/'. $mod['content'] .'/module.php')) {
                // Если есть кеш, берем тело модуля из него
                if ($mod['cache'] && $this->site_cfg->cache && empty($mod['cache_enable'])) {
                    $mod['body'] = cmsCore::c('cache')->get('modules', $mod['id'], $mod['content'], array($mod['cachetime'], $mod['cacheint']));
                }
                
                if (empty($mod['body']) || !empty($mod['cache_enable'])) {
                    $cfg = cmsCore::yamlToArray($mod['config']);
                    
                    // переходный костыль для указания шаблона
                    if (empty($cfg['tpl'])) {
                        $cfg['tpl'] = $mod['content'];
                    }
                    
                    $inCore->cacheModuleConfig($mod['id'], $cfg);

                    ob_start();
                        $callback = call_user_func($mod['content'], $mod, $cfg);
                    $mod['body'] = ob_get_clean();

                    if ($mod['cache'] && $this->site_cfg->cache && empty($mod['cache_enable'])) {
                        cmsCore::c('cache')->set($mod['body'], 'modules', $mod['id'], $mod['content']);
                    }
                } else {
                    $callback = true;
                }
            }
        }

        // выводим модуль в шаблоне если модуль вернул true
        if ($callback) {
            $module_tpl = file_exists(TEMPLATE_DIR .'modules/'. $mod['template']) ? $mod['template'] : 'module';
            
            $cfglink = (cmsConfig::getConfig('fastcfg') && cmsUser::getInstance()->is_admin) ? true : false;

            $html = self::initTemplate('modules', $module_tpl)->
                    assign('cfglink', $cfglink)->
                    assign('mod', $mod)->
                    fetch();
        }

        return $html;
    }
开发者ID:Acsac,项目名称:CMS-RuDi,代码行数:70,代码来源:page.class.php


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