예제 #1
1
파일: seftools.php 프로젝트: 01J/bealtine
 /**
  * Returns JForm object representing extension's parameters
  *
  * @param string Extension name
  * @return JForm Extension's parameters
  */
 function &getExtParamsForm($option)
 {
     static $forms;
     if (!isset($forms)) {
         $forms = array();
     }
     if (!isset($forms[$option])) {
         $forms[$option] = new JForm($option, array('control' => 'params'));
         // Set the extension's parameters renderer
         $pxml = SEFTools::getExtParamsXML($option);
         if (is_a($pxml, 'SimpleXMLElement')) {
             $forms[$option]->load($pxml);
         } else {
             if (is_array($pxml) && count($pxml) > 0) {
                 for ($i = 0, $n = count($pxml); $i < $n; $i++) {
                     if (is_a($pxml[$i], 'SimpleXMLElement')) {
                         $forms[$option]->load($pxml[$i]);
                     }
                 }
             }
         }
         // Set the default parameters renderer
         $xml = SEFTools::getExtsDefaultParamsXML();
         if (is_a($xml, 'SimpleXMLElement')) {
             $forms[$option]->load($xml);
         } else {
             if (is_array($xml) && count($xml) > 0) {
                 for ($i = 0, $n = count($xml); $i < $n; $i++) {
                     if (is_a($xml[$i], 'SimpleXMLElement')) {
                         $forms[$option]->load($xml[$i]);
                     }
                 }
             }
         }
         // Bind data
         $forms[$option]->bind(self::getExtParams($option));
     }
     return $forms[$option];
 }
예제 #2
0
 /**
  * Returns JParameter object representing extension's parameters
  *
  * @param	string          Extension name
  * @return	JParameter      Extension's parameters
  */
 function &getExtParams($option)
 {
     $db =& JFactory::getDBO();
     static $exts, $params;
     if (!isset($exts)) {
         $query = "SELECT `file`, `params` FROM `#__sefexts`";
         $db->setQuery($query);
         $exts = $db->loadObjectList('file');
     }
     if (!isset($params)) {
         $params = array();
     }
     if (!isset($params[$option])) {
         $data = '';
         if (isset($exts[$option . '.xml'])) {
             $data = $exts[$option . '.xml']->params;
         }
         $params[$option] = new JParameter($data);
         // Set the extension's parameters renderer
         $pxml =& SEFTools::getExtParamsXML($option);
         if (is_a($pxml, 'JSimpleXMLElement')) {
             $params[$option]->setXML($pxml);
         } else {
             if (is_array($pxml) && count($pxml) > 0) {
                 for ($i = 0, $n = count($pxml); $i < $n; $i++) {
                     if (is_a($pxml[$i], 'JSimpleXMLElement')) {
                         $params[$option]->setXML($pxml[$i]);
                     }
                 }
             }
         }
         // Set the default parameters renderer
         $xml =& SEFTools::getExtsDefaultParamsXML();
         if (is_a($xml, 'JSimpleXMLElement')) {
             $params[$option]->setXML($xml);
         } else {
             if (is_array($xml) && count($xml) > 0) {
                 for ($i = 0, $n = count($xml); $i < $n; $i++) {
                     if (is_a($xml[$i], 'JSimpleXMLElement')) {
                         $params[$option]->setXML($xml[$i]);
                     }
                 }
             }
         }
     }
     return $params[$option];
 }