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()
 {
     // Get the state parameters
     $module =& $this->getModule();
     $params = new JParameter($module->params);
     if ($xml =& $this->_getXML()) {
         if ($ps =& $xml->document->params) {
             foreach ($ps as $p) {
                 $params->setXML($p);
             }
         }
     }
     return $params;
 }
Ejemplo n.º 3
0
 function getSystemParams($path)
 {
     $params = null;
     $item = $this->getModulesData();
     if (isset($item->params)) {
         $params = new JParameter($item->params);
     } else {
         $params = new JParameter("");
     }
     if (file_exists($path)) {
         $xml =& JFactory::getXMLParser('Simple');
         if ($xml->loadFile($path)) {
             $document =& $xml->document;
             $params->setXML($document->getElementByPath('state/params'));
         }
     }
     return $params->render('params');
 }
Ejemplo n.º 4
0
 /**
  * Renders a form using an xml path
  *
  * @param  array $config
  * @return void
  */
 public function getParameters($config = array())
 {
     $config = new KConfig($config);
     $config->append(array('data' => array(), 'element_paths' => array(dirname(__FILE__) . '/forms')));
     $content = file_exists($config->path) ? file_get_contents($config->path) : '';
     $paths = array();
     //replace all the addpath="{KServiceIdentifier}" with real path
     if (preg_match_all('/addpath="([^"]+)"/', $content, $paths)) {
         $replaces = array();
         foreach ($paths[1] as $path) {
             if (strpos($path, '.')) {
                 $replaces[] = str_replace(JPATH_ROOT . '/', '', dirname(KLoader::path($path . '.dummy')));
             } else {
                 $replaces[] = $path;
             }
         }
         $content = str_replace($paths[1], $replaces, $content);
     }
     $xml =& JFactory::getXMLParser('Simple');
     $parameter = new JParameter('');
     $data = KConfig::unbox($config->data);
     if ($data instanceof JParameter) {
         $data = $data->toArray();
     }
     if (is_array($data)) {
         $parameter->loadArray($data);
     } else {
         $parameter->loadINI($data);
     }
     $parameter->template_data = $config->template_data;
     foreach ($config->element_paths as $path) {
         $parameter->addElementPath($path);
     }
     if ($xml->loadString($content)) {
         if ($params =& $xml->document->params) {
             foreach ($params as $param) {
                 $parameter->setXML($param);
             }
         }
     }
     return $parameter;
 }
Ejemplo n.º 5
0
	function fetchElement($name, $value, &$node, $control_name)
	{
		$parent =& $this->_parent;

		$childParameter = new JParameter($parent->_raw);
		$paths = $parent->_elementPath;
		if (is_array($paths))
			foreach ($paths as $path)
				$childParameter->addElementPath($path);
		$childParameter->setXML($node);

		$visible = $node->attributes('visible');
		$prefix = $node->attributes('prefix');
		$id = 'group_' . $prefix . '_' . $node->attributes('group_id');

		return sprintf('<div id="%s" class="el-group" style="display: %s;"><div class="el-group-header"><h4>%s</h4></div><div>%s</div></div>',
			$id,
			$visible ? 'block' : 'none',
			JText::_($node->attributes('label')),
			$childParameter->render($control_name));
	}
Ejemplo n.º 6
0
 function getPluginParams(&$item)
 {
     JPluginHelper::importPlugin('roknavmenu');
     $param_files = array();
     $param_sets = array();
     $dispatcher =& JDispatcher::getInstance();
     $dispatcher->trigger('onRokNavMenuRegisterParamsFile', array(&$param_files, $item->id));
     reset($param_files);
     while (list($key, $value) = each($param_files)) {
         $param_file =& $param_files[$key];
         $set_params = new JParameter($item->params);
         if (file_exists($param_file)) {
             $xml =& JFactory::getXMLParser('Simple');
             if ($xml->loadFile($param_file)) {
                 $document =& $xml->document;
                 $set_params->setXML($document->params[0]);
             }
         }
         $param_sets[$key] = $set_params;
     }
     return $param_sets;
 }
Ejemplo n.º 7
0
 function &getSystemParams()
 {
     // Initialize variables
     $params = null;
     $item =& $this->getItem();
     $params = new JParameter($item->params);
     if ($item->type == 'component') {
         $path = JPATH_BASE . DS . 'components' . DS . 'com_menus' . DS . 'models' . DS . 'metadata' . DS . 'component.xml';
         if (file_exists($path)) {
             $xml =& JFactory::getXMLParser('Simple');
             if ($xml->loadFile($path)) {
                 $document =& $xml->document;
                 $params->setXML($document->getElementByPath('state/params'));
             }
         }
     }
     return $params;
 }
Ejemplo n.º 8
0
 /**
  * Compiles information to add or edit a module
  * @param string The current GET/POST option
  * @param integer The unique id of the record to edit
  */
 function edit()
 {
     // Initialize some variables
     $db =& JFactory::getDBO();
     $user =& JFactory::getUser();
     $client =& JApplicationHelper::getClientInfo(JRequest::getVar('client', '0', '', 'int'));
     $module = JRequest::getVar('module', '', '', 'cmd');
     $id = JRequest::getVar('id', 0, 'method', 'int');
     $cid = JRequest::getVar('cid', array($id), 'method', 'array');
     JArrayHelper::toInteger($cid, array(0));
     $model =& $this->getModel('module');
     $model->setState('id', $cid['0']);
     $model->setState('clientId', $client->id);
     $lists = array();
     $row =& JTable::getInstance('module');
     // load the row from the db table
     $row->load((int) $cid['0']);
     // fail if checked out not by 'me'
     if ($row->isCheckedOut($user->get('id'))) {
         $this->setRedirect('index.php?option=com_advancedmodules&client=' . $client->id);
         return JError::raiseWarning(500, JText::sprintf('DESCBEINGEDITTED', JText::_('The module'), $row->title));
     }
     $row->content = htmlspecialchars($row->content, ENT_COMPAT, 'UTF-8');
     if ($cid['0']) {
         $row->checkout($user->get('id'));
     }
     // if a new record we must still prime the JTableModel object with a default
     // position and the order; also add an extra item to the order list to
     // place the 'new' record in last position if desired
     if ($cid['0'] == 0) {
         $row->position = 'left';
         $row->showtitle = true;
         $row->published = 1;
         //$row->ordering = $l;
         $row->module = $module;
     }
     if ($client->id == 1) {
         $where = 'client_id = 1';
         $lists['client_id'] = 1;
         $path = 'mod1_xml';
     } else {
         $where = 'client_id = 0';
         $lists['client_id'] = 0;
         $path = 'mod0_xml';
     }
     $query = 'SELECT position, ordering, showtitle, title' . ' FROM #__modules' . ' WHERE ' . $where . ' ORDER BY ordering';
     $db->setQuery($query);
     $orders = $db->loadObjectList();
     if ($db->getErrorNum()) {
         echo $db->stderr();
         return false;
     }
     $orders2 = array();
     $l = 0;
     $r = 0;
     for ($i = 0, $n = count($orders); $i < $n; $i++) {
         $ord = 0;
         if (array_key_exists($orders[$i]->position, $orders2)) {
             $ord = count(array_keys($orders2[$orders[$i]->position])) + 1;
         }
         $orders2[$orders[$i]->position][] = JHTML::_('select.option', $ord, $ord . '::' . htmlspecialchars($orders[$i]->title));
     }
     $color = 'FFFFFF';
     if ($client->id != 1) {
         $parameters =& NNParameters::getParameters();
         $config = JComponentHelper::getParams('com_advancedmodules');
         $config = $parameters->getParams($config->_raw, JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_advancedmodules' . DS . 'config.xml');
         $advanced_params = new stdClass();
         $xmlfile = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_advancedmodules' . DS . 'assignments.xml';
         if (!$cid['0']) {
             $lists['assignments'] = new JParameter('', $xmlfile);
             // hide if empty
             $lists['hideempty'] = JHTML::_('select.booleanlist', 'advancedparams[hideempty]', 'class="inputbox"', 0, 'yes', 'no', 'advancedparamshideempty');
             // tooltip
             $lists['tooltip'] = '<textarea class="text_area" rows="3" cols="40" name="advancedparams[tooltip]" id="advancedparamstooltip"></textarea>';
         } else {
             // advanced params
             $query = 'SELECT params' . ' FROM #__advancedmodules' . ' WHERE moduleid = ' . (int) $row->id;
             $db->setQuery($query);
             $advanced_params = $db->loadResult();
             if (!$advanced_params || strpos($advanced_params, 'assignto_') === false) {
                 $advanced_params = $this->updateParams($row->id, $advanced_params);
             }
             $lists['assignments'] = new JParameter($advanced_params, $xmlfile);
             $advanced_params = $parameters->getParams($advanced_params);
             // hide if empty
             $lists['hideempty'] = JHTML::_('select.booleanlist', 'advancedparams[hideempty]', 'class="inputbox"', isset($advanced_params->hideempty) ? $advanced_params->hideempty : 0, 'yes', 'no', 'advancedparamshideempty');
             // tooltip
             $lists['tooltip'] = '<textarea class="text_area" rows="3" cols="40" name="advancedparams[tooltip]" id="advancedparamstooltip">' . (isset($advanced_params->tooltip) ? $advanced_params->tooltip : '') . '</textarea>';
             if (isset($advanced_params->color)) {
                 $color = strtoupper(preg_replace('#[^a-z0-9]#si', '', $advanced_params->color));
             }
         }
         require_once JPATH_SITE . DS . 'plugins' . DS . 'system' . DS . 'nonumberelements' . DS . 'elements' . DS . 'colorpicker.php';
         $cp = new JElementColorPicker();
         $node = new JSimpleXMLElement('');
         $lists['color'] = $cp->fetchElement('color', $color, $node, 'advancedparams');
         $lists['extra'] = '';
         if ($config->show_extra) {
             if ($config->extra1) {
                 $xml = new JSimpleXMLElement('extra', array());
                 $extraparams = array();
                 for ($i = 1; $i <= 5; $i++) {
                     $var = 'extra' . $i;
                     if ($config->{$var}) {
                         $a = array();
                         $a['name'] = $var;
                         $a['type'] = 'text';
                         $label = explode('\\|', $config->{$var}, 2);
                         $a['label'] = $label['0'];
                         if (isset($label['1'])) {
                             $a['description'] = $label['1'];
                         }
                         $xml->addChild('extra1', $a);
                     }
                     if (isset($advanced_params->{$var})) {
                         $extraparams[] = $var . '=' . $advanced_params->{$var};
                     }
                 }
                 $p = new JParameter(implode("\n", $extraparams));
                 $p->setXML($xml);
                 if ($p->getNumParams()) {
                     $lists['extra'] = $p->render('advancedparams');
                 }
             }
         }
     }
     if ($row->access == 99 || $row->client_id == 1 || $lists['client_id']) {
         $lists['access'] = 'Administrator';
         $lists['showtitle'] = 'N/A <input type="hidden" name="showtitle" value="1" />';
         $lists['selections'] = 'N/A';
     } else {
         if ($client->id == '1') {
             $lists['access'] = 'N/A';
         } else {
             $lists['access'] = JHTML::_('list.accesslevel', $row);
         }
         $lists['showtitle'] = JHTML::_('select.booleanlist', 'showtitle', 'class="inputbox"', $row->showtitle);
     }
     // build the html select list for published
     $lists['published'] = JHTML::_('select.booleanlist', 'published', 'class="inputbox"', $row->published);
     $row->description = '';
     $lang =& JFactory::getLanguage();
     if ($client->id != '1') {
         $lang->load(trim($row->module), JPATH_SITE);
     } else {
         $lang->load(trim($row->module));
     }
     // xml file for module
     if ($row->module == 'custom') {
         $xmlfile = JApplicationHelper::getPath($path, 'mod_custom');
     } else {
         $xmlfile = JApplicationHelper::getPath($path, $row->module);
     }
     $data = JApplicationHelper::parseXMLInstallFile($xmlfile);
     if ($data) {
         foreach ($data as $key => $value) {
             $row->{$key} = $value;
         }
     }
     // get params definitions
     $params = new JParameter($row->params, $xmlfile, 'module');
     require_once JApplicationHelper::getPath('admin_html');
     HTML_modules::edit($model, $row, $orders2, $lists, $params, $client);
 }
Ejemplo n.º 9
0
 private function getXMLParams()
 {
     require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_menus' . DS . 'models' . DS . 'item.php';
     $item = MenusModelItem::getItem();
     $xml_params = new JParameter($item->params);
     $path = JPATH_SITE . DS . 'plugins' . DS . 'system' . DS . 'addkeywords' . DS . 'metadata.xml';
     if (file_exists($path)) {
         $xml =& JFactory::getXMLParser('Simple');
         if ($xml->loadFile($path)) {
             $xml_document =& $xml->document;
             $xml_params->setXML($xml_document->getElementByPath('state/params'));
         }
     }
     return $xml_params;
 }
Ejemplo n.º 10
0
 protected function _getLayoutParams()
 {
     $state = $this->_getPageXml()->document->getElementByPath('state');
     $params = new \JParameter(null);
     if ($state instanceof \JSimpleXMLElement) {
         $params->setXML($state->getElementByPath('params'));
         if ($this->link_url) {
             $params->loadArray($this->getLink()->query);
         }
     }
     return $params;
 }
Ejemplo n.º 11
0
 function getSystemParams($xmlstring)
 {
     // Initialize variables
     $params = null;
     $item = $this->getDatabaseValue();
     if (isset($item->params)) {
         $params = new JParameter($item->params);
         //update value to make it compatible with old parameter
         if (!$params->get('mega_subcontent_mod_modules', '') && $params->get('mega_subcontent-mod-modules')) {
             $params->set('mega_subcontent_mod_modules', $params->get('mega_subcontent-mod-modules'));
         }
         if (!$params->get('mega_subcontent_pos_positions', '') && $params->get('mega_subcontent-pos-positions')) {
             $params->set('mega_subcontent_pos_positions', $params->get('mega_subcontent-pos-positions'));
         }
     } else {
         $params = new JParameter("");
     }
     $xml =& JFactory::getXMLParser('Simple');
     if ($xml->loadString($xmlstring)) {
         $document =& $xml->document;
         $params->setXML($document->getElementByPath('state/params'));
     }
     return $params->render('params');
 }