Просмотр исходного кода

Revert "Revert "making pagination for user list, show homes, server monitor, and fix logger ordering""

This reverts commit da777ebccd22ac86152f3697efc6cb320355dd49.
Obada8 9 лет назад
Родитель
Сommit
c355793fb7

+ 259 - 1
includes/database_mysql.php

@@ -255,6 +255,31 @@ class OGPDatabaseMySQL extends OGPDatabase
 
 		return $results;
 	}
+	
+	public function getUserList_limit($page_user,$limit_user) {
+		
+       $user_get_id = ($page_user - 1) * $limit_user;		
+	
+		if ( !$this->link ) return;
+		$query = sprintf("SELECT user_id,users_login,users_lang,
+			users_role,users_fname,users_lname,users_email,user_expires,users_parent
+			FROM %susers ORDER BY users_login ASC LIMIT $user_get_id,$limit_user",
+			$this->table_prefix);
+
+		++$this->queries_;
+		$result = mysql_query($this->link,$query);
+
+		$results = array();
+
+		while ( $row = mysql_fetch_assoc( $result ) )
+			array_push($results,$row);
+
+		return $results;
+	}
+	
+	public function get_user_count(){
+		return $this->resultQuery("SELECT COUNT(user_id) AS total FROM `".$this->table_prefix."users`;");
+	}
 
 	public function getGroupList() {
 		$query = sprintf("SELECT group_id,group_name
@@ -1364,6 +1389,227 @@ class OGPDatabaseMySQL extends OGPDatabase
 		}
 	}
 
+	public function getHomesFor_count($id_type,$assign_id){
+		if ( $id_type == "admin" )
+		{		
+			return $this->resultQuery("SELECT COUNT(home_id) AS total FROM `".$this->table_prefix."server_homes`;");
+		}
+		else if ( $id_type == "user_and_group" )
+		{
+			return $this->resultQuery("SELECT COUNT(home_id) AS total FROM `".$this->table_prefix."user_homes` WHERE user_id = $assign_id ");
+		}
+		else if ( $id_type == "subuser" )
+		{
+			return $this->resultQuery("SELECT COUNT(home_id) AS total FROM `".$this->table_prefix."user_group_homes` WHERE group_id IN (SELECT group_id FROM `".$this->table_prefix."user_groups` WHERE user_id = $assign_id) ");
+		}		
+		
+	}
+	
+	public function getHomesFor_limit($id_type,$assign_id,$home_page,$home_limit){
+	$gethome_page_forlimit = ($home_page - 1) * $home_limit;	
+		if ( $id_type == "admin" )
+		{
+			$template = 'SELECT	%1$sserver_homes.*, 
+								%1$sremote_servers.*, 
+								%1$sconfig_homes.*, 
+								%1$shome_ip_ports.port,
+								%1$shome_ip_ports.force_mod_id,
+								%1$sremote_server_ips.ip_id,
+								%1$sremote_server_ips.ip,
+								%1$sgame_mods.mod_id,
+								%1$sgame_mods.mod_cfg_id,
+								%1$sgame_mods.max_players,
+								%1$sgame_mods.extra_params,
+								%1$sgame_mods.cpu_affinity,
+								%1$sgame_mods.nice,
+								%1$sgame_mods.precmd,
+								%1$sgame_mods.postcmd,
+								%1$sconfig_mods.mod_key,
+								%1$sconfig_mods.mod_name,
+								%1$sconfig_mods.def_precmd,
+								%1$sconfig_mods.def_postcmd,
+								%1$sconfig_mods.mod_cfg_id
+						FROM %1$sserver_homes
+						NATURAL JOIN %1$sremote_servers
+						NATURAL JOIN %1$sconfig_homes
+						LEFT JOIN %1$sgame_mods 
+							NATURAL JOIN %1$sconfig_mods
+							ON %1$sserver_homes.home_id=%1$sgame_mods.home_id
+						LEFT JOIN %1$shome_ip_ports 
+							NATURAL JOIN %1$sremote_server_ips 
+							ON %1$sserver_homes.home_id=%1$shome_ip_ports.home_id
+						WHERE `force_mod_id` IN
+						(
+							SELECT `force_mod_id`
+							FROM `%1$shome_ip_ports`
+							WHERE `force_mod_id` = %1$sgame_mods.mod_id OR %1$shome_ip_ports.force_mod_id = 0
+						)
+						OR %1$shome_ip_ports.force_mod_id IS NULL LIMIT '.$gethome_page_forlimit.','.$home_limit.';';
+			$template2 = 'SELECT user_expiration_date, home_id FROM %1$suser_homes WHERE user_id = %2$d;';
+			$template3 = 'SELECT user_group_expiration_date, home_id FROM %1$suser_group_homes WHERE group_id IN(
+							SELECT %1$suser_groups.group_id
+							FROM %1$suser_groups
+							WHERE %1$suser_groups.user_id=%2$d
+						  );';
+		}
+		else if ( $id_type == "user" )
+		{
+			$template = 'SELECT %1$sserver_homes.*, %1$suser_homes.access_rights,
+				%1$suser_homes.user_expiration_date, %1$sremote_servers.*, %1$sconfig_homes.*
+				FROM %1$sremote_servers NATURAL JOIN %1$suser_homes
+				NATURAL JOIN %1$sserver_homes NATURAL JOIN %1$sconfig_homes
+				WHERE %1$suser_homes.user_id = %2$d ORDER BY home_id ASC LIMIT '.$gethome_page_forlimit.','.$home_limit.';';
+		}
+		else if ( $id_type == "group" )
+		{
+			$template = 'SELECT %1$sserver_homes.*, %1$suser_group_homes.access_rights,
+				%1$suser_group_homes.user_group_expiration_date, %1$sremote_servers.*, %1$sconfig_homes.*
+				FROM %1$sremote_servers NATURAL JOIN %1$suser_group_homes
+				NATURAL JOIN %1$sserver_homes NATURAL JOIN %1$sconfig_homes
+				WHERE %1$suser_group_homes.group_id = %2$d LIMIT '.$gethome_page_forlimit.','.$home_limit.';';
+		}
+		else if ( $id_type == "user_and_group" )
+		{
+			$template = 'SELECT	%1$suser_homes.*, 
+								%1$sserver_homes.*, 
+								%1$sremote_servers.*, 
+								%1$sconfig_homes.*, 
+								%1$shome_ip_ports.port,
+								%1$shome_ip_ports.force_mod_id,
+								%1$sremote_server_ips.ip_id,
+								%1$sremote_server_ips.ip,
+								%1$sgame_mods.mod_id,
+								%1$sgame_mods.mod_cfg_id,
+								%1$sgame_mods.max_players,
+								%1$sgame_mods.extra_params,
+								%1$sgame_mods.cpu_affinity,
+								%1$sgame_mods.nice,
+								%1$sgame_mods.precmd,
+								%1$sgame_mods.postcmd,
+								%1$sconfig_mods.mod_key,
+								%1$sconfig_mods.mod_name,
+								%1$sconfig_mods.def_precmd,
+								%1$sconfig_mods.def_postcmd,
+								%1$sconfig_mods.mod_cfg_id
+						FROM %1$sremote_servers 
+						NATURAL JOIN %1$suser_homes 
+						NATURAL JOIN %1$sserver_homes 
+						NATURAL JOIN %1$sconfig_homes
+						LEFT JOIN %1$shome_ip_ports 
+							NATURAL JOIN %1$sremote_server_ips 
+							ON %1$sserver_homes.home_id=%1$shome_ip_ports.home_id
+						LEFT JOIN %1$sgame_mods 
+							NATURAL JOIN %1$sconfig_mods
+							ON %1$sserver_homes.home_id=%1$sgame_mods.home_id
+						WHERE %1$suser_homes.user_id = %2$d
+						AND (
+							`force_mod_id` IN(
+								SELECT `force_mod_id`
+								FROM `%1$shome_ip_ports`
+								WHERE `force_mod_id` = %1$sgame_mods.mod_id OR %1$shome_ip_ports.force_mod_id = 0
+							)
+							OR %1$shome_ip_ports.force_mod_id IS NULL
+						)
+						UNION
+						SELECT	%1$suser_group_homes.*,
+								%1$sserver_homes.*, 
+								%1$sremote_servers.*, 
+								%1$sconfig_homes.*, 
+								%1$shome_ip_ports.port,
+								%1$shome_ip_ports.force_mod_id,
+								%1$sremote_server_ips.ip_id,
+								%1$sremote_server_ips.ip,
+								%1$sgame_mods.mod_id,
+								%1$sgame_mods.mod_cfg_id,
+								%1$sgame_mods.max_players,
+								%1$sgame_mods.extra_params,
+								%1$sgame_mods.cpu_affinity,
+								%1$sgame_mods.nice,
+								%1$sgame_mods.precmd,
+								%1$sgame_mods.postcmd,
+								%1$sconfig_mods.mod_key,
+								%1$sconfig_mods.mod_name,
+								%1$sconfig_mods.def_precmd,
+								%1$sconfig_mods.def_postcmd,
+								%1$sconfig_mods.mod_cfg_id
+						FROM %1$sremote_servers 
+						NATURAL JOIN %1$suser_group_homes 
+						NATURAL JOIN %1$sserver_homes 
+						NATURAL JOIN %1$sconfig_homes
+						LEFT JOIN %1$shome_ip_ports 
+							NATURAL JOIN %1$sremote_server_ips 
+							ON %1$sserver_homes.home_id=%1$shome_ip_ports.home_id
+						LEFT JOIN %1$sgame_mods 
+							NATURAL JOIN %1$sconfig_mods
+							ON %1$sserver_homes.home_id=%1$sgame_mods.home_id
+						WHERE %1$suser_group_homes.group_id
+						IN(
+							SELECT %1$suser_groups.group_id
+							FROM %1$suser_groups
+							WHERE %1$suser_groups.user_id=%2$d
+						)
+						AND (
+							`force_mod_id` IN(
+								SELECT `force_mod_id`
+								FROM `%1$shome_ip_ports`
+								WHERE `force_mod_id` = %1$sgame_mods.mod_id OR %1$shome_ip_ports.force_mod_id = 0
+							)
+							OR %1$shome_ip_ports.force_mod_id IS NULL
+						) 
+						LIMIT '.$gethome_page_forlimit.','.$home_limit.';';
+		}
+		else
+		{
+			return FALSE;
+		}
+		
+		if ( $id_type == "admin" )
+		{
+			$query1 = sprintf($template,
+				$this->table_prefix,
+				mysql_real_escape_string($this->link,$assign_id) );
+			$query2 = sprintf($template2,
+				$this->table_prefix,
+				mysql_real_escape_string($this->link,$assign_id) );
+			$query3 = sprintf($template3,
+				$this->table_prefix,
+				mysql_real_escape_string($this->link,$assign_id) );
+			$servers = $this->listQuery($query1);
+			if($servers)
+			{
+				$user_expiration_dates = $this->listQuery($query2);
+				$user_group_expiration_dates = $this->listQuery($query3);
+				foreach($servers as $key => $server)
+				{
+					if($user_expiration_dates)
+					{
+						foreach($user_expiration_dates as $user_expiration_date)
+						{
+							if($server['home_id'] == $user_expiration_date['home_id'])
+								$servers[$key]['user_expiration_date'] = $user_expiration_date['user_expiration_date'];
+						}
+					}
+					if($user_group_expiration_dates)
+					{
+						foreach($user_group_expiration_dates as $user_group_expiration_date)
+						{
+							if($server['home_id'] == $user_group_expiration_date['home_id'])
+								$servers[$key]['user_group_expiration_date'] = $user_group_expiration_date['user_group_expiration_date'];
+						}
+					}
+				}
+			}
+			return $servers;
+		}
+		else
+		{
+			$query = sprintf($template,
+				$this->table_prefix,
+				mysql_real_escape_string($this->link,$assign_id) );
+			return $this->listQuery($query);
+		}
+	}
+	
 	public function getHomeMods($home_id) {
 		$query = sprintf('SELECT %1$sgame_mods.*, %1$sconfig_homes.game_key as gametype,
 			%1$sconfig_mods.mod_name
@@ -2180,6 +2426,18 @@ class OGPDatabaseMySQL extends OGPDatabase
 		return $this->listQuery($query);
 	}
 	
+	public function getGameHomes_limit($page_gameHomes,$limit_gameHomes){
+		$game_home_id = ($page_gameHomes - 1) * $limit_gameHomes;
+		$query = sprintf('SELECT %1$sserver_homes.*, %1$sremote_servers.*, %1$sconfig_homes.*
+			FROM `%1$sserver_homes` NATURAL JOIN `%1$sconfig_homes` NATURAL JOIN `%1$sremote_servers` ORDER BY home_id ASC LIMIT '.$game_home_id.','.$limit_gameHomes.'; ',
+			$this->table_prefix);
+		return $this->listQuery($query);
+	}
+	
+   public function get_GameHomes_count(){
+      return $this->resultQuery("SELECT COUNT(home_id) AS total FROM `".$this->table_prefix."server_homes`;");
+   }
+	
 	public function changeLastParam($home_id,$json) {
 		$query = sprintf("UPDATE `%sserver_homes` SET `last_param` = '%s' WHERE `home_id` = %d",
 			$this->table_prefix,
@@ -2434,7 +2692,7 @@ class OGPDatabaseMySQL extends OGPDatabase
 	
 	public function read_logger($page,$limit){
 		$log_id = ($page - 1) * $limit;
-		return $this->resultQuery("SELECT * FROM `".$this->table_prefix."logger` WHERE log_id > $log_id ORDER BY log_id LIMIT $limit;");
+		return $this->resultQuery("SELECT * FROM `".$this->table_prefix."logger` ORDER BY log_id DESC LIMIT $log_id,$limit;");
 	}
 	
 	public function del_logger_log($log_id){

+ 259 - 1
includes/database_mysqli.php

@@ -252,6 +252,31 @@ class OGPDatabaseMySQL extends OGPDatabase
 
 		return $results;
 	}
+	
+	public function getUserList_limit($page_user,$limit_user) {
+		
+       $user_get_id = ($page_user - 1) * $limit_user;		
+	
+		if ( !$this->link ) return;
+		$query = sprintf("SELECT user_id,users_login,users_lang,
+			users_role,users_fname,users_lname,users_email,user_expires,users_parent
+			FROM %susers ORDER BY users_login ASC LIMIT $user_get_id,$limit_user",
+			$this->table_prefix);
+
+		++$this->queries_;
+		$result = mysqli_query($this->link,$query);
+
+		$results = array();
+
+		while ( $row = mysqli_fetch_assoc( $result ) )
+			array_push($results,$row);
+
+		return $results;
+	}
+	
+	public function get_user_count(){
+		return $this->resultQuery("SELECT COUNT(user_id) AS total FROM `".$this->table_prefix."users`;");
+	}
 
 	public function getGroupList() {
 		$query = sprintf("SELECT group_id,group_name
@@ -1360,6 +1385,227 @@ class OGPDatabaseMySQL extends OGPDatabase
 			return $this->listQuery($query);
 		}
 	}
+	
+	public function getHomesFor_count($id_type,$assign_id){
+		if ( $id_type == "admin" )
+		{		
+			return $this->resultQuery("SELECT COUNT(home_id) AS total FROM `".$this->table_prefix."server_homes`;");
+		}
+		else if ( $id_type == "user_and_group" )
+		{
+			return $this->resultQuery("SELECT COUNT(home_id) AS total FROM `".$this->table_prefix."user_homes` WHERE user_id = $assign_id ;");
+		}
+		else if ( $id_type == "subuser" )
+		{
+			return $this->resultQuery("SELECT COUNT(home_id) AS total FROM `".$this->table_prefix."user_group_homes` WHERE group_id IN (SELECT group_id FROM `".$this->table_prefix."user_groups` WHERE user_id = $assign_id) ");
+		}		
+		
+	}
+	
+	public function getHomesFor_limit($id_type,$assign_id,$home_page,$home_limit){
+	$gethome_page_forlimit = ($home_page - 1) * $home_limit;	
+		if ( $id_type == "admin" )
+		{
+			$template = 'SELECT	%1$sserver_homes.*, 
+								%1$sremote_servers.*, 
+								%1$sconfig_homes.*, 
+								%1$shome_ip_ports.port,
+								%1$shome_ip_ports.force_mod_id,
+								%1$sremote_server_ips.ip_id,
+								%1$sremote_server_ips.ip,
+								%1$sgame_mods.mod_id,
+								%1$sgame_mods.mod_cfg_id,
+								%1$sgame_mods.max_players,
+								%1$sgame_mods.extra_params,
+								%1$sgame_mods.cpu_affinity,
+								%1$sgame_mods.nice,
+								%1$sgame_mods.precmd,
+								%1$sgame_mods.postcmd,
+								%1$sconfig_mods.mod_key,
+								%1$sconfig_mods.mod_name,
+								%1$sconfig_mods.def_precmd,
+								%1$sconfig_mods.def_postcmd,
+								%1$sconfig_mods.mod_cfg_id
+						FROM %1$sserver_homes
+						NATURAL JOIN %1$sremote_servers
+						NATURAL JOIN %1$sconfig_homes
+						LEFT JOIN %1$sgame_mods 
+							NATURAL JOIN %1$sconfig_mods
+							ON %1$sserver_homes.home_id=%1$sgame_mods.home_id
+						LEFT JOIN %1$shome_ip_ports 
+							NATURAL JOIN %1$sremote_server_ips 
+							ON %1$sserver_homes.home_id=%1$shome_ip_ports.home_id
+						WHERE `force_mod_id` IN
+						(
+							SELECT `force_mod_id`
+							FROM `%1$shome_ip_ports`
+							WHERE `force_mod_id` = %1$sgame_mods.mod_id OR %1$shome_ip_ports.force_mod_id = 0
+						)
+						OR %1$shome_ip_ports.force_mod_id IS NULL LIMIT '.$gethome_page_forlimit.','.$home_limit.';';
+			$template2 = 'SELECT user_expiration_date, home_id FROM %1$suser_homes WHERE user_id = %2$d;';
+			$template3 = 'SELECT user_group_expiration_date, home_id FROM %1$suser_group_homes WHERE group_id IN(
+							SELECT %1$suser_groups.group_id
+							FROM %1$suser_groups
+							WHERE %1$suser_groups.user_id=%2$d
+						  );';
+		}
+		else if ( $id_type == "user" )
+		{
+			$template = 'SELECT %1$sserver_homes.*, %1$suser_homes.access_rights,
+				%1$suser_homes.user_expiration_date, %1$sremote_servers.*, %1$sconfig_homes.*
+				FROM %1$sremote_servers NATURAL JOIN %1$suser_homes
+				NATURAL JOIN %1$sserver_homes NATURAL JOIN %1$sconfig_homes
+				WHERE %1$suser_homes.user_id = %2$d ORDER BY home_id ASC LIMIT '.$gethome_page_forlimit.','.$home_limit.';';
+		}
+		else if ( $id_type == "group" )
+		{
+			$template = 'SELECT %1$sserver_homes.*, %1$suser_group_homes.access_rights,
+				%1$suser_group_homes.user_group_expiration_date, %1$sremote_servers.*, %1$sconfig_homes.*
+				FROM %1$sremote_servers NATURAL JOIN %1$suser_group_homes
+				NATURAL JOIN %1$sserver_homes NATURAL JOIN %1$sconfig_homes
+				WHERE %1$suser_group_homes.group_id = %2$d LIMIT '.$gethome_page_forlimit.','.$home_limit.';';
+		}
+		else if ( $id_type == "user_and_group" )
+		{
+			$template = 'SELECT	%1$suser_homes.*, 
+								%1$sserver_homes.*, 
+								%1$sremote_servers.*, 
+								%1$sconfig_homes.*, 
+								%1$shome_ip_ports.port,
+								%1$shome_ip_ports.force_mod_id,
+								%1$sremote_server_ips.ip_id,
+								%1$sremote_server_ips.ip,
+								%1$sgame_mods.mod_id,
+								%1$sgame_mods.mod_cfg_id,
+								%1$sgame_mods.max_players,
+								%1$sgame_mods.extra_params,
+								%1$sgame_mods.cpu_affinity,
+								%1$sgame_mods.nice,
+								%1$sgame_mods.precmd,
+								%1$sgame_mods.postcmd,
+								%1$sconfig_mods.mod_key,
+								%1$sconfig_mods.mod_name,
+								%1$sconfig_mods.def_precmd,
+								%1$sconfig_mods.def_postcmd,
+								%1$sconfig_mods.mod_cfg_id
+						FROM %1$sremote_servers 
+						NATURAL JOIN %1$suser_homes 
+						NATURAL JOIN %1$sserver_homes 
+						NATURAL JOIN %1$sconfig_homes
+						LEFT JOIN %1$shome_ip_ports 
+							NATURAL JOIN %1$sremote_server_ips 
+							ON %1$sserver_homes.home_id=%1$shome_ip_ports.home_id
+						LEFT JOIN %1$sgame_mods 
+							NATURAL JOIN %1$sconfig_mods
+							ON %1$sserver_homes.home_id=%1$sgame_mods.home_id
+						WHERE %1$suser_homes.user_id = %2$d
+						AND (
+							`force_mod_id` IN(
+								SELECT `force_mod_id`
+								FROM `%1$shome_ip_ports`
+								WHERE `force_mod_id` = %1$sgame_mods.mod_id OR %1$shome_ip_ports.force_mod_id = 0
+							)
+							OR %1$shome_ip_ports.force_mod_id IS NULL
+						)
+						UNION
+						SELECT	%1$suser_group_homes.*,
+								%1$sserver_homes.*, 
+								%1$sremote_servers.*, 
+								%1$sconfig_homes.*, 
+								%1$shome_ip_ports.port,
+								%1$shome_ip_ports.force_mod_id,
+								%1$sremote_server_ips.ip_id,
+								%1$sremote_server_ips.ip,
+								%1$sgame_mods.mod_id,
+								%1$sgame_mods.mod_cfg_id,
+								%1$sgame_mods.max_players,
+								%1$sgame_mods.extra_params,
+								%1$sgame_mods.cpu_affinity,
+								%1$sgame_mods.nice,
+								%1$sgame_mods.precmd,
+								%1$sgame_mods.postcmd,
+								%1$sconfig_mods.mod_key,
+								%1$sconfig_mods.mod_name,
+								%1$sconfig_mods.def_precmd,
+								%1$sconfig_mods.def_postcmd,
+								%1$sconfig_mods.mod_cfg_id
+						FROM %1$sremote_servers 
+						NATURAL JOIN %1$suser_group_homes 
+						NATURAL JOIN %1$sserver_homes 
+						NATURAL JOIN %1$sconfig_homes
+						LEFT JOIN %1$shome_ip_ports 
+							NATURAL JOIN %1$sremote_server_ips 
+							ON %1$sserver_homes.home_id=%1$shome_ip_ports.home_id
+						LEFT JOIN %1$sgame_mods 
+							NATURAL JOIN %1$sconfig_mods
+							ON %1$sserver_homes.home_id=%1$sgame_mods.home_id
+						WHERE %1$suser_group_homes.group_id
+						IN(
+							SELECT %1$suser_groups.group_id
+							FROM %1$suser_groups
+							WHERE %1$suser_groups.user_id=%2$d
+						)
+						AND (
+							`force_mod_id` IN(
+								SELECT `force_mod_id`
+								FROM `%1$shome_ip_ports`
+								WHERE `force_mod_id` = %1$sgame_mods.mod_id OR %1$shome_ip_ports.force_mod_id = 0
+							)
+							OR %1$shome_ip_ports.force_mod_id IS NULL
+						) 
+						LIMIT '.$gethome_page_forlimit.','.$home_limit.';';
+		}
+		else
+		{
+			return FALSE;
+		}
+		
+		if ( $id_type == "admin" )
+		{
+			$query1 = sprintf($template,
+				$this->table_prefix,
+				mysqli_real_escape_string($this->link,$assign_id) );
+			$query2 = sprintf($template2,
+				$this->table_prefix,
+				mysqli_real_escape_string($this->link,$assign_id) );
+			$query3 = sprintf($template3,
+				$this->table_prefix,
+				mysqli_real_escape_string($this->link,$assign_id) );
+			$servers = $this->listQuery($query1);
+			if($servers)
+			{
+				$user_expiration_dates = $this->listQuery($query2);
+				$user_group_expiration_dates = $this->listQuery($query3);
+				foreach($servers as $key => $server)
+				{
+					if($user_expiration_dates)
+					{
+						foreach($user_expiration_dates as $user_expiration_date)
+						{
+							if($server['home_id'] == $user_expiration_date['home_id'])
+								$servers[$key]['user_expiration_date'] = $user_expiration_date['user_expiration_date'];
+						}
+					}
+					if($user_group_expiration_dates)
+					{
+						foreach($user_group_expiration_dates as $user_group_expiration_date)
+						{
+							if($server['home_id'] == $user_group_expiration_date['home_id'])
+								$servers[$key]['user_group_expiration_date'] = $user_group_expiration_date['user_group_expiration_date'];
+						}
+					}
+				}
+			}
+			return $servers;
+		}
+		else
+		{
+			$query = sprintf($template,
+				$this->table_prefix,
+				mysqli_real_escape_string($this->link,$assign_id) );
+			return $this->listQuery($query);
+		}
+	}
 
 	public function getHomeMods($home_id) {
 		$query = sprintf('SELECT %1$sgame_mods.*, %1$sconfig_homes.game_key as gametype,
@@ -2187,6 +2433,18 @@ class OGPDatabaseMySQL extends OGPDatabase
 		return $this->listQuery($query);
 	}
 	
+	public function getGameHomes_limit($page_gameHomes,$limit_gameHomes){
+		$game_home_id = ($page_gameHomes - 1) * $limit_gameHomes;
+		$query = sprintf('SELECT %1$sserver_homes.*, %1$sremote_servers.*, %1$sconfig_homes.*
+			FROM `%1$sserver_homes` NATURAL JOIN `%1$sconfig_homes` NATURAL JOIN `%1$sremote_servers` ORDER BY home_id ASC LIMIT '.$game_home_id.','.$limit_gameHomes.'; ',
+			$this->table_prefix);
+		return $this->listQuery($query);
+	}
+	
+   public function get_GameHomes_count(){
+      return $this->resultQuery("SELECT COUNT(home_id) AS total FROM `".$this->table_prefix."server_homes`;");
+   }
+	
 	public function changeLastParam($home_id,$json) {
 		$query = sprintf("UPDATE `%sserver_homes` SET `last_param` = '%s' WHERE `home_id` = %d",
 			$this->table_prefix,
@@ -2441,7 +2699,7 @@ class OGPDatabaseMySQL extends OGPDatabase
 	
 	public function read_logger($page,$limit){
 		$log_id = ($page - 1) * $limit;
-		return $this->resultQuery("SELECT * FROM `".$this->table_prefix."logger` WHERE log_id > $log_id ORDER BY log_id LIMIT $limit;");
+		return $this->resultQuery("SELECT * FROM `".$this->table_prefix."logger` ORDER BY log_id DESC LIMIT $log_id,$limit;");
 	}
 	
 	public function del_logger_log($log_id){

+ 53 - 4
modules/gamemanager/server_monitor.php

@@ -127,12 +127,27 @@ function exec_ogp_module() {
 	$stats_servers = 0;
 	$stats_players = 0;
 	$stats_maxplayers = 0;
-
+	
+	$home_page = isset($_GET['page']) ? $_GET['page'] : 1;
+	$home_limit = isset($_GET['limit']) ? $_GET['limit'] : 10;
+	
 	$isAdmin = $db->isAdmin( $_SESSION['user_id'] );
+	
 	if ( $isAdmin )
-		$server_homes = $db->getHomesFor('admin', $_SESSION['user_id']);
-	else
-		$server_homes = $db->getHomesFor('user_and_group', $_SESSION['user_id']);
+		{	
+			if(isset($_GET['home_id']) OR isset($_GET['home_id-mod_id-ip-port']))          
+				$server_homes = $db->getHomesFor('admin', $_SESSION['user_id']);
+			else
+				$server_homes = $db->getHomesFor_limit('admin', $_SESSION['user_id'],$home_page,$home_limit);
+	
+		}
+		else
+		{
+			if(isset($_GET['home_id']) OR isset($_GET['home_id-mod_id-ip-port']))          
+				$server_homes = $db->getHomesFor('user_and_group', $_SESSION['user_id']);
+			else			
+				$server_homes = $db->getHomesFor_limit('user_and_group', $_SESSION['user_id'],$home_page,$home_limit);
+		}
 
 	if( $server_homes === FALSE )
 	{
@@ -612,6 +627,40 @@ function exec_ogp_module() {
 		  </tfoot>";
 
 	echo "</table>";
+
+	if($isAdmin)
+	{	
+		$homes_count = $db->getHomesFor_count('admin',$_SESSION['user_id']);
+	}
+	else
+	{
+		$isSubUser = $db->isSubUser($_SESSION['user_id']);
+		if($isSubUser)
+		{
+			$homes_count = $db->getHomesFor_count('subuser',$_SESSION['user_id']);
+		}else{$homes_count = $db->getHomesFor_count('user_and_group',$_SESSION['user_id']);}	
+	}
+	if($homes_count > $home_limit)
+	{
+		$total_pages = $homes_count[0]['total'] / $home_limit;
+		$pagination = "";
+		for($page=1; $page <= $total_pages+1; $page++)
+		{
+			if($page == $home_page){
+				$pagination .= " <b>$page</b>,";
+				if($total_pages <= 1){$pagination = "";}
+			}else{
+				if(isset($_GET['limit'])){
+					$limits = $_GET['limit'];
+					$pagination .= "<a href='?m=gamemanager&p=game_monitor&page=$page&limit=$limits'>$page</a>,";
+				}else{
+					$pagination .= " <a href='?m=gamemanager&p=game_monitor&page=$page' >$page</a>,";
+				}
+			}
+		}
+		echo rtrim($pagination, ",");
+	}
+
 	echo "<div id=translation data-title='". upload_map_image .
 		 "' data-upload_button='". upload_image .
 		 "' data-bad_file='". jpg_gif_png_less_than_1mb .

+ 27 - 2
modules/user_admin/show_users.php

@@ -46,6 +46,10 @@ td.actions{
  */
 function exec_ogp_module() {
     global $db;
+	
+	$page_user = isset($_GET['page']) ? $_GET['page'] : 1;
+	$limit_user = isset($_GET['limit']) ? $_GET['limit'] : 10;
+	
     echo '<h2>'.get_lang('users')."</h2>";
 	echo "<p><a href='?m=user_admin&amp;p=add'>".get_lang('add_new_user')."</a></p>";
     echo '<table class="userListTable center" style="width: 100%;">';
@@ -54,7 +58,7 @@ function exec_ogp_module() {
     echo "<th>".get_lang('email_address')."</th>";
     echo "<th>".get_lang('expires')."</th>";
     echo "<th class='subuserColumn'>".get_lang('subusers')."</th></tr>";
-    $result = $db->getUserList();
+    $result = $db->getUserList_limit($page_user,$limit_user);
     $i = 0;
     foreach ( $result as $row )
     {
@@ -90,6 +94,27 @@ function exec_ogp_module() {
 		}  
         print "</tr>";
     }
-    echo '</table>';
+    echo '</table><br>';
+	
+	$count_users = $db->get_user_count();
+	if($count_users > $limit_user)
+	{
+		$total_pages = $count_users[0]['total'] / $limit_user;
+		$pagination = "";
+		for($page=1; $page <= $total_pages+1; $page++)
+		{
+			if($page == $page_user){
+				$pagination .= " <b>$page</b>,";
+			}else{
+				if(isset($_GET['limit'])){
+					$limits = $_GET['limit'];
+					$pagination .= "<a href='?m=user_admin&page=$page&limit=$limits'>$page</a>,";
+				}else{
+					$pagination .= " <a href='?m=user_admin&page=$page' >$page</a>,";
+				}
+			}
+		}
+		echo rtrim($pagination, ",");
+	}
 }
 ?>

+ 27 - 1
modules/user_games/show_homes.php

@@ -26,11 +26,14 @@
 function exec_ogp_module()
 {
 	global $db;
+
+	$page_GameHomes = isset($_GET['page']) ? $_GET['page'] : 1;
+	$limit_GameHomes = isset($_GET['limit']) ? $_GET['limit'] : 10;
 	
 	echo "<h2>".get_lang('game_servers')."</h2>";
 	echo "<p><a href='?m=user_games&amp;p=add'>".get_lang('add_new_game_home')."</a></p>";
 
-	$game_homes = $db->getGameHomes();
+	$game_homes = $db->getGameHomes_limit($page_GameHomes,$limit_GameHomes);
 	if ( empty($game_homes) )
 	{
 		echo "<p>".get_lang('no_game_homes_found')."</p>";
@@ -67,6 +70,29 @@ function exec_ogp_module()
 		 "style='cursor:pointer;float:left;margin-left:5px;' >[".get_lang('get_size')."]</div></td><td colspan='2' style='border:none;' ></td></tr>";
 	
 	echo "</table>";
+
+	$count_GameHomes = $db->get_GameHomes_count();
+	if($count_GameHomes > $limit_GameHomes)
+	{
+		$total_pages = $count_GameHomes[0]['total'] / $limit_GameHomes;
+		$pagination = "";
+		for($page=1; $page <= $total_pages+1; $page++)
+		{
+			if($page == $page_GameHomes){
+				$pagination .= " <b>$page</b>,";
+				if($total_pages <= 1){$pagination = "";}
+			}else{
+				if(isset($_GET['limit'])){
+					$limits = $_GET['limit'];
+					$pagination .= "<a href='?m=user_games&page=$page&limit=$limits'>$page</a>,";
+				}else{
+					$pagination .= " <a href='?m=user_games&page=$page' >$page</a>,";
+				}
+			}
+		}
+		echo rtrim($pagination, ",");
+	}
+
 	?>
 	<script type="text/javascript">
 	$('.size').click(function(){