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; }
function getItems() { $db = $this->getDbo(); $query = $this->getListQuery(); $user = JFactory::getUser(); $db->setQuery($query); $categories = $db->loadObjectList(); $categoriesbyTree = igTreeHelper::makeCategoryTree($categories); $search = JString::strtolower($this->getState('filter.search')); if ($search) { $categoriesbyTree = igTreeHelper::removeFromTree($categoriesbyTree, 'name', $search, 'string-not-exist'); } $filter_state = $this->getState('filter.published'); if (is_numeric($filter_state)) { $categoriesbyTree = igTreeHelper::removeFromTree($categoriesbyTree, 'published', $filter_state, 'numeric-not-exist'); } if (JFactory::getApplication()->isSite()) { foreach ($categoriesbyTree as $key => $category) { $catStateUsed = false; $catDeleteUsed = false; $editOk = igGeneralHelper::authorise('core.igalleryfront.edit', $category->id, null, $category->profile, $category->user); $editStateOk = igGeneralHelper::authorise('core.igalleryfront.edit.state', $category->id, null, $category->profile, $category->user); $deleteOk = igGeneralHelper::authorise('core.igalleryfront.delete', $category->id, null, $category->profile, $category->user); $uploadOk = igGeneralHelper::authorise('core.igalleryfront.upload', $category->id, null, $category->profile, $category->user); $editImageOk = igGeneralHelper::authorise('core.igalleryfront.editimage', $category->id, null, $category->profile, $category->user); $deleteImageOk = igGeneralHelper::authorise('core.igalleryfront.deleteimage', $category->id, null, $category->profile, $category->user); $editImageStateOk = igGeneralHelper::authorise('core.igalleryfront.editimage.state', $category->id, null, $category->profile, $category->user); $category->manage = false; if ($uploadOk || $editImageOk || $deleteImageOk || $editImageStateOk) { $category->manage = true; } if ($editStateOk && $catStateUsed == false) { JRequest::setVar('igCatStateUsed', 1); $catStateUsed = true; } if ($deleteOk && $catDeleteUsed == false) { JRequest::setVar('igCatDeleteUsed', 1); $catDeleteUsed = true; } if (!$editOk && !$editStateOk && !$deleteOk && !$uploadOk && !$editImageOk && !$deleteImageOk && !$editImageStateOk) { unset($categoriesbyTree[$key]); } } } $orderedCategories = array_values($categoriesbyTree); $limit = $this->getState('list.limit') == 0 ? 1000 : $this->getState('list.limit'); $slicedCategories = array_slice($orderedCategories, $this->getState('list.start'), $limit); return $slicedCategories; }
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; }