/** * Save module settings * * @param string $module module name */ private static function saveSettings($module) { if ($doc = Uni_Fox::loadModuleSetting($module)) { $xPath = new DOMXPath($doc); $items = $xPath->query('/settings/items/item'); if ($items->length) { $preferenceModel = Fox::getModel('core/preference'); foreach ($items as $item) { $itemName = $item->getAttribute('name'); if ($item->childNodes->length) { foreach ($item->childNodes as $sections) { if ($sections->nodeName == 'sections') { foreach ($sections->childNodes as $section) { if ($section->nodeName == 'section') { $sectionName = $section->getAttribute('name'); foreach ($section->childNodes as $field) { if ($field->nodeName == 'field') { $fieldName = $field->getAttribute('name'); foreach ($field->childNodes as $defaultNode) { if ($defaultNode->nodeName == 'default') { try { $preferenceModel->load($itemName . '/' . $sectionName . '/' . $fieldName, 'name'); $preferenceModel->setName($itemName . '/' . $sectionName . '/' . $fieldName); $preferenceModel->setValue($defaultNode->nodeValue); $preferenceModel->save(); $preferenceModel->unsetData(); } catch (Exception $e) { Fox::getModel('core/session')->addError($e->getMessage()); } } } } } } } } } } } } } }