Пример #1
0
 protected function define_structure()
 {
     // Define each element separated
     $filters = new backup_nested_element('filters');
     $actives = new backup_nested_element('filter_actives');
     $active = new backup_nested_element('filter_active', null, array('filter', 'active'));
     $configs = new backup_nested_element('filter_configs');
     $config = new backup_nested_element('filter_config', null, array('filter', 'name', 'value'));
     // Build the tree
     $filters->add_child($actives);
     $filters->add_child($configs);
     $actives->add_child($active);
     $configs->add_child($config);
     // Define sources
     list($activearr, $configarr) = filter_get_all_local_settings($this->task->get_contextid());
     $active->set_source_array($activearr);
     $config->set_source_array($configarr);
     // Return the root element (filters)
     return $filters;
 }
Пример #2
0
/**
 * Write any local filter settings for this context to the backup file.
 * They comprise On/off filter_active.active overrides, and any filter_config
 * records for this contextid.
 */
function write_local_filter_settings($bf, $preferences, $context, $startlevel)
{
    if (!filter_context_may_have_filter_settings($context)) {
        return;
    }
    list($actives, $configs) = filter_get_all_local_settings($context->id);
    fwrite($bf, start_tag("FILTERACTIVES", $startlevel, true));
    foreach ($actives as $active) {
        fwrite($bf, start_tag("FILTERACTIVE", $startlevel + 1, true));
        fwrite($bf, full_tag("FILTER", $startlevel + 2, false, $active->filter));
        fwrite($bf, full_tag("ACTIVE", $startlevel + 2, false, $active->active));
        fwrite($bf, end_tag("FILTERACTIVE", $startlevel + 1, true));
    }
    fwrite($bf, end_tag("FILTERACTIVES", $startlevel, true));
    fwrite($bf, start_tag("FILTERCONFIGS", $startlevel, true));
    foreach ($configs as $config) {
        fwrite($bf, start_tag("FILTERCONFIG", $startlevel + 1, true));
        fwrite($bf, full_tag("FILTER", $startlevel + 2, false, $config->filter));
        fwrite($bf, full_tag("NAME", $startlevel + 2, false, $config->name));
        fwrite($bf, full_tag("VALUE", $startlevel + 2, false, $config->value));
        fwrite($bf, end_tag("FILTERCONFIG", $startlevel + 1, true));
    }
    fwrite($bf, end_tag("FILTERCONFIGS", $startlevel, true));
}