util: add a new objSafeVal() function for json objects

This commit is contained in:
Tanguy Pruvot 2016-03-30 18:12:52 +02:00
parent 5f1779673d
commit e7a08087c8

View file

@ -17,30 +17,41 @@ function cache()
return app()->getController()->memcache; return app()->getController()->memcache;
} }
function arraySafeVal($arr,$p,$default=NULL) function objSafeVal($obj,$key,$default=NULL)
{ {
if (isset($arr[$p])) if (is_object($obj) && property_exists($obj,$key))
return $arr[$p]; return $obj->$key;
elseif (is_array($obj))
return arraySafeVal($obj,$key,$default);
return $default; return $default;
} }
function getparam($p) function arraySafeVal($arr,$key,$default=NULL)
{ {
return isset($_REQUEST[$p])? $_REQUEST[$p]: ''; if (is_array($arr) && isset($arr[$key]))
return $arr[$key];
elseif (is_object($arr))
return objSafeVal($arr,$key,$default);
return $default;
} }
function getiparam($p) function getparam($p,$default='')
{
return isset($_REQUEST[$p]) ? $_REQUEST[$p] : $default;
}
function getiparam($p,$default=0)
{ {
// workaround for yii default /route/<id> .... // workaround for yii default /route/<id> ....
if ($p == 'id') { if ($p == 'id') {
$id = isset($_REQUEST[$p])? $_REQUEST[$p]: 0; $id = isset($_REQUEST[$p]) ? $_REQUEST[$p] : $default;
if (!$id) { if (!$id) {
$url = explode('/', $_SERVER['REQUEST_URI']); $url = explode('/', $_SERVER['REQUEST_URI']);
$id = array_pop($url); $id = array_pop($url);
} }
return (int) $id; return (int) $id;
} }
return isset($_REQUEST[$p])? intval($_REQUEST[$p]): 0; return isset($_REQUEST[$p]) ? intval($_REQUEST[$p]) : $default;
} }
////////////////////////////////////////////////////// //////////////////////////////////////////////////////