public function createXml($loadfile = '') { require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_onepage' . DS . 'models' . DS . 'xmlexport.php'; require_once JPATH_SITE . DS . 'components' . DS . 'com_onepage' . DS . 'helpers' . DS . 'config.php'; require_once JPATH_SITE . DS . 'components' . DS . 'com_onepage' . DS . 'helpers' . DS . 'xmlexport.php'; if (!function_exists('simplexml_load_file')) { return; } $xmlexport = new JModelXmlexport(); //$this->addModelPath( JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_onepage' . DS . 'models' ); //$xmlexport = $this->getModel('xmlexport'); $files = $xmlexport->getPhpExportThemes(); $general = new stdClass(); $xmlexport->getGeneral($general); OPCXmlExport::$config = $general; // single file creation: $onlyf = JRequest::getVar('file', ''); $arr2 = array(); $langs = array(); foreach ($files as $k => $f) { $config = $xmlexport->getThemeConfig($f); if (empty($config) || empty($config->enabled)) { continue; } else { if (empty($config->language)) { continue; } $arr2[$k]['file'] = $f; $arr2[$k]['config'] = $config; $langs[$config->language] = $config->language; } } foreach ($arr2 as $x) { $file = $x['file']; // special case: if (!empty($loadfile)) { if ($loadfile != $file) { continue; } } if (!empty($onlyf) && $onlyf != $file) { continue; } $config = $x['config']; jimport('joomla.filesystem.file'); $file = JFile::makeSafe($file); $xmlpath = JPATH_SITE . DS . 'components' . DS . 'com_onepage' . DS . 'xmlexport' . DS . 'php' . DS . $file . '.xml'; $phppath = JPATH_SITE . DS . 'components' . DS . 'com_onepage' . DS . 'xmlexport' . DS . 'php' . DS . $file . '.php'; if (!file_exists($phppath)) { continue; } $xml = simplexml_load_file($xmlpath); if (!empty($xml->element)) { $class = ucfirst(strtolower($xml->element)) . 'Xml'; } else { $class = ucfirst(strtolower($file)) . 'Xml'; } if (!class_exists($class)) { include $phppath; } if (!class_exists($class)) { continue; } OPCXmlExport::addClass($class, $config, $xml, $file); if (!empty($loadfile)) { return OPCXmlExport::$classes[$class]; } } if (empty($loadfile)) { OPCXmlExport::doWork($langs); } }