Procházet zdrojové kódy

Merge branch 'master' into master

rocco27 před 8 roky
rodič
revize
02f977ed6c

+ 7 - 0
includes/functions.php

@@ -829,4 +829,11 @@ function utf8ize($d, $htmlEntities = true) {
     }
     return $d;
 }
+
+function preReqInstalled($prereq){
+	if (($prereq['type'] === "f" && function_exists($prereq['value'])) || ($prereq['type'] === "c" && class_exists($prereq['value'])) || ($prereq['type'] === "x" && extension_loaded($prereq['value']))){
+		return true;
+	}
+	return false;
+}
 ?>

+ 10 - 7
index.php

@@ -235,13 +235,10 @@ function ogpHome()
 			
 			$banlist_info = $db->resultQuery("SELECT logging_attempts, banned_until FROM `OGP_DB_PREFIXban_list` WHERE client_ip='".$client_ip."';");
 			$login_attempts = !$banlist_info ? 0 : $banlist_info['0']['logging_attempts'];
-			
-			if( !$banlist_info )
-				$db->query("INSERT INTO `OGP_DB_PREFIXban_list` (`client_ip`) VALUES('$client_ip');");
 
 			if( $banlist_info AND $banlist_info['0']['banned_until'] > 0 AND $banlist_info['0']['banned_until'] <= time() )
 			{
-				$db->query("UPDATE `OGP_DB_PREFIXban_list` SET logging_attempts='0', banned_until='0' WHERE client_ip='$client_ip';");
+				$db->query("DELETE FROM `OGP_DB_PREFIXban_list` WHERE client_ip='$client_ip';");
 				$login_attempts = 0;
 			}
 			
@@ -285,7 +282,7 @@ function ogpHome()
 				$_SESSION['users_theme'] = $userInfo['users_theme'];
 				print_success( get_lang("logging_in") ."...");
 				$db->logger( get_lang("logging_in") ."...");
-				$db->query("UPDATE `OGP_DB_PREFIXban_list` SET logging_attempts='0', banned_until='0' WHERE client_ip = '$client_ip';");
+				$db->query("DELETE FROM `OGP_DB_PREFIXban_list` WHERE client_ip='$client_ip';");
 				$view->refresh("home.php?$default_page",2);
 			}
 			else
@@ -295,13 +292,19 @@ function ogpHome()
 				if( $login_attempts == $settings["login_attempts_before_banned"] )
 				{
 					$banned_until = time() + 300; // Five minutes banned from the panel.
-					$banlist_info['0']['banned_until'] = $banned_until;
+					
+					if( !$banlist_info )
+						$db->query("INSERT INTO `OGP_DB_PREFIXban_list` (`client_ip`) VALUES('$client_ip');");
+						
 					$db->logger( get_lang("bad_login") . " ( Banned until " . date("r", $banned_until) . " ) [ " . login . ": $_POST[ulogin], " . password . ": $_POST[upassword] ]" );
 					$db->query("UPDATE `OGP_DB_PREFIXban_list` SET logging_attempts='$login_attempts', banned_until='$banned_until' WHERE client_ip='$client_ip';");
-					print_failure("Banned until " . date("r",$banlist_info['0']['banned_until']));
+					print_failure("Banned until " . date("r",$banned_until));
 				}
 				else
 				{
+					if( !$banlist_info )
+						$db->query("INSERT INTO `OGP_DB_PREFIXban_list` (`client_ip`) VALUES('$client_ip');");
+					
 					$db->logger( get_lang("bad_login") . " ( $login_attempts ) [ " . login . ": $_POST[ulogin], " . password . ": $_POST[upassword] ]" );
 					$db->query("UPDATE `OGP_DB_PREFIXban_list` SET logging_attempts='$login_attempts' WHERE client_ip='$client_ip';");
 					$view->refresh("index.php",2);

+ 1 - 1
lang/English/install.php

@@ -66,4 +66,4 @@ define('OGP_LANG_go_to_panel', "Click here to login to your OGP.");
 define('OGP_LANG_unable_to_resolve', "If you are unable to resolve this problem please visit OGP website ");
 define('OGP_LANG_slogan', "The Open-Source one!");
 define('OGP_LANG_default_welcome_title_message', "Welcome! <b style='font-size:12px; font-weight:normal;'>You can change this title in '<a href='?m=settings&p=themes'>Theme Settings</a>' under the '<a href='?m=administration&p=main'>Administration</a>' tab.</b>");
-?>
+?>

+ 2 - 1
lang/English/modules/modulemanager.php

@@ -52,4 +52,5 @@ define('OGP_LANG_failed_del_db', "Failed to delete module from database.");
 define('OGP_LANG_updated_module', "Updated module: '%s'.");
 define('OGP_LANG_updating_modules', "Updating Modules");
 define('OGP_LANG_updating_finished', "Updating Finished");
-?>
+define('OGP_LANG_prereqs_missing', "Prerequisites of %s must be installed on the server before %s can be installed.");
+?>

+ 15 - 15
lang/Hungarian/install.php

@@ -24,23 +24,23 @@
 
 define('OGP_LANG_install_lang', "Válaszd ki a kívánt nyelvet");
 define('OGP_LANG_install_welcome', "Üdvözöllek az Open Game Panel telepítőben");
-define('OGP_LANG_file_permission_check', "A szükséges jogosultságok ellenőrzése");
+define('OGP_LANG_file_permission_check', "A szükséges fájlengedélyek ellenőrzése");
 define('OGP_LANG_OK', "Rendben");
-define('OGP_LANG_write_permission_required', "Írási jogosultság szükséges");
-define('OGP_LANG_execute_permission_required', "Futtatási jogosultság szükséges");
+define('OGP_LANG_write_permission_required', "Írási engedély szükséges");
+define('OGP_LANG_execute_permission_required', "Végrehajtási engedély szükséges");
 define('OGP_LANG_create_an_empty_file', "Hozz létre egy üres fájlt.");
-define('OGP_LANG_found', "Talált");
+define('OGP_LANG_found', "Található");
 define('OGP_LANG_not_found', "Nem található");
-define('OGP_LANG_pear_xxtea_info', "A Pear Crypt_XXTEA szükséges az OGP használatához. A legtöbb Linux disztribúción ez a modul a következő Pear paranccsal telepíthető 'pear install Crypt_XXTEA-beta'.");
+define('OGP_LANG_pear_xxtea_info', "A Pear Crypt_XXTEA szükséges az OGP használatához. A legtöbb Linux disztribúcióban ez a modul a következő Pear paranccsal telepíthető 'pear install Crypt_XXTEA-beta'.");
 define('OGP_LANG_refresh', "Frissítés");
-define('OGP_LANG_checking_required_modules', "A szükséges modulok ellenőrzése:");
-define('OGP_LANG_database_type', "Adatbázis típusa");
-define('OGP_LANG_database_settings', "Adatbázis hozzáférésének beállítása");
-define('OGP_LANG_database_hostname', "Adatbázis kiszolgáló neve");
-define('OGP_LANG_database_username', "Adatbázis felhasználó neve");
-define('OGP_LANG_database_password', "Adatbázis jelszava");
-define('OGP_LANG_database_name', "Adatbázis neve");
-define('OGP_LANG_database_prefix', "Adatbázis előtagja");
+define('OGP_LANG_checking_required_modules', "A szükséges modulok ellenőrzése");
+define('OGP_LANG_database_type', "Adatbázis típus");
+define('OGP_LANG_database_settings', "Adatbázis hozzáférési beállítások");
+define('OGP_LANG_database_hostname', "Adatbázis állomásnév");
+define('OGP_LANG_database_username', "Adatbázis felhasználónév");
+define('OGP_LANG_database_password', "Adatbázis jelszó");
+define('OGP_LANG_database_name', "Adatbázis név");
+define('OGP_LANG_database_prefix', "Adatbázis előtag");
 define('OGP_LANG_next', "Tovább");
 define('OGP_LANG_encryption_key', "Titkosító kulcs (Agent)");
 define('OGP_LANG_agent_port', "Port (Agent)");
@@ -50,11 +50,11 @@ define('OGP_LANG_config_written', "A konfigurációs fájl létrehozása sikeres
 define('OGP_LANG_database_created', "Adatbázis táblák sikeresen létrehozva.");
 define('OGP_LANG_admin_login_details_info', "Most létrehozzuk az adminisztrátor felhasználót az Open Game Panelodhoz.");
 define('OGP_LANG_username', "Felhasználónév");
-define('OGP_LANG_repeat_password', "Jelszó ismét");
+define('OGP_LANG_repeat_password', "Jelszó újra");
 define('OGP_LANG_email', "E-mail cím");
 define('OGP_LANG_back', "Vissza");
 define('OGP_LANG_database_setup_failure', "A telepítő nem tudta létrehozni az adatbázist. Kérlek, ellenőrizd újra az adatbázis konfigurációdat.");
-define('OGP_LANG_php_version_check', "PHP verzió ellenőrzése:");
+define('OGP_LANG_php_version_check', "PHP verzió ellenőrzése");
 define('OGP_LANG_invalid_username', "A megadott felhasználónév érvénytelen.");
 define('OGP_LANG_password_too_short', "A jelszavad túl rövid. Legalább '%d' karakter hosszúnak kell lennie.");
 define('OGP_LANG_password_contains_invalid_characters', "A jelszavad érvénytelen karaktereket tartalmaz.");

+ 1 - 1
lang/Hungarian/modules/ftp.php

@@ -24,7 +24,7 @@
 
 define('OGP_LANG_pure-ftpd_accounts_for_remote_server_named', "FTP-fiókok a(z) %s nevű távoli kiszolgáló számára");
 define('OGP_LANG_ftp_address', "FTP cím: %s:%s");
-define('OGP_LANG_change_account_details', "Fiók adatok megváltoztatása");
+define('OGP_LANG_change_account_details', "Fiók adatok módosítása");
 define('OGP_LANG_remove_account', "Fiók törlése");
 define('OGP_LANG_ftp_account_already_exists', "Ez az FTP fiók már létezik.");
 define('OGP_LANG_full_path', "Teljes útvonal");

+ 1 - 1
lang/Hungarian/modules/update.php

@@ -26,7 +26,7 @@ include('litefm.php');
 define('OGP_LANG_curl_needed', "Ez az oldal megköveteli a PHP curl modult.");
 define('OGP_LANG_no_access', "Adminisztrátori jog szükséges az oldal eléréséhez.");
 define('OGP_LANG_dwl_update', "Frissítés letöltése...");
-define('OGP_LANG_dwl_complete', "A letöltés befejezve");
+define('OGP_LANG_dwl_complete', "A letöltés kész");
 define('OGP_LANG_install_update', "Frissítés telepítése...");
 define('OGP_LANG_update_complete', "Frissítés befejezve");
 define('OGP_LANG_ignored_files', "%s fájl figyelmen kívül hagyva.");

+ 1 - 1
lang/Portuguese(Brazil)/modules/server.php

@@ -44,7 +44,7 @@ define('OGP_LANG_no_ip_for_remote_host', "Você precisa adicionar pelo menos um
 define('OGP_LANG_note_remote_host', "Um host remoto é um servidor onde o Painel Agent está funcionando. Cada host pode ter um número múltiplo de endereços IP nos quais os usuários podem ligar servidores.");
 define('OGP_LANG_ip_administration', "Server &amp; IP Administration :: Open Game Panel");
 define('OGP_LANG_unknown_error', "Erro desconhecido - status_chk returned");
-define('OGP_LANG_remote_host_user_name', "UNIX user");
+define('OGP_LANG_remote_host_user_name', "Usuário UNIX");
 define('OGP_LANG_remote_host_user_name_info', "Nome de usuário onde o agente está sendo executado. Exemplo: Jonhy");
 define('OGP_LANG_remote_host_ftp_ip', "FTP IP");
 define('OGP_LANG_remote_host_ftp_ip_info', "O servidor FTP <b>IP</b> para o atual Agente.");

+ 2 - 2
modules/administration/banlist.php

@@ -34,7 +34,7 @@ function exec_ogp_module()
 		foreach($_POST as $name => $ip)
 		{
 			$ip = $db->real_escape_string($ip);
-			$db->query("UPDATE `OGP_DB_PREFIXban_list` SET logging_attempts='0', banned_until='0' WHERE client_ip = '$ip';");
+			$db->query("DELETE FROM `OGP_DB_PREFIXban_list` WHERE client_ip = '$ip';");
 		}
 	}
 	$ban_list = $db->resultQuery("SELECT logging_attempts, banned_until, client_ip FROM `OGP_DB_PREFIXban_list`;");
@@ -64,4 +64,4 @@ function exec_ogp_module()
 	}
 	echo create_back_button($_GET['m'],"main");
 }
-?>
+?>

+ 14 - 3
modules/administration/watch_logger.php

@@ -79,10 +79,21 @@ function exec_ogp_module() {
 	</thead> 
 	<tbody> 
 	<?php
-	if( isset( $_POST['log_id'] ) )
+	if( isset( $_POST['log_id'] ) ){
 		$db->del_logger_log($_POST['log_id']);
-	if( isset( $_POST['empty_logger'] ) )
+		$newLogs = array();
+		foreach($logs as $log){
+			if($log['log_id'] != $_POST['log_id']){
+				$newLogs[] = $log;
+			}
+		}
+		$logs = $newLogs;
+	}
+		
+	if( isset( $_POST['empty_logger'] ) ){
 		$db->empty_logger();
+		$logs = false;
+	}
 	
 	if($logs)
 	{
@@ -137,4 +148,4 @@ function exec_ogp_module() {
 	}
 	echo paginationPages($count_logs[0]['total'], $p, $l, $uri, 3, 'watchLogger');
 }
-?>
+?>

+ 7 - 7
modules/config_games/server_configs/zps.xml → modules/config_games/server_configs/zps_linux32.xml

@@ -5,7 +5,7 @@
   <installer>steamcmd</installer>
   <game_name>Zombie Panic! Source</game_name>
   <server_exec_name>srcds_run</server_exec_name>
-  <cli_template>%GAME_TYPE% %PID_FILE% %MAP% %IP% %PORT% %PLAYERS%</cli_template>
+  <cli_template>%GAME_TYPE% %PID_FILE% %MAP% %IP% %PORT% %PLAYERS% -steam</cli_template>
   <cli_params>
     <cli_param id="PID_FILE" cli_string="-pidfile ../" />
     <cli_param id="MAP" cli_string="+map" options="s" />
@@ -65,7 +65,7 @@
       <default>sv_maxrate.*</default>
       <default_value>0</default_value>
       <var>sv_maxrate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>Max bandwidth rate allowed on server ( bytes per second ), 0 == unlimited.</desc>
     </field>
@@ -73,7 +73,7 @@
       <default>sv_minrate.*</default>
       <default_value>5000</default_value>
       <var>sv_minrate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>Min bandwidth rate allowed on server ( bytes per second ), 0 == unlimited.</desc>
     </field>
@@ -81,7 +81,7 @@
       <default>sv_maxcmdrate.*</default>
       <default_value>66</default_value>
       <var>sv_maxcmdrate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>If sv_mincmdrate is > 0, this sets the maximum value for cl_cmdrate.</desc>
     </field>
@@ -89,7 +89,7 @@
       <default>sv_mincmdrate.*</default>
       <default_value>67</default_value>
       <var>sv_mincmdrate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>This sets the minimum value for cl_cmdrate. 0 == unlimited.</desc>
     </field>
@@ -97,7 +97,7 @@
       <default>sv_maxupdaterate.*</default>
       <default_value>66</default_value>
       <var>sv_maxupdaterate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>Maximum updates per second that the server will allow.</desc>
     </field>
@@ -105,7 +105,7 @@
       <default>sv_minupdaterate.*</default>
       <default_value>67</default_value>
       <var>sv_minupdaterate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>Minimum updates per second that the server will allow.</desc>
     </field>

+ 9 - 9
modules/config_games/server_configs/zps_win.xml → modules/config_games/server_configs/zps_win32.xml

@@ -5,7 +5,7 @@
   <installer>steamcmd</installer>
   <game_name>Zombie Panic! Source</game_name>
   <server_exec_name>srcds.exe</server_exec_name>
-  <cli_template>-console %GAME_TYPE% %PID_FILE% %MAP% %IP% %PORT% %PLAYERS% -condebug</cli_template>
+  <cli_template>-console %GAME_TYPE% %PID_FILE% %MAP% %IP% %PORT% %PLAYERS% -condebug -steam</cli_template>
   <cli_params>
     <cli_param id="PID_FILE" cli_string="-pidfile" options="s" />
     <cli_param id="MAP" cli_string="+map" options="s" />
@@ -22,8 +22,8 @@
   <mods>
     <mod key="zps">
       <name>none</name>
-	  <installer_name>17505</installer_name>
-	  <installer_login>anonymous</installer_login>
+      <installer_name>17505</installer_name>
+      <installer_login>anonymous</installer_login>
     </mod>
   </mods>
    <replace_texts>
@@ -62,7 +62,7 @@
       <default>sv_maxrate.*</default>
       <default_value>0</default_value>
       <var>sv_maxrate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>Max bandwidth rate allowed on server ( bytes per second ), 0 == unlimited.</desc>
     </field>
@@ -70,7 +70,7 @@
       <default>sv_minrate.*</default>
       <default_value>5000</default_value>
       <var>sv_minrate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>Min bandwidth rate allowed on server ( bytes per second ), 0 == unlimited.</desc>
     </field>
@@ -78,7 +78,7 @@
       <default>sv_maxcmdrate.*</default>
       <default_value>66</default_value>
       <var>sv_maxcmdrate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>If sv_mincmdrate is > 0, this sets the maximum value for cl_cmdrate.</desc>
     </field>
@@ -86,7 +86,7 @@
       <default>sv_mincmdrate.*</default>
       <default_value>67</default_value>
       <var>sv_mincmdrate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>This sets the minimum value for cl_cmdrate. 0 == unlimited.</desc>
     </field>
@@ -94,7 +94,7 @@
       <default>sv_maxupdaterate.*</default>
       <default_value>66</default_value>
       <var>sv_maxupdaterate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>Maximum updates per second that the server will allow.</desc>
     </field>
@@ -102,7 +102,7 @@
       <default>sv_minupdaterate.*</default>
       <default_value>67</default_value>
       <var>sv_minupdaterate</var>
-      <filepath>tf/cfg/server.cfg</filepath>
+      <filepath>zps/cfg/server.cfg</filepath>
       <options>s</options>
       <desc>Minimum updates per second that the server will allow.</desc>
     </field>

+ 24 - 1
modules/modulemanager/module_handling.php

@@ -33,7 +33,7 @@ function list_available_modules()
 /// \return 1 If module installation was successfull.
 /// \return 2 If module installation was optional and module was not installed.
 function install_module($db, $module, $install_if_optional = TRUE)
-{
+{	
     // each module must have module.php file which contains the required variables.
     /// \todo We might want to turn this to XML file.
     if ( !is_file("modules/".$module."/module.php") )
@@ -52,6 +52,29 @@ function install_module($db, $module, $install_if_optional = TRUE)
 
     if ( $db->isModuleInstalled($module) )
         return 0;
+        
+    // Prerequisites checking
+    if(isset($module_prereqs) && is_array($module_prereqs) && count($module_prereqs)){
+		$prereqPass = true;
+		$missingPrereqs = "";
+		$i = 0;
+		foreach($module_prereqs as $prereq){
+			if(!preReqInstalled($prereq)){
+				if($i == 0){
+					$missingPrereqs .= $prereq["name"];
+				}else{
+					$missingPrereqs .= ", " . $prereq["name"];
+				}
+				$prereqPass = false;
+			}
+			$i++;
+		}
+		
+		if(!$prereqPass){
+			print_failure(get_lang_f("prereqs_missing", $missingPrereqs, $module_title));
+			return -2;
+		}
+	}
 
     // Check if the module should be installed or not.
     if ( $install_if_optional == FALSE && $module_required == FALSE )