public function commit() { $required_modules = $this->get_required_modules(); $dom_document = $this->get_dom_document(); $modules_node = $dom_document->createElement('modules'); $dom_document->appendChild($modules_node); foreach ($required_modules as $rm) { $module_node = $dom_document->createElement('module'); $module_node->setAttribute('name', $rm); $modules_node->appendChild($module_node); } parent::commit(); }
/** * Makes a backup of the old file, if there is one, * and then writes the values to file in our custom format. */ public function commit() { ## Make a backup copy of the old file, if it exists. ##if (file_exists($this->get_name())) { ## $old_filename = $this->get_name(); ## $time = time(); ## ## $backup_filename = preg_replace('/(?=\.txt$)/', "-$time", $old_filename); ## ## rename($old_filename, $backup_filename); ##} # #$file_handle = fopen($this->get_name(), 'w'); $dom_document = $this->get_dom_document(); #print_r($dom_document); #$dom_document->appendChild($date_element); ## Write the database class and renderer filenames, if any. #fwrite($file_handle, "\n# Database class and renderer.\n\n"); # #if (isset($this->database_class_file)) { # fwrite($file_handle, 'database.class=' . $this->database_class_file->get_name() . "\n"); #} # #if (isset($this->database_renderer_class_file)) { # fwrite($file_handle, 'database.renderer=' . $this->database_renderer_class_file->get_name() . "\n"); #} # ## Write the table class and renderer filenames, if any. #fwrite($file_handle, "\n# Table classes and renderers.\n\n"); # #if (is_array($this->table_class_files)) { # $table_names = array_keys($this->table_class_files); # sort($table_names); # # foreach ($table_names as $table_name) { # fwrite($file_handle, "table.$table_name.class=" . $this->table_class_files[$table_name]->get_name() . "\n"); # } #} # #if (is_array($this->table_renderer_class_files)) { # $table_names = array_keys($this->table_renderer_class_files); # sort($table_names); # # foreach ($table_names as $table_name) { # fwrite($file_handle, "table.$table_name.renderer=" . $this->table_renderer_class_files[$table_name]->get_name() . "\n"); # } #} # ## Write the row class and renderer filenames, if any. #fwrite($file_handle, "\n# Row classes and renderers.\n\n"); # #if (is_array($this->row_class_files)) { # $table_names = array_keys($this->row_class_files); # sort($table_names); # # foreach ($table_names as $table_name) { # fwrite($file_handle, "row.$table_name.class=" . $this->row_class_files[$table_name]->get_name() . "\n"); # } #} # #if (is_array($this->row_renderer_class_files)) { # $table_names = array_keys($this->row_renderer_class_files); # sort($table_names); # # foreach ($table_names as $table_name) { # fwrite($file_handle, "row.$table_name.renderer=" . $this->row_renderer_class_files[$table_name]->get_name() . "\n"); # } #} # ## Write the field class and renderer filenames, if any. #fwrite($file_handle, "\n# Field classes and renderers.\n\n"); # #if (is_array($this->field_class_files)) { # $table_names = array_keys($this->field_class_files); # sort($table_names); # # foreach ($table_names as $table_name) { # if (is_array($this->field_class_files[$table_name])) { # $field_names = array_keys($this->field_class_files[$table_name]); # sort($field_names); # # foreach ($field_names as $field_name) { # fwrite($file_handle, "field.$table_name.$field_name.class=" . $this->field_class_files[$table_name][$field_name]->get_name() . "\n"); # } # } # } #} # #if (is_array($this->field_renderer_class_files)) { # $table_names = array_keys($this->field_renderer_class_files); # sort($table_names); # # foreach ($table_names as $table_name) { # if (is_array($this->field_renderer_class_files[$table_name])) { # $field_names = array_keys($this->field_renderer_class_files[$table_name]); # sort($field_names); # # foreach ($field_names as $field_name) { # fwrite($file_handle, "field.$table_name.$field_name.renderer=" . $this->field_renderer_class_files[$table_name][$field_name]->get_name() . "\n"); # } # } # } #} # #fclose($file_handle); /* * The database node. */ $database_element = $dom_document->createElement('database'); $dom_document->appendChild($database_element); $database_class_filename_element = $dom_document->createElement('class_filename', $this->database_class_file->get_name()); $database_element->appendChild($database_class_filename_element); $database_renderer_class_filename_element = $dom_document->createElement('renderer_class_filename', $this->database_renderer_class_file->get_name()); $database_element->appendChild($database_renderer_class_filename_element); /* * Loop for the tables. */ foreach ($this->get_table_names() as $table_name) { $table_element = $dom_document->createElement('table'); $table_element->setAttribute('name', $table_name); $database_element->appendChild($table_element); if (isset($this->table_class_files[$table_name])) { $table_class_name_element = $dom_document->createElement('table_class_name', $this->table_class_files[$table_name]->get_name()); $table_element->appendChild($table_class_name_element); } if (isset($this->table_renderer_class_files[$table_name])) { $table_renderer_class_name_element = $dom_document->createElement('table_renderer_class_name', $this->table_renderer_class_files[$table_name]->get_name()); $table_element->appendChild($table_renderer_class_name_element); } } parent::commit(); }