. */ class AddActionsAndFilters_AdminViewUrlBuilder { var $params = array(); /** * @param $key * @param $value */ public function setParameter($key, $value) { $this->params[urlencode($key)] = urlencode($value); } /** * @return string url */ public function buildUrl() { $url = get_admin_url() . 'admin.php?page=' . $_REQUEST['page']; // Parameters if (!empty($this->params)) { foreach ($this->params as $key => $value) { $url .= "&$key=$value"; } } // Sorting if (isset($_REQUEST['orderby']) && $_REQUEST['orderby']) { $url .= '&orderby=' . $_REQUEST['orderby']; } if (isset($_REQUEST['order']) && $_REQUEST['order']) { $url .= '&order=' . $_REQUEST['order']; } // Pagination if (isset($_REQUEST['paged']) && $_REQUEST['paged'] > 1) { $url .= '&paged=' . $_REQUEST['paged']; } return $url; } }