Example #1
0
 public function test_loadBanControl()
 {
     $BanControl = new BanControl();
     $BanControl->loadAll();
     $BanControl->loadUsers();
     $BanControl->loadIPs();
     $BanControl->loadDomains();
     $BanControl->loadAll();
     return $BanControl;
 }
Example #2
0
 /**
  * Check if this user is pending activation
  * @since Version 3.9.1
  * @return boolean
  */
 public function getUserAccountStatus()
 {
     if ((bool) $this->active === true) {
         return self::STATUS_ACTIVE;
     }
     $BanControl = new BanControl();
     $BanControl->loadUsers(true);
     if (!empty($BanControl->lookupUser($this->id))) {
         return self::STATUS_BANNED;
     }
     if ((bool) $this->active === false) {
         return self::STATUS_UNACTIVATED;
     }
     throw new Exception("Cannot determine the status of this user account");
 }
Example #3
0
 /**
  * List all members
  * @since Version 3.2
  * @version 3.2
  * @return mixed
  * @param int $page
  * @param int $items_per_page
  */
 public function memberList($page = 1, $items_per_page = 25)
 {
     $start = $page > 0 ? ($page - 1) * $items_per_page : 0;
     $return = array();
     // Get banned usernames
     $BanControl = new BanControl();
     $BanControl->loadUsers();
     $banned_user_ids = array_keys($BanControl->users);
     $bancontrol_sql = count($banned_user_ids) ? " AND user_id NOT IN(" . implode(",", $banned_user_ids) . ")" : "";
     $query = "SELECT SQL_CALC_FOUND_ROWS user_id AS id, username, name AS real_name, user_avatar AS avatar, user_avatar_width AS avatar_width, \r\n                    user_avatar_height AS avatar_height, user_email AS contact_email, user_viewemail AS email_show, user_lastvisit AS lastvisit, \r\n                    user_session_time AS last_activity, user_regdate AS regdate, user_regdate_nice, user_posts AS posts, timezone AS timezone, flickr_nsid \r\n                FROM nuke_users \r\n                WHERE user_active = 1 \r\n                    AND user_id != 0\r\n                    AND user_session_time > 0 \r\n                    " . $bancontrol_sql . "\r\n                ORDER BY user_id LIMIT ?, ?";
     if ($result = $this->db->fetchAll($query, array($start, $items_per_page))) {
         $return['page'] = $page;
         $return['perpage'] = $items_per_page;
         $return['total'] = $this->db->fetchOne("SELECT FOUND_ROWS() AS total");
         $return['num_pages'] = ceil($return['total'] / $items_per_page);
         foreach ($result as $row) {
             if (empty($row['user_regdate_nice']) || $row['user_regdate_nice'] == "0000-00-00") {
                 try {
                     $datetime = new DateTime($row['regdate']);
                     $update['user_regdate_nice'] = $datetime->format("Y-m-d");
                     $this->db->update("nuke_users", $update, array("user_id = ?" => $row['id']));
                 } catch (Exception $e) {
                     // Throw it away, Manuel!
                 }
             }
             $return['members'][$row['id']] = $row;
         }
     }
     return $return;
 }
Example #4
0
 /**
  * Get user registrations per day between given dates
  * @since Version 3.9
  * @param \DateTime $From
  * @param \Datetime $To
  * @return array
  */
 public function getNumRegistrationsByMonth(DateTime $From, DateTime $To)
 {
     $BanControl = new BanControl();
     $BanControl->loadUsers();
     $query = "SELECT YEAR(user_regdate_nice) AS year, MONTH(user_regdate_nice) AS month, count(*) AS count\r\n\t\t\t\t\t\tFROM nuke_users \r\n\t\t\t\t\t\tWHERE user_regdate_nice BETWEEN ? AND ?\r\n\t\t\t\t\t\tAND user_active = 1\r\n\t\t\t\t\t\tAND user_id NOT IN (" . implode(",", array_keys($BanControl->users)) . ")\r\n\t\t\t\t\t\tGROUP BY YEAR(user_regdate_nice), MONTH(user_regdate_nice)";
     return $this->db->fetchAll($query, array($From->format("Y-m-d"), $To->format("Y-m-d")));
 }
Example #5
0
 /**
  * Get user registrations per day between given dates
  * @since Version 3.9
  * @param \DateTime $dateFrom
  * @param \Datetime $dateTo
  * @return array
  */
 public function getNumRegistrationsByMonth(DateTime $dateFrom, DateTime $dateTo)
 {
     $BanControl = new BanControl();
     $BanControl->loadUsers();
     $bancontrol_sql = "";
     if (!is_null($BanControl->users) && count($BanControl->users) > 0) {
         $bancontrol_sql = "AND user_id NOT IN (" . implode(",", array_keys($BanControl->users)) . ")";
     }
     $query = "SELECT YEAR(user_regdate_nice) AS year, MONTH(user_regdate_nice) AS month, count(*) AS count\r\n                    FROM nuke_users \r\n                    WHERE user_regdate_nice BETWEEN ? AND ?\r\n                    AND user_active = 1\r\n                    " . $bancontrol_sql . "\r\n                    GROUP BY YEAR(user_regdate_nice), MONTH(user_regdate_nice)";
     return $this->db->fetchAll($query, array($dateFrom->format("Y-m-d"), $dateTo->format("Y-m-d")));
 }