Example #1
0
 function on_save_backup()
 {
     if (!current_user_can('manage_options')) {
         wp_die(__('Cheatin’ uh?', XF_TEXTDOMAIN));
     }
     check_admin_referer('xtreme_backend_settings');
     $redirect = $_POST['_wp_http_referer'];
     if (isset($_POST['xtreme_export'])) {
         require_once XF_ADMIN_DIR . '/includes/xtreme-xmlprocessor.php';
         $xml = new xtreme_xml_processor();
         $xml->backup_as_xml(XF_VERSION, get_option(XF_OPTIONS), get_option(XF_LAYOUTS), get_option(XF_TEMPLATES), get_option(XF_WIDGET_PERMISSIONS), is_multisite() ? get_blog_option(XF_SITE_ID, XF_WIDGET_BURNING_REG, array()) : get_option(XF_WIDGET_BURNING_REG, array()), get_option('sidebars_widgets'), $this->_collect_widgets());
     }
     //should we import an existing file ?
     if (isset($_POST['xtreme_import'])) {
         if (!current_user_can('upload_files')) {
             wp_die(__('Cheatin’ uh?', XF_TEXTDOMAIN));
         }
         if (isset($_FILES) == true && empty($_FILES) == false) {
             if (!$_FILES['xml_file']['error'] && $_FILES['xml_file']['size'] > 0) {
                 require_once XF_ADMIN_DIR . '/includes/xtreme-xmlprocessor.php';
                 $xml = new xtreme_xml_processor();
                 $saved_options = $xml->restore_from_xml(XF_VERSION, $_FILES['xml_file']['tmp_name']);
                 @unlink($_FILES['xml_file']['tmp_name']);
                 if (!is_array($saved_options)) {
                     wp_redirect(admin_url('admin.php?page=xtreme_backup&error=' . $saved_options));
                     exit;
                 }
                 update_option(XF_OPTIONS, $saved_options[XF_OPTIONS]);
                 update_option(XF_LAYOUTS, $saved_options[XF_LAYOUTS]);
                 update_option(XF_TEMPLATES, $saved_options[XF_TEMPLATES]);
                 update_option(XF_WIDGET_PERMISSIONS, $saved_options[XF_WIDGET_PERMISSIONS]);
                 if (is_multisite() && XF_IS_MAIN_BLOG) {
                     update_blog_option(XF_SITE_ID, XF_WIDGET_BURNING_REG, $saved_options[XF_WIDGET_BURNING_REG]);
                 }
                 if (isset($_POST['permit_widget_import']) && $_POST['permit_widget_import'] == 1) {
                     update_option('sidebars_widgets', $saved_options['sidebars-widgets']);
                     $widgets = $saved_options['widgets'];
                     foreach ($widgets as $key => $value) {
                         update_option($key, $value);
                     }
                     $redirect .= '&message=1';
                 } else {
                     $redirect .= '&message=2';
                 }
                 if (isset($saved_options[XF_VERSION_FIELD])) {
                     //we import an old (lower) version backup and have to patch it upto current version
                     update_option(XF_VERSION_FIELD, $saved_options[XF_VERSION_FIELD]);
                     xtreme_validate_framework();
                 }
                 require_once XF_ADMIN_DIR . '/xtreme-basemod-css.php';
                 require_once XF_ADMIN_DIR . '/xtreme-patch-css.php';
                 require_once XF_ADMIN_DIR . '/xtreme-production-css.php';
                 $basemod = new Xtreme_Basemod_CSS();
                 $basemod->write();
                 $patch = new Xtreme_Patch_CSS();
                 $patch->write();
                 $production = new Xtreme_Production_CSS();
                 $production->write();
             } else {
                 $redirect .= '&error=4';
             }
         } else {
             $redirect .= '&error=4';
         }
     }
     wp_redirect($redirect);
 }
function xtreme_re_route_sidebars()
{
    $options = array('sidebars_widgets', XF_OPTIONS, XF_LAYOUTS, XF_TEMPLATES, XF_WIDGET_PERMISSIONS);
    $marker = XF_ACTIVE_STYLESHEET . '_';
    foreach ($options as $option) {
        $key = $marker . $option;
        $o = get_option($option);
        $n = get_option($key);
        if ($n === false && $o !== false) {
            //perform a initial copy first time for backward compatibility
            //and cleanup old values from 1.1.1 version
            add_option($key, $o);
            if ($option != 'sidebars_widgets') {
                delete_option($option);
            }
        }
        add_filter('pre_option_' . $option, create_function('$r', 'return xtreme_route_get_option("' . $option . '", $r);'));
        add_filter('pre_update_option_' . $option, create_function('$n,$o', 'return xtreme_route_update_option("' . $option . '", $n, $o);'), 0, 2);
    }
    xtreme_validate_framework();
    do_action('xtreme_setup_theme');
}