public function actionallmondy() { if ($_POST['sub']) { //发送指令 FLEA::loadClass('Util_socketclient'); if ($_POST['dev']) { try { $db = FLEA::getDBO(); $db->startTrans(); foreach ($_POST['dev'] as $equipment) { $socket = new Util_socketclient(); $devinfo = $this->_M->find($equipment); if (!$devinfo) { continue; } $this->log->ip = $devinfo['ipaddr']; $socket_command = array('passstat' => "SP9{$_POST[passstat]}Z", 'mutestat' => "SM9{$_POST[mutestat]}Z", 'gain' => "SG9" . $socket->setupgain($_POST['gain']) . "Z"); $socket->socketconn($devinfo['ipaddr'], $devinfo['ipport']); foreach ($socket_command as $field => $command) { switch ($socket->sendmessage($command)) { case $socket->returntrue: $updatearr = array($field => $_POST[$field]); $this->M_chninfo->updateByConditions("dev_no={$equipment}", $updatearr); $this->log->writelog($devinfo['devname'], $command, $socket->returntrue); break; case $socket->returnfalse: $this->log->writelog($devinfo['devname'], $command, $socket->returnfalse); break; } sleep(1); } fclose($socket->socket); } $db->completeTrans(); $this->_G->customshow('发送指令成功', "edit", "Index", 3, 1); } catch (Exception $e) { $db->completeTrans(FALSE); $this->_G->customshow('发送指令失败', "edit", "Index", 3, 0); } } else { $message = " <font color=red><b>您没有选择设备!</b></font> "; } } else { $dev = $this->_M->findAll(); $this->_V->assign('dev', $dev); $this->_V->assign('gainArray', $this->socketClient->gainArray); $this->_V->display('edit_allmondy.htm'); } }
/** * 恢复设备默认设置 * */ public function actionResumeDefault() { $devinfo = $this->M_devinfo->find($_GET['serial']); $socket = FLEA::getSingleton('Util_socketclient'); $socket->socketconn($devinfo['ipaddr'], $devinfo['ipport']); $this->log->ip = $devinfo['ipaddr']; switch ($socket->sendmessage('SINITZ')) { case $socket->returntrue: $this->log->writelog($devinfo['devname'], 'SINITZ', $socket->returntrue); $serial = (int) $_GET['serial']; try { $db = FLEA::getDBO(); $db->startTrans(); sleep(1); for ($i = 1; $i < 9; $i++) { $return_socketinfo = $socket->sendmessage("SI{$i}Z"); if (strlen($return_socketinfo) == 13) { $chninfo = $socket->analysisinfo($return_socketinfo); if ($chninfo === FALSE) { exit($this->_G->customshow('获取设备信息出现乱码,请重试', $_GET['socket_C'], 'index', 3, 0)); } //如果有乱码将直接退出 #检测APID是否有相同 $this->M_chninfo->updateByConditions("dev_no='{$serial}' and chn='{$chninfo['chn']}'", $chninfo); $chninfo['prgname'] = " "; $chninfo['chnshort'] = " "; $this->M_chninfo->updateByConditions("dev_no='{$serial}' and chn='{$chninfo['chn']}'", $chninfo); 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); } break; case $socket->returnfalse: $this->log->writelog($devinfo['devname'], 'SINITZ', $socket->returnfalse); $this->_G->customshow("恢复出错,请重新恢复", 'socket', 'index', 0); break; } }