function smarty_function_insert_id($params, Smarty_Internal_Template &$smarty) { $item = value_Array('item', $params); if ($item) { $ident = IdHelper::ident($item); echo "id=\"{$ident}\""; } }
/** * 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; }
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>"; }
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; }
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(); }
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; }
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))); }
/** * Плагины, использованные в постах */ 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; }
public function getThElId($thId) { return $this->getFoldedEntity()->getUnique(IdHelper::thId($thId)); }