EngineGP/system/engine/autocontrol.php

74 lines
2.3 KiB
PHP
Raw Permalink Normal View History

2023-03-04 23:45:46 +00:00
<?php
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
2023-03-04 23:45:46 +00:00
$aAction = array('script', 'sqlpasswd', 'proftpd', 'proftpd_modules', 'proftpd_sql', 'proftpd_passwd', 'proftpd_sqldump', 'rclocal', 'nginx', 'mysqlaptconfig', 'endinstall');
2023-03-04 23:45:46 +00:00
if (!isset($url['action']) || !in_array($url['action'], $aAction))
include(ENG . '404.php');
2023-03-04 23:45:46 +00:00
$del = true;
2023-03-04 23:45:46 +00:00
switch ($url['action']) {
case 'script':
$sql->query('SELECT `id` FROM `control` WHERE `address`="' . $uip . '" LIMIT 1');
if (!$sql->num())
sys::out($uip);
2023-03-04 23:45:46 +00:00
$del = false;
$tmp = DATA . 'control/egpautounit.sh';
2023-03-04 23:45:46 +00:00
break;
2023-03-04 23:45:46 +00:00
case 'sqlpasswd':
$sql->query('SELECT `id`, `sql_passwd` FROM `control` WHERE `address`="' . $uip . '" LIMIT 1');
if (!$sql->num())
include(ENG . '404.php');
2023-03-04 23:45:46 +00:00
$unit = $sql->get();
2023-03-04 23:45:46 +00:00
if ($unit['sql_passwd'])
$tmp = sys::temp($unit['sql_passwd']);
else {
$passwd = sys::passwd();
$tmp = sys::temp($passwd);
$sql->query('UPDATE `control` set `sql_passwd`="' . $passwd . '" WHERE `id`="' . $unit['id'] . '" LIMIT 1');
}
2023-03-04 23:45:46 +00:00
break;
2023-03-04 23:45:46 +00:00
case 'proftpd_sql':
$sql->query('SELECT `id`, `sql_passwd` FROM `control` WHERE `address`="' . $uip . '" LIMIT 1');
if (!$sql->num())
include(ENG . '404.php');
2023-03-04 23:45:46 +00:00
$unit = $sql->get();
2023-03-04 23:45:46 +00:00
$data = file_get_contents(DATA . 'control/proftpd_sql.txt');
$tmp = sys::temp(str_replace('[passwd]', $unit['sql_passwd'], $data));
2023-03-04 23:45:46 +00:00
break;
2023-03-04 23:45:46 +00:00
case 'proftpd_passwd':
$sql->query('SELECT `id`, `sql_passwd` FROM `control` WHERE `address`="' . $uip . '" LIMIT 1');
if (!$sql->num())
include(ENG . '404.php');
2023-03-04 23:45:46 +00:00
$unit = $sql->get();
2023-03-04 23:45:46 +00:00
$data = file_get_contents(DATA . 'control/proftpd_passwd.txt');
$tmp = sys::temp(str_replace(array('[passwd]', '[passwd_ftp]'), array($unit['sql_passwd'], sys::passwd()), $data));
2023-03-04 23:45:46 +00:00
break;
2023-03-04 23:45:46 +00:00
case 'endinstall':
$sql->query('UPDATE `control` set `status`="reboot" WHERE `address`="' . $uip . '" LIMIT 1');
2023-03-04 23:45:46 +00:00
sys::out('ok:' . $uip);
2023-03-04 23:45:46 +00:00
default:
sys::outfile(DATA . 'control/' . $url['action'] . '.txt', $url['action']);
}
2023-03-04 23:45:46 +00:00
sys::outfile($tmp, $url['action'], $del);
2023-03-04 23:45:46 +00:00
?>