function get_plugin_page_url($args = array(), $url_method = 'network', $escape = true)
{
$default_args = array('page' => self::$plugin_page);
$args = array_merge($default_args, $args);
switch ($url_method) {
case 'self':
$base_url = self_admin_url('admin.php');
break;
case '':
$base_url = admin_url('admin.php');
break;
default:
$base_url = network_admin_url('admin.php');
}
// Add a hash to the URL
$hash = false;
if (isset($args['hash'])) {
$hash = $args['hash'];
unset($args['hash']);
} else {
if ($this->default_tab) {
$hash = $this->default_tab;
}
}
$url = add_query_arg($args, $base_url);
if ($hash) {
$url .= '#' . $hash;
}
if ($escape) {
$url = esc_url_raw($url);
}
return $url;
}
/** * Helper for the above action requests * * @param int $status */ protected function change_status_request($status) { $session = $this->get_session(); $session['status'] = $status; $this->save_session($session); $url = $this->as3cf->get_plugin_page_url(array(), 'self'); wp_redirect($url); exit; }