public function actionupdateall() { $dev = $this->M_devinfo->findAll(); FLEA::loadClass('Util_socketclient'); foreach ($dev as $devinfo) { $socket = new Util_socketclient(); $socket->socketconn($devinfo['ipaddr'], $devinfo['ipport']); foreach ($dev as $devinfo) { foreach ($devinfo['chninfo'] as $chninfo) { $return_socketmessage = $socket->sendmessage("SI{$chninfo['chn']}Z"); $return_socketmessage = $socket->analysisinfo($return_socketmessage); $update_chn_message = array('serial' => $chninfo['serial'], 'chn' => $return_socketmessage['chn'], 'apid' => $return_socketmessage['apid'], 'agcstat' => $return_socketmessage['agcstat'], 'gain' => $return_socketmessage['gain'], 'mutestat' => $return_socketmessage['mutestat'], 'passstat' => $return_socketmessage['passstat']); $this->M_chninfo->update($update_chn_message); unset($return_socketmessage); } } unset($socket); } redirect(url('socket', 'monitor')); }
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); }
} } else { //找到要更新的设备 $sql = "select * from socket_chninfo where serial='{$filed['chnserial']}' limit 1"; $result = mysql_query($sql); $chninfo = mysql_fetch_assoc($result); //找到设备对应的IP地址和端口 $sql = "select * from socket_devinfo where serial='{$chninfo['dev_no']}' limit 1"; $result = mysql_query($sql); $devinfo = mysql_fetch_assoc($result); //发送socket连接 $socket = new Util_socketclient(); $socket->socketconn($devinfo['ipaddr'], $devinfo['ipport']); // $sendcommand=$socket->gainmessage($chninfo['chn'],$filed['gain']); $sendcommand = "SG" . $chninfo['chn'] . $socket->setupgain($filed['gain']) . "Z"; $sendmessage = $socket->sendmessage($sendcommand); switch ($sendmessage) { case $socket->returntrue: //更新日期为当天日期 $sql = "update socket_dev_schedule set update_date='{$nowdate}' where serial='{$filed['serial']}'"; mysql_query($sql); //更新设备表 $sql = "update socket_chninfo set gain={$filed['gain']} where serial={$filed['chnserial']} limit 8"; mysql_query($sql); $log->writelog($devinfo['devname'], $sendcommand, 'SOKZ'); $message .= "<div>{$drivername}名:{$filed['prgname']} 设定时间:{$drivertype}{$filed['week']} - {$filed['schedule']} 调整音频:{$filed['gain']} 描述:{$filed['schedule_desc']} <b>[发送完成]</b></div>"; break; case $socket->returnfalse: $log->writelog($devinfo['devname'], $sendcommand, 'SFAILZ'); $message .= "<div>{$drivername}名:{$filed['prgname']} 设定时间:{$drivertype}{$filed['week']} - {$filed['schedule']} 调整音频:{$filed['gain']} 描述:{$filed['schedule_desc']} <b>[发送指令失败!]</b></div>"; break;