function igalleryBuildRoute(&$query) { $segments = array(); $catIdOfActive = 0; if (isset($query['view']) && isset($query['igid'])) { if ($query['view'] == 'category') { if (isset($query['Itemid'])) { $app = JFactory::getApplication(); $menu = $app->getMenu(); $activeMenu = $menu->getItem($query['Itemid']); if (isset($activeMenu->query['igid'])) { $catIdOfActive = $activeMenu->query['igid']; } } $categories = igStaticHelper::getCategories(); $parents = igTreeHelper::getParentPath($categories, $query['igid'], true); foreach ($parents as $parent) { if ($parent->id != $catIdOfActive) { array_unshift($segments, $parent->alias); } else { break; } } unset($query['view']); unset($query['igid']); } } return $segments; }
public static function getCategories() { if (empty(self::$categories)) { $db = JFactory::getDBO(); $query = 'SELECT * FROM #__igallery ORDER BY parent, ordering'; $db->setQuery($query); self::$categories = $db->loadObjectList(); } return self::$categories; }
protected function getInput() { require_once JPATH_ADMINISTRATOR . '/components/com_igallery/helpers/tree.php'; require_once JPATH_ADMINISTRATOR . '/components/com_igallery/helpers/static.php'; $option = JRequest::getVar('option'); $hideCurrent = false; if ($option == 'com_config') { $params = JComponentHelper::getParams('com_igallery'); $selected = $params->get('default_parent', 0); } else { if ($option == 'com_menus') { $selected = $this->value; } else { if (strpos($option, 'module')) { $igparams = $this->form->getValue('params'); $selected = isset($igparams->category_id) ? $igparams->category_id : 0; } else { $selected = $this->form->getValue('parent'); $hideCurrent = true; } } } $categories = igStaticHelper::getCategories(); $categoriesbyTree = igTreeHelper::makeCategoryTree($categories); if ($hideCurrent) { $current = JRequest::getInt('id', 0); $categoriesbyTree = igTreeHelper::removeFromTree($categoriesbyTree, 'id', $current, 'numeric-exist'); } if ($option == 'com_igallery' && JRequest::getVar('view') == 'icategory' && JRequest::getInt('id', 0) > 0) { $children = igTreeHelper::getChildIds($categories, JRequest::getInt('id', 0)); if (count($children) > 0) { foreach ($children as $child) { $categoriesbyTree = igTreeHelper::removeFromTree($categoriesbyTree, 'id', $child, 'numeric-exist'); } } } $selectItems = array(); if ($option != 'com_menus' && !strpos($option, 'module') && JRequest::getVar('view') != 'editorbutton') { $selectItems[] = JHTML::_('select.option', '0', JText::_('JGLOBAL_TOP')); } foreach ($categoriesbyTree as $category) { $displayName = $category->name; for ($k = 0; $k < $category->level; $k++) { $displayName = ' - ' . $displayName; } $selectItems[] = JHTML::_('select.option', $category->id, $displayName); } $selectHTML = JHTML::_("select.genericlist", $selectItems, $this->name, 'class="inputbox" size="14"', 'value', 'text', $selected); return $selectHTML; }
static function getCategorySelect($name, $key, $value, $exclude, $selectText, $size, $submit, $active) { $categories = igStaticHelper::getCategories(); $categoriesbyTree = igTreeHelper::makeCategoryTree($categories); if (!empty($exclude)) { $categoriesbyTree = igTreeHelper::removeFromTree($categoriesbyTree, 'id', $exclude, 'numeric-exist'); } $selectOptions = array(); if ($selectText) { $selectOptions[] = JHTML::_('select.option', '0', JText::_('JOPTION_SELECT_CATEGORY'), $key, $value); } foreach ($categoriesbyTree as $category) { $displayName = $category->name; for ($k = 0; $k < $category->level; $k++) { $displayName = ' - ' . $displayName; } $selectOptions[] = JHTML::_('select.option', $category->id, $displayName, $key, $value); } $html = 'class="inputbox" size="' . $size . '" '; $javascript = $submit == true ? 'onchange="document.adminForm.submit();"' : ''; $parentSelectList = JHTML::_("select.genericlist", $selectOptions, $name, $html . $javascript, $key, $value, $active); return $parentSelectList; }
function getChildIds($parentId) { $categories = igStaticHelper::getCategories(); $childIds = igTreeHelper::getChildIds($categories, $parentId); return $childIds; }
<?php defined('_JEXEC') or die('Restricted access'); ?> <div class="igallery_clear"></div> <form action="index.php?option=com_igallery&view=category&id=<?php echo $this->category->id; ?> &Itemid=<?php echo $this->Itemid; ?> " method="post" name="ig_menu_pagination"> <?php $allCategories = igStaticHelper::getCategories(); ?> <?php if (count($this->categoryChildren) != 0) { ?> <div id="cat_child_wrapper<?php echo $this->uniqueid; ?> " class="cat_child_wrapper cat_child_wrapper_<?php echo $this->profile->style; ?> profile<?php echo $this->profile->id; ?>
static function getItemid($catId) { $app = JFactory::getApplication(); $menu = $app->getMenu(); $menuItems = $menu->getMenu(); $categories = igStaticHelper::getCategories(); $parents = igTreeHelper::getParentPath($categories, $catId, false); foreach ($menuItems as $menu) { if ($menu->component == 'com_igallery' && $menu->query['view'] == 'category' && $menu->query['igid'] == $catId) { return $menu->id; } } foreach ($menuItems as $menu) { if ($menu->component == 'com_igallery' && $menu->query['view'] == 'category') { foreach ($parents as $parent) { if ($parent->id == $menu->query['igid']) { return $menu->id; } } } } return JRequest::getVar('Itemid', 1); }