/** Return ID of currently logged in user or NULL if no user is logged in. */
public static function get_user_id()
{
static $cached_result = false;
if ($cached_result !== false) {
return $cached_result;
}
$cookie_name = Settings::get('OC_COOKIE_NAME');
if (!isset($_COOKIE[$cookie_name])) {
return null;
}
$OC_data = unserialize(base64_decode($_COOKIE[$cookie_name]));
if (!isset($OC_data['sessionid'])) {
return null;
}
$OC_sessionid = $OC_data['sessionid'];
if (!$OC_sessionid) {
return null;
}
return Db::select_value("\n select sys_sessions.user_id\n from sys_sessions, user\n where sys_sessions.uuid = '" . Db::escape_string($OC_sessionid) . "'\n and user.user_id = sys_sessions.user_id\n and user.is_active_flag = 1\n ");
}