/** * Object to array */ function core_object_to_array($data) { if (is_object($data)) { $result = array(); foreach ((array) $data as $key => $value) { $result[$key] = core_object_to_array($value); } return $result; } return $data; }
/** * Get user's login session information * * @param integer $uid * User ID * @param string $sid * Session ID * @return array login sessions */ function user_session_get($uid = '', $sid = '') { global $user_config; $ret = array(); $h = registry_search(1, 'auth', 'login_session'); $hashes = $h['auth']['login_session']; foreach ($hashes as $key => $val) { $d = core_object_to_array(json_decode($val)); if ($d['ip'] && $d['last_update'] && $d['http_user_agent'] && $d['sid'] && $d['uid']) { if ($uid || $sid) { if ($uid && $uid == $d['uid']) { $ret[$key] = $d; return $ret; } if ($sid && $sid == $d['sid']) { $ret[$key] = $d; return $ret; } } else { $c_ret[$key] = $d; } } } $ret = $c_ret; return $ret; }