mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-11-04 09:46:51 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
if (!function_exists('is_digit')) {
 | 
						|
    /**
 | 
						|
     * Deal with normal (and irritating) PHP behavior to determine if
 | 
						|
     * a value is a non-float positive integer.
 | 
						|
     *
 | 
						|
     * @param mixed $value
 | 
						|
     *
 | 
						|
     * @return bool
 | 
						|
     */
 | 
						|
    function is_digit($value)
 | 
						|
    {
 | 
						|
        return is_bool($value) ? false : ctype_digit(strval($value));
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
if (!function_exists('object_get_strict')) {
 | 
						|
    /**
 | 
						|
     * Get an object using dot notation. An object key with a value of null is still considered valid
 | 
						|
     * and will not trigger the response of a default value (unlike object_get).
 | 
						|
     *
 | 
						|
     * @param object $object
 | 
						|
     * @param string $key
 | 
						|
     * @param null $default
 | 
						|
     *
 | 
						|
     * @return mixed
 | 
						|
     */
 | 
						|
    function object_get_strict($object, $key, $default = null)
 | 
						|
    {
 | 
						|
        if (is_null($key) || trim($key) == '') {
 | 
						|
            return $object;
 | 
						|
        }
 | 
						|
 | 
						|
        foreach (explode('.', $key) as $segment) {
 | 
						|
            if (!is_object($object) || !property_exists($object, $segment)) {
 | 
						|
                return value($default);
 | 
						|
            }
 | 
						|
 | 
						|
            $object = $object->{$segment};
 | 
						|
        }
 | 
						|
 | 
						|
        return $object;
 | 
						|
    }
 | 
						|
}
 |