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;
 }
示例#3
0
 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;
 }