/** * Overrides method to try to load model from extension if it exists */ public static function getInstance($type, $prefix = '', $config = array()) { $extensions = JoomleagueHelper::getExtensions(JRequest::getInt('p')); foreach ($extensions as $e => $extension) { $modelType = preg_replace('/[^A-Z0-9_\\.-]/i', '', $type); $modelClass = $prefix . ucfirst($modelType) . ucfirst($extension); $result = false; if (!class_exists($modelClass)) { jimport('joomla.filesystem.path'); $path = JPath::find(parent::addIncludePath(null, $prefix), self::_createFileName('model', array('name' => $type))); if (!$path) { $path = JPath::find(parent::addIncludePath(null, ''), self::_createFileName('model', array('name' => $type))); } if ($path) { require_once $path; if (class_exists($modelClass)) { $result = new $modelClass($config); return $result; } } } else { $result = new $modelClass($config); return $result; } } // Still here ? Then the extension doesn't override this, use regular way return parent::getInstance($type, $prefix, $config); }
/** * Overrides method to first lookup into potential extension for the view. */ protected function createView($name, $prefix = '', $type = '', $config = array()) { $extensions = JoomleagueHelper::getExtensions(JRequest::getInt('p')); foreach ($extensions as $e => $extension) { $result = null; // Clean the view name $viewName = preg_replace('/[^A-Z0-9_]/i', '', $name); $classPrefix = preg_replace('/[^A-Z0-9_]/i', '', $prefix); $viewType = preg_replace('/[^A-Z0-9_]/i', '', $type); // Build the view class name $viewClassExtension = $classPrefix . $viewName . ucfirst($extension); if (!class_exists($viewClassExtension)) { jimport('joomla.filesystem.path'); $path = JPath::find($this->paths['view'], $this->createFileName('view', array('name' => $viewName, 'type' => $viewType))); if ($path) { require_once $path; if (class_exists($viewClassExtension)) { $result = new $viewClassExtension($config); return $result; } } } else { $result = new $viewClassExtension($config); return $result; } } // Still here ? Then the extension doesn't override this, use regular view return parent::createView($name, $prefix, $type, $config); }
/** * Overrides method to try to load model from extension if it exists */ public static function &getInstance($type, $prefix = '', $config = array()) { $extensions = JoomleagueHelper::getExtensions(JRequest::getInt('p')); foreach ($extensions as $e => $extension) { $modelType = preg_replace('/[^A-Z0-9_\\.-]/i', '', $type); $modelClass = $prefix . ucfirst($modelType) . ucfirst($extension); $result = false; if (!class_exists($modelClass)) { jimport('joomla.filesystem.path'); $path = JPath::find(JModel::addIncludePath(), JModel::_createFileName('model', array('name' => $modelType))); if ($path) { require_once $path; if (class_exists($modelClass)) { $result = new $modelClass($config); return $result; } } } else { $result = new $modelClass($config); return $result; } } $instance = parent::getInstance($type, $prefix, $config); return $instance; }
public function getExtensions() { if (!$this->extensions) { $this->extensions = JoomleagueHelper::getExtensions($this->input->getInt('p', 0)); } return $this->extensions; }
function display($tpl = null) { $option = JRequest::getCmd('option'); $app = JFactory::getApplication(); $uri = JFactory::getURI(); $user = JFactory::getUser(); $mainframe =& JFactory::getApplication(); $model = $this->getModel(); $lists = array(); //get template data $template =& $this->get('data'); $isNew = $template->id < 1; // fail if checked out not by 'me' if ($model->isCheckedOut($user->get('id'))) { $msg = JText::sprintf('DESCBEINGEDITTED', JText::_('COM_JOOMLEAGUE_ADMIN_TEMPLATE_THETEMPLATE'), $template->name); $app->redirect('index.php?option=' . $option, $msg); } $projectws =& $this->get('Data', 'projectws'); $templatepath = JPATH_COMPONENT_SITE . DS . 'settings'; $xmlfile = $templatepath . DS . 'default' . DS . $template->template . '.xml'; $mainframe->setUserState($option . 'template_help', $template->template); $extensions = JoomleagueHelper::getExtensions(JRequest::getInt('p')); foreach ($extensions as $e => $extension) { $extensiontpath = JPATH_COMPONENT_SITE . DS . 'extensions' . DS . $extension; if (is_dir($extensiontpath . DS . 'settings' . DS . 'default')) { if (file_exists($extensiontpath . DS . 'settings' . DS . 'default' . DS . $template->template . '.xml')) { $xmlfile = $extensiontpath . DS . 'settings' . DS . 'default' . DS . $template->template . '.xml'; } } } $jRegistry = new JRegistry(); $jRegistry->loadString($template->params, 'ini'); $form =& JForm::getInstance($template->template, $xmlfile, array('control' => 'params')); $form->bind($jRegistry); $form_value = $form->getValue('person_events'); if ($form_value) { $form->setValue('person_events', null, explode(",", $form_value)); } $master_id = $projectws->master_template ? $projectws->master_template : '-1'; $templates = array(); //$templates[]=JHTML::_('select.option','0',JText::_('COM_JOOMLEAGUE_ADMIN_TEMPLATE_OTHER_TEMPLATE' ),'value','text'); if ($res = $model->getAllTemplatesList($projectws->id, $master_id)) { $templates = array_merge($templates, $res); } $lists['templates'] = JHTMLSelect::genericlist($templates, 'select_id', 'class="inputbox" size="1" onchange="javascript: Joomla.submitbutton(\'template.apply\');"', 'value', 'text', $template->id); unset($res); unset($templates); $this->assignRef('request_url', $uri->toString()); $this->assignRef('template', $template); $this->assignRef('form', $form); $this->assignRef('project', $projectws); $this->assignRef('lists', $lists); $this->assignRef('user', $user); $this->addToolbar(); parent::display($tpl); }
public function display($tpl = null) { $app = JFactory::getApplication(); $jinput = $app->input; $option = $jinput->getCmd('option'); $app = JFactory::getApplication(); $uri = JFactory::getURI(); $user = JFactory::getUser(); $model = $this->getModel(); $lists = array(); //get template data $template = $this->get('data'); $isNew = $template->id < 1; // fail if checked out not by 'me' if ($model->isCheckedOut($user->get('id'))) { $msg = JText::sprintf('DESCBEINGEDITTED', JText::_('COM_JOOMLEAGUE_ADMIN_TEMPLATE_THETEMPLATE'), $template->name); $app->redirect('index.php?option=' . $option, $msg); } $projectws = $this->get('Data', 'project'); $templatepath = JPATH_COMPONENT_SITE . '/settings'; $xmlfile = $templatepath . '/default/' . $template->template . '.xml'; $extensions = JoomleagueHelper::getExtensions(JRequest::getInt('p')); foreach ($extensions as $e => $extension) { $extensiontpath = JPATH_COMPONENT_SITE . '/extensions/' . $extension; if (is_dir($extensiontpath . '/settings/default')) { if (file_exists($extensiontpath . '/settings/default/' . $template->template . '.xml')) { $xmlfile = $extensiontpath . '/settings/default/' . $template->template . '.xml'; } } } $form = JForm::getInstance($template->template, $xmlfile, array('control' => 'params')); $form->bind($template->params); $master_id = $projectws->master_template ? $projectws->master_template : '-1'; $templates = array(); //$templates[]=JHtml::_('select.option','0',JText::_('COM_JOOMLEAGUE_ADMIN_TEMPLATE_OTHER_TEMPLATE' ),'value','text'); if ($res = $model->getAllTemplatesList($projectws->id, $master_id)) { $templates = array_merge($templates, $res); } $lists['templates'] = JHtmlSelect::genericlist($templates, 'select_id', 'class="inputbox" size="1" onchange="javascript: Joomla.submitbutton(\'template.apply\');"', 'value', 'text', $template->id); unset($res); unset($templates); $this->request_url = $uri->toString(); $this->template = $template; $this->form = $form; $this->project = $projectws; $this->lists = $lists; $this->user = $user; $this->addToolbar(); parent::display($tpl); }
/** * get an instance of class corresponding to type * @param string class * @return object */ function &getInstance($class) { $classname = 'JLGStatistic' . ucfirst($class); // check for statistic in extensions $extensions = JoomleagueHelper::getExtensions(0); foreach ($extensions as $type) { $file = JLG_PATH_SITE . DS . 'extensions' . DS . $type . DS . 'admin' . DS . 'statistics' . DS . $class . '.php'; if (file_exists($file)) { require_once $file; $stat = new $classname(); return $stat; } } if (!class_exists($classname)) { $file = JLG_PATH_ADMIN . DS . 'statistics' . DS . $class . '.php'; if (!file_exists($file)) { JError::raiseError(0, $class . ': ' . JText::_('STATISTIC CLASS NOT DEFINED')); } require_once $file; } $stat = new $classname(); return $stat; }
/** * Method to get the field options. * * @return array The field option objects. */ protected function getOptions() { // Initialize variables. $options = array(); // Initialize some field attributes. //$filter = (string) $this->element['filter']; //$exclude = (string) $this->element['exclude']; //$hideNone = (string) $this->element['hide_none']; //$hideDefault = (string) $this->element['hide_default']; // Get the path in which to search for file options. $files = JFolder::files(JPATH_COMPONENT_ADMINISTRATOR . '/statistics', 'php$'); $options = array(); foreach ($files as $file) { $parts = explode('.', $file); if ($parts[0] != 'base') { $options[] = JHtml::_('select.option', $parts[0], $parts[0]); } } // check for statistic in extensions $extensions = JoomleagueHelper::getExtensions(0); foreach ($extensions as $type) { $path = JLG_PATH_SITE . '/extensions/' . $type . '/admin/statistics'; if (!file_exists($path)) { continue; } $files = JFolder::files($path, 'php$'); foreach ($files as $file) { $parts = explode('.', $file); if ($parts[0] != 'base') { $options[] = JHtml::_('select.option', $parts[0], $parts[0]); } } } // Merge any additional options in the XML definition. $options = array_merge(parent::getOptions(), $options); return $options; }
/** * static method which extends template path for given view names * Can be used by views to search for extensions that implement parts of common views * and add their path to the template search path. * (e.g. 'projectheading', 'backbutton', 'footer') * @param array(string) $viewnames, names of views for which templates need to be loaded, * so that extensions are used when available * @param JLGView $view to which the template paths should be added */ public static function addTemplatePaths($templatesToLoad, &$view) { $extensions = JoomleagueHelper::getExtensions(JRequest::getInt('p')); foreach ($templatesToLoad as $template) { $view->addTemplatePath(JPATH_COMPONENT . '/views/' . $template . '/tmpl'); if (is_array($extensions) && count($extensions) > 0) { foreach ($extensions as $e => $extension) { $extension_views = JPATH_COMPONENT_SITE . '/extensions/' . $extension . '/views'; $tmpl_path = $extension_views . '/' . $template . '/tmpl'; if (JFolder::exists($tmpl_path)) { $view->addTemplatePath($tmpl_path); } } } } }
} if ($allowed) { echo '<tr><td><b><a href="' . $href . '" title="' . JText::_('JGLOBAL_AUTH_ACCESS_GRANTED') . '">' . $image . ' ' . $text . '</a></b></td></tr>'; } else { echo '<tr><td><span title="' . JText::_('JGLOBAL_AUTH_ACCESS_DENIED') . '">' . $image . ' ' . $text . '</span></td></tr>'; } } ?> </table> </div> <?php $n++; } echo JHTML::_('sliders.end'); //Extension $extensions = JoomleagueHelper::getExtensions(1); foreach ($extensions as $e => $extension) { $JLGPATH_EXTENSION = JPATH_COMPONENT_SITE . DS . 'extensions' . DS . $extension; $menufile = $JLGPATH_EXTENSION . DS . 'admin' . DS . 'views' . DS . 'joomleague' . DS . 'tmpl' . DS . 'default_' . $extension . '.php'; if (JFile::exists($menufile)) { echo $this->loadTemplate($extension); } else { } } ?> <div style="text-align: center;"><br /> <?php // echo JHTML::_('image','administrator/components/com_joomleague/assets/images/jl.png',JText::_('JoomLeague'),array("title" => JText::_('JoomLeague'))); echo JHTML::_('image', 'administrator/components/com_joomleague/assets/images/jl-logo.png', JText::_('extended JoomLeague'), array("title" => JText::_('extended JoomLeague'), "width" => '150')); ?> </div>
/** * get instance of ranking. Looks into extension folder too. * * @param string $type */ public static function getInstance($project = null) { if ($project) { $extensions = JoomleagueHelper::getExtensions($project->id); foreach ($extensions as $type) { $classname = 'JLGRanking' . ucfirst($type); if (!class_exists($classname)) { $file = JLG_PATH_SITE . '/extensions/' . $type . '/ranking.php'; if (file_exists($file)) { require_once $file; $obj = new $classname(); $obj->setProjectId($project->id); return $obj; } } else { $obj = new $classname(); $obj->setProjectId($project->id); return $obj; } } $obj = new JLGRanking(); $obj->setProjectId($project->id); return $obj; } $obj = new JLGRanking(); return $obj; }
/** * check that all templates in default location have a corresponding record,except if project has a master template * */ function checklist() { $mainframe =& JFactory::getApplication(); $option = JRequest::getCmd('option'); $project_id = $this->_project_id; $defaultpath = JPATH_COMPONENT_SITE . DS . 'settings'; // Get the views for this component. $path = JPATH_SITE . '/components/' . $option . '/views'; $predictionTemplatePrefix = 'prediction'; if (!$project_id) { return; } // get info from project $query = 'SELECT master_template,extension FROM #__joomleague_project WHERE id=' . (int) $project_id; $this->_db->setQuery($query); $params = $this->_db->loadObject(); // if it's not a master template,do not create records. if ($params->master_template) { return true; } // otherwise,compare the records with the files // get records $query = 'SELECT template FROM #__joomleague_template_config WHERE project_id=' . (int) $project_id; $this->_db->setQuery($query); $records = $this->_db->loadResultArray(); if (empty($records)) { $records = array(); } // add default folder $xmldirs[] = $defaultpath . DS . 'default'; $extensions = JoomleagueHelper::getExtensions(JRequest::getInt('p')); foreach ($extensions as $e => $extension) { $extensiontpath = JPATH_COMPONENT_SITE . DS . 'extensions' . DS . $extension; if (is_dir($extensiontpath . DS . 'settings' . DS . 'default')) { $xmldirs[] = $extensiontpath . DS . 'settings' . DS . 'default'; } } // now check for all xml files in these folders foreach ($xmldirs as $xmldir) { if ($handle = opendir($xmldir)) { /* check that each xml template has a corresponding record in the database for this project. If not,create the rows with default values from the xml file */ while ($file = readdir($handle)) { if ($file != '.' && $file != '..' && $file != 'do_tipsl' && strtolower(substr($file, -3)) == 'xml' && strtolower(substr($file, 0, strlen($predictionTemplatePrefix))) != $predictionTemplatePrefix) { $template = substr($file, 0, strlen($file) - 4); // Determine if a metadata file exists for the view. //$metafile = $path.'/'.$template.'/metadata.xml'; $metafile = $path . '/' . $template . '/tmpl/default.xml'; $attributetitle = ''; if (is_file($metafile)) { // Attempt to load the xml file. if ($metaxml = simplexml_load_file($metafile)) { //$mainframe->enqueueMessage(JText::_('PredictionGame template metaxml-> '.'<br /><pre>~' . print_r($metaxml,true) . '~</pre><br />'),''); // This will save the value of the attribute, and not the objet //$attributetitle = (string)$metaxml->view->attributes()->title; $attributetitle = (string) $metaxml->layout->attributes()->title; //$mainframe->enqueueMessage(JText::_('PredictionGame template attribute-> '.'<br /><pre>~' . print_r($attributetitle,true) . '~</pre><br />'),''); if ($menu = $metaxml->xpath('view[1]')) { $menu = $menu[0]; //$mainframe->enqueueMessage(JText::_('PredictionGame template menu-> '.'<br /><pre>~' . print_r($menu,true) . '~</pre><br />'),''); } } } if (empty($records) || !in_array($template, $records)) { $jRegistry = new JRegistry(); $form = JForm::getInstance($file, $xmldir . DS . $file); $fieldsets = $form->getFieldsets(); foreach ($fieldsets as $fieldset) { foreach ($form->getFieldset($fieldset->name) as $field) { $jRegistry->set($field->name, $field->value); } } $defaultvalues = $jRegistry->toString('ini'); $tblTemplate_Config = JTable::getInstance('template', 'table'); $tblTemplate_Config->template = $template; if ($attributetitle) { $tblTemplate_Config->title = $attributetitle; } else { $tblTemplate_Config->title = $file; } $tblTemplate_Config->params = $defaultvalues; $tblTemplate_Config->project_id = $project_id; // Make sure the item is valid if (!$tblTemplate_Config->check()) { $this->setError($this->_db->getErrorMsg()); return false; } // Store the item to the database if (!$tblTemplate_Config->store()) { $this->setError($this->_db->getErrorMsg()); return false; } array_push($records, $template); } } } closedir($handle); } } }
/** * support for extensions which can overload extended data * @param string $data * @param string $file * @return object */ function getExtended($data = '', $file, $format = 'ini') { $xmlfile = JLG_PATH_ADMIN . '/assets/extended/' . $file . '.xml'; //extension management $extensions = JoomleagueHelper::getExtensions(JRequest::getInt('p')); foreach ($extensions as $e => $extension) { $JLGPATH_EXTENSION = JPATH_COMPONENT_SITE . '/extensions/' . $extension . '/admin'; //General extension extended xml $file = $JLGPATH_EXTENSION . '/assets/extended/' . $file . '.xml'; if (file_exists(JPath::clean($file))) { $xmlfile = $file; break; //first extension file will win } } /* * extended data */ $jRegistry = new JRegistry(); $jRegistry->loadString($data, $format); $extended = JForm::getInstance('extended', $xmlfile, array('control' => 'extended'), false, '/config'); $extended->bind($jRegistry); return $extended; }
/** * @see JLGView * @see JLGModel * @author Wolfgang Pinitsch <*****@*****.**> * @copyright Copyright (C) 2005-2013 JoomLeague.net. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */ // no direct access defined('_JEXEC') or die; $app = JFactory::getApplication(); $arrExtensions = JoomleagueHelper::getExtensions(JRequest::getInt('p')); $show_debug_info = JComponentHelper::getParams('com_joomleague')->get('show_debug_info', 0); $model_pathes[] = array(); $view_pathes[] = array(); $lang = JFactory::getLanguage(); // diddipoeler // normale extension anfang for ($e = 0; $e < count($arrExtensions); $e++) { $extension = $arrExtensions[$e]; $extensionpath = JLG_PATH_SITE . DS . 'extensions' . DS . $extension; // include file named after the extension for specific includes for examples if (file_exists($extensionpath . DS . $extension . '.php')) { //e.g example.php require_once $extensionpath . DS . $extension . '.php'; } if ($app->isAdmin()) {
/** * check that all templates in default location have a corresponding record,except if project has a master template */ function checklist() { $project_id = $this->_project_id; $defaultpath = JPATH_COMPONENT_SITE . '/settings'; $predictionTemplatePrefix = 'prediction'; if (!$project_id) { return; } // get info from project $query = 'SELECT master_template,extension FROM #__joomleague_project WHERE id=' . (int) $project_id; $this->_db->setQuery($query); $params = $this->_db->loadObject(); // if it's not a master template,do not create records. if ($params->master_template) { return true; } // otherwise,compare the records with the files // get records $query = 'SELECT template FROM #__joomleague_template_config WHERE project_id=' . (int) $project_id; $this->_db->setQuery($query); $records = $this->_db->loadColumn(); if (empty($records)) { $records = array(); } // add default folder $xmldirs[] = $defaultpath . '/default'; $extensions = JoomleagueHelper::getExtensions($this->input->getInt('p')); foreach ($extensions as $e => $extension) { $extensiontpath = JPATH_COMPONENT_SITE . '/extensions/' . $extension; if (is_dir($extensiontpath . '/settings/default')) { $xmldirs[] = $extensiontpath . '/settings/default'; } } // now check for all xml files in these folders foreach ($xmldirs as $xmldir) { if ($handle = opendir($xmldir)) { /* check that each xml template has a corresponding record in the database for this project. If not,create the rows with default values from the xml file */ while ($file = readdir($handle)) { if ($file != '.' && $file != '..' && $file != 'do_tipsl' && strtolower(substr($file, -3)) == 'xml' && strtolower(substr($file, 0, strlen($predictionTemplatePrefix))) != $predictionTemplatePrefix) { $template = substr($file, 0, strlen($file) - 4); if (empty($records) || !in_array($template, $records)) { $jRegistry = new JRegistry(); $form = JForm::getInstance($file, $xmldir . '/' . $file); $fieldsets = $form->getFieldsets(); foreach ($fieldsets as $fieldset) { foreach ($form->getFieldset($fieldset->name) as $field) { $jRegistry->set($field->name, $field->value); } } $defaultvalues = $jRegistry->toString('ini'); $tblTemplate_Config = JTable::getInstance('Template', 'Table'); $tblTemplate_Config->template = $template; $tblTemplate_Config->title = $file; $tblTemplate_Config->params = $defaultvalues; $tblTemplate_Config->project_id = $project_id; // Make sure the item is valid if (!$tblTemplate_Config->check()) { $this->setError($this->_db->getErrorMsg()); return false; } // Store the item to the database if (!$tblTemplate_Config->store()) { $this->setError($this->_db->getErrorMsg()); return false; } array_push($records, $template); } } } closedir($handle); } } }
function getTemplateConfig($template) { //first load the default settings from the default <template>.xml file $paramsdata = ""; $arrStandardSettings = array(); if (file_exists(JLG_PATH_SITE . '/settings/default/' . $template . '.xml')) { $strXmlFile = JLG_PATH_SITE . '/settings/default/' . $template . '.xml'; $form = JForm::getInstance($template, $strXmlFile); $fieldsets = $form->getFieldsets(); foreach ($fieldsets as $fieldset) { foreach ($form->getFieldset($fieldset->name) as $field) { $arrStandardSettings[$field->name] = $field->value; } } } //second load the default settings from the default extensions <template>.xml file $extensions = JoomleagueHelper::getExtensions(JRequest::getInt('p')); foreach ($extensions as $e => $extension) { $JLGPATH_EXTENSION = JPATH_COMPONENT_SITE . '/extensions/' . $extension; $paramsdata = ""; $strXmlFile = $JLGPATH_EXTENSION . '/settings/default/' . $template . '.xml'; if (file_exists($JLGPATH_EXTENSION . '/settings/default/' . $template . '.xml')) { $form = JForm::getInstance($template, $strXmlFile); $fieldsets = $form->getFieldsets(); foreach ($fieldsets as $fieldset) { foreach ($form->getFieldset($fieldset->name) as $field) { $arrStandardSettings[$field->name] = $field->value; } } } } if ($this->projectid == 0) { return $arrStandardSettings; } $query = "SELECT t.params\n\t\t\t\t FROM #__joomleague_template_config AS t\n\t\t\t\t INNER JOIN #__joomleague_project AS p ON p.id=t.project_id\n\t\t\t\t WHERE t.template=" . $this->_db->Quote($template) . "\n\t\t\t\t AND p.id=" . $this->_db->Quote($this->projectid); $this->_db->setQuery($query); if (!($result = $this->_db->loadResult())) { $project = $this->getProject(); if (!empty($project) && $project->master_template > 0) { $query = "SELECT t.params\n\t\t\t\t\t\t FROM #__joomleague_template_config AS t\n\t\t\t\t\t\t INNER JOIN #__joomleague_project AS p ON p.id=t.project_id\n\t\t\t\t\t\t WHERE t.template=" . $this->_db->Quote($template) . "\n\t\t\t\t\t\t AND p.id=" . $this->_db->Quote($project->master_template); $this->_db->setQuery($query); if (!($result = $this->_db->loadResult())) { JError::raiseNotice(500, JText::_('COM_JOOMLEAGUE_MASTER_TEMPLATE_MISSING') . " " . $template); JError::raiseNotice(500, JText::_('COM_JOOMLEAGUE_MASTER_TEMPLATE_MISSING_PID') . $project->master_template); JError::raiseNotice(500, JText::_('COM_JOOMLEAGUE_TEMPLATE_MISSING_HINT')); return $arrStandardSettings; } } else { //JError::raiseNotice(500,'project ' . $this->projectid . ' setting not found'); //there are no saved settings found, use the standard xml file default values return $arrStandardSettings; } } $jRegistry = new JRegistry(); $jRegistry->loadString($result, 'ini'); $configvalues = $jRegistry->toArray(); //merge and overwrite standard settings with individual view settings $settings = array_merge($arrStandardSettings, $configvalues); return $settings; }
function JoomleagueParseRoute($segments) { // include extensions routers for custom views - if extension route file exists, use it $extensions = JoomleagueHelper::getExtensions(0); foreach ($extensions as $type) { $file = JLG_PATH_SITE . DS . 'extensions' . DS . $type . DS . 'route.php'; if (file_exists($file)) { require_once $file; $obj = new $classname(); $func = 'JoomleagueParseRoute' . ucfirst($type); if ($vars = $func($segments)) { return $vars; } } } $vars = array(); $vars['view'] = $segments[0]; $params = getRouteParametersObject(); if (isset($params[$vars['view']])) { $i = 1; foreach ($params[$vars['view']] as $key => $value) { if (isset($segments[$i])) { $vars[$key] = $segments[$i++]; } } } return $vars; }
function JoomleagueParseRoute($segments) { // include extensions routers for custom views - if extension does have a route file, use it $extensions = JoomleagueHelper::getExtensions(0); foreach ($extensions as $type) { $file = JLG_PATH_SITE . DS . 'extensions' . DS . $type . DS . 'route.php'; if (file_exists($file)) { require_once $file; $obj = new $classname(); $func = 'JoomleagueParseRoute' . ucfirst($type); if ($vars = $func($segments)) { return $vars; } } } $vars = array(); $vars['view'] = $segments[0]; switch ($vars['view']) { case 'clubinfo': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['cid'] = $segments[2]; } break; case 'curve': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['tid1'] = $segments[2]; } if (isset($segments[3])) { $vars['tid2'] = $segments[3]; } if (isset($segments[4])) { $vars['division'] = $segments[4]; } break; case 'eventsranking': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['division'] = $segments[2]; } if (isset($segments[3])) { $vars['tid'] = $segments[3]; } if (isset($segments[4])) { $vars['evid'] = $segments[4]; } if (isset($segments[5])) { $vars['mid'] = $segments[5]; } break; case 'editmatch': case 'editevents': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['mid'] = $segments[2]; } break; case 'matrix': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['division'] = $segments[2]; } if (isset($segments[3])) { $vars['r'] = $segments[3]; } break; case 'playground': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['pgid'] = $segments[2]; } break; case "ranking": if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['type'] = $segments[2]; } if (isset($segments[3])) { $vars['r'] = $segments[3]; } if (isset($segments[4])) { $vars['from'] = $segments[4]; } if (isset($segments[5])) { $vars['to'] = $segments[5]; } if (isset($segments[6])) { $vars['division'] = $segments[6]; } break; case 'teamplan': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['tid'] = $segments[2]; } if (isset($segments[3])) { $vars['division'] = $segments[3]; } if (isset($segments[4])) { $vars['mode'] = $segments[4]; } break; case 'roster': case 'teaminfo': case 'teamstats': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['tid'] = $segments[2]; } break; case 'results': case 'resultsmatrix': case 'resultsranking': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['r'] = $segments[2]; } if (isset($segments[3])) { $vars['division'] = $segments[3]; } if (isset($segments[4])) { $vars['mode'] = $segments[4]; } if (isset($segments[5])) { $vars['order'] = $segments[5]; } if (isset($segments[6])) { $vars['layout'] = $segments[6]; } break; case 'matchreport': case 'nextmatch': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['mid'] = $segments[2]; } if (isset($segments[3])) { $vars['pics'] = $segments[3]; } if (isset($segments[4])) { $vars['ptid'] = $segments[4]; } break; // /esl-dods-fall-league-2010-roster/staff/44-ED - DODS Fall League 2010/1-zj/2-and-one // /esl-dods-fall-league-2010-roster/staff/44-ED - DODS Fall League 2010/1-zj/2-and-one case 'player': case 'staff': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['tid'] = $segments[2]; } if (isset($segments[3])) { $vars['pid'] = $segments[3]; } break; case 'clubs': case 'stats': case 'teams': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['division'] = $segments[2]; } break; case 'statsranking': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['division'] = $segments[2]; } if (isset($segments[3])) { $vars['tid'] = $segments[3]; } break; // /standard-referee/referee/46/2 // /standard-referee/referee/46/2 case 'referee': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['pid'] = $segments[2]; } break; case 'tree': if (isset($segments[1])) { $vars['p'] = $segments[1]; } if (isset($segments[2])) { $vars['did'] = $segments[2]; } break; default: if (isset($segments[1])) { $vars['p'] = $segments[1]; } break; } return $vars; }