wp_die(__('Naughty, naughty. What are you doing sneaking around like that?')); } if (!empty($_REQUEST['action'])) { $action = $_REQUEST['action']; } elseif (!empty($_REQUEST['action2'])) { $action = $_REQUEST['action2']; } else { $action = false; } // PROCESS ACTIONS if (!empty($action) && !empty($_REQUEST['page']) && SOCME . '-ext' == $_REQUEST['page']) { $extension = isset($_REQUEST['extension']) ? $_REQUEST['extension'] : ''; switch ($action) { case 'activate': if (check_admin_referer(SOCME . '-activate-extension_' . $extension)) { $result = socmeExtensionLoader::activate_extension($extension, admin_url('admin.php?page=' . SOCME . '-ext&error=true&extension=' . $extension)); if (is_wp_error($result)) { if ('unexpected_output' == $result->get_error_code()) { $redirect = admin_url('admin.php?page=' . SOCME . '-ext&error=true&charsout=' . strlen($result->get_error_data()) . '&extension=' . $extension); wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('extension-activation-error_' . $extension), $redirect)); exit; } else { wp_die($result); } } wp_redirect(admin_url('admin.php?page=' . SOCME . '-ext&activate=true&plugin_status=all&paged=1')); // overrides the ?error=true one above exit; } break; case 'deactivate':
function activate_extensions($extensions, $redirect = '') { if (!is_array($extensions)) { $extensions = array($extensions); } $errors = array(); foreach ((array) $extensions as $extension) { if (!empty($redirect)) { $redirect = add_query_arg('extension', $extension, $redirect); } $result = socmeExtensionLoader::activate_extension($extension, $redirect); if (is_wp_error($result)) { $errors[$extension] = $result; } } if (!empty($errors)) { return new WP_Error('extensions_invalid', __('One of the extensions is invalid.'), $errors); } return true; }