Beispiel #1
0
function smarty_function_insert_id($params, Smarty_Internal_Template &$smarty)
{
    $item = value_Array('item', $params);
    if ($item) {
        $ident = IdHelper::ident($item);
        echo "id=\"{$ident}\"";
    }
}
Beispiel #2
0
 /**
  * true - пост ещё не просматривался
  * false - пост уже просматривался
  */
 public static function registerPostWatch(AbstractPost $post)
 {
     if (!array_key_exists(SESSION_POST_WATCHER_PARAM, $_SESSION)) {
         $_SESSION[SESSION_POST_WATCHER_PARAM] = array();
     }
     $postIdent = IdHelper::ident($post);
     if (in_array($postIdent, $_SESSION[SESSION_POST_WATCHER_PARAM])) {
         return false;
     }
     $_SESSION[SESSION_POST_WATCHER_PARAM][] = $postIdent;
     return true;
 }
Beispiel #3
0
function smarty_block_al($params, $content, Smarty_Internal_Template &$smarty)
{
    if (!$content) {
        return;
    }
    $id = value_Array('id', $params);
    $id = IdHelper::localId($id);
    $title = value_Array('title', $params);
    $class = value_Array('class', $params);
    $class = $class ? "class='{$class}'" : '';
    $content = trim($content);
    echo "<a href='#{$id}' title='{$title}' {$class}>{$content}</a>";
}
Beispiel #4
0
 protected function getWindowTplSmartyParams()
 {
     $posts = array();
     /* @var $processor PostsProcessor */
     foreach (Handlers::getInstance()->getPostsProcessors() as $processor) {
         /* @var $post Post */
         foreach ($processor->getPosts() as $post) {
             $posts[IdHelper::ident($post)] = array('name' => $processor->postTitle($post), 'url' => $processor->postUrl($post), 'cover' => $processor->getCoverDi($post->getIdent(), '64x64')->getRelPath());
         }
     }
     $params['posts'] = $posts;
     return $params;
 }
Beispiel #5
0
function smarty_block_exercise($params, $content, Smarty_Internal_Template &$template)
{
    if (isEmpty($content)) {
        return;
    }
    $id = value_Array('id', $params);
    /* @var $ex GymEx */
    $ex = GymManager::getInstance()->getExercise($id);
    $content = trim($content);
    $name = value_Array('name', $params);
    $name = $name ? $name : ($ex ? $ex->getName() : '');
    $class = $ex ? GymManager::getInstance()->getClass($ex) : '';
    $exTemplate = $template->smarty->createTemplate('gym/exercise.tpl');
    $exTemplate->assign('c_id', IdHelper::gymExId($id));
    $exTemplate->assign('c_name', $name);
    $exTemplate->assign('c_class', $class);
    $exTemplate->assign('c_body', $content);
    $exTemplate->display();
}
Beispiel #6
0
 protected function buildComposition(ArrayAdapter $params)
 {
     $items = array();
     /* @var $pp PostsProcessor */
     foreach (Handlers::getInstance()->getPostsProcessors() as $pp) {
         foreach ($pp->getPosts() as $post) {
             $items[] = $post;
         }
     }
     $events = array();
     /* @var $post Post */
     foreach ($items as $post) {
         $postType = $post->getPostType();
         $pp = Handlers::getInstance()->getPostsProcessorByPostType($postType);
         $dt_start = DatesTools::inst()->uts2dateInCurTZ($post->getDtPublication(), 'Y-m-d');
         $rec = TimeLineItem::inst($post->getName(), IdHelper::ident($post), $dt_start);
         $rec->setImage($pp->getCoverDi($post->getIdent(), TimeLineManager::COVERS_DIM));
         $rec->setLink($pp->postUrl($post->getId()));
         switch ($postType) {
             case POST_TYPE_ISSUE:
                 $rec->setColorSchema(TimeLineItem::COLOR_SCHEMA_GREEN);
                 break;
             case POST_TYPE_BLOG:
                 $rec->setColorSchema(TimeLineItem::COLOR_SCHEMA_BLUE);
                 break;
             case POST_TYPE_TRAINING:
                 $rec->setColorSchema(TimeLineItem::COLOR_SCHEMA_RED);
                 break;
         }
         $rec->setContent($pp->getPostContentProvider($post->getId())->getPostContentShowcase()->getContent());
         $events[] = $rec;
     }
     $composite = new TimeLineItemsComposite($events);
     $composite->colorOneByOne();
     return $composite;
 }
Beispiel #7
0
 public function getId()
 {
     return IdHelper::ident($this->comment);
 }
 private function getImgElId($imageId)
 {
     return $this->ctxt->getFoldedEntity()->getUnique(IdHelper::blockImgId($imageId));
 }
 public static function getContentProvider($item)
 {
     $ident = IdHelper::ident($item);
     $CACHE = SimpleDataCache::inst(__CLASS__);
     return $CACHE->has($ident) ? $CACHE->get($ident) : $CACHE->set($ident, self::makeProvider($item));
 }
 public function getFormulaElId($formulaId)
 {
     return $this->ctxt->getFoldedEntity()->getUnique(IdHelper::formulaId(trim($formulaId)));
 }
Beispiel #11
0
 /**
  * Плагины, использованные в постах
  */
 public function getSnapshot()
 {
     $SNAPSOT = PSCache::POPUPS()->getFromCache('POPUP_PAGES_SNAPSOT', PsUtil::getClassConsts(__CLASS__, 'CACHABLE_'));
     if (!is_array($SNAPSOT)) {
         $this->LOGGER->info('Building plugins SNAPSHOT...');
         //Сначала соберём все плагины, использованные в постах
         $USED = array();
         /* @var $pp PostsProcessor */
         foreach (Handlers::getInstance()->getPostsProcessors() as $pp) {
             $pp->preloadAllPostsContent();
             /* @var $post Post */
             foreach ($pp->getPosts() as $post) {
                 $plugins = $pp->getPostContentProvider($post->getId())->getPostParams()->getUsedPlugins();
                 if (empty($plugins)) {
                     //В посте не используются плагины
                     continue;
                 }
                 $this->LOGGER->info('Plugins [{}] used in post [{}].', implode(',', $plugins), IdHelper::ident($post));
                 $USED = array_merge($USED, $plugins);
             }
         }
         $USED = array_unique($USED);
         $this->LOGGER->info('Full list of used plugins: [{}].', implode(',', $USED));
         //Соберём все видимые попап-страницы и плагины
         $ENTITYS = array();
         foreach (array($this->getVisibleClassInsts(), PluginsManager::inst()->getVisibleClassInsts()) as $popups) {
             foreach ($popups as $ident => $popup) {
                 $visType = $popup->getPopupVisibility();
                 $take = PopupVis::isAllwaysVisible($visType) || $visType == PopupVis::BYPOST && in_array($ident, $USED);
                 if ($take) {
                     $ENTITYS[] = $popup;
                 }
             }
         }
         //Отсортируем собранные сущности по названию
         usort($ENTITYS, function ($e1, $e2) {
             $str1 = $e1 instanceof BasePopupPage ? $e1->getTitle() : $e1->getName();
             $str2 = $e2 instanceof BasePopupPage ? $e2->getTitle() : $e2->getName();
             return strcasecmp($str1, $str2);
         });
         $VISIBLE = array();
         $DEFAULT = array();
         foreach ($ENTITYS as $entity) {
             $visType = $entity->getPopupVisibility();
             if ($entity instanceof BasePopupPage) {
                 $type = self::TYPE_PAGE;
                 $ident = $entity->getIdent();
             }
             if ($entity instanceof BasePlugin) {
                 $type = self::TYPE_PLUGIN;
                 $ident = $entity->getIdent();
             }
             $VISIBLE[$type . '_' . $ident] = array('type' => $type, 'ident' => $ident);
             if ($visType == PopupVis::TRUE_DEFAULT) {
                 $DEFAULT[$type . '_' . $ident] = array('type' => $type, 'ident' => $ident);
             }
         }
         $SNAPSOT = array(self::CACHABLE_VISIBLE => $VISIBLE, self::CACHABLE_DEFAULT => $DEFAULT);
         $SNAPSOT = PSCache::POPUPS()->saveToCache($SNAPSOT, 'POPUP_PAGES_SNAPSOT');
     }
     return $SNAPSOT;
 }
Beispiel #12
0
 public function getThElId($thId)
 {
     return $this->getFoldedEntity()->getUnique(IdHelper::thId($thId));
 }