function _init_map_values() { $cache_key = AMP_CACHE_TOKEN_XML_DATA . get_class($this); //check for cached version of map if ($map =& AMP_cache_get($cache_key)) { return $map; } //load map values from XML $map_source = new AMPSystem_XMLEngine('Map'); $map = $map_source->readData(); if (!$map) { return array(); } //load custom extensions to XML map $map_extensions_source = new AMPSystem_XMLEngine('Map_Override'); $map_extensions = $map_extensions_source->readData(); if (!$map_extensions) { $complete_map =& $map; } else { $complete_map = array_merge($map, $map_extensions); } //cache the map AMP_cache_set($cache_key, $complete_map); return $complete_map; }
function readFields() { $fieldsource = new AMPSystem_XMLEngine("Modules/Payment/Item/Fields"); if ($fields = $fieldsource->readData()) { return $fields; } return false; }
function _readXML($file_name) { $fieldsource = new AMPSystem_XMLEngine($file_name); if ($fields = $fieldsource->readData()) { return $fields; } return false; }
function readFields() { $xmlEngine = new AMPSystem_XMLEngine('Registration/SetupFields'); if ($fields = $xmlEngine->readData()) { return $fields; } return false; }
function _init_nav_values() { $navs_source = new AMPSystem_XMLEngine('Nav'); $navs = $navs_source->readData(); $nav_extensions_source = new AMPSystem_XMLEngine('Nav_Override'); $nav_extensions = $nav_extensions_source->readData(); if (!$nav_extensions) { return $navs; } return array_merge($navs, $nav_extensions); }
function _read_xml_fields($file_name) { $fieldsource = new AMPSystem_XMLEngine($file_name); if ($fields = $fieldsource->readData()) { foreach ($fields as $field_name => $field_def) { if (!isset($fields[$field_name]['enabled'])) { $fields[$field_name]['enabled'] = true; } if (!isset($fields[$field_name]['public'])) { $fields[$field_name]['public'] = true; } } return $fields; } return false; }
/** * Converts an XML file into an AMP_Menu instance * * @param string $xml_filename Filename of the XML to be read * @param string $format the type of menu object desired, default is "FWTable" * @param string $name Name of the menu object to be produced * @param string $top ID of the top level element * @access public * @return AMP_Menu */ function &_Menu_XML($xml_filename, $format = "FWTable", $name = "menu", $top = AMP_MENU_ROOT_ENTRY) { require_once 'AMP/System/XMLEngine.inc.php'; $xmlGet = new AMPSystem_XMLEngine($xml_filename); if (!($menuset = $xmlGet->readData())) { trigger_error('Failed to read Menu XML ' . $xml_filename); return false; } $menumap = AMP_Menu_XML_getMenu($menuset, $top); $menumap[AMP_MENU_ROOT_ENTRY] = $menumap[$top]; $classname = "AMP_Menu_" . $format; return new $classname($menumap, $name); }
function _save_questions($data, $fieldname) { trigger_error("running save questions"); $questions = array(); foreach ($this->_question_fields as $field) { if (isset($data['quiz'][$field]) and is_array($data['quiz'][$field])) { foreach ($data['quiz'][$field] as $index => $value) { if (!isset($questions[$index])) { $questions[$index] = array(); } $questions[$index][$field] = $value; } } } $udm_fields = array(); foreach ($questions as $index => $question) { $current_field = array(); $current_field['label'] = $question['question']; $current_field['correct_answer'] = $question['correct_answer']; $current_field['explanation'] = $question['explanation']; $current_field['type'] = 'radiogroup'; for ($answer_index = 1; $answer_index < 8; $answer_index++) { if (!(isset($question["answer_{$answer_index}"]) && $question["answer_{$answer_index}"])) { continue; } $current_field[] = array('key' => $answer_index, 'value' => $question["answer_{$answer_index}"]); } $udm_fields["custom{$index}"] = $current_field; } $xml_writer = new AMPSystem_XMLEngine("form.{$this->_udm->instance}.quiz.xml"); $xml_writer->save($udm_fields); }
function _register_fields() { $md = $this->_module_def; $fields = array_map(array(&$this, "_register_fields_filter"), array_keys($md)); $keys = array('label', 'public', 'type', 'required', 'values', 'lookup', 'size', 'enabled'); foreach ($fields as $fname) { if (!$fname) { continue; } if (!$this->admin) { if (!isset($md['enabled_' . $fname])) { continue; } if (!$md['enabled_' . $fname]) { continue; } } $field = array(); foreach ($keys as $key) { $field[$key] = $md[$key . "_" . $fname]; } $field = $this->_register_lookups($field); $this->fields[$fname] = $field; } //Publish Field Hack if ($this->admin && $md['publish']) { $publish_field = array('type' => 'checkbox', 'label' => '<span class=publish_label>PUBLISH</span>', 'required' => false, 'public' => false, 'values' => 0, 'size' => null, 'enabled' => true); $this->fields['publish'] = $publish_field; } //override from custom folder $override_file_name = 'form' . $this->instance . '.xml'; $override_fields = false; $cache_key = AMP_CACHE_TOKEN_XML_DATA . $override_file_name; if (!($override_fields =& AMP_cache_get($cache_key))) { if (file_exists_incpath($override_file_name)) { require 'AMP/System/XMLEngine.inc.php'; $fieldsource = new AMPSystem_XMLEngine($override_file_name); $override_fields = $fieldsource->readData(); } } if ($override_fields) { $this->fields = array_merge($this->fields, $override_fields); AMP_cache_set($cache_key, $override_fields); } return true; }