/** * Intercepts values in the administrative interface to do various actions such as: * - Saving settings * - setting the action box type for new action boxes * @return void */ function processSubmissions() { //process selection of Action Box type if (isset($_GET['action_box_set']) && $_GET['action_box_set'] == 1 && wp_verify_nonce($_GET['_wpnonce'], 'action_box_set')) { /** * TODO: do some security checks on the values */ //$this->setActionBoxType( $_GET['post'], $_GET['action_box_type'] ); //removed v2.9.3 do_action('mab_set_action_box_type', $_GET['post'], $_GET['action_box_type']); wp_redirect(get_edit_post_link($_GET['post'], 'raw')); exit; } //process duplicating an action box if (isset($_GET['mab-action']) && $_GET['mab-action'] == 'duplicate' && !empty($_GET['post']) && check_admin_referer('mab-duplicate_action_box_nonce')) { $result = $this->duplicateActionBox($_GET['post']); $dup_additional = ''; if ($result) { $dup_additional = '&mab-duplicate-id=' . $result; //add_action('admin_notices', array( $this, 'notifyOfDuplicate' ) ); } wp_redirect(admin_url('post.php?post=' . $_GET['post'] . '&action=edit')); exit; } //process saving of main settings if (isset($_POST['save-mab-settings']) && wp_verify_nonce($_POST['save-mab-settings-nonce'], 'save-mab-settings')) { $this->processMabSettings(); wp_redirect(admin_url('admin.php?page=' . $_GET['page'] . '&updated=true&mab-settings-updated=true')); exit; } elseif (isset($_GET['page']) && isset($_GET['mab-clear-cache']) && 'mab-main' == $_GET['page'] && 'true' == $_GET['mab-clear-cache'] && check_admin_referer('mab-clear-cache')) { ProsulumMabCommon::clearCacheDir(); //set transient. This is to temporarily store messages so that they can be shown set_transient($this->_option_SettingsTransient, array('updates' => array(__('Cache cleared.', 'mab'))), 10); wp_redirect(admin_url('admin.php?page=mab-main&clear-cache=true')); exit; } //process fonts if (isset($_POST['mab-save-fonts']) && wp_verify_nonce($_POST['save-mab-fonts-nonce'], 'save-mab-fonts-nonce')) { $fontResult = $this->processFontSettings(); wp_redirect(admin_url('admin.php?page=mab-design&mab-fonts-updated=true')); exit; } //process buttons if ((isset($_POST['save-button-settings']) || isset($_POST['button-settings']['reset'])) && wp_verify_nonce($_POST['save-mab-button-settings-nonce'], 'save-mab-button-settings-nonce')) { $buttonMessage = $this->processButtonSettings(); wp_redirect(admin_url('admin.php?page=' . $_GET['page'] . '&' . $buttonMessage)); exit; } elseif (isset($_GET['mab-button-id']) && isset($_GET['mab-button-action'])) { $button_action = $_GET['mab-button-action']; $button_id = $_GET['mab-button-id']; //check button key if valid if (!$this->isValidButtonKey($button_id)) { //button id/key is NOT valid wp_redirect(admin_url('admin.php?page=mab-design&mab-invalid-button-id=true')); exit; } if ('duplicate' == $button_action && check_admin_referer('mab-duplicate-button')) { $duplicate_button_id = $this->duplicateButton($button_id); wp_redirect(admin_url('admin.php?page=mab-design&mab-button-duplicated=' . $duplicate_button_id)); exit; } elseif ('delete' == $button_action && check_admin_referer('mab-delete-button')) { $this->deleteConfiguredButton($_GET['mab-button-id']); wp_redirect(admin_url('admin.php?page=mab-design&deleted=true')); exit; } } elseif (isset($_GET['mab-create-preconfigured']) && $_GET['mab-create-preconfigured'] == 'true' && check_admin_referer('mab-create-preconfigured')) { $this->createPreconfiguredButtons(); wp_redirect(admin_url('admin.php?page=mab-design&mab-preconfigured-buttons=true')); exit; } //process styles if (isset($_POST['save-style-settings']) && wp_verify_nonce($_POST['save-mab-style-settings-nonce'], 'save-mab-style-settings-nonce')) { // save/update style $styleKey = $this->processStyleSettings(); wp_redirect(add_query_arg(array('page' => 'mab-style-settings', 'updated' => 'true', 'mab-style-key' => $styleKey), admin_url('admin.php'))); exit; } elseif (isset($_GET['mab-style-key']) && isset($_GET['mab-delete-style']) && $_GET['mab-delete-style'] == 'true' && check_admin_referer('mab-delete-style')) { $this->deleteConfiguredStyle($_GET['mab-style-key']); wp_redirect(admin_url('admin.php?page=mab-design&deleted=true')); exit; } elseif (isset($_GET['mab-duplicate-style']) && $_GET['mab-duplicate-style'] == 'true' && $this->isValidStyleKey($_GET['mab-style-key']) && check_admin_referer('mab-duplicate-style')) { $style = $this->getConfiguredStyle($_GET['mab-style-key']); $style['title'] .= ' - ' . __('Copy', 'mab'); $style['timesaved'] = current_time('timestamp'); $this->saveConfiguredStyle($style, null); wp_redirect(admin_url('admin.php?page=mab-design&duplicated=true')); exit; } }