public function logged_in($role = NULL) { $settings = Kohana_Config::instance()->load("mmdb"); if (!empty($settings->localMachine)) { return parent::logged_in($role); } if (parent::logged_in($role)) { $user = $this->get_user(); if (!empty($user->kids_id)) { $kidsUser = Helper_Mmdb::getSessionUser(); if (!$kidsUser || $kidsUser->id != $user->kids_id) { $this->logout(); return false; } return true; } } else { return false; } }
/** * Checks if a user logged in via an OAuth provider. * * @param string provider name (e.g. 'twitter', 'google', etc.) * @return boolean */ public function logged_in_oauth($provider = NULL) { // For starters, the user needs to be logged in if ( ! parent::logged_in()) return FALSE; // Get the user from the session. // Because parent::logged_in returned TRUE, we know this is a valid user ORM object. $user = $this->get_user(); if ($provider !== NULL) { // Check for one specific OAuth provider $provider = $provider.'_id'; return ! empty($user->$provider); } // Otherwise, just check the password field. // We don't store passwords for OAuth users. return empty($user->password); }