if (!current_user_can('edit_theme_options')) { die('-1'); } unset($_POST['savewidgets'], $_POST['action'], ${$_POST}['gantry_action']); if (!isset($_POST['override_id']) || !isset($_POST['override_name'])) { return 'error'; } $override_id = $_POST['override_id']; $override_name = $_POST['override_name']; if ($override_id == 0) { $new_override_id = count($override_catalog) > 0 ? max(array_keys($override_catalog)) + 1 : 1; $override_id = $new_override_id; } $override_catalog = gantry_get_override_catalog($gantry->templateName); $override_catalog[$override_id] = $override_name; gantry_udpate_override_catalog($override_catalog); echo "success"; break; case 'widgets-order': check_ajax_referer('save-sidebar-widgets', 'savewidgets'); if (!current_user_can('edit_theme_options')) { die('-1'); } unset($_POST['savewidgets'], $_POST['action'], ${$_POST}['gantry_action']); if (!isset($_POST['override_id'])) { return "error - no override id"; } $override_id = $_POST['override_id']; // save widgets order for all sidebars if (is_array($_POST['sidebars'])) { $sidebars = array();
function gantry_delete_override() { global $gantry; // enable theme settings for lower level users, but with limitations if (!current_user_can('switch_themes')) { wp_die(_g('You are not authorised to perform this operation.', $gantry->get('template_full_name', 'Gantry Template') . _g('Settings'))); } // clean the cache gantry_import('core.utilities.gantrycache'); $cache = GantryCache::getInstance(); $cache->clear('gantry', 'gantry'); $form_option_name = $gantry->templateName . '-template-options'; if (!array_key_exists('override_id', $_GET)) { wp_redirect(admin_url('admin.php?page=gantry-theme-settings')); return; } // get the overrides catalog $override_id = $_GET['override_id']; $override_catalog = gantry_get_override_catalog($gantry->templateName); if (!array_key_exists($override_id, $override_catalog)) { gantry_set_admin_message('gantry-theme-settings', _g("Unable to find override to delete!")); wp_redirect(admin_url('admin.php?page=gantry-theme-settings')); return; } $override_name = $override_catalog[$override_id]; unset($override_catalog[$override_id]); gantry_udpate_override_catalog($override_catalog); // get the base override name $override_option_name = $gantry->templateName . '-template-options-override-' . $override_id; delete_option($override_option_name); $override_option_name = $gantry->templateName . '-template-options-override-assignments-' . $override_id; delete_option($override_option_name); $override_option_name = $gantry->templateName . '-template-options-override-sidebar-' . $override_id; delete_option($override_option_name); $override_option_name = $gantry->templateName . '-template-options-override-widgets-' . $override_id; delete_option($override_option_name); gantry_set_admin_message('gantry-theme-settings', sprintf(_g("%s has been removed."), $override_name)); $redirect_url = admin_url('admin.php?page=gantry-theme-settings'); if (isset($_GET['from']) && $_GET['from'] == 'widgets') { $redirect_url = admin_url('widgets.php'); } wp_redirect($redirect_url); }