function Dongles_Modify() { global $mysqli; $session =& $_SESSION['Dongles_Modify']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // myprint($_REQUEST); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; // Init available outgoing rules (Rules) $query = "SELECT * FROM OutgoingRules ORDER BY Name"; $result = $mysqli->query($query) or die($mysqli->errno()); $Rules = array(); while ($row = $result->fetch_assoc()) { $Rules[] = $row; } $discovery_response = explode("\n", asterisk_Cmd('dongle discovery')); $discovered_dongles = array(); $discovered_i = -1; for ($i = 0; $i < sizeof($discovery_response); $i++) { if (substr($discovery_response[$i], 0, 1) == "[") { $discovered_i++; $discovered_dongles[$discovered_i] = array(); } elseif (substr($discovery_response[$i], 0, 4) == "imsi") { $discovered_dongles[$discovered_i]["IMSI"] = substr($discovery_response[$i], 5); } elseif (substr($discovery_response[$i], 0, 4) == "imei") { $discovered_dongles[$discovered_i]["IMEI"] = substr($discovery_response[$i], 5); } } // Init form data (Providers) if ($_REQUEST['submit'] == 'save') { $Dongle = formdata_from_post(); $Errors = formdata_validate($Dongle); if (count($Errors) == 0) { $id = formdata_save($Dongle); asterisk_UpdateConf('dongle.conf'); asterisk_UpdateConf('extensions.conf'); asterisk_Reload(); header("Location: Dongles_List.php?msg=MODIFY_DONGLE&hilight={$id}"); die; } } elseif ($_REQUEST['PK_Dongle'] != "") { $Dongle = formdata_from_db($_REQUEST['PK_Dongle']); } else { $Dongle = formdata_from_default(); } $smarty->assign('Dongle', $Dongle); $smarty->assign('DiscoveredDongles', $discovered_dongles); $smarty->assign('Message', $Message); $smarty->assign('Errors', $Errors); $smarty->assign('Rules', $Rules); return $smarty->fetch('Dongles_Modify.tpl'); }
function dongle_get_status($Dongle) { $Status = array('FK_Dongle' => $Dongle['PK_Dongle'], 'Status' => 'Unknown', 'RSSI' => 0, 'Mode' => 'Unknown', 'Provider' => 'Unknown'); $response = asterisk_Cmd("dongle show device state dongle{$Dongle['PK_Dongle']}"); $response = explode("\n", $response); foreach ($response as $line) { unset($regs); if (preg_match('/ *RSSI *: ([0-9]*)/', $line, $regs)) { $Status['RSSI'] = $regs['1']; } unset($regs); if (preg_match('/ *Provider Name *: (.*)/', $line, $regs)) { $Status['Provider'] = $regs[1]; } unset($regs); if (preg_match('/ *Mode *: (.*)/', $line, $regs)) { $Status['Mode'] = $regs[1]; } unset($regs); if (preg_match('/ *GSM Registration Status *: (.*)/', $line, $regs)) { $Status['Status'] = $regs[1]; } } return $Status; }