X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Faction.php;h=5f452616618db48453cb009ac514469e007dfad9;hb=7b2367164ea8065754db9c92ec10dfb9ac685527;hp=b2374b1d228dea9be6e96393f5b97ffb7edddfb1;hpb=3491bb2df7f7c823b68bcde9359ad5d43146dfa7;p=quix0rs-gnu-social.git diff --git a/lib/action.php b/lib/action.php index b2374b1d22..5f45261661 100644 --- a/lib/action.php +++ b/lib/action.php @@ -26,30 +26,26 @@ class Action { // lawsuit function Action() { } - function arg($key) { + function arg($key, $def=NULL) { if (array_key_exists($key, $this->args)) { return $this->args[$key]; } else { - return NULL; + return $def; } } - function trimmed($key) { - $arg = $this->arg($key); + function trimmed($key, $def=NULL) { + $arg = $this->arg($key, $def); return (is_string($arg)) ? trim($arg) : $arg; } - + function handle($argarray) { - $strip = get_magic_quotes_gpc(); - $this->args = array(); - foreach ($argarray as $k => $v) { - $this->args[$k] = ($strip) ? stripslashes($v) : $v; - } + $this->args =& common_copy_args($argarray); } - + function boolean($key, $def=false) { $arg = strtolower($this->trimmed($key)); - + if (is_null($arg)) { return $def; } else if (in_array($arg, array('true', 'yes', '1'))) { @@ -60,16 +56,35 @@ class Action { // lawsuit return $def; } } - + function server_error($msg, $code=500) { $action = $this->trimmed('action'); common_debug("Server error '$code' on '$action': $msg", __FILE__); common_server_error($msg, $code); } - - function client_error($msg, $code=500) { + + function client_error($msg, $code=400) { $action = $this->trimmed('action'); common_debug("User error '$code' on '$action': $msg", __FILE__); common_user_error($msg, $code); } + + function self_url() { + $action = $this->trimmed('action'); + $args = $this->args; + unset($args['action']); + return common_local_url($action, $args); + } + + function nav_menu($menu) { + $action = $this->trimmed('action'); + common_element_start('ul', array('id' => 'nav_views')); + foreach ($menu as $menuaction => $menudesc) { + common_menu_item(common_local_url($menuaction), + _($menudesc[0]), + _($menudesc[1]), + $action == $menuaction); + } + common_element_end('ul'); + } }