Ejemplo n.º 1
0
 function getParams($data)
 {
     // get params definitions
     $params = new JParameter($data);
     if (WF_JOOMLA15) {
         $xml = JPATH_PLUGINS . DS . 'system' . DS . 'jcemediabox.xml';
         $params->loadSetupFile($xml);
         return $params->getParams();
     } else {
         $xml = JPATH_PLUGINS . DS . 'system' . DS . 'jcemediabox' . DS . 'jcemediabox.xml';
         $parser = JFactory::getXMLParser('Simple');
         if ($parser->loadFile($xml)) {
             if ($fieldsets = $parser->document->getElementByPath('config')->getElementByPath('fields')->children()) {
                 foreach ($fieldsets as $fieldset) {
                     $params->setXML($fieldset);
                 }
             }
         }
         $groups = array();
         $array = array();
         foreach ($params->getGroups() as $group => $num) {
             $groups[] = $params->getParams('params', $group);
         }
         foreach ($groups as $group) {
             $array = array_merge($array, $group);
         }
         return $array;
     }
 }
Ejemplo n.º 2
0
 function getParams($data)
 {
     jimport('joomla.form.form');
     if (class_exists('JForm')) {
         //JForm::addFormPath(JPATH_PLUGINS . '/system/jcemediabox');
         $xml = JPATH_PLUGINS . '/system/jcemediabox/jcemediabox.xml';
         $params = new WFParameter($data, $xml, '', array('control' => 'config:fields:fieldset'));
         $params->addElementPath(JPATH_PLUGINS . '/system/jcemediabox/elements');
         $groups = array();
         $array = array();
         foreach ($params->getGroups() as $group) {
             $groups[] = $params->getParams('params', $group);
         }
         foreach ($groups as $group) {
             $array = array_merge($array, $group);
         }
         return $array;
     } else {
         // get params definitions
         $params = new JParameter($data, JPATH_PLUGINS . '/system/jcemediabox.xml');
         $xml = JPATH_PLUGINS . '/system/jcemediabox.xml';
         $params->loadSetupFile($xml);
         return $params->getParams();
     }
 }
Ejemplo n.º 3
0
 /**
  * Render a parameter.
  *
  * @param JParameter $parameter
  * @param KConfig    $config
  *
  * @return string
  */
 protected function _render($parameter, $config)
 {
     $params = $parameter->getParams($config->name, $config->group);
     foreach ($params as $key => $param) {
         $params[$key] = array($param[0] => $param[1]);
     }
     return $this->_template->renderHelper('ui.form', $params[0]);
 }
	function fetchElement($name, $value, &$node, $control_name)
	{
		jimport( 'joomla.filesystem.folder' );
		jimport( 'joomla.filesystem.file' );
		$doc =& JFactory::getDocument();
		$lang = JFactory::getLanguage();

		$parameter_sets = array();
        
		$filter		= $node->attributes('filter');
		$exclude	= $node->attributes('exclude');


        // Load 2x Catalog Themes
        require_once(dirname(__FILE__) . "/../RokNavMenu.php");
        RokNavMenu::setFrontSideTemplate();
        RokNavMenu::loadCatalogs();



        foreach(RokNavMenu::$themes as $theme_name => $theme_info){
            $lang_file_path = JPath::clean($theme_info['path'].'/language/'.$lang->_lang.'.ini');
            $this->loadLangFile($lang_file_path, $theme_info['fullname']);

            $parms_file_path = JPath::clean($theme_info['path'].'/parameters.xml');
            if (JFile::exists($parms_file_path)) {
		        $parameters = new JParameter( $this->_parent->_raw, JPath::clean($parms_file_path));
			    $parameter_sets[$theme_name] = $parameters->getParams();
			}
        }


		
		// path to directory
		$template_themes_path = '/templates/'.$this->_getFrontSideTemplate().'/html/mod_roknavmenu/themes';
		$template_themes_full_path = JPath::clean(JPATH_ROOT.$template_themes_path);
		$template_theme_text = JText::_("Template theme");
		
		$module_themes_path = '/modules/mod_roknavmenu/themes'; 
		$module_themes_full_path = JPath::clean(JPATH_ROOT.$module_themes_path);
		$module_theme_text = JText::_("Default theme");
		
		$module_js_path = JURI::root(true).'/modules/mod_roknavmenu/lib/js';
		$doc->addScript($module_js_path."/switcher".$this->_getJSVersion().".js");
		$doc->addScriptDeclaration("window.addEvent('domready', function() {new NavMenuSwitcher('paramtheme');});");


		 /** Get the Template Themes parameters **/
		if (JFolder::exists($template_themes_full_path) && !JFile::exists($template_themes_full_path."/catalog.php")) {
			$folders = JFolder::folders($template_themes_full_path, $filter);
			if ( is_array($folders) )
			{
				reset($folders);
				while (list($key, $val) = each($folders)) {
					$folder =& $folders[$key];
					if ($exclude)
					{
						if (preg_match( chr( 1 ) . $exclude . chr( 1 ), $folder ))
						{
							continue;
						}
					}
					$theme_path = $template_themes_path.DS.$folder;
					
					$langfile = JPath::clean(JPATH_ROOT.$theme_path.DS.'language'.DS.$lang->_lang.'.ini');
					if (JFile::exists($langfile)) {
						$lang->_load($langfile,'roknavmenu_theme_template_'.$folder);
					}
					
					$param_file_path =  $theme_path.DS.'parameters.xml';
					if (JFile::exists(JPath::clean(JPATH_ROOT.$param_file_path))) { 
						
						$parameters = new JParameter( $this->_parent->_raw, JPath::clean(JPATH_ROOT.$param_file_path));
						$parameter_sets[$theme_path] = $parameters->getParams();
					}
				}
			}
		}
		 /** Get the Default Themes parameters **/
		if (JFolder::exists($module_themes_full_path) && !JFile::exists($module_themes_full_path."/catalog.php")) {
			$folders = JFolder::folders($module_themes_full_path, $filter);
			if ( is_array($folders) )
			{
				reset($folders);
				while (list($key, $val) = each($folders)) {
					$folder =& $folders[$key];
					if ($exclude)
					{
						if (preg_match( chr( 1 ) . $exclude . chr( 1 ), $folder ))
						{
							continue;
						}
					}

					$theme_path = $module_themes_path.DS.$folder;

					$langfile = JPath::clean(JPATH_ROOT.$theme_path.DS.'language'.DS.$lang->_lang.'.ini');
					if (JFile::exists($langfile)) {
						$lang->_load($langfile,'roknavmenu_theme_module_'.$folder);
					}
					
					$param_file_path =  $theme_path.DS.'parameters.xml';
					
					$parameter_sets[$theme_path]  = array();
					if (JFile::exists(JPath::clean(JPATH_ROOT.$param_file_path))) { 	
						$parameters = new JParameter( $this->_parent->_raw, JPath::clean(JPATH_ROOT.$param_file_path));
						$parameter_sets[$theme_path] = $parameters->getParams();
					}
				}
			}
		}
		$parameter_renders = array();
		reset($parameter_sets);
		
		$html = '';
		// render a parameter set
		while(list($key, $val) = each($parameter_sets)) {
			$params =& $parameter_sets[$key];
			$cls = basename($key);
			if (empty($params)){
				$html .= '<p class="'.$cls.'"><span>' . JText::_('ROKNAVMENU.MSG.NO_THEME_OPTIONS_AVAILABLE') . ' </span></p>';	
			}
			else { 
				//render an individual parameter
				for ($i=0; $i < count($params); $i++) { 
					$param =& $params[$i];
					$html .= '<p class="'.$cls.'"><span>'.$param[0].':</span>' .$param[1] . '</p>';
				}
			}
		}
		
		return $html;
	}