Exemplo n.º 1
0
 /**
  * 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);
 }
Exemplo n.º 2
0
 /**
  * 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;
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 6
0
 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);
 }
Exemplo n.º 7
0
 /**
  * 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;
 }
Exemplo n.º 8
0
 /**
  * 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;
 }
Exemplo n.º 9
0
 /**
  * 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>
Exemplo n.º 11
0
 /**
  * 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);
         }
     }
 }
Exemplo n.º 13
0
 /**
  * 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()) {
Exemplo n.º 15
0
 /**
  * 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);
         }
     }
 }
Exemplo n.º 16
0
 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;
 }
Exemplo n.º 17
0
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;
}
Exemplo n.º 18
0
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;
}