query('SELECT `address` FROM `control` WHERE `id`="' . $servers[4] . '" LIMIT 1'); if (!$sql->num()) return NULL; $unit = $sql->get(); unset($servers[3], $servers[4]); $sql->query('SELECT `unit` FROM `control_servers` WHERE `id`="' . $servers[5] . '" LIMIT 1'); $server = $sql->get(); $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="' . $server['unit'] . '" LIMIT 1'); $unit = $sql->get(); include(LIB . 'ssh.php'); // Проверка ssh соедниения пу с локацией if (!$ssh->auth($unit['passwd'], $unit['address'])) return NULL; foreach ($servers as $id) { $sql->query('SELECT `uid` FROM `control_servers` WHERE `id`="' . $id . '" LIMIT 1'); $server = $sql->get(); $admins = $sql->query('SELECT `id`, `text` FROM `control_admins_' . $game . '` WHERE `server`="' . $id . '" AND `active`="1" AND `time`<"' . $start_point . '"'); if (!$sql->num($admins)) continue; $cmd = 'cd /servers/' . $server['uid'] . ';'; while ($admin = $sql->get($admins)) { $cmd .= 'sed -i -e \'s/' . escapeshellcmd(htmlspecialchars_decode($admin['text'])) . '//g\' ' . cron::$admins_file[$game] . ';'; $sql->query('UPDATE `admins_' . $game . '` set `active`="0" WHERE `id`="' . $admin['id'] . '" LIMIT 1'); } $cmd .= 'sed -i ' . "'/./!d'" . ' ' . cron::$admins_file[$game] . '; echo -e "\n" >> ' . cron::$admins_file[$game] . ';'; $cmd .= 'chown server' . $server['uid'] . ':1000 ' . cron::$admins_file[$game]; $ssh->set($cmd); } return NULL; } } ?>