Пример #1
0
 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;
 }
Пример #2
0
 function readFields()
 {
     $fieldsource = new AMPSystem_XMLEngine("Modules/Payment/Item/Fields");
     if ($fields = $fieldsource->readData()) {
         return $fields;
     }
     return false;
 }
Пример #3
0
 function _readXML($file_name)
 {
     $fieldsource = new AMPSystem_XMLEngine($file_name);
     if ($fields = $fieldsource->readData()) {
         return $fields;
     }
     return false;
 }
Пример #4
0
 function readFields()
 {
     $xmlEngine = new AMPSystem_XMLEngine('Registration/SetupFields');
     if ($fields = $xmlEngine->readData()) {
         return $fields;
     }
     return false;
 }
Пример #5
0
 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);
 }
Пример #6
0
 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;
 }
Пример #7
0
/**
 * 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 &AMP_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);
}
Пример #8
0
 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);
 }
Пример #9
0
 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;
 }