Example #1
0
function thesis_upgrade()
{
    global $thesis_site, $thesis_design, $thesis_pages;
    if (version_compare($thesis_site->version, thesis_version(), '<')) {
        $thesis_site->upgrade_options();
        $thesis_design->upgrade_options();
        $thesis_pages->upgrade_options();
        thesis_generate_css();
    }
    wp_redirect(admin_url('admin.php?page=thesis-options&upgraded=true'));
    #wp
}
Example #2
0
function thesis_upgrade()
{
    global $thesis;
    global $thesis_design;
    if (version_compare($thesis['version'], thesis_version(), '<')) {
        thesis_upgrade_options();
        thesis_upgrade_design_options();
        thesis_generate_css();
    } elseif (!isset($thesis_design['nav']['link']['parent'])) {
        thesis_upgrade_design_options();
        thesis_generate_css();
    }
    wp_redirect(admin_url('admin.php?page=thesis-options&upgraded=true'));
}
Example #3
0
 function manage_options()
 {
     if (isset($_GET['download'])) {
         if ($_GET['download'] == 'site') {
             check_admin_referer('thesis-download-site');
             #wp
             header("Cache-Control: public, must-revalidate");
             header("Pragma: hack");
             header("Content-Type: text/plain");
             header('Content-Disposition: attachment; filename="thesis-site-options-' . date("Ymd") . '.dat"');
             $site_options = new thesis_site_options();
             $site_options->get_options();
             echo serialize($site_options);
             exit;
         } elseif ($_GET['download'] == 'design') {
             check_admin_referer('thesis-download-design');
             #wp
             header("Cache-Control: public, must-revalidate");
             header("Pragma: hack");
             header("Content-Type: text/plain");
             header('Content-Disposition: attachment; filename="thesis-design-options-' . date("Ymd") . '.dat"');
             $design_options = new thesis_design_options();
             $design_options->get_options();
             echo serialize($design_options);
             exit;
         } elseif ($_GET['download'] == 'all') {
             check_admin_referer('thesis-download-all');
             #wp
             header("Cache-Control: public, must-revalidate");
             header("Pragma: hack");
             header("Content-Type: text/plain");
             header('Content-Disposition: attachment; filename="thesis-all-options-' . date("Ymd") . '.dat"');
             $site_options = new thesis_site_options();
             $site_options->get_options();
             $design_options = new thesis_design_options();
             $design_options->get_options();
             echo serialize(array('site_options' => $site_options, 'design_options' => $design_options));
             exit;
         }
     } elseif (isset($_GET['restore'])) {
         if ($_GET['restore'] == 'site') {
             check_admin_referer('thesis-restore-site');
             #wp
             $default_site_options = new thesis_site_options();
             $default_site_options->default_options();
             update_option('thesis_options', $default_site_options);
             #wp
             wp_redirect(admin_url('admin.php?page=options-manager&restored=true&type=Site'));
             #wp
         } elseif ($_GET['restore'] == 'design') {
             check_admin_referer('thesis-restore-design');
             #wp
             $default_design_options = new thesis_design_options();
             $default_design_options->default_options();
             update_option('thesis_design_options', $default_design_options);
             #wp
             thesis_generate_css();
             wp_redirect(admin_url('admin.php?page=options-manager&restored=true&type=Design'));
             #wp
         } elseif ($_GET['restore'] == 'all') {
             check_admin_referer('thesis-restore-all');
             #wp
             $default_site_options = new thesis_site_options();
             $default_site_options->default_options();
             $default_design_options = new thesis_design_options();
             $default_design_options->default_options();
             update_option('thesis_options', $default_site_options);
             #wp
             update_option('thesis_design_options', $default_design_options);
             #wp
             thesis_generate_css();
             wp_redirect(admin_url('admin.php?page=options-manager&restored=true&type=All'));
             #wp
         }
     } elseif (isset($_POST['upload'])) {
         global $thesis_site;
         if ($_POST['upload'] == 'site') {
             check_admin_referer('thesis-upload-site', '_wpnonce-thesis-upload-site');
             #wp
             if (strpos($_FILES['file']['name'], 'thesis-site-options') === false) {
                 wp_redirect(admin_url('admin.php?page=options-manager&type=Site&error=wrongfile'));
             } elseif ($_FILES['file']['error'] > 0) {
                 wp_redirect(admin_url('admin.php?page=options-manager&type=Site&error=file'));
             } else {
                 $raw_options = file_get_contents($_FILES['file']['tmp_name']);
                 $site_options = new thesis_site_options();
                 $site_options = unserialize($raw_options);
                 if (function_exists('wp_cache_clean_cache')) {
                     #wp
                     global $file_prefix;
                     wp_cache_clean_cache($file_prefix);
                 }
                 if (is_object($site_options) && version_compare($thesis_site->version, $site_options->version, '==')) {
                     update_option('thesis_options', $site_options);
                     #wp
                     wp_redirect(admin_url('admin.php?page=options-manager&imported=true&type=Site'));
                     #wp
                 } else {
                     wp_redirect(admin_url("admin.php?page=options-manager&type=Site&error=version&tried={$site_options->version}"));
                 }
                 #wp
             }
         } elseif ($_POST['upload'] == 'design') {
             check_admin_referer('thesis-upload-design', '_wpnonce-thesis-upload-design');
             #wp
             if (strpos($_FILES['file']['name'], 'thesis-design-options') === false) {
                 wp_redirect(admin_url('admin.php?page=options-manager&type=Design&error=wrongfile'));
             } elseif ($_FILES['file']['error'] > 0) {
                 wp_redirect(admin_url('admin.php?page=options-manager&type=Design&error=file'));
             } else {
                 $raw_options = file_get_contents($_FILES['file']['tmp_name']);
                 $design_options = new thesis_design_options();
                 $design_options = unserialize($raw_options);
                 if (function_exists('wp_cache_clean_cache')) {
                     #wp
                     global $file_prefix;
                     wp_cache_clean_cache($file_prefix);
                 }
                 if (is_object($design_options) && version_compare($thesis_site->version, $design_options->version, '==')) {
                     update_option('thesis_design_options', $design_options);
                     #wp
                     thesis_generate_css();
                     wp_redirect(admin_url('admin.php?page=options-manager&imported=true&type=Design'));
                     #wp
                 } else {
                     wp_redirect(admin_url('admin.php?page=options-manager&type=Design&error=version-unknown'));
                 }
                 #wp
             }
         } elseif ($_POST['upload'] == 'all') {
             check_admin_referer('thesis-upload-all', '_wpnonce-thesis-upload-all');
             #wp
             if (strpos($_FILES['file']['name'], 'thesis-all-options') === false) {
                 wp_redirect(admin_url('admin.php?page=options-manager&type=All&error=wrongfile'));
             } elseif ($_FILES['file']['error'] > 0) {
                 wp_redirect(admin_url('admin.php?page=options-manager&type=All&error=file'));
             } else {
                 $raw_options = file_get_contents($_FILES['file']['tmp_name']);
                 $all_options = unserialize($raw_options);
                 $site_options = new thesis_site_options();
                 $design_options = new thesis_design_options();
                 $site_options = $all_options['site_options'];
                 $design_options = $all_options['design_options'];
                 if (function_exists('wp_cache_clean_cache')) {
                     #wp
                     global $file_prefix;
                     wp_cache_clean_cache($file_prefix);
                     #wp
                 }
                 if (is_object($site_options) && version_compare($thesis_site->version, $site_options->version, '==') && is_object($design_options) && version_compare($thesis_site->version, $design_options->version, '==')) {
                     update_option('thesis_options', $site_options);
                     #wp
                     update_option('thesis_design_options', $design_options);
                     #wp
                     thesis_generate_css();
                     wp_redirect(admin_url('admin.php?page=options-manager&imported=true&type=All'));
                     #wp
                 } else {
                     wp_redirect(admin_url("admin.php?page=options-manager&type=All&error=version&tried={$site_options->version}"));
                 }
                 #wp
             }
         }
     }
 }
Example #4
0
 function save($image)
 {
     if (!$image) {
         return;
     }
     global $thesis_design;
     $this->header = array('url' => esc_url($this->url), 'width' => $this->width, 'height' => $this->height);
     #wp
     update_option('thesis_header', $this->header);
     #wp
     if ($thesis_design->display['header']['tagline'] && apply_filters('thesis_header_auto_tagline', true)) {
         #filter
         $thesis_design->display['header']['tagline'] = false;
         update_option('thesis_design_options', $thesis_design);
         #wp
     }
     thesis_generate_css();
     $this->updated = true;
 }
Example #5
0
 function upgrade_options()
 {
     // Retrieve Design Options and Design Options defaults
     $design_options = new thesis_design_options();
     $design_options->get_options();
     $default_design_options = new thesis_design_options();
     $default_design_options->default_options();
     // Retrieve Thesis Options and Thesis Options defaults
     $thesis_options = new thesis_site_options();
     $thesis_options->get_options();
     $default_options = new thesis_site_options();
     $default_options->default_options();
     if (isset($design_options->teasers) && !is_array($design_options->teasers)) {
         unset($design_options->teasers);
     }
     if (isset($design_options->feature_box_condition)) {
         $feature_box = $design_options->feature_box;
         unset($design_options->feature_box);
     }
     if (isset($thesis_options->multimedia_box)) {
         $multimedia_box = $thesis_options->multimedia_box;
     }
     // Ubiquitous options upgrade code
     foreach ($default_design_options as $option_name => $value) {
         if (!isset($design_options->{$option_name})) {
             $design_options->{$option_name} = $value;
         }
     }
     // 1.7 upgrade
     if (isset($design_options->style)) {
         $design_options->layout['custom'] = (bool) $design_options->style['custom'];
     }
     // 1.6b niceness
     if (!isset($design_options->nav['link']['parent'])) {
         $design_options->nav['link']['parent'] = $default_design_options->nav['link']['parent'];
     }
     if (!isset($design_options->nav['background']['parent'])) {
         $design_options->nav['background']['parent'] = $default_design_options->nav['background']['parent'];
     }
     // Version-specific upgrade code
     if (isset($design_options->font_sizes)) {
         foreach ($design_options->fonts as $area => $family) {
             $design_options->fonts['families'][$area] = $family ? $family : false;
         }
         foreach ($design_options->font_sizes as $area => $size) {
             $design_options->fonts['sizes'][$area] = $size;
         }
     }
     if (isset($design_options->num_columns)) {
         $design_options->layout['columns'] = $design_options->num_columns;
     }
     if (isset($design_options->widths)) {
         $design_options->layout['widths']['content'] = $design_options->widths['content'] ? $design_options->widths['content'] : 480;
         $design_options->layout['widths']['sidebar_1'] = $design_options->widths['sidebar_1'] ? $design_options->widths['sidebar_1'] : 195;
         $design_options->layout['widths']['sidebar_2'] = $design_options->widths['sidebar_2'] ? $design_options->widths['sidebar_2'] : 195;
     }
     if (isset($design_options->column_order)) {
         $design_options->layout['order'] = $design_options->column_order;
     }
     if (isset($design_options->html_framework)) {
         $design_options->layout['framework'] = $design_options->html_framework ? $design_options->html_framework : 'page';
     }
     if (isset($design_options->page_padding)) {
         $design_options->layout['page_padding'] = $design_options->page_padding;
     }
     if (isset($design_options->teaser_options) && isset($design_options->teaser_content)) {
         foreach ($design_options->teaser_content as $teaser_area) {
             $new_teaser_options[$teaser_area]['name'] = $design_options->teasers['options'][$teaser_area]['name'];
             $new_teaser_options[$teaser_area]['show'] = (bool) $design_options->teaser_options[$teaser_area];
         }
         if ($new_teaser_options) {
             $design_options->teasers['options'] = $new_teaser_options;
         }
     }
     if (isset($design_options->teaser_date)) {
         $design_options->teasers['date']['format'] = $design_options->teaser_date ? $design_options->teaser_date : 'standard';
     }
     if (isset($design_options->teaser_date_custom)) {
         $design_options->teasers['date']['custom'] = $design_options->teaser_date_custom ? $design_options->teaser_date_custom : 'F j, Y';
     }
     if (isset($design_options->teaser_font_sizes)) {
         foreach ($design_options->teaser_font_sizes as $teaser_area => $size) {
             $design_options->teasers['font_sizes'][$teaser_area] = $size;
         }
     }
     if (isset($design_options->teaser_link_text)) {
         $design_options->teasers['link_text'] = $design_options->teaser_link_text ? $design_options->teaser_link_text : false;
     }
     if (isset($feature_box)) {
         $design_options->feature_box['position'] = $feature_box;
         if (isset($design_options->feature_box_condition)) {
             $design_options->feature_box['status'] = $design_options->feature_box_condition;
         }
         if (isset($design_options->feature_box_after_post)) {
             $design_options->feature_box['after_post'] = $design_options->feature_box_after_post;
         }
     }
     // Multimedia box
     if (isset($multimedia_box) && is_array($multimedia_box)) {
         foreach ($multimedia_box as $item => $value) {
             $design_options->multimedia_box[$item] = $value;
         }
     } elseif (isset($multimedia_box)) {
         $design_options->multimedia_box['status'] = $multimedia_box;
         unset($thesis_options->multimedia_box);
         if ($thesis_options->image_alt_tags) {
             foreach ($thesis_options->image_alt_tags as $image_name => $alt_text) {
                 if ($alt_text != '') {
                     $design_options->multimedia_box['alt_tags'][$image_name] = $alt_text;
                 }
             }
             unset($thesis_options->image_alt_tags);
         }
         if ($thesis_options->image_link_urls) {
             foreach ($thesis_options->image_link_urls as $image_name => $link_url) {
                 if ($link_url != '') {
                     $design_options->multimedia_box['link_urls'][$image_name] = $link_url;
                 }
             }
             unset($thesis_options->image_link_urls);
         }
         if ($thesis_options->video_code) {
             $design_options->multimedia_box['video'] = $thesis_options->video_code;
             unset($thesis_options->video_code);
         }
         if ($thesis_options->custom_code) {
             $design_options->multimedia_box['code'] = $thesis_options->custom_code;
             unset($thesis_options->custom_code);
         }
     }
     // 1.6 Multimedia box style upgrades
     if (!isset($multimedia_box['color'])) {
         $design_options->multimedia_box['color'] = $default_design_options->multimedia_box['color'];
     }
     if (!isset($multimedia_box['background'])) {
         $design_options->multimedia_box['background']['image'] = $default_design_options->multimedia_box['background']['image'];
         $design_options->multimedia_box['background']['video'] = $default_design_options->multimedia_box['background']['video'];
         $design_options->multimedia_box['background']['code'] = $default_design_options->multimedia_box['background']['code'];
     }
     // Post images and thumbnails
     if (isset($design_options->post_image_horizontal)) {
         $thesis_options->image['post']['x'] = $design_options->post_image_horizontal;
     }
     if (isset($design_options->post_image_vertical)) {
         $thesis_options->image['post']['y'] = $design_options->post_image_vertical;
     }
     if (isset($design_options->post_image_frame)) {
         $thesis_options->image['post']['frame'] = $design_options->post_image_frame;
     }
     if (isset($design_options->post_image_single)) {
         $thesis_options->image['post']['single'] = $design_options->post_image_single;
     }
     if (isset($design_options->post_image_archives)) {
         $thesis_options->image['post']['archives'] = $design_options->post_image_archives;
     }
     if (isset($design_options->thumb_horizontal)) {
         $thesis_options->image['thumb']['x'] = $design_options->thumb_horizontal;
     }
     if (isset($design_options->thumb_vertical)) {
         $thesis_options->image['thumb']['y'] = $design_options->thumb_vertical;
     }
     if (isset($design_options->thumb_frame)) {
         $thesis_options->image['thumb']['frame'] = $design_options->thumb_frame;
     }
     if (isset($design_options->thumb_size)) {
         $thesis_options->image['thumb']['width'] = $design_options->thumb_size['width'];
         $thesis_options->image['thumb']['height'] = $design_options->thumb_size['height'];
     }
     // Preserve old font variables
     if ($design_options->font_body) {
         $design_options->fonts['families']['body'] = $design_options->font_body;
     }
     if ($design_options->font_content_subheads_family) {
         $design_options->fonts['families']['subheads'] = $design_options->font_content_subheads_family;
     }
     if ($design_options->font_nav_family) {
         $design_options->fonts['families']['nav_menu'] = $design_options->font_nav_family;
     }
     if ($design_options->font_header_family) {
         $design_options->fonts['families']['header'] = $design_options->font_header_family;
     }
     if ($design_options->font_header_tagline_family) {
         $design_options->fonts['families']['tagline'] = $design_options->font_header_tagline_family;
     }
     if ($design_options->font_headlines_family) {
         $design_options->fonts['families']['headlines'] = $design_options->font_headlines_family;
     }
     if ($design_options->font_bylines_family) {
         $design_options->fonts['families']['bylines'] = $design_options->font_bylines_family;
     }
     if ($design_options->font_multimedia_family) {
         $design_options->fonts['families']['multimedia_box'] = $design_options->font_multimedia_family;
     }
     if ($design_options->font_sidebars_family) {
         $design_options->fonts['families']['sidebars'] = $design_options->font_sidebars_family;
     }
     if ($design_options->font_sidebars_headings_family) {
         $design_options->fonts['families']['sidebar_headings'] = $design_options->font_sidebars_headings_family;
     }
     if ($design_options->font_footer_family) {
         $design_options->fonts['families']['footer'] = $design_options->font_footer_family;
     }
     // Preserve old font size variables
     if ($design_options->font_content_size) {
         $design_options->fonts['sizes']['content'] = $design_options->font_content_size;
     }
     if ($design_options->font_nav_size) {
         $design_options->fonts['sizes']['nav_menu'] = $design_options->font_nav_size;
     }
     if ($design_options->font_header_size) {
         $design_options->fonts['sizes']['header'] = $design_options->font_header_size;
     }
     if ($design_options->font_headlines_size) {
         $design_options->fonts['sizes']['headlines'] = $design_options->font_headlines_size;
     }
     if ($design_options->font_bylines_size) {
         $design_options->fonts['sizes']['bylines'] = $design_options->font_bylines_size;
     }
     if ($design_options->font_multimedia_size) {
         $design_options->fonts['sizes']['multimedia_box'] = $design_options->font_multimedia_size;
     }
     if ($design_options->font_sidebars_size) {
         $design_options->fonts['sizes']['sidebars'] = $design_options->font_sidebars_size;
     }
     if ($design_options->font_footer_size) {
         $design_options->fonts['sizes']['footer'] = $design_options->font_footer_size;
     }
     // Preserve old width settings
     if ($design_options->num_columns == 3 && $design_options->width_content_3) {
         $design_options->layout['widths']['content'] = $design_options->width_content_3;
     } elseif ($design_options->num_columns == 2 && $design_options->width_content_2) {
         $design_options->layout['widths']['content'] = $design_options->width_content_2;
         $design_options->layout['widths']['sidebar_1'] = $design_options->width_sidebar;
     } elseif ($design_options->num_columns == 3 && $design_options->width_content_1) {
         $design_options->layout['widths']['content'] = $design_options->width_content_1;
     }
     // Clean up the $design_options->fonts array from 1.5b r3 to 1.5
     foreach ($design_options->fonts as $type => $value) {
         if ($type == 'families' || $type == 'sizes') {
             $new_fonts_array[$type] = $value;
         }
     }
     $design_options->fonts = $new_fonts_array;
     foreach ($design_options as $option_name => $value) {
         if (!isset($default_design_options->{$option_name})) {
             unset($design_options->{$option_name});
         }
         // Has this option been nuked? If so, kill it!
     }
     update_option('thesis_design_options', $design_options);
     // Save upgraded options
     update_option('thesis_options', $thesis_options);
     thesis_generate_css();
 }