This commit is contained in:
Ulrich Block 2013-11-23 20:48:22 +01:00
parent 2a76151623
commit ca615cd027
14 changed files with 118 additions and 69 deletions

View File

@ -87,9 +87,9 @@ if (isset($include) and $include == true) {
<li>Autoupdater für Minecraft Craft Bukkit hinzugefügt</li>
<li>Im Falle eines Totalverlustes des Roots können alle Gameserver mit einem Klick neu erstellt werden</li>
</ul></li>
<li>MYSQL:
<li>MySQL:
<ul>
<li>Beschreibung kann bei MYSQL Datenbanken mit angegeben werden</li>
<li>Beschreibung kann bei MySQL Datenbanken mit angegeben werden</li>
</ul></li>
<li>Voiceserver:
<ul>
@ -109,7 +109,7 @@ if (isset($include) and $include == true) {
<li>Validator beim Editieren der eigenen Userdaten korrigiert</li>
<li>Veraltete Icons in der Protectionabfrage des CMS ersetzt</li>
<li>Leihserverübersicht im CMS wird korrekt dargestellt</li>
<li>MYSQL Modul verwaltet die Datenbankuser korrekt</li>
<li>MySQL Modul verwaltet die Datenbankuser korrekt</li>
<li>Erfolgreiches Anlegen eines Vertreters gibt nun den Erfolg an den User zurück</li>
<li>Fehlendes Template admin_voicemasterserver_dltpl hinzugefügt</li>
<li>Reinstall von Gameservern im Adminpanel korrigiert</li>
@ -158,9 +158,9 @@ if (isset($include) and $include == true) {
<li>Added Minecraft Craft Bukkit autoupdater</li>
<li>In case a whole rootserver is lost and replaced all users and server can be recreated with one click</li>
</ul></li>
<li>MYSQL:
<li>MySQL:
<ul>
<li>Description can be added with a MYSQL database</li>
<li>Description can be added with a MySQL database</li>
</ul></li>
<li>User:
<ul>
@ -188,7 +188,7 @@ if (isset($include) and $include == true) {
<li>Correct validator used in case of editing own userdata</li>
<li>Outdated icons replaced at protectioncheck within the CMS</li>
<li>Lendserver overview is displayed correctly at CMS</li>
<li>MYSQL module maintains DB users without errors</li>
<li>MySQL module maintains DB users without errors</li>
<li>Success message in case of adding a substitute</li>
<li>Added missing template admin_voicemasterserver_dltpl</li>
<li>Corrected reinstall gameservern at adminpanel</li>

View File

@ -56,7 +56,7 @@ unset($name);
$table = array(
1 => array('id' =>1, 'active' => 'Y', 'name' => $gsprache->gameserver, 'sub' => 'gs', 'type' => $sprache->type_core),
2 => array('id' =>2, 'active' => 'Y', 'name' => 'Easy Anti Cheat', 'sub' => 'ea', 'type' => $sprache->type_core),
3 => array('id' =>3, 'active' => 'Y', 'name' => 'MYSQL', 'sub' => 'my', 'type' => $sprache->type_core),
3 => array('id' =>3, 'active' => 'Y', 'name' => 'MySQL', 'sub' => 'my', 'type' => $sprache->type_core),
4 => array('id' =>4, 'active' => 'Y', 'name' => $gsprache->voiceserver, 'sub' => 'vo', 'type' => $sprache->type_core),
5 => array('id' =>5, 'active' => 'Y', 'name' => $gsprache->lendserver, 'sub' => 'le', 'type' => $sprache->type_core),
6 => array('id' =>6, 'active' => 'Y', 'name' => $gsprache->support, 'sub' => 'ti', 'type' => $sprache->type_core),

View File

@ -92,7 +92,7 @@ $what_to_be_included_array = array(
'ap' => 'api_settings.php', 'aa' => 'api_external_auth.php', 'ui' => 'api_import_users.php', 'jb' => 'jobs_list.php', 'bu' => 'mysql_root.php',
'vc' => 'versioncheck.php', 'ib' => 'ip_bans.php', 'se' => 'panel_settings.php', 'cc' => 'panel_settings_columns.php', 'sm' => 'panel_settings_email.php', 'lo' => 'logdata.php', 'ml' => 'maillog.php', 'sr' => 'admin_search.php',
'us' => 'user.php', 'ug' => 'user_groups.php',
'ip' => 'imprint.php', 'su' => 'global_userdata.php'
'su' => 'global_userdata.php'
);
if ($reseller_id == 0) {
@ -104,7 +104,7 @@ if ($reseller_id == 0) {
$what_to_be_included_array['pd'] = 'page_downloads.php';
}
$easywiModules = array('gs' => true, 'ea' => true, 'my' => true, 'ro' => true, 'ti' => true, 'le' => true, 'vo' => true);
$easywiModules = array('gs' => true, 'ip' => true, 'ea' => true, 'my' => true, 'ro' => true, 'ti' => true, 'le' => true, 'vo' => true);
$customModules = array('gs' => array(), 'mo' => array(), 'my' => array(), 'ro' => array(), 'ti' => array(), 'us' => array(), 'vo' => array(), 'pa' => array());
$query = $sql->prepare("SELECT * FROM `modules` WHERE `type` IN ('A','C')");
@ -173,3 +173,7 @@ if ($easywiModules['vo'] === true) {
$what_to_be_included_array['vr'] = 'voice_tsdnsrecords.php';
$what_to_be_included_array['vm'] = 'voice_master.php';
}
if ($easywiModules['ip'] === true) {
$what_to_be_included_array['ip'] = 'imprint.php';
}

View File

@ -53,6 +53,48 @@ if (!isurl($pageurl) or (!isdomain($pageurl) and (!isurl($pageurl)))) {
$page_sprache = getlanguagefile('page', $user_language, 0);
$page_data = new PageSettings($user_language, $pageurl, $seo);
$easywiModules = array('gs' => true, 'ip' => true, 'ea' => true, 'my' => true, 'ro' => true, 'ti' => true, 'le' => true, 'vo' => true);
$customModules = array('gs' => array(), 'mo' => array(), 'my' => array(), 'ro' => array(), 'ti' => array(), 'us' => array(), 'vo' => array(), 'pa' => array());
$query = $sql->prepare("SELECT * FROM `modules` WHERE `type` IN ('P','C')");
$query2 = $sql->prepare("SELECT `text` FROM `translations` WHERE `type`='mo' AND `transID`=? AND `lang`=? LIMIT 1");
$query->execute();
foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) {
if ($row['active'] == 'Y' and $row['type'] == 'A' and is_file(EASYWIDIR . '/stuff/' . $row['file'])) {
$query2->execute(array($row['id'], $user_language));
$name = $query2->fetchColumn();
if (strlen($name) == 0) {
$query2->execute(array($row['id'], $rSA['language']));
$name = $query2->fetchColumn();
}
if (strlen($name) == 0) {
$name = $row['file'];
}
$customModules[$row['sub']][$row['get']] = $name;
$what_to_be_included_array[$row['get']] = $row['file'];
} else if ($row['type'] == 'C' and $row['active'] == 'N') {
$easywiModules[$row['get']] = false;
}
}
$what_to_be_included_array = array('news' => 'page_news.php','contact' => 'page_contact.php',
'page' => 'page_page.php','home' => 'page_page.php','about' => 'page_page.php','gallery' => 'page_page.php','sitemap' => 'page_page.php','search' => 'page_page.php',
'tag' => 'page_tag.php','categories' => 'page_tag.php','downloads' => 'page_download.php',
'lendserver' => 'lend.php',
'protectioncheck' => 'protectioncheck.php',
'register' => 'page_register.php'
);
if ($easywiModules['ip'] === true) {
$what_to_be_included_array['ip'] = 'imprint.php';
}
$query = $sql->prepare("SELECT `active`,`activeGS`,`activeVS` FROM `lendsettings` WHERE `resellerid`=0 LIMIT 1");
$query->execute();
foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) {
@ -101,7 +143,6 @@ if ($seo== 'Y') {
foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) {
if ($row['naviDisplay'] == 'Y') {
$page_data->SetMenu($row['title'], $row['title'], $row['subpage'], $row['id']);
} else {
$page_data->SetMenu($row['title'], $row['title'], $row['subpage'], $row['id'], false);
}
@ -227,14 +268,6 @@ if (!isset($s) and !isset($page_category) and isset($page_default) and isid($pag
} else if (!isset($s) and !isset($page_category) and isset($page_default)) {
$s = $page_default;
} else if (!isset($s) and isset($page_category) and $page_category != '' and $page_category != null) {
$s='404';
$s = 404;
$throw404 = true;
}
$what_to_be_included_array=array('news' => 'page_news.php','contact' => 'page_contact.php',
'page' => 'page_page.php','home' => 'page_page.php','about' => 'page_page.php','gallery' => 'page_page.php','sitemap' => 'page_page.php','search' => 'page_page.php',
'tag' => 'page_tag.php','categories' => 'page_tag.php','downloads' => 'page_download.php',
'lendserver' => 'lend.php',
'protectioncheck' => 'protectioncheck.php',
'imprint' => 'imprint.php',
'register' => 'page_register.php'
);

View File

@ -50,7 +50,6 @@ $query->execute();
$statusTime = ceil($query->fetchColumn());
$gsprache->help_home = str_replace('%n%', $statusTime, $gsprache->help_home);
$gsprache->help_sidebar = str_replace('%n%', $statusTime, $gsprache->help_sidebar);
$gsprache->greating_home = str_replace('%name%', $ewCfg['title'], $gsprache->greating_home);
# https://github.com/easy-wi/developer/issues/2
if (isset($_SESSION['sID'])) {
@ -113,7 +112,10 @@ if (isset($_SESSION['sID'])) {
$query->execute(array($user_id));
$virtualcount = $query->fetchColumn();
if (!isset($reseller_id)) $reseller_id = 0;
if (!isset($reseller_id)) {
$reseller_id = 0;
}
if (isset($admin_id) and $admin_id==$reseller_id) {
$resellerid = 0;
} else if (isset($reseller_id)) {
@ -121,14 +123,6 @@ if (isset($_SESSION['sID'])) {
} else {
$resellerid = 0;
}
$query = $sql->prepare("SELECT `imprint` FROM `imprints` WHERE language=? AND resellerid=? LIMIT 1");
$query->execute(array($user_language,$resellerid));
if (strlen($query->fetchColumn())>1) {
$showImprint=true;
}
else {
$showImprint=false;
}
}
if (isset($lastlogin) and $lastlogin != null and $lastlogin != '0000-00-00 00:00:00') {
@ -139,10 +133,10 @@ if (isset($lastlogin) and $lastlogin != null and $lastlogin != '0000-00-00 00:00
# https://github.com/easy-wi/developer/issues/61
# basic modules array. available at any time to anyone
$what_to_be_included_array = array('ip' => 'imprint.php','lo' => 'userpanel_logdata.php','ti' => 'userpanel_tickets.php');
$what_to_be_included_array = array('lo' => 'userpanel_logdata.php','ti' => 'userpanel_tickets.php');
$easywiModules = array('gs' => true, 'my' => true, 'ro' => true, 'ti' => true, 'le' => true, 'vo' => true);
$easywiModules = array('gs' => true, 'ip' => true, 'my' => true, 'ro' => true, 'ti' => true, 'le' => true, 'vo' => true);
$customModules = array('gs' => array(), 'mo' => array(), 'my' => array(), 'ro' => array(), 'ti' => array(), 'us' => array(), 'vo' => array());
$query = $sql->prepare("SELECT * FROM `modules` WHERE `type` IN ('U','C')");
@ -207,3 +201,7 @@ if ($virtualcount > 0 and $easywiModules['ro'] === true) {
if ($dbcount > 0 and $easywiModules['my'] === true) {
$what_to_be_included_array['my'] = 'userpanel_mysql.php';
}
if ($easywiModules['ip'] === true) {
$what_to_be_included_array['ip'] = 'imprint.php';
}

View File

@ -128,7 +128,7 @@ if ($ui->w('action', 4, 'post') and !token(true)) {
$query = $sql->prepare("SELECT * FROM `jobs` $where ORDER BY $orderby LIMIT $start,$amount");
$query->execute(array($reseller_id));
}
$type=array('de' => $gsprache->dedicated,'ds' => 'TS3 DNS','gs' => $gsprache->gameserver,'my' => 'MYSQL','us' => $gsprache->user,'vo' => $gsprache->voiceserver,'vs' => $gsprache->virtual);
$type=array('de' => $gsprache->dedicated,'ds' => 'TS3 DNS','gs' => $gsprache->gameserver,'my' => 'MySQL','us' => $gsprache->user,'vo' => $gsprache->voiceserver,'vs' => $gsprache->virtual);
foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) {
if ($user_language == 'de') {
$date=date('Y-d-m H:m:s',strtotime($row['date']));

View File

@ -70,16 +70,16 @@ foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) {
$max_connections_per_hour = $row['max_connections_per_hour'];
$max_userconnections_per_hour = $row['max_userconnections_per_hour'];
if ($row2['action'] == 'dl') {
$command = $gsprache->del.' MYSQLDBID: '.$row2['affectedID'].' DBName: '.$row['dbname'];
$command = $gsprache->del.' MySQLDBID: '.$row2['affectedID'].' DBName: '.$row['dbname'];
$remotesql->DelDB($dbname);
$delete = $sql->prepare("DELETE FROM `mysql_external_dbs` WHERE `id`=? LIMIT 1");
$delete->execute(array($row2['affectedID']));
customColumns('M', $row2['affectedID'], 'del');
} else if ($row2['action'] == 'ad') {
$command = $gsprache->add.' MYSQLDBID: '.$row2['affectedID'].' DBName: '.$row['dbname'];
$command = $gsprache->add.' MySQLDBID: '.$row2['affectedID'].' DBName: '.$row['dbname'];
$remotesql->AddDB($dbname,$password,$ips,$max_queries_per_hour,$max_connections_per_hour,$max_updates_per_hour,$max_userconnections_per_hour);
} else {
$command = $gsprache->mod.' MYSQLDBID: '.$row2['affectedID'].' DBName: '.$row['dbname'];
$command = $gsprache->mod.' MySQLDBID: '.$row2['affectedID'].' DBName: '.$row['dbname'];
$remotesql->ModDB($dbname,$password,$ips,$max_queries_per_hour,$max_connections_per_hour,$max_updates_per_hour,$max_userconnections_per_hour);
}
$theOutput->printGraph($command);

View File

@ -40,6 +40,7 @@
$query = $sql->prepare("SELECT * FROM `jobs` WHERE (`status` IS NULL OR `status`='1') AND `type`='us'");
$query->execute();
foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) {
if ($row['action'] == 'dl') {
$command = $gsprache->del.' cleanup userID: ' . $row['affectedID'] . ' name:' . $row['name'];
} else if ($row['action'] == 'ad') {
@ -47,32 +48,39 @@ foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) {
} else {
$command = $gsprache->mod.' userID: ' . $row['affectedID'] . ' name:' . $row['name'];
}
$query2 = $sql->prepare("SELECT `id`,`rootID`,`serverip`,`port`,`resellerid` FROM `gsswitch` WHERE `userid`=?");
$query2->execute(array($row['affectedID']));
$insert = $sql->prepare("INSERT INTO `jobs` (`api`,`type`,`invoicedByID`,`affectedID`,`hostID`,`userID`,`name`,`status`,`date`,`action`,`extraData`,`resellerid`) VALUES ('S','gs',?,?,?,?,?,NULL,NOW(),?,?,?)");
foreach ($query2->fetchAll(PDO::FETCH_ASSOC) as $row2) {
$insert->execute(array($row['invoicedByID'], $row2['id'], $row2['rootID'], $row['affectedID'], $row2['serverip'] . ':' . $row2['port'], $row['action'], $row['extraData'], $row2['resellerid']));
}
$query2 = $sql->prepare("SELECT `id`,`masterserver`,`ip`,`port`,`resellerid` FROM `voice_server` WHERE `userid`=?");
$query2->execute(array($row['affectedID']));
$insert = $sql->prepare("INSERT INTO `jobs` (`api`,`type`,`invoicedByID`,`affectedID`,`hostID`,`userID`,`name`,`status`,`date`,`action`,`extraData`,`resellerid`) VALUES ('S','vo',?,?,?,?,?,NULL,NOW(),?,?,?)");
foreach ($query2->fetchAll(PDO::FETCH_ASSOC) as $row2) {
$insert->execute(array($row['invoicedByID'], $row2['id'], $row2['masterserver'], $row['affectedID'], $row2['ip'] . ':' . $row2['port'], $row['action'], $row['extraData'], $row2['resellerid']));
}
$query2 = $sql->prepare("SELECT `dnsID`,`dns`,`ip`,`port`,`tsdnsID`,`resellerID` FROM `voice_dns` WHERE `userID`=?");
$query2->execute(array($row['affectedID']));
$insert = $sql->prepare("INSERT INTO `jobs` (`api`,`type`,`invoicedByID`,`affectedID`,`hostID`,`userID`,`name`,`status`,`date`,`action`,`extraData`,`resellerid`) VALUES ('S','ds',?,?,?,?,?,NULL,NOW(),?,?,?)");
foreach ($query2->fetchAll(PDO::FETCH_ASSOC) as $row2) {
$insert->execute(array($row['invoicedByID'], $row2['dnsID'], $row2['tsdnsID'], $row['affectedID'], $row2['ip'] . ':' . $row2['port'] . ' ' . $row2['dns'], $row['action'], $row['extraData'], $row2['resellerID']));
}
$query2 = $sql->prepare("SELECT `id`,`sid`,`dbname`,`resellerid` FROM `mysql_external_dbs` WHERE `uid`=?");
$query2->execute(array($row['affectedID']));
$insert = $sql->prepare("INSERT INTO `jobs` (`api`,`type`,`invoicedByID`,`affectedID`,`hostID`,`userID`,`name`,`status`,`date`,`action`,`extraData`,`resellerid`) VALUES ('S','my',?,?,?,?,?,NULL,NOW(),?,?,?)");
foreach ($query2->fetchAll(PDO::FETCH_ASSOC) as $row2) {
$insert->execute(array($row['invoicedByID'], $row2['id'], $row2['sid'], $row['affectedID'], $row2['dbname'], $row['action'], $row['extraData'], $row2['resellerid']));
}
$update = $sql->prepare("UPDATE `jobs` SET `status`='4' WHERE `jobID`=? LIMIT 1");
$update->execute(array($row['jobID']));
updateJobs($row['affectedID'], $row['resellerID'],$jobPending='Y');
$theOutput->printGraph($command);
}

View File

@ -40,7 +40,9 @@
if (!function_exists('removeUser')) {
function removeUser ($userID, $tables, $reseller = null) {
global $sql;
foreach ($tables as $table => $column) {
if ($reseller == null) {
$query = $sql->prepare("DELETE FROM `" . $table . "` WHERE `" . $column . "`=?");
@ -52,9 +54,11 @@ if (!function_exists('removeUser')) {
}
}
}
$query = $sql->prepare("SELECT * FROM `jobs` j WHERE `status`='4' AND `type`='us' AND `action` IN ('dl','md') AND NOT EXISTS (SELECT 1 FROM `jobs` WHERE `userID`=j.`userID` AND (`status`=1 OR `status` IS NULL) AND `type`!='us' LIMIT 1)");
$query->execute();
foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) {
$ok = true;
if ($row['action'] == 'dl') {

View File

@ -134,7 +134,7 @@ if ($ui->w('action', 4, 'post') and !token(true)) {
$pdelete2 = $sql->prepare("DELETE FROM `mysql_external_dbs` WHERE `sid`=? AND `resellerid`=?");
$pdelete2->execute(array($id,$reseller_id));
$template_file = $spracheResponse->table_del;
$loguseraction="%del% MYSQL Server $ip";
$loguseraction="%del% MySQL Server $ip";
$insertlog->execute();
} else {
$id = $ui->id('id', 10, 'get');
@ -189,7 +189,7 @@ if ($ui->w('action', 4, 'post') and !token(true)) {
$pupdate = $sql->prepare("UPDATE `mysql_external_servers` SET `active`=?,`ip`=?,`port`=?,`user`=?,`password`=AES_ENCRYPT(?,?),`max_databases`=?,`interface`=?,`max_queries_per_hour`=?,`max_updates_per_hour`=?,`max_connections_per_hour`=?,`max_userconnections_per_hour`=? WHERE `id`=? AND `resellerid`=? LIMIT 1");
$pupdate->execute(array($active,$ip,$port,$user,$password,$aeskey,$max_databases,$interface,$max_queries_per_hour,$max_updates_per_hour,$max_connections_per_hour,$max_userconnections_per_hour,$id,$reseller_id));
$template_file = $spracheResponse->table_add;
$loguseraction="%mod% MYSQL Server $ip";
$loguseraction="%mod% MySQL Server $ip";
$insertlog->execute();
}
}
@ -220,7 +220,7 @@ if ($ui->w('action', 4, 'post') and !token(true)) {
$pinsert = $sql->prepare("INSERT INTO `mysql_external_servers` (`active`,`ip`,`port`,`user`,`password`,`max_databases`,`interface`,`max_queries_per_hour`,`max_updates_per_hour`,`max_connections_per_hour`,`max_userconnections_per_hour`,`resellerid`) VALUES (?,?,?,?,AES_ENCRYPT(?,?),?,?,?,?,?,?,?)");
$pinsert->execute(array($active,$ip,$port,$user,$password,$aeskey,$max_databases,$interface,$max_queries_per_hour,$max_updates_per_hour,$max_connections_per_hour,$max_userconnections_per_hour,$reseller_id));
$template_file = $spracheResponse->table_add;
$loguseraction="%add% MYSQL Server $ip";
$loguseraction="%add% MySQL Server $ip";
$insertlog->execute();
}
}
@ -302,7 +302,7 @@ if ($ui->w('action', 4, 'post') and !token(true)) {
$reply = $remotesql->AddDB($dbname,$password,$ips,$max_queries_per_hour,$max_connections_per_hour,$max_updates_per_hour,$max_userconnections_per_hour);
customColumns('D',$id,'save');
$template_file = $spracheResponse->table_add;
$loguseraction="%add% MYSQL DB $dbname ($ip)";
$loguseraction="%add% MySQL DB $dbname ($ip)";
$insertlog->execute();
} else {
$template_file = $remotesql->error;
@ -389,7 +389,7 @@ if ($ui->w('action', 4, 'post') and !token(true)) {
if ($active == 'N' and $old_active == 'Y') $password=passwordgenerate(20);
$remotesql->ModDB($dbname,$password,$ips,$max_queries_per_hour,$max_connections_per_hour,$max_updates_per_hour,$max_userconnections_per_hour);
$template_file = $spracheResponse->table_add;
$loguseraction="%mod% MYSQL DB $dbname ($ip)";
$loguseraction="%mod% MySQL DB $dbname ($ip)";
$insertlog->execute();
} else {
$template_file = $remotesql->error;
@ -433,7 +433,7 @@ if ($ui->w('action', 4, 'post') and !token(true)) {
$query->execute(array($id,$reseller_id));
customColumns('D',$id,'del');
$template_file = $spracheResponse->table_del;
$loguseraction="%del% MYSQL DB $dbname ($ip)";
$loguseraction="%del% MySQL DB $dbname ($ip)";
$insertlog->execute();
} else {
$template_file = $remotesql->error;

View File

@ -397,7 +397,9 @@ if ($ui->w('action', 4, 'post') and !token(true)) {
$ip = $row['ip'];
$bitversion = $row['bitversion'];
}
if (!isset($bitversion)) $bitversion=64;
if (!isset($bitversion)) {
$bitversion = 64;
}
if (isset($ip)) {
$extraData = array();
if ($ui->st('action', 'post') == 'ri') {

View File

@ -799,7 +799,7 @@ if ($ui->w('action', 4, 'post') and !token(true)) {
$maxplayers = 0;
$imgName = '16_bad';
$imgAlt = 'Stopped';
} else if (($name == 'OFFLINE' or $name == '') and $notified>=$rSA['down_checks'] and $stopped == 'N') {
} else if (($name == 'OFFLINE' or $name == '') and $stopped == 'N') {
$numplayers = 0;
$maxplayers = 0;
$imgName = '16_error';