function fetchElement($name, $value, &$node, $control_name) { $extensions = MvceditorHelper::getExtensions(); $options = array(); foreach ($extensions as $extension) { $option = new stdClass(); $option->text = JText::_(ucfirst((string) $extension->name)); $option->value = (string) $extension->name; $options[] = $option; } return JHTML::_('select.genericlist', $options, ''.$control_name.'['.$name.']', 'class="inputbox"', 'value', 'text', $value, $control_name.$name ); }
/** * Method to get a list of options for a list input. * * @return array An array of JHtml options. */ protected function getOptions() { $class = ($v = $this->element['class']) ? 'class="'.$v.'"' : 'class="inputbox"'; $extensions = MvceditorHelper::getExtensions(); $options = array(); foreach ($extensions as $extension) { $listview = is_object($extension->listview) ? $extension->listview->__toString() : $extension->listview; $name = is_object($extension->name) ? $extension->name->__toString() : $extension->name; $option = new stdClass(); $option->text = JText::_(ucfirst($listview)); $option->value = 'com_mvceditor.'.$name ; $options[] = $option; } $options = array_merge( parent::getOptions(), $options ); return $options; }
/** * Returns link to category view * @param JCategoryNode $catid * @param number $language * @return string */ public static function getCategoryRoute($catid, $language = 0) { if ($catid instanceof JCategoryNode) { $id = $catid->id; $category = $catid; } else { throw new Exception('First parameter must be JCategoryNode'); } $catviews = MvceditorHelper::getCategoryViews(); $extensionviews = array_flip($catviews); $view = $extensionviews[$category->extension]; if ($id < 1) { $link = ''; } else { //Create the link $link = 'index.php?option=com_mvceditor&view='.$view.'&category='.$category->slug; $needles = array( $view => array($id), 'category' => array($id) ); if ($language && $language != "*" && JLanguageMultilang::isEnabled()) { $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select('a.sef AS sef') ->select('a.lang_code AS lang_code') ->from('#__languages AS a'); $db->setQuery($query); $langs = $db->loadObjectList(); foreach ($langs as $lang) { if ($language == $lang->lang_code) { $link .= '&lang='.$lang->sef; $needles['language'] = $language; } } } if ($item = self::_findItem($needles,'category')) { $link .= '&Itemid='.$item; } else { if ($category) { $catids = array_reverse($category->getPath()); $needles = array( 'category' => $catids ); if ($item = self::_findItem($needles,'category')) { $link .= '&Itemid='.$item; } elseif ($item = self::_findItem(null, 'category')) { $link .= '&Itemid='.$item; } } } } return $link; }
/** * Add the page title and toolbar. * * @return void */ protected function addToolbar() { $canDo = MvceditorHelper::getActions(); $user = JFactory::getUser(); JToolBarHelper::title( JText::_( 'Extension' ), 'generic.png' ); if ($canDo->get('core.create')) { JToolBarHelper::addNew('extension.add'); } if (($canDo->get('core.edit'))) { JToolBarHelper::editList('extension.edit'); } if ($this->state->get('filter.state') != 2) { JToolbarHelper::publish('extensions.publish', 'JTOOLBAR_PUBLISH', true); JToolbarHelper::unpublish('extensions.unpublish', 'JTOOLBAR_UNPUBLISH', true); } if ($canDo->get('core.edit.state')) { if ($this->state->get('filter.state') != -1) { if ($this->state->get('filter.state') != 2) { JToolbarHelper::archiveList('extensions.archive'); } elseif ($this->state->get('filter.state') == 2) { JToolbarHelper::unarchiveList('extensions.publish'); } } } if ($canDo->get('core.edit.state')) { JToolbarHelper::checkin('extensions.checkin'); } if ($this->state->get('filter.state') == -2 && $canDo->get('core.delete')) { JToolbarHelper::deleteList('', 'extensions.delete', 'JTOOLBAR_EMPTY_TRASH'); } elseif ($canDo->get('core.edit.state')) { JToolbarHelper::trash('extensions.trash'); } JToolBarHelper::preferences('com_mvceditor', '550'); if(!version_compare(JVERSION,'3','<')){ JHtmlSidebar::setAction('index.php?option=com_mvceditor&view=extensions'); } if(!version_compare(JVERSION,'3','<')){ JHtmlSidebar::addFilter( JText::_('JOPTION_SELECT_PUBLISHED'), 'filter_state', JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.state'), true) ); } }
function MvceditorParseRoute( $segments ) { $vars = array(); $catviews = MvceditorHelper::getCategoryViews(); $extensionviews = array_flip($catviews); $listviews = array_keys($catviews); //Get the active menu item. $app = JFactory::getApplication(); $params = JComponentHelper::getParams('com_mvceditor'); $advanced = $params->get('sef_advanced_link', 0); $menu = $app->getMenu(); $item = $menu->getActive(); // Count route segments $count = count($segments); // Standard routing if (!isset($item)) { $vars['view'] = $segments[0]; $isList = in_array($vars['view'], $listviews); if($isList && $count > 1) { $vars['category'] = $segments[$count - 1]; } elseif(!$isList && $count > 1) { $vars['id'] = $segments[$count - 1]; } return $vars; } if(count($segments > 0)) { $vars['view'] = $segments[0]; switch($vars['view']) { case 'extension': $id = explode(':', $segments[1]); $vars['id']= (int) $id[0]; break; } } else { $vars['view'] = $segments[0]; } // End count(segments) statement return $vars; } // End MvceditorParseRoute
/** * Returns the options for extensions list * * @param string $ext - the extension */ public static function extensions($ext) { $extensions = MvceditorHelper::getExtensions(); $options = array(); foreach ($extensions as $extension) { $option = new stdClass(); $option->text = JText::_(ucfirst($extension->name)); $option->value = 'com_mvceditor.'.$extension->name; $options[] = $option; } return JHtml::_('select.options', $options, 'value', 'text', $ext, true); }