protected function getParams($slot, $settings) { $page = $settings['page']; $relative_slug = $slot->getOption('relative_page', null, $settings['culture']); if ($relative_slug === null) { $relative_page = $page->isRoot() ? $page : sfPlopPageQuery::create()->findRoot(); } elseif ($page->getSlug() == $relative_slug) { $relative_page = $page; } else { $relative_page = sfPlopPagePeer::retrieveBySlug($relative_slug); } if (!$relative_page) { $relative_page = $page->isRoot() ? $page : sfPlopPageQuery::create()->findRoot(); } $level_depth = $slot->getOption('level_depth', null, $settings['culture']); if (isset($level_depth)) { $q = sfPlopPageQuery::create()->addCond('cond1', sfPlopPagePeer::TREE_LEVEL, $relative_page->getLevel() + $level_depth, Criteria::LESS_EQUAL)->addCond('cond2', sfPlopPagePeer::TREE_LEVEL, null, Criteria::ISNULL)->combine(array('cond1', 'cond2'), Criteria::LOGICAL_OR); } else { $q = sfPlopPageQuery::create(); } $level1_nodes = $relative_page->getDescendants($q); $useAjax = sfPlop::get('sf_plop_use_ajax') === true ? true : false; $displays = $slot->getOption('displays', array(), $settings['culture']); $use_icon = in_array('icon', $displays) ? true : false; $use_subtitle = in_array('subtitle', $displays) ? true : false; $use_title = in_array('title', $displays) || !$use_icon && !$use_subtitle ? true : false; return array('relative_level' => $relative_page->getLevel() + 1, 'relative_page' => $relative_page, 'level_depth' => $level_depth, 'show_hidden_parent' => false, 'level1_nodes' => $level1_nodes, 'useAjax' => $useAjax, 'displays' => $displays, 'use_icon' => $use_icon, 'use_subtitle' => $use_subtitle, 'use_title' => $use_title, 'menu_class' => 'w-menu'); }
protected function getParams($slot, $settings) { $root = $settings['page']->isRoot() ? $settings['page'] : sfPlopPageQuery::create()->findRoot(); $q = sfPlopPageQuery::create(); $level1_nodes = $root->getBranch($q); $displays = $slot->getOption('displays', array(), $settings['culture']); $use_icon = in_array('icon', $displays) ? true : false; $use_subtitle = in_array('subtitle', $displays) ? true : false; $use_title = in_array('title', $displays) || !$use_icon && !$use_subtitle ? true : false; return array('relative_level' => 1, 'relative_page' => false, 'level1_nodes' => $level1_nodes, 'level_depth' => null, 'show_hidden_parent' => true, 'displays' => $displays, 'use_icon' => $use_icon, 'use_subtitle' => $use_subtitle, 'use_title' => $use_title, 'useAjax' => false, 'menu_class' => 'w-list'); }
protected function getParams($slot, $settings) { $pages_ids = array(); $q = sfPlopPageQuery::create()->filterByTreeLevel($slot->getPage()->getLevel() + 1); $pages = $slot->getPage()->getBranch($q); foreach ($pages as $page) { $pages_ids[] = $page->getId(); } $slotConfigs = sfPlopSlotConfigQuery::create()->innerJoinsfPlopSlot()->filterByPageId($pages_ids)->usesfPlopPageQuery()->orderByTreeLeft()->endUse()->find(); foreach ($slotConfigs as $i => $slotConfig) { if (!$slotConfig->getTemplate() != 'AssetGallery' && !$slotConfig->getSlot()->ispublished()) { unset($slotConfigs[$i]); } } return array('slotConfigs' => $slotConfigs); }
public function getChoices() { $page_filters_ids = array(); $page = sfPlopPagePeer::retrieveByPK($this->getOption('page_id)')); $q = sfPlopPageQuery::create()->filterByTreeLevel($page->getLevel() + 1); $page_filters = $page->getBranch($q); foreach ($page_filters as $page_filter) { $page_filters_ids[] = $page_filter->getId(); } $filters = sfPlopSlotConfigQuery::create()->innerJoinsfPlopSlot()->filterByPageId($page_filters_ids)->find(); foreach ($filters as $i => $filter) { if (!$filter->getTemplate() != 'GoogleMapsFilter' && !$filter->getSlot()->ispublished()) { unset($filters[$i]); } } $options_for_filter = array('' => ''); foreach ($filters as $filter_object) { $options_for_filter[$filter_object->getValue($this->getOption('page_culture)'))] = $filter_object->getValue($this->getOption('page_culture)')); } $this->setOption('choices', array_keys($options_for_filter)); return parent::getChoices(); }
/** * Get the maaximum level of the page tree. * @return Integer */ public static function getMaxLevel() { return sfPlopPageQuery::create()->orderByTreeLevel(Criteria::DESC)->findOne()->getLevel() + 1; }
/** * Delete all the unused template slot configs * @param Integer $tpl_id The template page to retrieve slots */ public function deleteUnusedInheritedSlotConfigs($tpl_id) { if (!$tpl_id) { return; } $slot_ids = array(); $slots = sfPlopSlotQuery::create()->filterByPageId($tpl_id)->filterByTemplate('Area', Criteria::NOT_EQUAL)->find(); foreach ($slots as $slot) { $slot_ids[] = $slot->getId(); } $page_ids = array($this->getId()); $pages = sfPlopPageQuery::create()->filterByTemplateId($this->getId())->find(); foreach ($pages as $page) { $page_ids[] = $page->getId(); } $slot_configs = sfPlopSlotConfigQuery::create()->filterByPageId($page_ids)->filterBySlotId($slot_ids)->find(); foreach ($slot_configs as $sc) { $sc->delete(); } }
?> <<?php echo html5Tag('nav'); ?> class="nav"> <?php if (isset($page)) { ?> <?php if (!isset($type)) { $type = null; } ?> <?php $root = sfPlopPageQuery::create()->findRoot(); ?> <ul class="w-menu menu-custom"> <li class="w-menu-dd w-menu-dd-left"> <span class="element"> <?php echo __('Page : %s', array('%s' => content_tag('strong', $page->getTitle(), 'class=' . ($page->getIsPublished() ? 'published' : 'unpublished'))), 'plopAdmin'); ?> <?php echo image_flag($culture, array('alt' => format_language($culture))); ?> <?php if ($page->isTemplate()) { ?> <?php echo content_tag('span', '(' . $page->countTemplateChildren() . ')', array('title' => __('This page has %s template children.', array('%s' => $page->countTemplateChildren()), 'plopAdmin'), 'class' => 'w'));
/** * Retrieve the assets files and/or folders * @param sfWebRequest $request * @return Json array */ public function executeWsRepository(sfWebRequest $request) { if (!$this->isUserAdmin) { return; } $data = array(); $type = strtolower($request->getParameter('type', 'folder')); $folder = strtolower($request->getParameter('folder', null)); $term = strtolower($request->getParameter('term', null)); if ($type == 'folder' && !$folder) { $data['Assets'] = 'Assets'; $data['Links'] = 'Links'; } elseif ($type == 'file') { if ($folder == '/links') { // Links $page_query = sfPlopPageQuery::create(); if ($term) { $page_query->filterBySlug('%' . $term . '%', Criteria::LIKE); } $nodes = sfPlopPageQuery::create()->findRoot()->getBranch($page_query); sfProjectConfiguration::getActive()->loadHelpers('Url'); foreach ($nodes as $node) { $node->setCulture($this->getCulture()); $url = url_for('@sf_plop_page_show?slug=' . $node->getSlug()); $data[] = array('name' => $node->getTitle(), 'description' => $node->getTitle(), 'title' => $node->getTitle(), 'forward' => $url, 'url' => $url, 'type' => 'website', 'html' => '<a href="' . $url . '">' . $node->getTitle() . '</a>'); } } elseif ($folder == '/assets') { if (in_array('sfAssetLibrary', array_keys(sfPlop::getSafePluginModules()))) { // Assets $asset_query = sfAssetQuery::create(); if ($term) { $asset_query->filterByFilename('%' . $term . '%', Criteria::LIKE); } $assets = $asset_query->find(); foreach ($assets as $asset) { $data[] = array('name' => $asset->getFilename(), 'title' => $asset->getFilename(), 'url' => $asset->getUrl(), 'src' => $asset->getUrl(), 'type' => $asset->getType(), 'html' => '<a href="' . $asset->getUrl() . '">' . '<img src="' . $asset->getUrl() . '" height="25" />' . $asset->getFilename() . '</a>'); } } } } $this->getResponse()->setContentType('text/json'); return $this->renderText(str_replace('\\/', '/', json_encode($data))); }