public function actionrestoredefault() { //发送指令 $message = '<br>'; FLEA::loadClass('Util_socketclient'); $dev_bak = FLEA::getSingleton('Model_devinitialinfo'); $dev = $dev_bak->findAll(); //如果备份表里为空,将退出; if (!$dev) { $this->_G->customshow('您当前没有备份的默认值,请先备份', "edit", "Index", 3, 0); exit; } foreach ($dev as $devinfo) { $socket = new Util_socketclient(); $socket->socketconn($devinfo['ipaddr'], $devinfo['ipport']); foreach ($devinfo['chninfo'] as $chninfo) { $sendcommand = $socket->messagetype($chninfo['chn'], $chninfo['apid'], $chninfo['agcstat'], $chninfo['gain'], $chninfo['mutestat'], $chninfo['passstat']); switch ($socket->sendmessage($sendcommand)) { case $socket->returntrue: $this->log->writelog($devinfo['devname'], $sendcommand, $socket->returntrue); $message .= "设备{$devinfo['devname']}通道号:{$devinfo['chn']}指令发送: [<font color=red><b>{$sendcommand}</b></font>]成功"; $type = '1'; case $socket->returnfalse: $this->log->writelog($devinfo['devname'], $sendcommand, $socket->returnfalse); $message .= "<font color=red>设备{$devinfo['devname']}通道号:{$devinfo['chn']}指令发送: [<b>{$sendcommand}</b>]失败</b>"; $type = '0'; } } unset($socket); } $message .= "<br>备份恢复完成"; $this->_G->customshow($message, 'edit', 'Index', 3, $type); }
public function actionModify() { if ($_POST['op']) { unset($_POST['op']); $devinfo = array('ipaddr' => $_POST['ipaddr'], 'ipport' => $_POST['ipport'], 'devname' => $_POST['devname'], 'serial' => $_POST['serial']); try { $db = FLEA::getDBO(); $db->startTrans(); $this->M_devinfo->update($devinfo); FLEA::loadClass('Util_socketclient'); $socket = new Util_socketclient(); $socket->socketconn($_POST['ipaddr'], $_POST['ipport']); for ($i = 1; $i < 9; $i++) { $this->log->ip = $_POST['ipaddr']; $sendcommand = $socket->messagetype($_POST["chn_{$i}"], str_pad($_POST["apid_{$i}"], 4, '0', STR_PAD_LEFT), $_POST["agcstat_{$i}"], $_POST["gain_{$i}"], $_POST["mutestat_{$i}"], $_POST["passstat_{$i}"]); switch ($socket->sendmessage($sendcommand)) { case $socket->returntrue: $this->log->writelog($_POST['devname'], $sendcommand, $socket->returntrue); $chninfo = array('serial' => $_POST["serial_{$i}"], 'chn' => $_POST["chn_{$i}"], 'chnshort' => $_POST["chninfo_{$i}"], 'apid' => str_pad($_POST["apid_{$i}"], 4, '0', STR_PAD_LEFT), 'prgname' => $_POST["prgname_{$i}"], 'agcstat' => $_POST["agcstat_{$i}"], 'gain' => $_POST["gain_{$i}"], 'mutestat' => $_POST["mutestat_{$i}"], 'passstat' => $_POST["passstat_{$i}"]); $this->M_chninfo->update($chninfo); unset($chninfo); break; case $socket->returnfalse: $this->log->writelog($_POST['devname'], $sendcommand, $socket->returnfalse); break; } sleep(1); } fclose($socket->socket); $db->completeTrans(); $this->_G->customshow("编辑成功", "socket", "Index", 3, 1); } catch (Exception $e) { $db->completeTrans(FALSE); $this->_G->customshow("编辑失败", "socket", "Index", 3, 0); } } else { // 内容:主页面 $this->_V->assign("_MainFile", "socket_edit.htm"); // 表单地址:添加 $this->_V->assign("_acurl", url("socket", "Modify")); // 操作: 编辑 $this->_V->assign("op", "m"); // 内容:导航条 $this->_V->assign("_CurrentlyPlace", $this->_N->genNav()); //不显示导航条 // $this->_V->assign('noview_navigation',TRUE); $DataList = $this->M_devinfo->find($_GET['serial']); $i = 1; // dump($DataList); foreach ($DataList['chninfo'] as &$chninfo) { $chninfo['check_id'] = "apid_{$i}"; $chninfo['num'] = $i; $chninfo['num_list'] = $i; $i++; } $this->_V->assign('gainarr', $this->socketClient->gainArray); $this->_V->assign("DataList", $DataList); $this->_V->display('sys_container.htm'); } }