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 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 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 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 IVR_Options_Modify() { global $mysqli; $session =& $_SESSION['IVR_Options_Modify']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); if (@$_REQUEST['submit'] == 'save') { $Option = formdata_from_post(); $Errors = formdata_validate($Action); if (count($Errors) == 0) { if ($Option['PK_Option'] != '') { $msg = 'MODIFY_OPTION'; } else { $msg = 'ADD_OPTION'; } $id = formdata_save($Option); header("Location: IVR_Options_List.php?PK_Menu={$Option['FK_Menu']}&hilight={$id}&msg={$msg}"); die; } } elseif (@$_REQUEST['PK_Option'] != "") { $Option = formdata_from_db($_REQUEST['PK_Option']); } else { $Option = formdata_from_default(); } // Get available menus $Menus = array(); $query = "SELECT PK_Menu, Name FROM IVR_Menus ORDER BY Name"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $menu = $row; $query2 = "SELECT * FROM IVR_Actions WHERE FK_Menu = '{$menu['PK_Menu']}' ORDER BY `Order`"; $result2 = $mysqli->query($query2) or die($mysqli->error . $query2); while ($row2 = $result2->fetch_assoc()) { $action = $row2; $query3 = "SELECT * FROM IVR_Action_Params WHERE FK_Action = {$action['PK_Action']}"; $result3 = $mysqli->query($query3) or die($mysqli->error . $query3); while ($row3 = $result3->fetch_assoc()) { $action['Param'][$row3['Name']] = $row3['Value']; $action['Var'][$row3['Name']] = $row3['Variable']; } $menu['Actions'][] = $action; } $Menus[] = $menu; } // Get used keys $UsedKeys = array(); $query = "SELECT `Key` FROM IVR_Options WHERE PK_Option != '{$Option['PK_Option']}' AND FK_Menu={$Option['FK_Menu']}"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $UsedKeys[] = $row['Key']; } $smarty->assign('Menus', $Menus); $smarty->assign('Option', $Option); $smarty->assign('UsedKeys', $UsedKeys); return $smarty->fetch('IVR_Options_Modify.tpl'); }
function VoipProviders_Modify() { global $mysqli; $session =& $_SESSION['VoipProviders_Modify']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // myprint($_REQUEST); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; // Init Available DTMF Modes (DTMFModes) $query = "SELECT PK_DTMFMode, Name, Description FROM DTMFModes"; $result = $mysqli->query($query) or die($mysqli->errno()); $DTMFModes = array(); while ($row = $result->fetch_assoc()) { $DTMFModes[] = $row; } // Init available codecs (Codecs) $query = "SELECT PK_Codec, Name, Description, Recomended FROM Codecs"; $result = $mysqli->query($query) or die($mysqli->error); $Codecs = array(); while ($row = $result->fetch_assoc()) { $Codecs[] = $row; } // 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; } // Init form data (Providers) if ($_REQUEST['submit'] == 'save') { $Provider = formdata_from_post(); $Errors = formdata_validate($Provider); if (count($Errors) == 0) { $id = formdata_save($Provider); asterisk_UpdateConf('sip.conf'); asterisk_UpdateConf('extensions.conf'); asterisk_Reload(); header("Location: VoipProviders_List.php?msg=MODIFY_SIP_PROVIDER&hilight={$id}"); die; } } elseif ($_REQUEST['PK_SipProvider'] != "") { $Provider = formdata_from_db($_REQUEST['PK_SipProvider']); } else { $Provider = formdata_from_default(); } $smarty->assign('Provider', $Provider); $smarty->assign('DTMFModes', $DTMFModes); $smarty->assign('Codecs', $Codecs); $smarty->assign('Message', $Message); $smarty->assign('Errors', $Errors); $smarty->assign('Rules', $Rules); return $smarty->fetch('VoipProviders_Modify.tpl'); }
function Recordings_ModifyRule() { global $mysqli; $session =& $_SESSION['Recordings_ModifyRule']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; if (@$_REQUEST['submit'] == 'save') { $Rule = formdata_from_post(); $Errors = formdata_validate($Rule); if (count($Errors) == 0) { if ($Rule['PK_Rule'] != '') { $msg = 'MODIFY_REC_RULE'; } else { $msg = 'ADD_REC_RULE'; } $id = formdata_save($Rule); header("Location: Recordings_List.php?hilight={$id}&msg={$msg}"); die; } } elseif (@$_REQUEST['PK_Rule'] != "") { $Rule = formdata_from_db($_REQUEST['PK_Rule']); } else { $Rule = formdata_from_default(); } // Geting a list of phone extension (Phones) $Phones = array(); $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); while ($row = $result->fetch_assoc()) { $Phones[] = $row; } // Geting a list of extension groups (Groups) $Groups = array(); $query = "SELECT * FROM Groups ORDER BY Name"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $Groups[] = $row; } // Geting a list of queues (Queues) $Queues = array(); $query = "SELECT * FROM Ext_Queues INNER JOIN Extensions ON Ext_Queues.PK_Extension = Extensions.PK_Extension ORDER BY Extension ASC"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $Queues[] = $row; } $smarty->assign('Groups', $Groups); $smarty->assign('Queues', $Queues); $smarty->assign('Phones', $Phones); $smarty->assign('Rule', $Rule); $smarty->assign('Errors', $Errors); return $smarty->fetch('Recordings_ModifyRule.tpl'); }
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 Extensions_Action_Modify() { global $mysqli; $session =& $_SESSION['IVR_Action_Modify_conditional_clause']; $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 $Variables = array(); $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]; } } // Get available menus $Menus = array(); $query = "SELECT PK_Menu, Name FROM IVR_Menus ORDER BY Name"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $menu = $row; $query2 = "SELECT * FROM IVR_Actions WHERE FK_Menu = '{$menu['PK_Menu']}' ORDER BY `Order`"; $result2 = $mysqli->query($query2) or die($mysqli->error . $query2); while ($row2 = $result2->fetch_assoc()) { $action = $row2; $query3 = "SELECT * FROM IVR_Action_Params WHERE FK_Action = {$action['PK_Action']}"; $result3 = $mysqli->query($query3) or die($mysqli->error . $query3); while ($row3 = $result3->fetch_assoc()) { $action['Param'][$row3['Name']] = $row3['Value']; $action['Var'][$row3['Name']] = $row3['Variable']; } $menu['Actions'][] = $action; } $Menus[] = $menu; } $smarty->assign('Menus', $Menus); $smarty->assign('Action', $Action); $smarty->assign('Variables', $Variables); return $smarty->fetch('IVR_Actions_Modify.conditional_clause.tpl'); }
function Extensions_Action_Modify() { $session =& $_SESSION['IVR_Action_Modify_wait']; $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(); } $smarty->assign('Action', $Action); return $smarty->fetch('IVR_Actions_Modify.wait.tpl'); }
function Extensions_Action_Modify() { global $mysqli; $session =& $_SESSION['IVR_Action_Modify_play_sound']; $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(); } // Init Folders (SoundFolders) $SoundFolders = array(); $query = "\n\t\tSELECT\n\t\t\tPK_SoundFolder,\n\t\t\tName\n\t\tFROM\n\t\t\tSoundFolders\n\t\tORDER BY Name\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $SoundFolders[] = $row; } // Init SoundLanguages $SoundLanguages = array(); $query = "\n\t\tSELECT\n\t\t\tPK_SoundLanguage,\n\t\t\t`Default`,\n\t\t\tName\n\t\tFROM\n\t\t\tSoundLanguages\n\t\tORDER BY Name\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $SoundLanguages[] = $row; if ($row['Default']) { $SoundLanguage_Default = $row; } } // Init SoundEntries $SoundEntries = array(); foreach ($SoundLanguages as $SoundLanguage) { $lid = $SoundLanguage['PK_SoundLanguage']; $query_select .= "\n\t\t\tSoundFiles_{$lid}.Name AS Name_{$lid} ,\n\t\t\tSoundFiles_{$lid}.Description AS Description_{$lid},\n\t\t"; $query_from .= "\n\t\t\tLEFT JOIN SoundFiles SoundFiles_{$lid} ON SoundFiles_{$lid}.FK_SoundEntry = PK_SoundEntry AND SoundFiles_{$lid}.FK_SoundLanguage = {$lid}\n\t\t"; } $query = "\n\t\tSELECT\n\t\t\t{$query_select}\n\t\t\tPK_SoundEntry,\n\t\t\tFK_SoundFolder\n\t\tFROM\n\t\t\tSoundEntries\n\t\t\t{$query_from}\n\t\tORDER BY\n\t\t\tPK_SoundEntry\n\t"; $result = $mysqli->query($query) or die($mysqli->error . $query); while ($row = $result->fetch_assoc()) { $SoundEntry = $row; foreach ($SoundLanguages as $SoundLanguage) { $lid = $SoundLanguage['PK_SoundLanguage']; $SoundEntry['Name'][$lid] = $SoundEntry["Name_{$lid}"]; $SoundEntry['Description'][$lid] = $SoundEntry["Description_{$lid}"]; if ($SoundEntry["Name_{$lid}"] != "") { $SoundEntry['Name']['Default'] = "{$SoundEntry['Name'][$SoundLanguage['PK_SoundLanguage']]}"; } } if ($SoundEntry['Name'][$SoundLanguage_Default['PK_SoundLanguage']] != "") { $SoundEntry['Name']['Default'] = "{$SoundEntry['Name'][$SoundLanguage_Default['PK_SoundLanguage']]}"; } $SoundEntries[] = $SoundEntry; } $smarty->assign('Action', $Action); $smarty->assign('SoundEntries', $SoundEntries); $smarty->assign('SoundFolders', $SoundFolders); $smarty->assign('SoundLanguages', $SoundLanguages); $smarty->assign('SoundLanugage_Default', $SoundLanguage_Default); return $smarty->fetch('IVR_Actions_Modify.play_sound.tpl'); }
function Extensions_FC_DirectedPickup_Modify() { global $mysqli; $session =& $_SESSION['Extensions_FC_DirectedPickup_Modify']; $smarty = smarty_init(dirname(__FILE__) . '/templates'); //myprint($_REQUEST); if ($_REQUEST['PK_Extension']) { $pk_ext = $_REQUEST['PK_Extension']; //Preexisted Members $query = " SELECT\n\t\t\t\t\t\tFK_Ext_Member, ConnectionID, FK_Ext_Group\n\t\t\t\t\tFROM\n\t\t\t\t\t\tFC_DirectedPickup_Members\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tFK_Extension = '" . $mysqli->escape_string($pk_ext) . "' ORDER BY FK_Ext_Member, FK_Ext_Group"; $result = $mysqli->query($query) or die($mysqli->error . $query); $Members = array(); while ($row = $result->fetch_assoc()) { $Members[] = $row; } //Preexisted Admins $query = " SELECT\n\t\t\t\t\t\tFK_Ext_Admin, ConnectionID, FK_Ext_Group\n\t\t\t\t\tFROM\n\t\t\t\t\t\tFC_DirectedPickup_Admins\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tFK_Extension = '" . $mysqli->escape_string($pk_ext) . "' ORDER BY FK_Ext_Admin, FK_Ext_Group"; $result = $mysqli->query($query) or die($mysqli->error . $query); $Admins = array(); while ($row = $result->fetch_assoc()) { $Admins[] = $row; } //Preexisted ConnectionIDs $query = " SELECT DISTINCT\n\t\t\t\t\t\tConnectionID\n\t\t\t\t\tFROM\n\t\t\t\t\t\tFC_DirectedPickup_Admins\n\t\t\t\t\tORDER BY ConnectionID"; $result = $mysqli->query($query) or die($mysqli->error . $query); $IDs = array(); while ($row = $result->fetch_assoc()) { $IDs[] = $row['ConnectionID']; } } $Rows = @data_rows($Admins, $Members, $IDs); // Init message (Message) $Message = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ""; // Groups $query = "SELECT PK_Group, Name FROM Groups"; $result = $mysqli->query($query) or die($mysqli->error . $query); $Groups = array(); while ($row = $result->fetch_assoc()) { $Groups[] = $row; } // Init Available Accounts (Accounts) $query = "\n\t\tSELECT\n\t\t\tExtensions.PK_Extension,\n\t\t\tExtension,\n\t\t\tCONCAT(IFNULL(Ext_SipPhones.FirstName,''),IFNULL(Ext_Virtual.FirstName,'')) AS FirstName,\n\t\t\tCONCAT(IFNULL(Ext_SipPhones.LastName ,''),IFNULL(Ext_Virtual.LastName,'')) AS LastName\n\t\tFROM\n\t\t\tExtensions\n\t\t\tLEFT JOIN Ext_SipPhones ON Ext_SipPhones.PK_Extension = Extensions.PK_Extension\n\t\t\tLEFT JOIN Ext_Virtual ON Ext_Virtual.PK_Extension = Extensions.PK_Extension\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); $Accounts = array(); while ($row = $result->fetch_assoc()) { $Accounts[] = $row; } if (@$_REQUEST['submit'] == 'save') { $Extension = formdata_from_post(); $Errors = formdata_validate($Extension); if (count($Errors) == 0) { if ($Extension['PK_Extension'] != '') { $msg = 'MODIFY_FC_DIRECTEDPICKUP_EXTENSION'; } else { $msg = 'ADD_FC_DIRECTEDPICKUP_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('Groups', $Groups); $smarty->assign('Accounts', $Accounts); $smarty->assign('Rows', $Rows); $smarty->assign('FC_DirectedPickup', $Extension); $smarty->assign('Errors', $Errors); return $smarty->fetch('Extensions_FC_DirectedPickup_Modify.tpl'); }