/** * Defines global CMS permissions * * @version 1.0 * @since 1.0.0 * @author Dan Aldridge */ public function initPerms() { self::$IS_USER = $this->checkPermissions($this->grab('id'), USER); self::$IS_MOD = $this->checkPermissions($this->grab('id'), MOD); self::$IS_ADMIN = $this->checkPermissions($this->grab('id'), ADMIN); }
/** * Checks the whitelist associated with an account * * @version 1.2 * @since 1.0.0 * @author Daniel Noel-Davies * * @return bool */ public function whiteListCheck() { if (!$this->userData['whitelist'] || is_empty($this->userData['whitelisted_ips'])) { return true; } $ip = Core_Classes_User::getIP(); $whitelist = json_decode($this->userData['whitelisted_ips']); if (!is_array($whitelist) || is_empty($whitelist)) { return true; } foreach ($whitelist as $range) { if (checkIPRange($range, $ip)) { return true; } } return false; }
/** * Loads an already active session for this user * * @version 1.0 * @since 1.0.0 * @author Dan Aldridge * */ public function getData() { $objSQL = Core_Classes_coreObj::getDBO(); $query = $objSQL->queryBuilder()->select('*')->from('#__sessions')->where('admin', '=', Core_Classes_User::$IS_ADMIN ? '1' : '0')->andWhere('sid', '=', md5(session_id()))->andWhere('hostname', '=', Core_Classes_User::getIP())->build(); $results = $objSQL->fetchLine($query); if ($objSQL->affectedRows() > 0) { return $results; } return false; }