public function upload() { // Construct the needed variables $upload = JRequest::getVar('xml', null, 'files'); // Check whether this is a valid download if (empty($upload) || empty($upload['name']) || empty($upload['tmp_name']) || empty($upload['size'])) { $this->setRedirect('index.php?option=com_magebridge&view=config&task=import', JText::_('File upload failed on system level'), 'error'); return false; } // Check for empty content $xmlString = @file_get_contents($upload['tmp_name']); if (empty($xmlString)) { $this->setRedirect('index.php?option=com_magebridge&view=config&task=import', JText::_('Empty file upload'), 'error'); return false; } $xml = @simplexml_load_string($xmlString); if (!$xml) { $this->setRedirect('index.php?option=com_magebridge&view=config&task=import', JText::_('Invalid XML-configuration'), 'error'); return false; } $config = array(); foreach ($xml->children() as $parameter) { $name = (string) $parameter->name; $value = (string) $parameter->value; if (!empty($name)) { $config[$name] = $value; } } if (empty($config)) { $this->setRedirect('index.php?option=com_magebridge&view=config&task=import', JText::_('Nothing to import'), 'error'); return false; } MagebridgeModelConfig::store($config); $this->setRedirect('index.php?option=com_magebridge&view=config', JText::_('Imported configuration succesfully')); return true; }