2013-08-28 22:47:04 +02:00
< ? php
2013-10-16 20:59:18 +02:00
2013-08-28 22:47:04 +02:00
/**
* File : get_password . php .
* Author : Ulrich Block
* Date : 03.10 . 12
* Time : 17 : 09
* Contact : < ulrich . block @ easy - wi . com >
*
* This file is part of Easy - WI .
*
* Easy - WI is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* Easy - WI is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with Easy - WI . If not , see < http :// www . gnu . org / licenses />.
*
* Diese Datei ist Teil von Easy - WI .
*
* Easy - WI ist Freie Software : Sie koennen es unter den Bedingungen
* der GNU General Public License , wie von der Free Software Foundation ,
* Version 3 der Lizenz oder ( nach Ihrer Wahl ) jeder spaeteren
* veroeffentlichten Version , weiterverbreiten und / oder modifizieren .
*
* Easy - WI wird in der Hoffnung , dass es nuetzlich sein wird , aber
* OHNE JEDE GEWAEHELEISTUNG , bereitgestellt ; sogar ohne die implizite
* Gewaehrleistung der MARKTFAEHIGKEIT oder EIGNUNG FUER EINEN BESTIMMTEN ZWECK .
* Siehe die GNU General Public License fuer weitere Details .
*
* Sie sollten eine Kopie der GNU General Public License zusammen mit diesem
* Programm erhalten haben . Wenn nicht , siehe < http :// www . gnu . org / licenses />.
*/
2013-09-27 08:22:09 +02:00
define ( 'EASYWIDIR' , dirname ( __FILE__ ));
2013-10-16 20:59:18 +02:00
2014-02-23 13:13:48 +01:00
include ( EASYWIDIR . '/stuff/methods/vorlage.php' );
include ( EASYWIDIR . '/stuff/methods/class_validator.php' );
2013-09-27 08:22:09 +02:00
include ( EASYWIDIR . '/stuff/config.php' );
2014-02-23 13:13:48 +01:00
include ( EASYWIDIR . '/stuff/methods/functions.php' );
2013-09-27 08:22:09 +02:00
include ( EASYWIDIR . '/stuff/settings.php' );
include ( EASYWIDIR . '/stuff/keyphrasefile.php' );
2013-10-16 20:59:18 +02:00
2013-11-01 11:45:03 +01:00
$ip = $ui -> ip ( 'REMOTE_ADDR' , 'server' );
2013-10-16 20:59:18 +02:00
2013-10-20 12:02:02 +02:00
if ( $ui -> st ( 'w' , 'get' ) == 'ms' and $ui -> username ( 'shorten' , 50 , 'get' )) {
2014-04-20 11:02:58 +02:00
2015-10-11 16:10:01 +02:00
$query = $sql -> prepare ( " SELECT r.`id`,r.`serverid`,r.`resellerid`,r.`installing`,r.`updating`,d.`resellerid` AS `userid`,s.`steamVersion`,r.`localVersion` FROM `rservermasterg` r INNER JOIN `rserverdata` d ON r.`serverid`=d.`id` INNER JOIN `servertypes` s ON r.`servertypeid`=s.`id` WHERE s.`shorten`=? AND (d.`ip`=? OR d.`altips` LIKE ?) LIMIT 1 " );
2014-04-20 11:02:58 +02:00
$query -> execute ( array ( $ui -> username ( 'shorten' , 50 , 'get' ), $ip , '%' . $ip . '%' ));
2015-10-11 15:52:11 +02:00
2014-11-30 12:55:07 +01:00
while ( $row = $query -> fetch ( PDO :: FETCH_ASSOC )) {
2014-04-20 11:02:58 +02:00
2015-10-11 15:52:11 +02:00
$steamVersion = floatval ( $row [ 'steamVersion' ]);
$localVersion = floatval ( $row [ 'localVersion' ]);
2014-04-20 11:02:58 +02:00
2015-10-11 15:52:11 +02:00
if ( $row [ 'installing' ] != 'N' or $row [ 'updating' ] != 'N' ) {
2014-04-20 11:02:58 +02:00
2015-10-11 15:52:11 +02:00
$query2 = $sql -> prepare ( " UPDATE `rservermasterg` SET `localVersion`=?,`installing`='N',`updating`='N' WHERE `id`=? LIMIT 1 " );
$query2 -> execute ( array ( $row [ 'steamVersion' ], $row [ 'id' ]));
2014-04-20 11:02:58 +02:00
2015-10-11 15:52:11 +02:00
if ( $steamVersion != $localVersion ) {
2015-10-11 16:10:01 +02:00
$query2 = $sql -> prepare ( " SELECT `id`,`userid`,CONCAT(`serverip`,':',`port`) AS `name` FROM `gsswitch` WHERE `rootID`=? AND `active`='Y' AND `stopped`='N' LIMIT 1 " );
$query2 -> execute ( array ( $row [ 'serverid' ]));
2014-11-30 12:55:07 +01:00
while ( $row2 = $query2 -> fetch ( PDO :: FETCH_ASSOC )) {
2015-10-11 15:52:11 +02:00
2014-04-23 21:12:13 +02:00
$query2 = $sql -> prepare ( " UPDATE `gsswitch` SET `jobPending`='Y' WHERE `id`=? AND `resellerid`=? LIMIT 1 " );
$query2 -> execute ( array ( $row2 [ 'id' ], $row [ 'resellerid' ]));
2014-04-20 11:02:58 +02:00
2014-04-23 21:12:13 +02:00
$query2 = $sql -> prepare ( " UPDATE `jobs` SET `status`='2' WHERE `type`='gs' AND (`status` IS NULL OR `status`='1') AND (`action`='re' OR `action`='st') AND `affectedID`=? and `resellerID`=? " );
$query2 -> execute ( array ( $row2 [ 'id' ], $row [ 'resellerid' ]));
2014-04-20 11:02:58 +02:00
2014-04-23 21:12:13 +02:00
$query2 = $sql -> prepare ( " INSERT INTO `jobs` (`api`,`type`,`hostID`,`invoicedByID`,`affectedID`,`userID`,`name`,`status`,`date`,`action`,`resellerid`) VALUES ('R','gs',?,?,?,?,?,NULL,NOW(),'re',?) " );
2015-10-11 16:32:01 +02:00
$query2 -> execute ( array ( $row [ 'serverid' ], $row [ 'resellerid' ], $row2 [ 'id' ], $row2 [ 'userid' ], $row2 [ 'name' ], $row [ 'resellerid' ]));
2014-04-23 21:12:13 +02:00
}
2014-04-20 11:02:58 +02:00
$query2 = $sql -> prepare ( " SELECT `id` FROM `userdata` WHERE ((`resellerid`=? AND `accounttype`='a') OR (`id`=? AND `accounttype`='r')) AND `mail_gsupdate`='Y' " );
$query2 -> execute ( array ( $row [ 'resellerid' ], $row [ 'resellerid' ]));
2014-11-30 12:55:07 +01:00
while ( $row2 = $query2 -> fetch ( PDO :: FETCH_ASSOC )) {
2015-10-11 15:52:11 +02:00
sendmail ( 'emailgserverupdate' , $row2 [ 'id' ], $ip , $ui -> username ( 'shorten' , 50 , 'get' ));
2013-08-28 22:47:04 +02:00
}
}
}
}
2014-04-20 11:02:58 +02:00
2013-08-28 22:47:04 +02:00
echo 'ok' ;
2014-01-26 22:59:31 +01:00
} else if ( $ui -> st ( 'w' , 'get' ) == 'bu' and $ui -> id ( 'id' , 19 , 'get' ) and $ui -> username ( 'shorten' , 50 , 'get' ) and $ui -> ip ( 'ip' , 'get' )) {
2014-04-20 11:02:58 +02:00
2013-09-29 15:29:58 +02:00
$query = $sql -> prepare ( " SELECT g.`id`,CONCAT(g.`serverip`,':',g.`port`) AS `server`,g.`userid` FROM `gsswitch` g INNER JOIN `rserverdata` r ON g.`rootID`=r.`id` WHERE r.`ip`=? AND s.`customer`=? AND g.`port`=? AND g.`serverip`=? LIMIT 1 " );
2014-04-20 11:02:58 +02:00
$query2 = $sql -> prepare ( " SELECT 1 FROM `userdata` WHERE `mail_backup`='Y' AND `id`=? LIMIT 1 " );
2013-10-20 12:02:02 +02:00
$query -> execute ( array ( $ip , $ui -> username ( 'shorten' , 50 , 'get' ), $ui -> id ( 'id' , 19 , 'get' ), $ui -> ip ( 'ip' , 'get' )));
2014-11-30 12:55:07 +01:00
while ( $row = $query -> fetch ( PDO :: FETCH_ASSOC )) {
2014-04-20 11:02:58 +02:00
$query2 -> execute ( array ( $row [ 'userid' ]));
if ( $query2 -> rowCount () > 0 ) {
2013-10-10 08:06:37 +02:00
sendmail ( 'emailbackup' , $row [ 'userid' ], $row [ 'server' ], '' );
2013-08-28 22:47:04 +02:00
}
}
2014-04-20 11:02:58 +02:00
2013-08-28 22:47:04 +02:00
echo 'ok' ;
2014-01-26 22:59:31 +01:00
} else if ( $ui -> st ( 'w' , 'get' ) == 'rb' and $ui -> id ( 'id' , 19 , 'get' ) and $ui -> username ( 'shorten' , 50 , 'get' ) and $ui -> ip ( 'ip' , 'get' )) {
2014-05-01 19:20:58 +02:00
2014-01-26 22:59:31 +01:00
$query = $sql -> prepare ( " SELECT g.`id`,CONCAT(g.`serverip`,':',g.`port`) AS `server`,g.`userid` FROM `gsswitch` g INNER JOIN `rserverdata` r ON g.`rootID`=r.`id` INNER JOIN `userdata` u ON g.`userid`=u.`id` WHERE r.`ip`=? AND u.`cname`=? AND g.`port`=? AND g.`serverip`=? LIMIT 1 " );
2014-05-01 19:20:58 +02:00
$query2 = $sql -> prepare ( " SELECT `mail_backup` FROM `userdata` WHERE `mail_backup`='Y' AND `id`=? LIMIT 1 " );
2013-10-20 12:02:02 +02:00
$query -> execute ( array ( $ip , $ui -> username ( 'shorten' , 50 , 'get' ), $ui -> id ( 'id' , 19 , 'get' ), $ui -> ip ( 'ip' , 'get' )));
2014-11-30 12:55:07 +01:00
while ( $row = $query -> fetch ( PDO :: FETCH_ASSOC )) {
2014-05-01 19:20:58 +02:00
$query2 -> execute ( array ( $row [ 'userid' ]));
2014-11-30 12:55:07 +01:00
while ( $row2 = $query2 -> fetch ( PDO :: FETCH_ASSOC )) {
2014-01-26 22:59:31 +01:00
sendmail ( 'emailbackuprestore' , $row [ 'userid' ], $row [ 'server' ], '' );
2013-08-28 22:47:04 +02:00
}
}
2014-05-01 19:20:58 +02:00
2013-08-28 22:47:04 +02:00
echo 'ok' ;
2014-01-26 22:59:31 +01:00
2013-08-28 22:47:04 +02:00
} else {
2014-05-01 19:20:58 +02:00
2013-09-29 15:29:58 +02:00
$query = $sql -> prepare ( " SELECT AES_DECRYPT(`pass`,?) AS `decryptedpass`,`ip`,`userid` FROM `virtualcontainer` WHERE `ip`=? AND `status`='2' LIMIT 1 " );
2014-05-01 19:20:58 +02:00
$query2 = $sql -> prepare ( " UPDATE `virtualcontainer` SET `status`='0' WHERE `ip`=? LIMIT 1 " );
$query3 = $sql -> prepare ( " SELECT `mail_vserver` FROM `userdata` WHERE `id`=? LIMIT 1 " );
$query -> execute ( array ( $aeskey , $ip ));
2014-11-30 12:55:07 +01:00
while ( $row = $query -> fetch ( PDO :: FETCH_ASSOC )) {
2014-05-01 19:20:58 +02:00
2013-10-13 11:42:31 +02:00
$pass = $row [ 'decryptedpass' ];
$userid = $row [ 'userid' ];
$ip = $row [ 'ip' ];
2014-05-01 19:20:58 +02:00
$query2 -> execute ( array ( $ip ));
$query3 -> execute ( array ( $userid ));
2014-11-30 12:55:07 +01:00
while ( $row3 = $query3 -> fetch ( PDO :: FETCH_ASSOC )) {
2014-05-01 19:20:58 +02:00
if ( $row3 [ 'mail_vserver' ] == 'Y' ) {
sendmail ( 'emailvinstall' , $userid , $ip , $pass );
2013-08-28 22:47:04 +02:00
}
}
}
2014-05-01 19:20:58 +02:00
echo ( isset ( $pass )) ? $pass : 'old' ;
2013-08-28 22:47:04 +02:00
}
2014-05-01 19:20:58 +02:00
2013-10-13 11:42:31 +02:00
$sql = null ;