function SoundFiles_Ajax() { global $mysqli; $session =& $_SESSION['SoundFilesAjax']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $data = $_REQUEST; $response = array(); switch ($data['Action']) { case 'RecordSound': $UID = uniqid(time()); asterisk_RecordSound($_REQUEST['Extension'], '/usr/share/asterisk/sounds/vm-then-pound', $UID); $response['TmpFile'] = "/tmp/{$UID}.wav"; break; case 'PlayFile': $PK_SoundFile = $_REQUEST['PK_SoundFile']; $Extension = $_REQUEST['Extension']; $query = "SELECT Filename FROM SoundFiles WHERE PK_SoundFile = {$PK_SoundFile} LIMIT 1"; $result = $mysqli->query($query) or die($mysqli->error . $query); $row = $result->fetch_row(); $File = pathinfo($row[0]); asterisk_PlaySound($Extension, $File['dirname'] . '/' . $File['filename']); break; case 'VerifyFile': if (file_exists($_REQUEST['File'])) { $response['FileExists'] = 1; } else { $response['FileExists'] = 0; } break; } echo json_encode($response); }
function VoipProviders_List() { global $mysqli; $session =& $_SESSION['VoipProviders_List']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; // Init sort order (Order) if ($session['Sort'] == $_REQUEST['Sort']) { $Order = $session['Order'] == "asc" ? "desc" : "asc"; } elseif ($session['Sort'] != $_REQUEST['Sort']) { $Order = 'asc'; } $session['Order'] = $Order; // Init sort field (Sort) if (isset($_REQUEST['Sort'])) { $Sort = $_REQUEST['Sort']; } else { $Sort = 'Name'; } $session['Sort'] = $Sort; // Init table fields (Extensions) $Providers = array(); $query = "\n\t\t\tSELECT\n\t\t\t\tPK_SipProvider AS _PK_,\n\t\t\t\tName AS Name,\n\t\t\t\t'SIP' AS Type,\n\t\t\t\tAccountID AS AccountID,\n\t\t\t\tHost AS Host,\n\t\t\t\tCallbackExtension AS CallbackExtension\n\t\t\tFROM\n\t\t\t\tSipProviders\n\t\tORDER BY\n\t\t\t{$Sort} {$Order}\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $Providers[] = $row; } $smarty->assign('Errors', $Errors); $smarty->assign('Providers', $Providers); $smarty->assign('Sort', $Sort); $smarty->assign('Order', $Order); $smarty->assign('Message', $Message); $smarty->assign('Hilight', isset($_REQUEST['hilight']) ? $_REQUEST['hilight'] : ""); return $smarty->fetch('VoipProviders_List.tpl'); }
function Extensions_DialTone_Modify() { global $mysqli; $session =& $_SESSION['Extensions_SimpleConf_Modify']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; if (@$_REQUEST['submit'] == 'save') { $Extension = formdata_from_post(); $Errors = formdata_validate($Extension); if (count($Errors) == 0) { if ($Extension['PK_Extension'] != '') { $msg = 'MODIFY_DIALTONE_EXTENSION'; } else { $msg = 'ADD_DIALTONE_EXTENSION'; } $id = formdata_save($Extension); header("Location: Extensions_List.php?hilight={$id}&msg={$msg}"); die; } } elseif (@$_REQUEST['PK_Extension'] != "") { $Extension = formdata_from_db($_REQUEST['PK_Extension']); } else { $Extension = formdata_from_default(); } $smarty->assign('Extension', $Extension); $smarty->assign('Errors', $Errors); return $smarty->fetch('Extensions_DialTone_Modify.tpl'); }
function TimeFrames_Delete() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_Timeframe = $_REQUEST['PK_Timeframe']; // In confirmed, do the actual delete if (@$_REQUEST['submit'] == 'delete_confirm') { // See if user is alowed to update this timeframe $query = "\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tTimeframes\n\t\t\tWHERE\n\t\t\t\tPK_Timeframe = {$PK_Timeframe}\n\t\t\t\tAND\n\t\t\t\tFK_Extension = '" . $mysqli->real_escape_string($_SESSION['_USER']['PK_Extension']) . "'\n\t\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); if ($result->num_rows != 1) { header('Location: TimeFrames.php?msg=DELETE_TIMEFRAME'); die; } $query = "DELETE FROM Timeframes WHERE PK_Timeframe = {$PK_Timeframe} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM Timeframe_Intervals WHERE FK_Timeframe = {$PK_Timeframe}"; $mysqli->query($query) or die($mysqli->error); header('Location: TimeFrames.php?msg=DELETE_TIMEFRAME'); die; } // Init template info (Template) $query = "SELECT * FROM Timeframes WHERE PK_Timeframe = {$PK_Timeframe} LIMIT 1"; $result = $mysqli->query($query) or die($mysqli->error); $Timeframe = $result->fetch_assoc(); $smarty->assign('Timeframe', $Timeframe); return $smarty->fetch('TimeFrames_Delete.tpl'); }
function SoundLanguages_Delete() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_SoundLanguage = $_REQUEST['PK_SoundLanguage']; if ($PK_SoundLanguage == "") { $PK_SoundLanguage = $_REQUEST['PK']; } // In confirmed, do the actual delete if (@$_REQUEST['submit'] == 'delete_confirm') { $query = "DELETE FROM SoundLanguages WHERE PK_SoundLanguage = {$PK_SoundLanguage} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); if ($mysqli->affected_rows != 1) { return; } header('Location: SoundLanguages_List.php?msg=DELETE_LANGUAGE'); die; } // Init extension info (Extension) $query = "SELECT * FROM SoundLanguages WHERE PK_SoundLanguage = {$PK_SoundLanguage} LIMIT 1"; $result = $mysqli->query($query) or die($mysqli->error); $SoundLanguage = $result->fetch_assoc(); $smarty->assign('SoundLanguage', $SoundLanguage); return $smarty->fetch('SoundLanguages_Delete.tpl'); }
function IVR_Menus_Modify() { global $mysqli; $session =& $_SESSION['IVR_Menus_Modify']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); if (@$_REQUEST['submit'] == 'save') { $Menu = formdata_from_post(); $Errors = formdata_validate($Action); if (count($Errors) == 0) { if ($Menu['PK_Menu'] != '') { $msg = 'MODIFY_MENU'; } else { $msg = 'ADD_MENU'; } $id = formdata_save($Menu); header("Location: IVR_Menus.php?PK_Menu={$id}&msg={$msg}"); die; } } elseif (@$_REQUEST['PK_Menu'] != "") { $Menu = formdata_from_db($_REQUEST['PK_Menu']); } else { $Menu = formdata_from_default(); } $smarty->assign('Menu', $Menu); $smarty->assign('Errors', $Errors); return $smarty->fetch('IVR_Menus_Modify.tpl'); }
function TimeFrames() { global $mysqli; $session =& $_SESSION['TimeFrames']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init Message $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; // If requested, create new timeframe if (isset($_POST['sumbit'])) { $data = $_POST; if (strlen($data['Name']) < 1 || strlen($data['Name']) > 30) { $errors['Name'] = true; } if (count($errors) == 0) { $query = "INSERT INTO Timeframes(Name) VALUES('" . $mysqli->real_escape_string($_POST['Name']) . "')"; $mysqli->query($query) or die($mysqli->error . $query); $PK_Timeframe = $mysqli->insert_id; header("Location: TimeFrames_Modify.php?msg=CREATE_TIMEFRAME&FK_Timeframe={$PK_Timeframe}"); die; } } // Init table fields (Timeframes) $Timeframes = array(); $query = "\n\t\tSELECT\n\t\t\tPK_Timeframe AS _PK_,\n\t\t\tName AS Name\n\t\tFROM\n\t\t\tTimeframes\n\t\tWHERE\n\t\t\tFK_Extension = 0\n\t\tORDER BY Name\n\t"; $result = $mysqli->query($query) or die($mysqli->error); while ($row = $result->fetch_assoc()) { $Timeframes[] = $row; } $smarty->assign('Timeframes', $Timeframes); $smarty->assign('Errors', $errors); $smarty->assign('Message', $Message); return $smarty->fetch('TimeFrames.tpl'); }
function Groups_Popup_Create() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init form data (Group, Errors) if (@$_REQUEST['submit'] == 'save') { $Group = formdata_from_post(); $Errors = formdata_validate($Group); if (count($Errors) == 0) { $id = formdata_save($Group); return ' <script type="text/javascript" src="../script/jquery.selectboxes.js"></script> <script> $("#Groups", opener.document).addOption("' . $id . '", "' . $Group['Name'] . '"); window.close(); </script> '; } } else { if ($_REQUEST['PK_Group'] != "") { $Group = formdata_from_db($_REQUEST['PK_Group']); } } // Init Availabe Extensions $query = "\n\t\tSELECT\n\t\t\tExtensions.PK_Extension AS PK_Extension,\n\t\t\tExtension,\n\t\t\tName\n\t\tFROM\n\t\t\tExtensions\n\t\tWHERE\n\t\t\tType IN ('Virtual','SipPhone')\n\t\tORDER BY\n\t\t\tExtension ASC\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); $Extensions = array(); while ($row = $result->fetch_assoc()) { $Extensions[] = $row; } $smarty->assign('Errors', $Errors); $smarty->assign('Group', $Group); $smarty->assign('Extensions', $Extensions); return $smarty->fetch('Groups_Popup_Create.tpl'); }
function Groups_Delete() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_Group = $_REQUEST['PK_Group']; // In confirmed, do the actual delete if (@$_REQUEST['submit'] == 'delete_confirm') { $query = "DELETE FROM Groups WHERE PK_Group = {$PK_Group} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); header('Location: Groups_List.php?msg=DELETE_GROUP'); die; } // Init template info (Group) $query = "\n\t\tSELECT\n\t\t\tPK_Group,\n\t\t\tName\n\t\tFROM\n\t\t\tGroups\n\t\tWHERE\n\t\t\tPK_Group = {$PK_Group}\n\t\tLIMIT 1\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); $Group = $result->fetch_assoc(); $query = "\n\t\tSELECT\n\t\t\tExtension,\n\t\t\tExtensions.PK_Extension,\n\t\t\tName\n\t\tFROM\n\t\t\tExtension_Groups\n\t\t\tINNER JOIN Extensions ON Extensions.PK_Extension = FK_Extension\n\t\tWHERE\n\t\t\tFK_Group = {$PK_Group}\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); $Group['Extensions'] = array(); while ($row = $result->fetch_assoc()) { $Group['Extensions'][] = $row; } $smarty->assign('Group', $Group); return $smarty->fetch('Groups_Delete.tpl'); }
function MOH_Groups_List() { global $mysqli; $session =& $_SESSION['Groups']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; // Init sort order (Order) if ($session['Sort'] == $_REQUEST['Sort']) { $Order = $session['Order'] == "asc" ? "desc" : "asc"; } elseif ($session['Sort'] != $_REQUEST['Sort']) { $Order = 'asc'; } $session['Order'] = $Order; // Init sort field (Sort) if (isset($_REQUEST['Sort'])) { $Sort = $_REQUEST['Sort']; } else { $Sort = 'Name'; } $session['Sort'] = $Sort; // Init table fields (Groups) $Groups = array(); $query = "\n\t\tSELECT\n\t\t\t*\n\t\tFROM\n\t\t\tMoh_Groups\n\t\tORDER BY \n\t\t\t`{$Sort}` {$Order}\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $Groups[] = $row; } $smarty->assign('Groups', $Groups); $smarty->assign('Sort', $Sort); $smarty->assign('Order', $Order); $smarty->assign('Message', $Message); $smarty->assign('Hilight', isset($_REQUEST['hilight']) ? $_REQUEST['hilight'] : ""); return $smarty->fetch('MOH_Groups_List.tpl'); }
function MOH_Groups_Modify() { global $mysqli; $session =& $_SESSION['MOH_Groups_Modify']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; if (@$_REQUEST['submit'] == 'save') { $Group = formdata_from_post(); $Errors = formdata_validate($Group); if (count($Errors) == 0) { if ($Group['PK_Group'] != '') { $msg = 'MODIFY_MOH_GROUP'; } else { $msg = 'ADD_MOH_GROUP'; } $id = formdata_save($Group); asterisk_UpdateConf('musiconhold.conf'); asterisk_Reload(); header("Location: MOH_Groups_List.php?hilight={$id}&msg={$msg}"); die; } } elseif (@$_REQUEST['PK_Group'] != "") { $Group = formdata_from_db($_REQUEST['PK_Group']); } else { $Group = formdata_from_default(); } $smarty->assign('Group', $Group); $smarty->assign('Errors', $Errors); return $smarty->fetch('MOH_Groups_Modify.tpl'); }
function Account_Modify() { $session =& $_SESSION['Account_Modify']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; // Init form data (Extension) if (@$_REQUEST['submit'] == 'save') { $Extension = formdata_from_post(); $Errors = formdata_validate($Extension); if (count($Errors) == 0) { $id = formdata_save($Extension); asterisk_UpdateConf('sip.conf'); asterisk_UpdateConf('voicemail.conf'); asterisk_Reload(); header("Location: Account_Modify.php?msg=MODIFY_EXTENSION&hilight={$id}"); die; } } else { $Extension = formdata_from_db($_SESSION['_USER']['PK_Extension']); } $smarty->assign('Extension', $Extension); $smarty->assign('Message', $Message); $smarty->assign('Errors', $Errors); return $smarty->fetch('Account_Modify.tpl'); }
function OutgoingCalls() { global $mysqli; $session =& $_SESSION['OutgoingCalls']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; if (isset($_REQUEST['submit']) && ($_REQUEST['submit'] == 'add_cid_rule' || $_REQUEST['submit'] == 'add_cids_rule')) { $query = "\n\t\t\tINSERT INTO\n\t\t\t\tOutgoingCIDRules\n\t\t\tSET\n\n\t\t\t\tType = '" . ($_REQUEST['submit'] == 'add_cid_rule' ? 'Single' : 'Multiple') . "',\n\t\t\t\tExtensionStart = 0,\n\t\t\t\tExtensionEnd = 0,\n\t\t\t\tFK_OutgoingRule = 0,\n\t\t\t\t`Add` = 0,\n\t\t\t\tPrependDigits = '',\n\t\t\t\tName = '',\n\t\t\t\tNumber = ''\n\t\t"; $mysqli->query($query) or die($mysqli->error . $query); $HiligthRule = $mysqli->insert_id; } // Outgoing Rules (OutgoingRules) $OutgoingRules = array(); $query = "\n\t\t(SELECT\n\t\t\tPK_OutgoingRule,\n\t\t\tRuleOrder,\n\t\t\tBeginWith,\n\t\t\tOutgoingRules.Name,\n\t\t\tRestBetweenHigh,\n\t\t\tRestBetweenLow,\n\t\t\t'VoIP' AS ProviderType,\n\t\t\tProtected,\n\t\t\tSipProviders.Name AS ProviderName\n\t\tFROM\n\t\t\tOutgoingRules\n LEFT JOIN SipProviders ON PK_SipProvider = ProviderID\n WHERE ProviderType = 'SIP'\n )\n UNION\n\t\t(SELECT\n\t\t\tPK_OutgoingRule,\n\t\t\tRuleOrder,\n\t\t\tBeginWith,\n\t\t\tOutgoingRules.Name,\n\t\t\tRestBetweenHigh,\n\t\t\tRestBetweenLow,\n\t\t\t'3G Dongle' AS ProviderType,\n\t\t\tProtected,\n\t\t\tDongles.Name AS ProviderName\n\t\tFROM\n\t\t\tOutgoingRules\n LEFT JOIN Dongles ON PK_Dongle = ProviderID\n WHERE ProviderType = 'DONGLE'\n )\n UNION\n\t\t(SELECT\n\t\t\tPK_OutgoingRule,\n\t\t\tRuleOrder,\n\t\t\tBeginWith,\n\t\t\tOutgoingRules.Name,\n\t\t\tRestBetweenHigh,\n\t\t\tRestBetweenLow,\n\t\t\t'internal' AS ProviderType,\n\t\t\tProtected,\n\t\t\t'' AS ProviderName\n\t\tFROM\n\t\t\tOutgoingRules\n WHERE ProviderType = 'INTERNAL'\n )\n \n\t\tORDER BY\n\t\t\tRuleOrder ASC\n\t"; $result = $mysqli->query($query) or die($mysqli->error); while ($row = $result->fetch_assoc()) { $OutgoingRules[] = $row; } // Outgoing Rules (OutgoingCIDRules) $OutgoingCIDRules = array(); $query = "\n\t\tSELECT\n\t\t\t\t*\n\t\tFROM\n\t\t\tOutgoingCIDRules\n\t\tORDER BY\n\t\t\tType\n\t"; $result = $mysqli->query($query) or die($mysqli->error); while ($row = $result->fetch_assoc()) { $OutgoingCIDRules[] = $row; } $smarty->assign('OutgoingRules', $OutgoingRules); $smarty->assign('OutgoingCIDRules', $OutgoingCIDRules); $smarty->assign('Message', $Message); $smarty->assign('Hilight', isset($_REQUEST['hilight']) ? $_REQUEST['hilight'] : ""); return $smarty->fetch('OutgoingCalls.tpl'); }
function Groups_List() { global $mysqli; $session =& $_SESSION['Groups']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; // Init sort order (Order) if ($session['Sort'] == $_REQUEST['Sort']) { $Order = $session['Order'] == "asc" ? "desc" : "asc"; } elseif ($session['Sort'] != $_REQUEST['Sort']) { $Order = 'asc'; } $session['Order'] = $Order; // Init sort field (Sort) if (isset($_REQUEST['Sort'])) { $Sort = $_REQUEST['Sort']; } else { $Sort = 'Name'; } $session['Sort'] = $Sort; // Init table fields (Groups) $Groups = array(); $query = "\n\t\tSELECT\n\t\t\tPK_Group \t\t AS _PK_,\n\t\t\tName AS Name,\n\t\t\tCount(FK_Extension) AS Members,\n\t\t\tDATE_FORMAT(DateCreated,'%m/%d/%y, %h:%i %p') AS DateCreated\n\t\tFROM\n\t\t\tGroups\n\t\t\tLEFT JOIN Extension_Groups ON FK_Group = PK_Group\n\t\tGROUP BY\n\t\t\tPK_Group\n\t\tORDER BY \n\t\t\t{$Sort} {$Order}\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $Groups[] = $row; } $smarty->assign('Groups', $Groups); $smarty->assign('Sort', $Sort); $smarty->assign('Order', $Order); $smarty->assign('Message', $Message); $smarty->assign('Hilight', isset($_REQUEST['hilight']) ? $_REQUEST['hilight'] : ""); return $smarty->fetch('Groups_List.tpl'); }
function Groups_Modify() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init form data (Group, Errors) if (@$_REQUEST['submit'] == 'save') { $Group = formdata_from_post(); $Errors = formdata_validate($Group); if (count($Errors) == 0) { $id = formdata_save($Group); header("Location: Groups_List.php?msg=MODIFY_GROUP&hilight={$id}"); die; } } else { if ($_REQUEST['PK_Group'] != "") { $Group = formdata_from_db($_REQUEST['PK_Group']); } } // Init Availabe Extensions $query = "\n\t\tSELECT\n\t\t\tExtensions.PK_Extension AS PK_Extension,\n\t\t\tExtension,\n Name\n\t\tFROM\n\t\t\tExtensions\n\t\tWHERE\n\t\t\tType IN ('Virtual','SipPhone')\n\t\tORDER BY\n\t\t\tExtension ASC\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); $Extensions = array(); while ($row = $result->fetch_assoc()) { $Extensions[] = $row; } $smarty->assign('Errors', $Errors); $smarty->assign('Group', $Group); $smarty->assign('Extensions', $Extensions); return $smarty->fetch('Groups_Modify.tpl'); }
function IVR_Menus() { global $mysqli; $session =& $_SESSION['IVR_Menus']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_Menu = $_REQUEST['PK_Menu']; $_SESSION['IVR_HISTORY']['PK_Menu'] = $PK_Menu; // Init table fields (IVR_Menus) $IVR_Menus = array(); $query = "\n\t\tSELECT\n\t\t\tPK_Menu,\n\t\t\tName,\n\t\t\tDescription\n\t\tFROM\n\t\t\tIVR_Menus\n\t\tORDER BY\n\t\t\tName\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $menu = $row; // Get extensions maped to this menu $menu['Extensions'] = array(); $query_ext = "\n\t\t\tSELECT\n\t\t\t\tExtension\n\t\t\tFROM\n\t\t\t\tExt_IVR\n\t\t\t\tINNER JOIN Extensions ON Ext_IVR.PK_Extension = Extensions.PK_Extension\n\t\t\tWHERE\n\t\t\t\tFK_Menu = {$menu['PK_Menu']}\n\t\t"; $result_ext = $mysqli->query($query_ext) or die($mysqli->error . $query_ext); while ($row_ext = $result_ext->fetch_assoc()) { $menu['Extensions'][] = $row_ext['Extension']; } $menu['Extensions'] = implode(' , ', $menu['Extensions']); $IVR_Menus[] = $menu; } if ($PK_Menu != "") { $IVR_Tree = Get_IVR_Tree($PK_Menu); } $smarty->assign('PK_Menu', $PK_Menu); $smarty->assign('IVR_Menus', $IVR_Menus); $smarty->assign('IVR_Tree', $IVR_Tree); $smarty->assign('Message', isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""); return $smarty->fetch('IVR_Menus.tpl'); }
function Extensions_SipPhone_Delete() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_Extension = $_REQUEST['PK_Extension']; // In confirmed, do the actual delete if (@$_REQUEST['submit'] == 'delete_confirm') { $query = "DELETE FROM Extensions WHERE PK_Extension = {$PK_Extension} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM Ext_SipPhones WHERE PK_Extension = {$PK_Extension} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); if ($mysqli->affected_rows != 1) { return; } $query = "DELETE FROM Ext_SipPhones_Codecs WHERE FK_Extension = {$PK_Extension}"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM Extension_Groups WHERE FK_Extension = {$PK_Extension}"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM Ext_SipPhones_Features WHERE FK_Extension = {$PK_Extension}"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM Extension_Rules WHERE FK_Extension = {$PK_Extension}"; $mysqli->query($query) or die($mysqli->error); asterisk_UpdateConf('sip.conf'); asterisk_UpdateConf('voicemail.conf'); asterisk_Reload(); header('Location: Extensions_List.php?msg=DELETE_SIPPHONE_EXTENSION'); die; } // Init extension info (Extension) $query = "\n\t\tSELECT\n\t\t\tPK_Extension,\n\t\t\tExtension\n\t\tFROM\n\t\t\tExtensions\n\t\tWHERE\n\t\t\tPK_Extension = {$PK_Extension}\n\t\tLIMIT 1\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); $Extension = $result->fetch_assoc(); $smarty->assign('Extension', $Extension); return $smarty->fetch('Extensions_SipPhone_Delete.tpl'); }
function Dongles_Delete() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_Dongle = $_REQUEST['PK_Dongle']; // In confirmed, do the actual delete if (@$_REQUEST['submit'] == 'delete_confirm') { $query = "DELETE FROM Dongles WHERE PK_Dongle = {$PK_Dongle} LIMIT 1"; $mysqli->query($query) or die($mysqli->error . $query); if ($mysqli->affected_rows != 1) { return; } $query = "DELETE FROM Dongle_Rules WHERE FK_Dongle = {$PK_Dongle}"; $mysqli->query($query) or die($mysqli->error . $query); $query = "DELETE FROM Dongle_Statuses WHERE FK_Dongle = {$PK_Dongle}"; $mysqli->query($query) or die($mysqli->error . $query); asterisk_UpdateConf('dongle.conf'); asterisk_UpdateConf('extensions.conf'); asterisk_Reload(); header('Location: Dongles_List.php?msg=DELETE_DONGLE'); } else { // Init extension info (Extension) $query = "\n\t\tSELECT\n\t\t\tPK_Dongle,\n\t\t\tName\n\t\tFROM\n\t\t\tDongles\n\t\tWHERE\n\t\t\tPK_Dongle = {$PK_Dongle}\n\t\tLIMIT 1\n\t"; $result = $mysqli->query($query) or die($mysqli->error); $Dongle = $result->fetch_assoc(); $smarty->assign('Dongle', $Dongle); return $smarty->fetch('Dongles_Delete.tpl'); } }
function Recordings_DeleteRule() { global $mysqli; include dirname(__FILE__) . '/../include/config.inc.php'; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $path = $conf['dirs']['moh']; $PK_Rule = $_REQUEST['PK_Rule']; // In confirmed, do the actual delete if (@$_REQUEST['submit'] == 'delete_confirm') { //delete files from database $query = "DELETE FROM RecordingRules WHERE PK_Rule = {$PK_Rule}"; $mysqli->query($query) or die($mysqli->error . $query); $query = "DELETE FROM RecordingRules_Extensions WHERE FK_Rule = {$PK_Rule}"; $mysqli->query($query) or die($mysqli->error . $query); $query = "DELETE FROM RecordingRules_Groups WHERE FK_Rule = {$PK_Rule}"; $mysqli->query($query) or die($mysqli->error . $query); asterisk_UpdateConf('musiconhold.conf'); asterisk_Reload(); header('Location: Recordings_List.php?msg=DELETE_REC_RULE'); } else { $query = "SELECT * FROM RecordingRules WHERE PK_Rule = {$PK_Rule};"; $result = $mysqli->query($query) or die($mysqli->error); $RecordingRule = $result->fetch_assoc(); $smarty->assign('RecordingRule', $RecordingRule); return $smarty->fetch('Recordings_DeleteRule.tpl'); } }
function IVR_Actions_Ajax() { global $mysqli; $session =& $_SESSION['IVRActionAjax']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $data = $_POST; $response = array(); switch ($data['Action']) { case 'DeleteAction': $query = "DELETE FROM IVR_Actions WHERE PK_Action = " . intval($data['ID']) . " LIMIT 1"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM IVR_Action_Params WHERE FK_Action = " . intval($data['ID']) . " LIMIT 1"; $mysqli->query($query) or die($mysqli->error); $response['ID'] = $data['ID']; break; case 'UpdateActionOrder': $order = 1; foreach ($_REQUEST['Actions'] as $PK_Action) { $PK_Action = explode('_', $PK_Action); $PK_Action = $PK_Action[1]; $query = "UPDATE IVR_Actions SET `Order` = {$order} WHERE PK_Action = {$PK_Action} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); $order++; } break; } echo json_encode($response); }
function SoundLanguages_Modify() { $session =& $_SESSION['Templates_Modify']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; if (@$_REQUEST['submit'] == 'save') { $SoundLanguage = formdata_from_post(); $Errors = formdata_validate($Rule); if (count($Errors) == 0) { if ($SoundLanguage['PK_SoundLanguage'] == '') { $id = formdata_save($SoundLanguage); header("Location: SoundLanguages_List.php?msg=CREATE_LANGUAGE&hilight={$id}"); die; } else { $id = formdata_save($SoundLanguage); header("Location: SoundLanguages_List.php?msg=MODIFY_LANGUAGE&hilight={$id}"); die; } } } elseif ($_REQUEST['PK_SoundLanguage'] != "") { $SoundLanguage = formdata_from_db($_REQUEST['PK_SoundLanguage']); } $smarty->assign('SoundLanguage', $SoundLanguage); $smarty->assign('Message', $Message); return $smarty->fetch('SoundLanguages_Modify.tpl'); }
function Extensions_Queue_Modify() { global $mysqli; $session =& $_SESSION['Extensions_Queue_Modify']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; // Init Available ringing strategies (RingStrategies) $query = "SELECT PK_RingStrategy, Name, Description FROM RingStrategies"; $result = $mysqli->query($query) or die($mysqli->error . $query); $RingStrategies = array(); while ($row = $result->fetch_assoc()) { $RingStrategies[] = $row; } // Init Available Members (Members) $query = "\n\t\tSELECT\n\t\t\tExtensions.PK_Extension,\n\t\t\tExtension,\n Name\n\t\tFROM\n\t\t\tExtensions\n\t\tWHERE\n\t\t\tExtensions.Type IN ('Virtual', 'SipPhone')\n\t\tORDER BY Extension\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); $Members = array(); while ($row = $result->fetch_assoc()) { $Members[] = $row; } // Init available Sounds (SoundsFiles) $query = "\n\t\tSELECT\n\t\t\tPK_SoundFile,\n\t\t\tSoundFiles.Name,\n\t\t\tSoundFiles.Description,\n\t\t\tSoundLanguages.Name AS Language\n\t\tFROM\n\t\t\tSoundFiles\n\t\t\tINNER JOIN SoundEntries ON FK_SoundEntry = PK_SoundEntry\n\t\t\tINNER JOIN SoundFolders ON FK_SoundFolder = PK_SoundFolder\n\t\t\tINNER JOIN SoundLanguages ON FK_SoundLanguage = PK_SoundLanguage\n\t\tWHERE\n\t\t\tSoundFolders.Name = 'Call Queues'\n\t\tORDER BY\n\t\t\tSoundLanguages.Name ASC,\n\t\t\tSoundFiles.Name ASC\n\t"; $result = $mysqli->query($query) or die($mysqli->error); $SoundFiles = array(); while ($row = $result->fetch_assoc()) { $SoundFiles[$row['Language']][$row['PK_SoundFile']] = $row['Name']; } // Init available moh groups $query = "SELECT * FROM Moh_Groups ORDER BY Name ASC"; $result = $mysqli->query($query) or die($mysqli->error); $MohGroups = array(); while ($row = $result->fetch_assoc()) { $MohGroups[] = $row; } // Init form data (Queue) if (@$_REQUEST['submit'] == 'save') { $Queue = formdata_from_post(); $Errors = formdata_validate($Queue); if (count($Errors) == 0) { $id = formdata_save($Queue); asterisk_UpdateConf('queues.conf'); asterisk_Reload(); header("Location: Extensions_List.php?msg=MODIFY_QUEUE_EXTENSION&hilight={$id}"); die; } } elseif (@$_REQUEST['PK_Extension'] != "") { $Queue = formdata_from_db($_REQUEST['PK_Extension']); } else { $Queue = array('MemberRingTime' => '16', 'NextWaitTime' => '5', 'WrapUpTime' => '30', 'PlayMohInQueue' => '1', 'AnnounceFrequency' => '90', 'FK_Sound_PickupAnnouncement' => '4552', 'FK_Sound_YouAreNext' => '4401', 'FK_Sound_ThereAre' => '4249', 'FK_Sound_CallsWaiting' => '4394', 'FK_Sound_HoldTime' => '4351', 'FK_Sound_Minutes' => '4361', 'FK_Sound_ThankYou' => '4243'); } $smarty->assign('Queue', $Queue); $smarty->assign('RingStrategies', $RingStrategies); $smarty->assign('SoundFiles', $SoundFiles); $smarty->assign('MohGroups', $MohGroups); $smarty->assign('Members', $Members); $smarty->assign('Message', $Message); $smarty->assign('Errors', $Errors); return $smarty->fetch('Extensions_Queue_Modify.tpl'); }
function Extensions_Queue_Delete() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_Extension = $_REQUEST['PK_Extension']; // In confirmed, do the actual delete if (@$_REQUEST['submit'] == 'delete_confirm') { $query = "DELETE FROM Extensions WHERE PK_Extension = {$PK_Extension} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM Ext_Queues WHERE PK_Extension = {$PK_Extension} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM Ext_Queue_Members WHERE FK_Extension = {$PK_Extension}"; $mysqli->query($query) or die($mysqli->error); asterisk_UpdateConf('queues.conf'); asterisk_Reload(); header('Location: Extensions_List.php?msg=DELETE_QUEUE_EXTENSION'); die; } // Init extension info (Extension) $query = "\n\t\tSELECT\n\t\t\tPK_Extension,\n\t\t\tName\n\t\tFROM\n\t\t\tExt_Queues\n\t\tWHERE\n\t\t\tPK_Extension = {$PK_Extension}\n\t\tLIMIT 1\n\t"; $result = $mysqli->query($query) or die($mysqli->error); $Queue = $result->fetch_assoc(); $smarty->assign('Queue', $Queue); return $smarty->fetch('Extensions_Queue_Delete.tpl'); }
function NetworkSettings() { $session =& $_SESSION['NetworkSettings']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; if (!empty($_REQUEST['submit'])) { $Settings = formdata_from_post(); $Errors = formdata_validate($Settings, $variables); if (count($Errors) == 0) { $Message = 'SAVED_NETWORK_SETTINGS'; formdata_save($Settings); set_network_interfaces($Settings); asterisk_UpdateConf('sip.conf'); //asterisk_Reload(); } $OldSettings = array_merge(formdata_from_db(), get_network_interfaces()); foreach ($OldSettings as $variable => $value) { if (!isset($Settings[$variable])) { $Settings[$variable] = $value; } } } else { $Settings = formdata_from_db(); } $Interface = get_network_interfaces(); $smarty->assign('Errors', $Errors); $smarty->assign('Message', $Message); $smarty->assign('Settings', array_merge($Settings, $Interface)); return $smarty->fetch('NetworkSettings.tpl'); }
function Extensions_Action_Modify() { global $mysqli; $session =& $_SESSION['IVR_Action_Modify_record_digits']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); if (@$_REQUEST['submit'] == 'save') { $Action = formdata_from_post(); $Errors = formdata_validate($Action); if (count($Errors) == 0) { $id = formdata_save($Action); header("Location: IVR_Actions.php?PK_Menu={$Action['FK_Menu']}&hilight={$id}"); die; } } elseif (@$_REQUEST['PK_Action'] != "") { $Action = formdata_from_db($_REQUEST['PK_Action']); } else { $Action = formdata_from_default(); } // Get available vars $query = "SELECT DISTINCT(Variable) FROM IVR_Action_Params"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_row()) { if (!empty($row[0])) { $Variables[] = $row[0]; } } $smarty->assign('Action', $Action); $smarty->assign('Variables', $Variables); return $smarty->fetch('IVR_Actions_Modify.record_digits.tpl'); }
function VoipProviders_Delete() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_SipProvider = $_REQUEST['PK_SipProvider']; // In confirmed, do the actual delete if (@$_REQUEST['submit'] == 'delete_confirm') { $query = "DELETE FROM SipProviders WHERE PK_SipProvider = {$PK_SipProvider} LIMIT 1"; $mysqli->query($query) or die($mysqli->error . $query); if ($mysqli->affected_rows != 1) { return; } $query = "DELETE FROM SipProvider_Codecs WHERE FK_SipProvider = {$PK_SipProvider}"; $mysqli->query($query) or die($mysqli->error . $query); $query = "DELETE FROM SipProvider_Rules WHERE FK_SipProvider = {$PK_SipProvider}"; $mysqli->query($query) or die($mysqli->error . $query); $query = "DELETE FROM SipProvider_Statuses WHERE FK_SipProvider = {$PK_SipProvider}"; $mysqli->query($query) or die($mysqli->error . $query); $query = "DELETE FROM IncomingRoutes WHERE ProviderType='SIP' AND ProviderID = {$PK_SipProvider}"; $mysqli->query($query) or die($mysqli->error . $query); asterisk_UpdateConf('sip.conf'); asterisk_UpdateConf('extensions.conf'); asterisk_Reload(); header('Location: VoipProviders_List.php?msg=DELETE_SIP_PROVIDER'); die; } // Init extension info (Extension) $query = "\n\t\tSELECT\n\t\t\tPK_SipProvider,\n\t\t\tName\n\t\tFROM\n\t\t\tSipProviders\n\t\tWHERE\n\t\t\tPK_SipProvider = {$PK_SipProvider}\n\t\tLIMIT 1\n\t"; $result = $mysqli->query($query) or die($mysqli->error); $Provider = $result->fetch_assoc(); $smarty->assign('Provider', $Provider); return $smarty->fetch('VoipProviders_Delete.tpl'); }
function SystemClockSettings() { $session =& $_SESSION['SystemClockSettings']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; if (!empty($_REQUEST['submit'])) { $Settings = formdata_from_post(); $Settings['Current_TimeZone'] = $Settings['TimeZones'][0]; $Settings['DisableNTP'] = $Settings['DisableNTPLast']; $Errors = formdata_validate($Settings, $variables); if (count($Errors) == 0) { $Message = 'SAVED_SYSTEMCLOCK_SETTINGS'; formdata_save($Settings); } $OldSettings = formdata_from_db(); foreach ($OldSettings as $variable => $value) { if (!isset($Settings[$variable])) { $Settings[$variable] = $value; } } } else { $Settings = formdata_from_db(); } $TimeZones = get_timezone_list(); $smarty->assign('Errors', $Errors); $smarty->assign('Message', $Message); $smarty->assign('Settings', $Settings); $smarty->assign('TimeZones', $TimeZones); $smarty->assign('CurrentTime', date("F j, Y, g:i a")); return $smarty->fetch('SystemClockSettings.tpl'); }
function Templates_Delete() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_Template = $_REQUEST['PK_Template']; // In confirmed, do the actual delete if (@$_REQUEST['submit'] == 'delete_confirm') { $query = "DELETE FROM Templates WHERE PK_Template = {$PK_Template} AND Protected = 0 LIMIT 1"; $mysqli->query($query) or die($mysqli->error); if ($mysqli->affected_rows != 1) { return; } $query = "DELETE FROM Template_Codecs WHERE FK_Template = {$PK_Template}"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM Template_Groups WHERE FK_Template = {$PK_Template}"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM Template_Features WHERE FK_Template = {$PK_Template}"; $mysqli->query($query) or die($mysqli->error); header('Location: Templates_List.php?msg=DELETE_TEMPLATE'); die; } // Init template info (Template) $query = "\n\t\tSELECT\n\t\t\tPK_Template,\n\t\t\tName,\n\t\t\tName_Editable,\n\t\t\tPassword_Editable,\n\t\t\tEmail_Editable,\n\t\t\tFK_NATType,\n\t\t\tFK_DTMFMode\n\t\tFROM\n\t\t\tTemplates\n\t\tWHERE\n\t\t\tPK_Template = {$PK_Template}\n\t\tLIMIT 1\n\t"; $result = $mysqli->query($query) or die($mysqli->error); $Template = $result->fetch_assoc(); $smarty->assign('Template', $Template); return $smarty->fetch('Templates_Delete.tpl'); }
function Extensions_FC_DirectedPickup_Delete() { global $mysqli; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_Extension = $_REQUEST['PK_Extension']; // In confirmed, do the actual delete if (@$_REQUEST['submit'] == 'delete_confirm') { $query = "DELETE FROM FC_DirectedPickup WHERE FK_Extension = {$PK_Extension} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM FC_DirectedPickup_Admins WHERE FK_Extension = {$PK_Extension} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM FC_DirectedPickup_Members WHERE FK_Extension = {$PK_Extension} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); $query = "DELETE FROM Extensions WHERE PK_Extension = {$PK_Extension} LIMIT 1"; $mysqli->query($query) or die($mysqli->error); header('Location: Extensions_List.php?msg=DELETE_FC_DIRECTEDPICKUP_EXTENSION'); die; } // Init extension info (Extension) $query = "\n\t\tSELECT\n\t\t\tPK_Extension,\n\t\t\tExtension\n\t\tFROM\n\t\t\tExtensions\n\t\tWHERE\n\t\t\tPK_Extension = {$PK_Extension}\n\t\tLIMIT 1\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); $Extension = $result->fetch_assoc(); $smarty->assign('Extension', $Extension); return $smarty->fetch('Extensions_FC_DirectedPickup_Delete.tpl'); }
function IVR_Actions() { global $mysqli; $session =& $_SESSION['IVR_Actions']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); $PK_Menu = $_REQUEST['PK_Menu']; // Get IVR_Actions $query = "\n\t\tSELECT\n\t\t\t*\n\t\tFROM\n\t\t\tIVR_Actions\n\t\tWHERE\n\t\t\tFK_Menu = {$PK_Menu}\n\t\tORDER BY\n\t\t\t`Order` ASC\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $action = $row; $query2 = "SELECT Name,Value,Variable FROM IVR_Action_Params WHERE FK_Action = '{$action['PK_Action']}'"; $result2 = $mysqli->query($query2) or die($mysqli->error . $query2); while ($row2 = $result2->fetch_assoc()) { $action['Param'][$row2['Name']] = $row2['Value']; $action['Var'][$row2['Name']] = $row2['Variable']; if ($row2['Name'] == 'FK_SoundEntry') { $query_snd_name = "SELECT Name FROM SoundFiles WHERE FK_SoundEntry = '{$row2['Value']}' LIMIT 1"; $result_snd_name = $mysqli->query($query_snd_name) or die($mysqli->error . $query_snd_name); $row_snd_name = $result_snd_name->fetch_assoc(); $action['Sound'][$row2['Name']] = $row_snd_name['Name']; } } $IVR_Actions[] = $action; } $smarty->assign('IVR_Actions', $IVR_Actions); $smarty->assign('PK_Menu', $PK_Menu); $smarty->assign('History', $_SESSION['IVR_HISTORY']); return $smarty->fetch('IVR_Actions.tpl'); }