public function get_dir() { if (!$this->input['server_id'] || intval($this->input['server_id']) == -1) { $this->errorOutput('请选择一台服务器'); } $dir = $this->input['dir'] ? $this->input['dir'] : '/'; $sql = " SELECT * FROM " . DB_PREFIX . "server WHERE id = '" . intval($this->input['server_id']) . "'"; $server = $this->db->query_first($sql); $cmd = array('action' => 'ls', 'para' => $dir, 'user' => $server['user'], 'pass' => hg_encript_str($server['password'], 0), 'charset' => 'utf8'); $sock = new hgSocket(); if (!($status = $sock->connect($server['ip'], $server['port']))) { $this->errorOutput('未连接上服务器,请检查python有没有启动'); } $sock->sendCmd($cmd); $dir_content = $sock->readall(); $dir_arr = explode("\n", trim($dir_content)); $this->addItem($dir_arr); $this->output(); }
function write_serv_file($server, $file, $content, $charset = '') { $socket = new hgSocket(); $ip = trim($server['ip']); $port = intval($server['port']); $user = trim($server['user']); $pass = trim($server['pass']); if (!$ip || !$port || !$user || !$pass || !$content) { return array(); } $cmd = array('action' => 'write2file', 'para' => $file, 'data' => $content, 'user' => $user, 'pass' => $pass, 'charset' => $charset); $con = $socket->connect($ip, $port); $socket->sendCmd($cmd); $content = $socket->readall(); if ($content == 'success') { return 1; } return 0; }
private function doservcmd($host, $cmd, $para, $tardir, $content, $target, $linkname) { echo '<ul>'; $port = 6233; $socket = new hgSocket(); $con = $socket->connect($host, $port); if (!$con) { echo '<li>服务器未能连接</li>'; } else { $suffix = strrchr($dir, '.'); $cmd = array('action' => $cmd, 'para' => $para, 'dir' => $tardir, 'user' => $user, 'pass' => $pass, 'data' => $content, 'target' => $target, 'linkname' => $linkname, 'charset' => 'utf8'); $socket->sendCmd($cmd); $content = $socket->readall(); echo '<textarea cols="113" rows="30" name="content">'; echo $content; echo '</textarea>'; } echo '</ul>'; }
public function show_opration() { if (!$this->input['id']) { $this->errorOutput(NOID); } $sql = " SELECT * FROM " . DB_PREFIX . "server WHERE id = '" . intval($this->input['id']) . "'"; $server = $this->db->query_first($sql); $cmd = array('action' => 'top', 'user' => $server['user'], 'pass' => hg_encript_str($server['password'], 0), 'charset' => 'utf8'); $sock = new hgSocket(); if (!($status = $sock->connect($server['ip'], $server['port']))) { $this->errorOutput('未连接上服务器,请检查python有没有启动'); } $sock->sendCmd($cmd); $configs = $sock->readall(); if ($this->input['replace']) { $this->addItem($configs); } else { $cmd2 = array('action' => 'df', 'para' => '-h', 'user' => $server['user'], 'pass' => hg_encript_str($server['password'], 0), 'charset' => 'utf8'); $sock2 = new hgSocket(); if (!($status = $sock2->connect($server['ip'], $server['port']))) { $this->errorOutput('未连接上服务器,请检查python有没有启动'); } $sock2->sendCmd($cmd2); $df = $sock2->readall(); $this->addItem(array('config' => $configs, 'id' => intval($this->input['id']), 'df' => $df)); } $this->output(); }
public function exec_cmd() { if (!$this->input['id']) { $this->errorOutput(NOID); } if (!$this->input['serverid']) { $this->errorOutput(NOID); } $cmd = array('stop', 'start', 'restart'); $cmd_field = array('stop_cmd', 'start_cmd', 'restart_cmd'); $sql = "SELECT * FROM " . DB_PREFIX . "services WHERE id = '" . intval($this->input['id']) . "'"; $arr = $this->db->query_first($sql); $sql = " SELECT * FROM " . DB_PREFIX . "server WHERE id = '" . intval($this->input['serverid']) . "'"; $server = $this->db->query_first($sql); $cmd = array('action' => $cmd[intval($this->input['cmd'])], 'para' => $arr[$cmd_field[$this->input['cmd']]], 'user' => $server['user'], 'pass' => hg_encript_str($server['password'], 0), 'charset' => 'utf8'); $sock = new hgSocket(); if (!($status = $sock->connect($server['ip'], $server['port']))) { $this->errorOutput('未连接上服务器,请检查python有没有启动'); } $sock->sendCmd($cmd); $this->addItem('success'); $this->output(); }
$dir = array(); for ($i = $c; $i >= 0; $i--) { if ($tmp[$i] == '..') { $back++; } else { if ($back == 0) { $dir[] = $tmp[$i]; } else { $back--; } } } krsort($dir); $para = implode('/', $dir); $para = $para ? $para : '/'; $socket->sendCmd($cmd); $result = $socket->readall(); if (hg_chk_result($result) < 0) { $data = array('para' => $para, 'objid' => $objid, 'html' => ''); echo json_encode($data); exit; } $result = str_replace(array("\r\n", "\r"), "\n", $result); $dirs = explode("\n", $result); ob_end_clean(); ob_start(); include 'tpl/dir.tpl.php'; $html = ob_get_contents(); ob_end_clean(); $html = str_replace(array("\r\n", "\r", "\n"), '', $html); $data = array('para' => $para, 'objid' => $objid, 'html' => $html);
public function check_pgerp($server, $name) { $cmd = array('action' => 'pgrep', 'para' => $name, 'user' => $server['user'], 'pass' => hg_encript_str($server['password'], 0), 'charset' => 'utf8'); $sock = new hgSocket(); if (!($status = $sock->connect($server['ip'], $server['port']))) { $this->errorOutput('未连接上服务器,请检查python有没有启动'); } $source = $sock->sendCmd($cmd); if (!$source) { $this->errorOutput('发送数据有问题'); } $status = $sock->readall(); return $status ? 1 : 2; }