redirect_standard('polycomphones_form'); } if (isset($_GET['pushcheck'])) { if (($failed = polycomphones_push_checkconfig()) !== true) { polycomphones_checkconfig($failed); } redirect_standard('polycomphones_form'); } if (isset($_GET['checkconfig'])) { polycomphones_checkconfig(!empty($_GET['checkconfig']) ? $_GET['checkconfig'] : null); redirect_standard('polycomphones_form'); } if (isset($_GET['clearoverrides'])) { $mac = !empty($_GET['clearoverrides']) ? $_GET['clearoverrides'] : null; $id = !empty($_GET['clearoverrides']) ? polycomphones_lookup_mac($mac) : null; polycomphones_clear_overrides($mac); if (($failed = polycomphones_push_checkconfig($id)) !== true) { polycomphones_checkconfig($failed); } redirect_standard('polycomphones_form'); } $devices = polycomphones_get_phones_list(); require 'modules/polycomphones/views/polycomphones_phones.php'; break; case 'phones_edit': if (isset($_POST['action']) && $_POST['action'] == 'edit') { $device['name'] = $_POST['name']; $device['mac'] = strtolower($_POST['mac']); foreach ($_POST['line'] as $key => $value) { $key++; $device['lines'][$key]['deviceid'] = null;
</alertInfo> </SIP> </voIpProt> </polycomConfig>'); $id = polycomphones_lookup_mac($_GET['mac']); $polycom_request = strpos($_SERVER['HTTP_USER_AGENT'], 'Polycom') !== false; if ($id == null && !$polycom_request) { die; } if ($polycom_request) { $matches = array(); preg_match('/FileTransport Polycom([^\\/.]*)/', $_SERVER['HTTP_USER_AGENT'], $matches); if ($id == null) { sql("INSERT INTO polycom_devices (name, mac, model, lastconfig, lastip) \n\t\t\tVALUES ('Auto Added','" . $db->escapeSimple($_GET['mac']) . "','" . $db->escapeSimple($matches[1]) . "',NOW(),'" . $db->escapeSimple($_SERVER['REMOTE_ADDR']) . "')"); $id = sql("SELECT LAST_INSERT_ID()", 'getOne'); polycomphones_clear_overrides($_GET['mac']); polycomphones_save_phones_directory($_GET['mac'], array()); } else { sql("UPDATE polycom_devices SET lastconfig = NOW(), \n\t\t\tmodel = '" . $db->escapeSimple($matches[1]) . "',\n\t\t\tlastip = '" . $db->escapeSimple($_SERVER['REMOTE_ADDR']) . "'\n\t\t\tWHERE id = '" . $db->escapeSimple($id) . "'"); } } $device = polycomphones_get_phones_edit($id); $alerts = polycomphones_get_alertinfo_list(); $general = polycomphones_get_general_edit(); $exchange_module = polycomphones_check_module('exchangeum'); $parking_module = polycomphones_check_module('parking'); $features_module = polycomphones_check_module('phonefeatures'); // Lines $primary = ''; $flexiblekeys = array_reverse(polycomphones_get_flexiblekeys($device, 'line')); $i = 1;
function polycomphones_save_phones_edit($id, $device) { global $db; $create = empty($id); if (empty($id)) { sql("INSERT INTO polycom_devices (name, mac) \n\t\t\tVALUES ('" . $db->escapeSimple($device['name']) . "','" . $db->escapeSimple($device['mac']) . "')"); $id = sql("SELECT LAST_INSERT_ID()", 'getOne'); } else { sql("UPDATE polycom_devices SET \n\t\t\t\tname = '" . $db->escapeSimple($device['name']) . "',\n\t\t\t\tmac = '" . $db->escapeSimple($device['mac']) . "'\n\t\t\tWHERE id = '" . $db->escapeSimple($id) . "'"); } sql("DELETE FROM polycom_device_lines WHERE id = '" . $db->escapeSimple($id) . "'"); sql("DELETE FROM polycom_device_line_settings WHERE id = '" . $db->escapeSimple($id) . "'"); foreach ($device['lines'] as $lineid => $line) { sql("INSERT INTO polycom_device_lines (id, lineid, deviceid, externalid) \n\t\t\tVALUES ('" . $db->escapeSimple($id) . "','" . $db->escapeSimple($lineid) . "'," . ($line['deviceid'] != null ? "'" . $db->escapeSimple($line['deviceid']) . "'" : 'NULL') . "," . ($line['externalid'] != null ? "'" . $db->escapeSimple($line['externalid']) . "'" : 'NULL') . ")"); $entries = array(); foreach ($line['settings'] as $key => $val) { $entries[] = '\'' . $db->escapeSimple($id) . '\',\'' . $db->escapeSimple($lineid) . '\',\'' . $db->escapeSimple($key) . '\',\'' . $db->escapeSimple($val) . '\''; } if (count($entries) > 0) { sql("INSERT INTO polycom_device_line_settings (id, lineid, keyword, value) \n\t\t\t\tVALUES (" . implode('),(', $entries) . ")"); } } sql("DELETE FROM polycom_device_attendants WHERE id = '" . $db->escapeSimple($id) . "'"); foreach ($device['attendants'] as $attendantid => $attendant) { sql("INSERT INTO polycom_device_attendants (id, attendantid, keyword, value, label, type) \n\t\t\tVALUES ('" . $db->escapeSimple($id) . "','" . $db->escapeSimple($attendantid) . "','" . $db->escapeSimple($attendant['keyword']) . "','" . $db->escapeSimple($attendant['value']) . "','" . $db->escapeSimple($attendant['label']) . "','" . $db->escapeSimple($attendant['type']) . "')"); } $entries = array(); foreach ($device['settings'] as $key => $val) { $entries[] = '\'' . $db->escapeSimple($id) . '\',\'' . $db->escapeSimple($key) . '\',\'' . $db->escapeSimple($val) . '\''; } if (count($entries) > 0) { sql("REPLACE INTO polycom_device_settings (id, keyword, value) \n\t\t\tVALUES (" . implode('),(', $entries) . ")"); } if ($create) { polycomphones_clear_overrides($device['mac']); polycomphones_save_phones_directory($device['mac'], array()); } }