Extensions: Database class integration.
This commit is contained in:
parent
7400bb0c84
commit
8516bc38ad
|
|
@ -34,32 +34,50 @@
|
|||
|
||||
//update the directory first and last names
|
||||
$sql = "select * from v_extensions ";
|
||||
$sql .= "where directory_first_name <> '' and directory_last_name is null ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$extensions = $prep_statement->fetchall(PDO::FETCH_ASSOC);
|
||||
foreach($extensions as $row) {
|
||||
$sql .= "where directory_first_name <> '' ";
|
||||
$sql .= "and directory_last_name is null ";
|
||||
$database = new database;
|
||||
$extensions = $database->select($sql, null, 'all');
|
||||
unset($sql);
|
||||
if (is_array($extensions) && @sizeof($extensions) != 0) {
|
||||
foreach($extensions as $index => $row) {
|
||||
$name = explode(' ', $row['directory_first_name']);
|
||||
if (strlen($name[1]) > 0) {
|
||||
$sql = "UPDATE v_extensions ";
|
||||
$sql .= "SET directory_first_name = '".$name[0]."', ";
|
||||
$sql .= "directory_last_name = '".$name[1]."' ";
|
||||
$sql .= "WHERE extension_uuid = '". $row['extension_uuid'] ."' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
$array['extensions'][$index]['extension_uuid'] = $row['extension_uuid'];
|
||||
$array['extensions'][$index]['directory_first_name'] = $name[0];
|
||||
$array['extensions'][$index]['directory_last_name'] = $name[1];
|
||||
}
|
||||
}
|
||||
if (is_array($array) && @sizeof($array) != 0) {
|
||||
$p = new permissions;
|
||||
$p->add('extension_edit', 'temp');
|
||||
|
||||
$database = new database;
|
||||
$database->app_name = 'extensions';
|
||||
$database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3';
|
||||
$database->save($array);
|
||||
unset($array);
|
||||
|
||||
$p->delete('extension_edit', 'temp');
|
||||
}
|
||||
}
|
||||
unset($extensions, $row);
|
||||
|
||||
//change category security to extension
|
||||
$sql = "UPDATE v_default_settings ";
|
||||
$sql .= "SET default_setting_category = 'extension' ";
|
||||
$sql .= "WHERE default_setting_category = 'security' ";
|
||||
$sql .= "AND default_setting_subcategory like 'password_%' ";
|
||||
$db->exec(check_sql($sql));
|
||||
$sql = "update v_default_settings ";
|
||||
$sql .= "set default_setting_category = 'extension' ";
|
||||
$sql .= "where default_setting_category = 'security' ";
|
||||
$sql .= "and default_setting_subcategory like 'password_%' ";
|
||||
|
||||
$p = new permissions;
|
||||
$p->add('default_setting_edit', 'temp');
|
||||
|
||||
$database = new database;
|
||||
$database->execute($sql);
|
||||
unset($sql);
|
||||
|
||||
$p->delete('default_setting_edit', 'temp');
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1481,6 +1481,26 @@ $text['label-is_registered']['ru-ru'] = "Зарегистрировано";
|
|||
$text['label-is_registered']['sv-se'] = "Registrerad";
|
||||
$text['label-is_registered']['uk-ua'] = "";
|
||||
|
||||
$text['label-column_name']['en-us'] = "Column Name";
|
||||
$text['label-column_name']['ar-eg'] = "";
|
||||
$text['label-column_name']['de-at'] = "";
|
||||
$text['label-column_name']['de-ch'] = "";
|
||||
$text['label-column_name']['de-de'] = "";
|
||||
$text['label-column_name']['es-cl'] = "";
|
||||
$text['label-column_name']['es-mx'] = "";
|
||||
$text['label-column_name']['fr-ca'] = "";
|
||||
$text['label-column_name']['fr-fr'] = "";
|
||||
$text['label-column_name']['he-il'] = "";
|
||||
$text['label-column_name']['it-it'] = "";
|
||||
$text['label-column_name']['nl-nl'] = "";
|
||||
$text['label-column_name']['pl-pl'] = "";
|
||||
$text['label-column_name']['pt-br'] = "";
|
||||
$text['label-column_name']['pt-pt'] = "";
|
||||
$text['label-column_name']['ro-ro'] = "";
|
||||
$text['label-column_name']['ru-ru'] = "";
|
||||
$text['label-column_name']['sv-se'] = "";
|
||||
$text['label-column_name']['uk-ua'] = "";
|
||||
|
||||
$text['header-extensions']['en-us'] = "Extensions";
|
||||
$text['header-extensions']['ar-eg'] = "الأرقام الداخلية";
|
||||
$text['header-extensions']['de-at'] = "Nebenstellen"; //copied from de-de
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
$text = $language->get();
|
||||
|
||||
//set the http get/post variable(s) to a php variable
|
||||
if (isset($_REQUEST["id"]) && isset($_REQUEST["ext"])) {
|
||||
if (is_uuid($_REQUEST["id"]) && $_REQUEST["ext"] != '') {
|
||||
$extension_uuid = $_REQUEST["id"];
|
||||
$extension_new = $_REQUEST["ext"];
|
||||
if (!is_numeric($extension_new)) {
|
||||
|
|
@ -57,19 +57,18 @@
|
|||
if ($extension->exists($_SESSION['domain_uuid'], $extension_new)) {
|
||||
message::add($text['message-duplicate'], 'negative');
|
||||
header("Location: extensions.php");
|
||||
return;
|
||||
exit;
|
||||
}
|
||||
|
||||
//get the v_extensions data
|
||||
//get the extension data
|
||||
$sql = "select * from v_extensions ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "and extension_uuid = :extension_uuid ";
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$parameters['extension_uuid'] = $extension_uuid;
|
||||
$database = new database;
|
||||
$result = $database->select($sql, $parameters, 'all');
|
||||
unset ($parameters, $sql);
|
||||
foreach ($result as &$row) {
|
||||
$row = $database->select($sql, $parameters, 'row');
|
||||
if (is_array($row) && @sizeof($row) != 0) {
|
||||
$extension = $row["extension"];
|
||||
$number_alias = $row["number_alias"];
|
||||
$accountcode = $row["accountcode"];
|
||||
|
|
@ -100,9 +99,9 @@
|
|||
$sip_bypass_media = $row["sip_bypass_media"];
|
||||
$dial_string = $row["dial_string"];
|
||||
$enabled = $row["enabled"];
|
||||
$description = $text['button-copy'].': '.$row["description"];
|
||||
$description = $row["description"].' ('.$text['button-copy'].')';
|
||||
}
|
||||
unset ($prep_statement);
|
||||
unset($sql, $parameters, $row);
|
||||
|
||||
//copy the extension
|
||||
$array['extensions'][0]['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
|
|
@ -142,6 +141,7 @@
|
|||
$database = new database;
|
||||
$database->save($array);
|
||||
$message = $database->message;
|
||||
unset($array);
|
||||
|
||||
//get the source extension voicemail data
|
||||
if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/voicemails')) {
|
||||
|
|
@ -149,24 +149,18 @@
|
|||
//get the voicemails
|
||||
$sql = "select * from v_voicemails ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
if (is_numeric($number_alias)) {
|
||||
$sql .= "and voicemail_id = :voicemail_id ";
|
||||
$parameters['voicemail_id'] = $number_alias;
|
||||
}
|
||||
else {
|
||||
$sql .= "and voicemail_id = :voicemail_id ";
|
||||
$parameters['voicemail_id'] = $extension;
|
||||
}
|
||||
$sql .= "and voicemail_id = :voicemail_id ";
|
||||
$parameters['voicemail_id'] = is_numeric($number_alias) ? $number_alias : $extension;
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$database = new database;
|
||||
$result = $database->select($sql, $parameters, 'all');
|
||||
foreach ($result as $row) {
|
||||
$row = $database->select($sql, $parameters, 'row');
|
||||
if (is_array($row) && @sizeof($row) != 0) {
|
||||
$voicemail_mailto = $row["voicemail_mail_to"];
|
||||
$voicemail_file = $row["voicemail_file"];
|
||||
$voicemail_local_after_email = $row["voicemail_local_after_email"];
|
||||
$voicemail_enabled = $row["voicemail_enabled"];
|
||||
}
|
||||
unset ($prep_statement);
|
||||
unset($sql, $parameters, $row);
|
||||
|
||||
//set the new voicemail password
|
||||
if (strlen($voicemail_password) == 0) {
|
||||
|
|
@ -201,6 +195,6 @@
|
|||
//redirect the user
|
||||
message::add($text['message-copy']);
|
||||
header("Location: extensions.php");
|
||||
return;
|
||||
exit;
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -118,8 +118,8 @@
|
|||
header("Location: /core/user_settings/user_dashboard.php");
|
||||
exit;
|
||||
|
||||
} //if ($_POST["persistformvar"] != "true")
|
||||
} //(count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0)
|
||||
}
|
||||
}
|
||||
|
||||
//set the sub array index
|
||||
$x = "999";
|
||||
|
|
@ -132,13 +132,13 @@
|
|||
|
||||
//get the destinations
|
||||
$sql = "select destination_caller_id_name, destination_caller_id_number from v_destinations ";
|
||||
$sql .= "where domain_uuid = '".check_str($_SESSION['domain_uuid'])."' ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "and destination_type = 'inbound' ";
|
||||
$sql .= "order by destination_caller_id_name asc, destination_caller_id_number asc";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$destinations = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
|
||||
unset ($sql, $prep_statement);
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$database = new database;
|
||||
$destinations = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
|
||||
//show the content
|
||||
echo "<form name='caller_id_form' id='caller_id_form' method='post' action='/app/extensions/extension_dashboard.php'>\n";
|
||||
|
|
@ -156,99 +156,99 @@
|
|||
|
||||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
$x = 0;
|
||||
foreach($extensions as $row) {
|
||||
//set the variables
|
||||
$extension_uuid = $row['extension_uuid'];
|
||||
$user = $row['user'];
|
||||
$number_alias = $row['number_alias'];
|
||||
$destination = $row['destination'];
|
||||
$outbound_caller_id_name = $row['outbound_caller_id_name'];
|
||||
$outbound_caller_id_number = $row['outbound_caller_id_number'];
|
||||
$description = $row['description'];
|
||||
if (is_array($extensions) && @sizeof($extensions) != 0) {
|
||||
foreach($extensions as $row) {
|
||||
//set the variables
|
||||
$extension_uuid = $row['extension_uuid'];
|
||||
$user = $row['user'];
|
||||
$number_alias = $row['number_alias'];
|
||||
$destination = $row['destination'];
|
||||
$outbound_caller_id_name = $row['outbound_caller_id_name'];
|
||||
$outbound_caller_id_number = $row['outbound_caller_id_number'];
|
||||
$description = $row['description'];
|
||||
|
||||
//set the column names
|
||||
if ($x === 0 && $previous_extension_uuid != $row['extension_uuid']) {
|
||||
//set the column names
|
||||
if ($x === 0 && $previous_extension_uuid != $row['extension_uuid']) {
|
||||
echo " <tr>\n";
|
||||
echo " <th>".$text['label-extension']."</th>\n";
|
||||
echo " <th>".$text['label-caller_id']."</th>\n";
|
||||
echo " <th>".$text['label-description']."</th>\n";
|
||||
echo " </tr>\n";
|
||||
}
|
||||
|
||||
//determine whether to hide the element
|
||||
if (strlen($device_key_uuid) == 0) {
|
||||
$element['hidden'] = false;
|
||||
$element['visibility'] = "visibility:visible;";
|
||||
}
|
||||
else {
|
||||
$element['hidden'] = true;
|
||||
$element['visibility'] = "visibility:hidden;";
|
||||
}
|
||||
|
||||
//start the row
|
||||
echo " <tr>\n";
|
||||
echo " <th>".$text['label-extension']."</th>\n";
|
||||
echo " <th>".$text['label-caller_id']."</th>\n";
|
||||
echo " <th>".$text['label-description']."</th>\n";
|
||||
echo " </tr>\n";
|
||||
}
|
||||
|
||||
//determine whether to hide the element
|
||||
if (strlen($device_key_uuid) == 0) {
|
||||
$element['hidden'] = false;
|
||||
$element['visibility'] = "visibility:visible;";
|
||||
}
|
||||
else {
|
||||
$element['hidden'] = true;
|
||||
$element['visibility'] = "visibility:hidden;";
|
||||
}
|
||||
//add the primary key uuid
|
||||
if (strlen($row['extension_uuid']) > 0) {
|
||||
echo " <input name='extensions[".$x."][extension_uuid]' type='hidden' value=\"".escape($row['extension_uuid'])."\">\n";
|
||||
}
|
||||
|
||||
//start the row
|
||||
echo " <tr>\n";
|
||||
|
||||
//add the primary key uuid
|
||||
if (strlen($row['extension_uuid']) > 0) {
|
||||
echo " <input name='extensions[".$x."][extension_uuid]' type='hidden' value=\"".escape($row['extension_uuid'])."\">\n";
|
||||
}
|
||||
|
||||
//show the destination
|
||||
echo " <td class='row_style".$c." row_style_slim'>\n";
|
||||
echo " ".$row['destination'];
|
||||
echo " </td>\n";
|
||||
|
||||
//caller id form input
|
||||
if (permission_exists('outbound_caller_id_select')) {
|
||||
//caller id select
|
||||
//show the destination
|
||||
echo " <td class='row_style".$c." row_style_slim'>\n";
|
||||
if (count($destinations) > 0) {
|
||||
echo " <select name='extensions[".$x."][outbound_caller_id]' id='outbound_caller_id_number' class='formfld'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
foreach ($destinations as &$field) {
|
||||
if(strlen($field['destination_caller_id_number']) > 0) {
|
||||
if ($outbound_caller_id_number == $field['destination_caller_id_number']) {
|
||||
echo " <option value='".escape($field['destination_caller_id_name'])."@".escape($field['destination_caller_id_number'])."' selected='selected'>".escape($field['destination_caller_id_name'])." ".escape($field['destination_caller_id_number'])."</option>\n";
|
||||
}
|
||||
else {
|
||||
echo " <option value='".escape($field['destination_caller_id_name'])."@".escape($field['destination_caller_id_number'])."'>".escape($field['destination_caller_id_name'])." ".escape($field['destination_caller_id_number'])."</option>\n";
|
||||
echo " ".$row['destination'];
|
||||
echo " </td>\n";
|
||||
|
||||
//caller id form input
|
||||
if (permission_exists('outbound_caller_id_select')) {
|
||||
//caller id select
|
||||
echo " <td class='row_style".$c." row_style_slim'>\n";
|
||||
if (count($destinations) > 0) {
|
||||
echo " <select name='extensions[".$x."][outbound_caller_id]' id='outbound_caller_id_number' class='formfld'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
foreach ($destinations as &$field) {
|
||||
if(strlen($field['destination_caller_id_number']) > 0) {
|
||||
if ($outbound_caller_id_number == $field['destination_caller_id_number']) {
|
||||
echo " <option value='".escape($field['destination_caller_id_name'])."@".escape($field['destination_caller_id_number'])."' selected='selected'>".escape($field['destination_caller_id_name'])." ".escape($field['destination_caller_id_number'])."</option>\n";
|
||||
}
|
||||
else {
|
||||
echo " <option value='".escape($field['destination_caller_id_name'])."@".escape($field['destination_caller_id_number'])."'>".escape($field['destination_caller_id_name'])." ".escape($field['destination_caller_id_number'])."</option>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
echo " </select>\n";
|
||||
}
|
||||
echo " </select>\n";
|
||||
echo " </td>\n";
|
||||
}
|
||||
else {
|
||||
//caller id name an number input text
|
||||
echo " <td class='row_style".$c." row_style_slim'>\n";
|
||||
echo " <input class='formfld' style='min-width: 50px; max-width: 100px;' type='text' name='extensions[".$x."][outbound_caller_id_name]' maxlength='255' value=\"".escape($row['outbound_caller_id_name'])."\">\n";
|
||||
echo " </td>\n";
|
||||
echo " <td class='row_style".$c." row_style_slim'>\n";
|
||||
echo " <input class='formfld' style='min-width: 50px; max-width: 100px;' type='text' name='extensions[".$x."][outbound_caller_id_number]' maxlength='255' value=\"".$row['outbound_caller_id_number']."\">\n";
|
||||
echo " </td>\n";
|
||||
}
|
||||
echo " </td>\n";
|
||||
}
|
||||
else {
|
||||
//caller id name an number input text
|
||||
echo " <td class='row_style".$c." row_style_slim'>\n";
|
||||
echo " <input class='formfld' style='min-width: 50px; max-width: 100px;' type='text' name='extensions[".$x."][outbound_caller_id_name]' maxlength='255' value=\"".escape($row['outbound_caller_id_name'])."\">\n";
|
||||
echo " </td>\n";
|
||||
echo " <td class='row_style".$c." row_style_slim'>\n";
|
||||
echo " <input class='formfld' style='min-width: 50px; max-width: 100px;' type='text' name='extensions[".$x."][outbound_caller_id_number]' maxlength='255' value=\"".$row['outbound_caller_id_number']."\">\n";
|
||||
echo " </td>\n";
|
||||
}
|
||||
|
||||
//show the description
|
||||
echo " <td class='row_style".$c." row_style_slim'>\n";
|
||||
echo " ".$row['description'];
|
||||
echo " </td>\n";
|
||||
//show the description
|
||||
echo " <td class='row_style".$c." row_style_slim'>\n";
|
||||
echo " ".$row['description'];
|
||||
echo " </td>\n";
|
||||
|
||||
//end the row
|
||||
echo " </tr>\n";
|
||||
//set the previous extension_uuid
|
||||
$previous_extension_uuid = $extension_uuid;
|
||||
//increment the array key
|
||||
$x++;
|
||||
//alternate the value
|
||||
$c = ($c) ? 0 : 1;
|
||||
//end the row
|
||||
echo " </tr>\n";
|
||||
//set the previous extension_uuid
|
||||
$previous_extension_uuid = $extension_uuid;
|
||||
//increment the array key
|
||||
$x++;
|
||||
//alternate the value
|
||||
$c = $c ? 0 : 1;
|
||||
}
|
||||
}
|
||||
unset($extensions, $row);
|
||||
echo "</table>\n";
|
||||
|
||||
|
||||
echo "</form>";
|
||||
|
||||
//show the footer
|
||||
//require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -55,21 +55,22 @@
|
|||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$parameters['extension_uuid'] = $extension_uuid;
|
||||
$database = new database;
|
||||
$extensions = $database->execute($sql, $parameters);
|
||||
if (is_array($extensions)) {
|
||||
foreach ($extensions as &$row) {
|
||||
$extension = $row["extension"];
|
||||
$number_alias = $row["number_alias"];
|
||||
$user_context = $row["user_context"];
|
||||
$follow_me_uuid = $row["follow_me_uuid"];
|
||||
}
|
||||
|
||||
$row = $database->execute($sql, $parameters, 'row');
|
||||
if (is_array($row) && @sizeof($row) != 0) {
|
||||
$extension = $row["extension"];
|
||||
$number_alias = $row["number_alias"];
|
||||
$user_context = $row["user_context"];
|
||||
$follow_me_uuid = $row["follow_me_uuid"];
|
||||
}
|
||||
unset ($parameters);
|
||||
unset($sql, $parameters, $row);
|
||||
|
||||
//delete the data
|
||||
$p = new permissions;
|
||||
$p->add('extension_user_delete', 'temp');
|
||||
$p->add('follow_me_destination_delete', 'temp');
|
||||
$p->add('follow_me_delete', 'temp');
|
||||
|
||||
$array['extension_users'][]['extension_uuid'] = $extension_uuid;
|
||||
$array['extension_uuid'][]['extension_uuid'] = $extension_uuid;
|
||||
$array['follow_me_destinations'][]['follow_me_uuid'] = $follow_me_uuid;
|
||||
$array['follow_me'][]['follow_me_uuid'] = $follow_me_uuid;
|
||||
$array['extensions'][]['extension_uuid'] = $extension_uuid;
|
||||
|
|
@ -77,7 +78,11 @@
|
|||
$database->app_name = 'extensions';
|
||||
$database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3';
|
||||
$database->delete($array);
|
||||
//$message = $database->message;
|
||||
unset($array);
|
||||
|
||||
$p->delete('extension_user_delete', 'temp');
|
||||
$p->delete('follow_me_destination_delete', 'temp');
|
||||
$p->delete('follow_me_delete', 'temp');
|
||||
|
||||
//delete the ring group destinations
|
||||
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/ring_groups/app_config.php")) {
|
||||
|
|
@ -91,7 +96,6 @@
|
|||
$database->execute($sql, $parameters);
|
||||
unset($sql, $parameters);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -109,6 +113,6 @@
|
|||
//redirect the browser
|
||||
message::add($text['message-delete']);
|
||||
header("Location: extensions.php");
|
||||
return;
|
||||
exit;
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -39,6 +39,60 @@ else {
|
|||
$language = new text;
|
||||
$text = $language->get();
|
||||
|
||||
//define available columns
|
||||
$available_columns[] = 'extension_uuid';
|
||||
$available_columns[] = 'domain_uuid';
|
||||
$available_columns[] = 'extension';
|
||||
$available_columns[] = 'number_alias';
|
||||
$available_columns[] = 'password';
|
||||
$available_columns[] = 'accountcode';
|
||||
$available_columns[] = 'effective_caller_id_name';
|
||||
$available_columns[] = 'effective_caller_id_number';
|
||||
$available_columns[] = 'outbound_caller_id_name';
|
||||
$available_columns[] = 'outbound_caller_id_number';
|
||||
$available_columns[] = 'emergency_caller_id_name';
|
||||
$available_columns[] = 'emergency_caller_id_number';
|
||||
$available_columns[] = 'directory_first_name';
|
||||
$available_columns[] = 'directory_last_name';
|
||||
$available_columns[] = 'directory_visible';
|
||||
$available_columns[] = 'directory_exten_visible';
|
||||
$available_columns[] = 'limit_max';
|
||||
$available_columns[] = 'limit_destination';
|
||||
$available_columns[] = 'missed_call_app';
|
||||
$available_columns[] = 'missed_call_data';
|
||||
$available_columns[] = 'user_context';
|
||||
$available_columns[] = 'toll_allow';
|
||||
$available_columns[] = 'call_timeout';
|
||||
$available_columns[] = 'call_group';
|
||||
$available_columns[] = 'call_screen_enabled';
|
||||
$available_columns[] = 'user_record';
|
||||
$available_columns[] = 'hold_music';
|
||||
$available_columns[] = 'auth_acl';
|
||||
$available_columns[] = 'cidr';
|
||||
$available_columns[] = 'sip_force_contact';
|
||||
$available_columns[] = 'nibble_account';
|
||||
$available_columns[] = 'sip_force_expires';
|
||||
$available_columns[] = 'mwi_account';
|
||||
$available_columns[] = 'sip_bypass_media';
|
||||
$available_columns[] = 'unique_id';
|
||||
$available_columns[] = 'dial_string';
|
||||
$available_columns[] = 'dial_user';
|
||||
$available_columns[] = 'dial_domain';
|
||||
$available_columns[] = 'do_not_disturb';
|
||||
$available_columns[] = 'forward_all_destination';
|
||||
$available_columns[] = 'forward_all_enabled';
|
||||
$available_columns[] = 'forward_busy_destination';
|
||||
$available_columns[] = 'forward_busy_enabled';
|
||||
$available_columns[] = 'forward_no_answer_destination';
|
||||
$available_columns[] = 'forward_no_answer_enabled';
|
||||
$available_columns[] = 'follow_me_uuid';
|
||||
$available_columns[] = 'enabled';
|
||||
$available_columns[] = 'description';
|
||||
$available_columns[] = 'forward_caller_id_uuid';
|
||||
$available_columns[] = 'absolute_codec_string';
|
||||
$available_columns[] = 'forward_user_not_registered_destination';
|
||||
$available_columns[] = 'forward_user_not_registered_enabled';
|
||||
|
||||
function array2csv(array &$array)
|
||||
{
|
||||
if (count($array) == 0) {
|
||||
|
|
@ -71,76 +125,27 @@ function download_send_headers($filename) {
|
|||
header("Content-Transfer-Encoding: binary");
|
||||
}
|
||||
|
||||
if (isset($_REQUEST["column_group"])) {
|
||||
|
||||
$columns = implode(",",$_REQUEST["column_group"]);
|
||||
$sql = "select " . $columns . " from v_extensions ";
|
||||
$sql .= " where domain_uuid = '".$domain_uuid."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$extensions = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
|
||||
unset ($sql, $prep_statement);
|
||||
// print_r($extensions);
|
||||
|
||||
download_send_headers("data_export_" . date("Y-m-d") . ".csv");
|
||||
echo array2csv($extensions);
|
||||
die();
|
||||
if (is_array($_REQUEST["column_group"]) && @sizeof($_REQUEST["column_group"]) != 0) {
|
||||
//validate submitted columns
|
||||
foreach($_REQUEST["column_group"] as $column_name) {
|
||||
if (in_array($column_name, $available_columns)) {
|
||||
$selected_columns[] = $column_name;
|
||||
}
|
||||
}
|
||||
if (is_array($selected_columns) && @sizeof($selected_columns) != 0) {
|
||||
$sql = "select ".implode(', ', $selected_columns)." from v_extensions ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
$extensions = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters, $selected_columns);
|
||||
|
||||
download_send_headers("data_export_".date("Y-m-d").".csv");
|
||||
echo array2csv($extensions);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$columns[] = 'extension_uuid';
|
||||
$columns[] = 'domain_uuid';
|
||||
$columns[] = 'extension';
|
||||
$columns[] = 'number_alias';
|
||||
$columns[] = 'password';
|
||||
$columns[] = 'accountcode';
|
||||
$columns[] = 'effective_caller_id_name';
|
||||
$columns[] = 'effective_caller_id_number';
|
||||
$columns[] = 'outbound_caller_id_name';
|
||||
$columns[] = 'outbound_caller_id_number';
|
||||
$columns[] = 'emergency_caller_id_name';
|
||||
$columns[] = 'emergency_caller_id_number';
|
||||
$columns[] = 'directory_first_name';
|
||||
$columns[] = 'directory_last_name';
|
||||
$columns[] = 'directory_visible';
|
||||
$columns[] = 'directory_exten_visible';
|
||||
$columns[] = 'limit_max';
|
||||
$columns[] = 'limit_destination';
|
||||
$columns[] = 'missed_call_app';
|
||||
$columns[] = 'missed_call_data';
|
||||
$columns[] = 'user_context';
|
||||
$columns[] = 'toll_allow';
|
||||
$columns[] = 'call_timeout';
|
||||
$columns[] = 'call_group';
|
||||
$columns[] = 'call_screen_enabled';
|
||||
$columns[] = 'user_record';
|
||||
$columns[] = 'hold_music';
|
||||
$columns[] = 'auth_acl';
|
||||
$columns[] = 'cidr';
|
||||
$columns[] = 'sip_force_contact';
|
||||
$columns[] = 'nibble_account';
|
||||
$columns[] = 'sip_force_expires';
|
||||
$columns[] = 'mwi_account';
|
||||
$columns[] = 'sip_bypass_media';
|
||||
$columns[] = 'unique_id';
|
||||
$columns[] = 'dial_string';
|
||||
$columns[] = 'dial_user';
|
||||
$columns[] = 'dial_domain';
|
||||
$columns[] = 'do_not_disturb';
|
||||
$columns[] = 'forward_all_destination';
|
||||
$columns[] = 'forward_all_enabled';
|
||||
$columns[] = 'forward_busy_destination';
|
||||
$columns[] = 'forward_busy_enabled';
|
||||
$columns[] = 'forward_no_answer_destination';
|
||||
$columns[] = 'forward_no_answer_enabled';
|
||||
$columns[] = 'follow_me_uuid';
|
||||
$columns[] = 'enabled';
|
||||
$columns[] = 'description';
|
||||
$columns[] = 'forward_caller_id_uuid';
|
||||
$columns[] = 'absolute_codec_string';
|
||||
$columns[] = 'forward_user_not_registered_destination';
|
||||
$columns[] = 'forward_user_not_registered_enabled';
|
||||
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
|
|
@ -149,32 +154,30 @@ $row_style["1"] = "row_style1";
|
|||
require_once "resources/header.php";
|
||||
|
||||
echo "<form method='post' name='frm' action='extension_download.php' autocomplete='off'>\n";
|
||||
echo "<table class='tr_hover' width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
|
||||
echo "<div style='float: right;'>\n";
|
||||
echo "<input type='button' class='btn' alt='".$text['button-back']."' onclick=\"window.location='extensions.php'\" value='".$text['button-back']."'>\n";
|
||||
echo "<input type='submit' class='btn' value='".$text['button-export']."'>\n";
|
||||
echo "</div>\n";
|
||||
echo "<b>".$text['header-export']."</b>\n";
|
||||
echo "<br /><br />\n";
|
||||
|
||||
echo "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0'>\n";
|
||||
echo "<tr>\n";
|
||||
echo " <td valign='top' align='left' nowrap='nowrap'><b>".$text['header-export']."</b><br /></td>\n";
|
||||
echo " <td valign='top' align='right' colspan='2'>\n";
|
||||
echo " <input type='button' class='btn' name='' alt='".$text['button-back']."' onclick=\"window.location='extensions.php'\" value='".$text['button-back']."'>\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo " <th><input type=\"checkbox\" id=\"selectall\" onclick=\"checkbox_toggle();\"/></th>\n";
|
||||
echo " <th>Column Name</th>\n";
|
||||
echo " <th>Description</th>\n";
|
||||
echo " <th style='padding: 0;'><input type='checkbox' id='selectall' onclick='checkbox_toggle();'/></th>\n";
|
||||
echo " <th width='100%'>".$text['label-column_name']."</th>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
foreach ($columns as $value) {
|
||||
foreach ($available_columns as $column_name) {
|
||||
echo "<tr>\n";
|
||||
echo " <td width = '20px' valign='top' class='".$row_style[$c]."'><input class=\"checkbox1\" type=\"checkbox\" name=\"column_group[]\" value=\"$value\"/>";
|
||||
echo "</td>";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'> $value";
|
||||
echo "</td>";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>";
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
if ($c==0) { $c=1; } else { $c=0; }
|
||||
echo " <td valign='middle' class='".$row_style[$c]."' style='padding: 0;'><input class='checkbox1' type='checkbox' name='column_group[]' value='".$column_name."' /></td>\n";
|
||||
echo " <td valign='middle' class='".$row_style[$c]."'>".$column_name."</td>\n";
|
||||
echo "</tr>\n";
|
||||
$c = $c ? 0 : 1;
|
||||
}
|
||||
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan='3' align='right'>\n";
|
||||
echo " <td colspan='2' align='right'>\n";
|
||||
echo " <br>";
|
||||
echo " <input type='submit' class='btn' value='".$text['button-export']."'>\n";
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
$text = $language->get();
|
||||
|
||||
//set the action as an add or an update
|
||||
if (isset($_REQUEST["id"])) {
|
||||
if (is_uuid($_REQUEST["id"])) {
|
||||
$action = "update";
|
||||
$extension_uuid = $_REQUEST["id"];
|
||||
}
|
||||
|
|
@ -54,18 +54,18 @@
|
|||
//get total extension count from the database, check limit, if defined
|
||||
if ($action == 'add') {
|
||||
if ($_SESSION['limit']['extensions']['numeric'] != '') {
|
||||
$sql = "select count(*) as num_rows from v_extensions where domain_uuid = '".check_str($_SESSION['domain_uuid'])."' ";
|
||||
$prep_statement = $db->prepare($sql);
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
$total_extensions = $row['num_rows'];
|
||||
}
|
||||
unset($prep_statement, $row);
|
||||
$sql = "select count(*) ";
|
||||
$sql .= "from v_extensions ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$database = new database;
|
||||
$total_extensions = $database->select($sql, $parameters, 'column');
|
||||
unset($sql, $parameters);
|
||||
|
||||
if ($total_extensions >= $_SESSION['limit']['extensions']['numeric']) {
|
||||
message::add($text['message-maximum_extensions'].' '.$_SESSION['limit']['extensions']['numeric'], 'negative');
|
||||
header('Location: extensions.php');
|
||||
return;
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -129,7 +129,7 @@
|
|||
$voicemail_id = $number_alias;
|
||||
}
|
||||
if (!is_numeric($voicemail_id)) {
|
||||
$voicemail_id = NULL;
|
||||
$voicemail_id = null;
|
||||
}
|
||||
|
||||
//change toll allow delimiter
|
||||
|
|
@ -137,27 +137,44 @@
|
|||
}
|
||||
|
||||
//delete the user from the v_extension_users
|
||||
if ($_REQUEST["delete_type"] == "user" && strlen($_REQUEST["delete_uuid"]) > 0 && permission_exists("extension_delete")) {
|
||||
if ($_REQUEST["delete_type"] == "user" && is_uuid($_REQUEST["delete_uuid"]) && permission_exists("extension_delete")) {
|
||||
//set the variables
|
||||
$extension_uuid = $_REQUEST["id"];
|
||||
$user_uuid = $_REQUEST["delete_uuid"];
|
||||
//delete the group from the users
|
||||
$sql = "delete from v_extension_users ";
|
||||
$sql .= "where extension_uuid = '".check_str($extension_uuid)."' ";
|
||||
$sql .= "and user_uuid = '".check_str($user_uuid)."' ";
|
||||
$db->exec(check_sql($sql));
|
||||
$array['extension_users'][0]['extension_uuid'] = $extension_uuid;
|
||||
$array['extension_users'][0]['user_uuid'] = $user_uuid;
|
||||
|
||||
$p = new permissions;
|
||||
$p->add('extension_user_delete', 'temp');
|
||||
|
||||
$database = new database;
|
||||
$database->app_name = 'extensions';
|
||||
$database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3';
|
||||
$database->delete($array);
|
||||
unset($array);
|
||||
|
||||
$p->delete('extension_user_delete', 'temp');
|
||||
}
|
||||
|
||||
//delete the line from the v_device_lines
|
||||
if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/devices')) {
|
||||
if ($_REQUEST["delete_type"] == "device_line" && strlen($_REQUEST["delete_uuid"]) > 0 && permission_exists("extension_delete")) {
|
||||
if ($_REQUEST["delete_type"] == "device_line" && is_uuid($_REQUEST["delete_uuid"]) && permission_exists("extension_delete")) {
|
||||
//set the variables
|
||||
$device_line_uuid = $_REQUEST["delete_uuid"];
|
||||
//delete device_line
|
||||
$sql = "delete from v_device_lines ";
|
||||
$sql .= "where device_line_uuid = '".check_str($device_line_uuid)."' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
$array['device_lines'][0]['device_line_uuid'] = $device_line_uuid;
|
||||
|
||||
$p = new permissions;
|
||||
$p->add('device_line_delete', 'temp');
|
||||
|
||||
$database = new database;
|
||||
$database->app_name = 'extensions';
|
||||
$database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3';
|
||||
$database->delete($array);
|
||||
unset($array);
|
||||
|
||||
$p->delete('device_line_delete', 'temp');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -165,12 +182,7 @@
|
|||
if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
|
||||
//set the domain_uuid
|
||||
if (permission_exists('extension_domain')) {
|
||||
$domain_uuid = $_POST["domain_uuid"];
|
||||
}
|
||||
else {
|
||||
$domain_uuid = $_SESSION['domain_uuid'];
|
||||
}
|
||||
$domain_uuid = permission_exists('extension_domain') ? $_POST["domain_uuid"] : $_SESSION['domain_uuid'];
|
||||
|
||||
//check for all required data
|
||||
$msg = '';
|
||||
|
|
@ -402,17 +414,19 @@
|
|||
if ($voicemail_id !== NULL) {
|
||||
//get the voicemail_uuid
|
||||
$sql = "select voicemail_uuid from v_voicemails ";
|
||||
$sql .= "where voicemail_id = '".check_str($voicemail_id)."' ";
|
||||
$sql .= "and domain_uuid = '".check_str($domain_uuid)."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$sql .= "where voicemail_id = :voicemail_id ";
|
||||
$sql .= "and domain_uuid = :domain_uuid ";
|
||||
$parameters['voicemail_id'] = $voicemail_id;
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
$row = $database->select($sql, $parameters, 'row');
|
||||
if (is_array($row) && @sizeof($row) != 0) {
|
||||
$voicemail_uuid = $row["voicemail_uuid"];
|
||||
}
|
||||
unset($sql, $parameters, $row);
|
||||
|
||||
//if voicemail_uuid does not exist then get a new uuid
|
||||
if (!isset($voicemail_uuid)) {
|
||||
if (!is_uuid($voicemail_uuid)) {
|
||||
$voicemail_uuid = uuid();
|
||||
$voicemail_tutorial = 'true';
|
||||
}
|
||||
|
|
@ -459,24 +473,33 @@
|
|||
//update devices having extension assigned to line(s) with new password
|
||||
if ($action == "update" && $range == 1 && permission_exists('extension_password')) {
|
||||
$sql = "update v_device_lines set ";
|
||||
$sql .= "password = '".check_str($password)."' ";
|
||||
$sql .= "where domain_uuid = '".check_str($_SESSION['domain_uuid'])."' ";
|
||||
$sql .= "and server_address = '".check_str($_SESSION['domain_name'])."' ";
|
||||
$sql .= "and user_id = '".check_str($extension)."' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
$sql .= "password = :password ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "and server_address = :server_address ";
|
||||
$sql .= "and user_id = :user_id ";
|
||||
$parameters['password'] = $password;
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$parameters['server_address'] = $_SESSION['domain_name'];
|
||||
$parameters['user_id'] = $extension;
|
||||
$database = new database;
|
||||
$database->execute($sql, $parameters);
|
||||
unset($sql, $parameters);
|
||||
}
|
||||
//update device key label
|
||||
if (strlen($effective_caller_id_name) > 0) {
|
||||
$sql = "update v_device_keys set ";
|
||||
$sql .= "device_key_label = '".$effective_caller_id_name."' ";
|
||||
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
|
||||
$sql .= "and device_key_value = '".$extension."' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
$sql .= "device_key_label = :device_key_label ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "and device_key_value = :device_key_value ";
|
||||
$parameters['device_key_label'] = $effective_caller_id_name;
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$parameters['device_key_value'] = $extension;
|
||||
$database = new database;
|
||||
$database->execute($sql, $parameters);
|
||||
unset($sql, $parameters);
|
||||
}
|
||||
//assign the user to the extension
|
||||
if ($action == "update" && strlen($_POST["extension_users"][0]["user_uuid"]) > 0) {
|
||||
if ($action == "update" && is_uuid($_POST["extension_users"][0]["user_uuid"])) {
|
||||
$array["extension_users"][0]["extension_user_uuid"] = uuid();
|
||||
$array["extension_users"][0]["domain_uuid"] = $_SESSION['domain_uuid'];
|
||||
$array["extension_users"][0]["user_uuid"] = $_POST["extension_users"][0]["user_uuid"];
|
||||
|
|
@ -498,16 +521,14 @@
|
|||
$device_mac_address = preg_replace('#[^a-fA-F0-9./]#', '', $device_mac_address);
|
||||
|
||||
//get the device_uuid
|
||||
$sql = "SELECT device_uuid FROM v_devices ";
|
||||
$sql .= "WHERE device_mac_address = '".check_str($device_mac_address)."' ";
|
||||
$sql .= "AND domain_uuid = '".check_str($domain_uuid)."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach($result as $field) {
|
||||
$device_uuid = $field['device_uuid'];
|
||||
}
|
||||
unset($sql, $prep_statement);
|
||||
$sql = "select device_uuid from v_devices ";
|
||||
$sql .= "where device_mac_address = :device_mac_address ";
|
||||
$sql .= "and domain_uuid = :domain_uuid ";
|
||||
$parameters['device_mac_address'] = $device_mac_address;
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
$device_uuid = $database->select($sql, $parameters, 'column');
|
||||
unset($sql, $parameters);
|
||||
|
||||
//set a default line number
|
||||
if (strlen($line_number) == 0) { $line_number = '1'; }
|
||||
|
|
@ -526,12 +547,7 @@
|
|||
$array["devices"][0]["device_lines"][0]["server_address"] = $_SESSION['domain_name'];
|
||||
$array["devices"][0]["device_lines"][0]["outbound_proxy_primary"] = $_SESSION['provision']['outbound_proxy_primary']['text'];
|
||||
$array["devices"][0]["device_lines"][0]["outbound_proxy_secondary"] = $_SESSION['provision']['outbound_proxy_secondary']['text'];
|
||||
if (strlen($effective_caller_id_name) > 0) {
|
||||
$array["devices"][0]["device_lines"][0]["display_name"] = $effective_caller_id_name;
|
||||
}
|
||||
else {
|
||||
$array["devices"][0]["device_lines"][0]["display_name"] = $extension;
|
||||
}
|
||||
$array["devices"][0]["device_lines"][0]["display_name"] = strlen($effective_caller_id_name) > 0 ? $effective_caller_id_name : $extension;
|
||||
$array["devices"][0]["device_lines"][0]["user_id"] = $extension;
|
||||
$array["devices"][0]["device_lines"][0]["auth_id"] = $extension;
|
||||
$array["devices"][0]["device_lines"][0]["password"] = $password;
|
||||
|
|
@ -545,12 +561,10 @@
|
|||
//save to the data
|
||||
$database = new database;
|
||||
$database->app_name = 'extensions';
|
||||
$database->app_uuid = null;
|
||||
$database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3';
|
||||
$database->save($array);
|
||||
$message = $database->message;
|
||||
// echo "<pre>".print_r($array, true)."<pre>\n";
|
||||
// echo "<pre>".print_r($message, true)."<pre>\n";
|
||||
// die();
|
||||
unset($array);
|
||||
|
||||
//check the permissions
|
||||
if (permission_exists('extension_add') || permission_exists('extension_edit')) {
|
||||
|
|
@ -606,36 +620,36 @@
|
|||
echo " <th>Username</th>\n";
|
||||
echo " <th>Password</th>\n";
|
||||
echo " </tr>\n";
|
||||
foreach($generated_users as $tmp_user){
|
||||
foreach ($generated_users as $tmp_user) {
|
||||
echo " <tr>\n";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>".$tmp_user['username']."</td>\n";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>".$tmp_user['password']."</td>\n";
|
||||
echo " </tr>\n";
|
||||
}
|
||||
if ($c==0) { $c=1; } else { $c=0; }
|
||||
$c = $c ? 0 : 1;
|
||||
echo " </table>";
|
||||
echo "</div>\n";
|
||||
require_once "resources/footer.php";
|
||||
}
|
||||
return;
|
||||
exit;
|
||||
}
|
||||
if ($action == "update") {
|
||||
message::add($text['message-update']);
|
||||
header("Location: extension_edit.php?id=".$extension_uuid);
|
||||
return;
|
||||
}
|
||||
} //if ($_POST["persistformvar"] != "true")
|
||||
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
|
||||
}
|
||||
}
|
||||
|
||||
//pre-populate the form
|
||||
if (count($_GET) > 0 && $_POST["persistformvar"] != "true") {
|
||||
$extension_uuid = $_GET["id"];
|
||||
$sql = "select * from v_extensions ";
|
||||
$sql .= "where extension_uuid = '".check_str($extension_uuid)."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$sql .= "where extension_uuid = :extension_uuid ";
|
||||
$parameters['extension_uuid'] = $extension_uuid;
|
||||
$database = new database;
|
||||
$row = $database->select($sql, $parameters, 'row');
|
||||
if (is_array($row) && @sizeof($row) != 0) {
|
||||
$domain_uuid = $row["domain_uuid"];
|
||||
$extension = $row["extension"];
|
||||
$number_alias = $row["number_alias"];
|
||||
|
|
@ -675,30 +689,27 @@
|
|||
$enabled = $row["enabled"];
|
||||
$description = $row["description"];
|
||||
}
|
||||
unset ($prep_statement);
|
||||
unset($sql, $parameters, $row);
|
||||
|
||||
//get the voicemail data
|
||||
if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/voicemails')) {
|
||||
//get the voicemails
|
||||
$sql = "select * from v_voicemails ";
|
||||
$sql .= "where domain_uuid = '".check_str($domain_uuid)."' ";
|
||||
$sql .= "and voicemail_id = '".((is_numeric($number_alias)) ? check_str($number_alias) : check_str($extension))."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$voicemail_password = $row["voicemail_password"];
|
||||
$voicemail_mail_to = $row["voicemail_mail_to"];
|
||||
$voicemail_mail_to = str_replace(" ", "", $voicemail_mail_to);
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "and voicemail_id = :voicemail_id ";
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$parameters['voicemail_id'] = is_numeric($number_alias) ? $number_alias : $extension;
|
||||
$database = new database;
|
||||
$row = $database->select($sql, $parameters, 'row');
|
||||
if (is_array($row) && @sizeof($row) != 0) {
|
||||
$voicemail_password = str_replace("#", "", $row["voicemail_password"]);
|
||||
$voicemail_mail_to = str_replace(" ", "", $row["voicemail_mail_to"]);
|
||||
$voicemail_file = $row["voicemail_file"];
|
||||
$voicemail_local_after_email = $row["voicemail_local_after_email"];
|
||||
$voicemail_enabled = $row["voicemail_enabled"];
|
||||
$voicemail_tutorial = $row["voicemail_tutorial"];
|
||||
}
|
||||
unset ($prep_statement);
|
||||
//clean the variables
|
||||
$voicemail_password = str_replace("#", "", $voicemail_password);
|
||||
$voicemail_mail_to = str_replace(" ", "", $voicemail_mail_to);
|
||||
unset($sql, $parameters, $row);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -708,75 +719,83 @@
|
|||
}
|
||||
|
||||
//get the device lines
|
||||
$sql = "SELECT d.device_mac_address, d.device_template, d.device_description, l.device_line_uuid, l.device_uuid, l.line_number ";
|
||||
$sql .= "FROM v_device_lines as l, v_devices as d ";
|
||||
$sql .= "WHERE (l.user_id = '".check_str($extension)."' or l.user_id = '".check_str($number_alias)."')";
|
||||
$sql .= "AND l.domain_uuid = '".check_str($domain_uuid)."' ";
|
||||
$sql .= "AND l.device_uuid = d.device_uuid ";
|
||||
$sql .= "ORDER BY l.line_number, d.device_mac_address asc ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$device_lines = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
unset($sql, $prep_statement);
|
||||
$sql = "select d.device_mac_address, d.device_template, d.device_description, l.device_line_uuid, l.device_uuid, l.line_number ";
|
||||
$sql .= "from v_device_lines as l, v_devices as d ";
|
||||
$sql .= "where (l.user_id = :user_id_1 or l.user_id = :user_id_2)";
|
||||
$sql .= "and l.domain_uuid = :domain_uuid ";
|
||||
$sql .= "and l.device_uuid = d.device_uuid ";
|
||||
$sql .= "order by l.line_number, d.device_mac_address asc ";
|
||||
$parameters['user_id_1'] = $extension;
|
||||
$parameters['user_id_2'] = $number_alias;
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
$device_lines = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
|
||||
//get the devices
|
||||
$sql = "SELECT * FROM v_devices ";
|
||||
$sql .= "WHERE domain_uuid = '".check_str($domain_uuid)."' ";
|
||||
$sql .= "ORDER BY device_mac_address asc ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$devices = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
unset($sql, $prep_statement);
|
||||
$sql = "select * from v_devices ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "order by device_mac_address asc ";
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
$devices = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
|
||||
//get the device vendors
|
||||
$sql = "SELECT name ";
|
||||
$sql .= "FROM v_device_vendors ";
|
||||
$sql .= "WHERE enabled = 'true' ";
|
||||
$sql .= "ORDER BY name ASC ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$device_vendors = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$sql = "select name ";
|
||||
$sql .= "from v_device_vendors ";
|
||||
$sql .= "where enabled = 'true' ";
|
||||
$sql .= "order by name asc ";
|
||||
$database = new database;
|
||||
$device_vendors = $database->select($sql, null, 'all');
|
||||
unset($sql);
|
||||
|
||||
//get assigned users
|
||||
if (is_uuid($extension_uuid)) {
|
||||
$sql = "SELECT u.username, e.user_uuid FROM v_extension_users as e, v_users as u ";
|
||||
$sql = "select u.username, e.user_uuid ";
|
||||
$sql .= "from v_extension_users as e, v_users as u ";
|
||||
$sql .= "where e.user_uuid = u.user_uuid ";
|
||||
$sql .= "and u.user_enabled = 'true' ";
|
||||
$sql .= "and e.domain_uuid = '".check_str($domain_uuid)."' ";
|
||||
$sql .= "and e.extension_uuid = '".check_str($extension_uuid)."' ";
|
||||
$sql .= "and e.domain_uuid = :domain_uuid ";
|
||||
$sql .= "and e.extension_uuid = :extension_uuid ";
|
||||
$sql .= "order by u.username asc ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$assigned_users = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach($assigned_users as $field) {
|
||||
$assigned_user_uuids[] = $field['user_uuid'];
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$parameters['extension_uuid'] = $extension_uuid;
|
||||
$database = new database;
|
||||
$assigned_users = $database->select($sql, $parameters, 'all');
|
||||
if (is_array($assigned_users) && @sizeof($assigned_users) != 0) {
|
||||
foreach($assigned_users as $row) {
|
||||
$assigned_user_uuids[] = $row['user_uuid'];
|
||||
}
|
||||
}
|
||||
unset($sql, $prep_statement);
|
||||
unset($sql, $parameters, $row);
|
||||
}
|
||||
|
||||
//get the users
|
||||
$sql = "SELECT * FROM v_users ";
|
||||
$sql .= "where domain_uuid = '".check_str($domain_uuid)."' ";
|
||||
if (isset($assigned_user_uuids)) foreach($assigned_user_uuids as $assigned_user_uuid) {
|
||||
$sql .= "and user_uuid <> '".check_str($assigned_user_uuid)."' ";
|
||||
$sql = "select * from v_users ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
if (is_array($assigned_user_uuids) && @sizeof($assigned_user_uuids) != 0) {
|
||||
foreach ($assigned_user_uuids as $index => $assigned_user_uuid) {
|
||||
$sql .= "and user_uuid <> :user_uuid_".$index." ";
|
||||
$parameters['user_uuid_'.$index] = $assigned_user_uuid;
|
||||
}
|
||||
}
|
||||
unset($assigned_user_uuids);
|
||||
$sql .= "and user_enabled = 'true' ";
|
||||
$sql .= "order by username asc ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$users = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
unset($sql, $prep_statement);
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
$users = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters, $assigned_user_uuids, $assigned_user_uuid);
|
||||
|
||||
//get the destinations
|
||||
$sql = "select * from v_destinations ";
|
||||
$sql .= "where domain_uuid = '".check_str($domain_uuid)."' ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "and destination_type = 'inbound' ";
|
||||
$sql .= "order by destination_number asc ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$destinations = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
|
||||
unset ($sql, $prep_statement);
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
$destinations = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
|
||||
//change toll allow delimiter
|
||||
$toll_allow = str_replace(':',',', $toll_allow);
|
||||
|
|
@ -1241,7 +1260,6 @@
|
|||
else {
|
||||
echo " <input type=\"submit\" class=\"btn\" name=\"\" alt=\"".$text['button-add']."\" onclick=\"window.location='".PROJECT_PATH."/app/destinations/destinations.php'\" value='".$text['button-add']."'>\n";
|
||||
}
|
||||
unset ($prep_statement);
|
||||
}
|
||||
else {
|
||||
echo " <input class='formfld' type='text' name='outbound_caller_id_number' maxlength='255' min='0' step='1' value=\"".escape($outbound_caller_id_number)."\">\n";
|
||||
|
|
@ -1715,9 +1733,9 @@
|
|||
echo " <select class='formfld' name='sip_force_contact'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
switch ($sip_force_contact) {
|
||||
case "NDLB-connectile-dysfunction" : $selected[1] = "selected='selected'"; break;
|
||||
case "NDLB-connectile-dysfunction-2.0" : $selected[2] = "selected='selected'"; break;
|
||||
case "NDLB-tls-connectile-dysfunction" : $selected[3] = "selected='selected'"; break;
|
||||
case "NDLB-connectile-dysfunction": $selected[1] = "selected='selected'"; break;
|
||||
case "NDLB-connectile-dysfunction-2.0": $selected[2] = "selected='selected'"; break;
|
||||
case "NDLB-tls-connectile-dysfunction": $selected[3] = "selected='selected'"; break;
|
||||
}
|
||||
echo " <option value='NDLB-connectile-dysfunction' ".$selected[1].">".$text['label-rewrite_contact_ip_and_port']."</option>\n";
|
||||
echo " <option value='NDLB-connectile-dysfunction-2.0' ".$selected[2].">".$text['label-rewrite_contact_ip_and_port_2']."</option>\n";
|
||||
|
|
|
|||
|
|
@ -58,12 +58,12 @@
|
|||
ini_set(max_execution_time,7200);
|
||||
|
||||
//get the http get values and set them as php variables
|
||||
$action = check_str($_POST["action"]);
|
||||
$from_row = check_str($_POST["from_row"]);
|
||||
$order_by = check_str($_POST["order_by"]);
|
||||
$order = check_str($_POST["order"]);
|
||||
$delimiter = check_str($_POST["data_delimiter"]);
|
||||
$enclosure = check_str($_POST["data_enclosure"]);
|
||||
$action = $_POST["action"];
|
||||
$from_row = $_POST["from_row"];
|
||||
$order_by = $_POST["order_by"];
|
||||
$order = $_POST["order"];
|
||||
$delimiter = $_POST["data_delimiter"];
|
||||
$enclosure = $_POST["data_enclosure"];
|
||||
|
||||
//save the data to the csv file
|
||||
if (isset($_POST['data'])) {
|
||||
|
|
@ -75,7 +75,7 @@
|
|||
//copy the csv file
|
||||
//$_POST['submit'] == "Upload" &&
|
||||
if ( is_uploaded_file($_FILES['ulfile']['tmp_name']) && permission_exists('extension_imports')) {
|
||||
if (check_str($_POST['type']) == 'csv') {
|
||||
if ($_POST['type'] == 'csv') {
|
||||
move_uploaded_file($_FILES['ulfile']['tmp_name'], $_SESSION['server']['temp']['dir'].'/'.$_FILES['ulfile']['name']);
|
||||
$save_msg = "Uploaded file to ".$_SESSION['server']['temp']['dir']."/". htmlentities($_FILES['ulfile']['name']);
|
||||
//system('chmod -R 744 '.$_SESSION['server']['temp']['dir'].'*');
|
||||
|
|
@ -102,10 +102,10 @@
|
|||
|
||||
//remove the v_ table prefix
|
||||
if (substr($table_name, 0, 2) == 'v_') {
|
||||
$table_name = substr($table_name, 2);
|
||||
$table_name = substr($table_name, 2);
|
||||
}
|
||||
if (substr($parent_name, 0, 2) == 'v_') {
|
||||
$parent_name = substr($parent_name, 2);
|
||||
$parent_name = substr($parent_name, 2);
|
||||
}
|
||||
|
||||
//filter for specific tables and build the schema array
|
||||
|
|
@ -142,7 +142,7 @@
|
|||
echo "<form action='extension_imports.php' method='POST' enctype='multipart/form-data' name='frmUpload' onSubmit=''>\n";
|
||||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
|
||||
echo " <tr>\n";
|
||||
echo "<tr>\n";
|
||||
echo " <td valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " <b>".$text['header-import']."</b><br />\n";
|
||||
echo " </td>\n";
|
||||
|
|
@ -150,12 +150,12 @@
|
|||
echo " <input type='button' class='btn' name='' alt='".$text['button-back']."' onclick=\"window.location='../extensions/extensions.php'\" value='".$text['button-back']."'>\n";
|
||||
echo " <input name='submit' type='submit' class='btn' id='import' value=\"".$text['button-import']."\">\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo " <tr>\n";
|
||||
echo "</tr>\n";
|
||||
echo "<tr>\n";
|
||||
echo " <td colspan='2' align='left'>\n";
|
||||
echo " ".$text['description-import']."\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
//echo "<tr>\n";
|
||||
//echo "<td align='left' width='30%' nowrap='nowrap'><b>".$text['header-import']."</b></td>\n";
|
||||
|
|
@ -169,13 +169,13 @@
|
|||
foreach ($line_fields as $line_field) {
|
||||
$line_field = trim(trim($line_field), $enclosure);
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " <td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
//echo " ".$text['label-zzz']."\n";
|
||||
echo $line_field;
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " <select class='formfld' style='' name='fields[$x]'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
echo " </td>\n";
|
||||
echo " <td class='vtable' align='left'>\n";
|
||||
echo " <select class='formfld' style='' name='fields[$x]'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
foreach($schema as $row) {
|
||||
echo " <optgroup label='".$row['table']."'>\n";
|
||||
foreach($row['fields'] as $field) {
|
||||
|
|
@ -184,30 +184,30 @@
|
|||
$selected = "selected='selected'";
|
||||
}
|
||||
if ($field !== 'domain_uuid') {
|
||||
echo " <option value='".$row['table'].".".$field."' ".$selected.">".$field."</option>\n";
|
||||
echo " <option value='".$row['table'].".".$field."' ".$selected.">".$field."</option>\n";
|
||||
}
|
||||
}
|
||||
echo " </optgroup>\n";
|
||||
}
|
||||
echo " </select>\n";
|
||||
echo " </select>\n";
|
||||
//echo "<br />\n";
|
||||
//echo $text['description-zzz']."\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo " </td>\n";
|
||||
echo "</tr>\n";
|
||||
$x++;
|
||||
}
|
||||
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan='2' valign='top' align='right' nowrap='nowrap'>\n";
|
||||
echo " <input name='action' type='hidden' value='import'>\n";
|
||||
echo " <input name='from_row' type='hidden' value='$from_row'>\n";
|
||||
echo " <input name='data_delimiter' type='hidden' value='$delimiter'>\n";
|
||||
echo " <input name='data_enclosure' type='hidden' value='$enclosure'>\n";
|
||||
echo " <input type='submit' class='btn' id='import' value=\"".$text['button-import']."\">\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo "<tr>\n";
|
||||
echo " <td colspan='2' valign='top' align='right' nowrap='nowrap'>\n";
|
||||
echo " <input name='action' type='hidden' value='import'>\n";
|
||||
echo " <input name='from_row' type='hidden' value='$from_row'>\n";
|
||||
echo " <input name='data_delimiter' type='hidden' value='$delimiter'>\n";
|
||||
echo " <input name='data_enclosure' type='hidden' value='$enclosure'>\n";
|
||||
echo " <input type='submit' class='btn' id='import' value=\"".$text['button-import']."\">\n";
|
||||
echo " </td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo " </table>\n";
|
||||
echo "</table>\n";
|
||||
echo "</form>\n";
|
||||
require_once "resources/footer.php";
|
||||
|
||||
|
|
@ -246,10 +246,11 @@
|
|||
$domain_uuid = $_SESSION['domain_uuid'];
|
||||
|
||||
//get the users
|
||||
$sql = "select * from v_users where domain_uuid = '".$domain_uuid."' ";
|
||||
$prep_statement = $db->prepare($sql);
|
||||
$prep_statement->execute();
|
||||
$users = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
|
||||
$sql = "select * from v_users where domain_uuid = :domain_uuid ";
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
$users = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
|
||||
//get the contents of the csv file and convert them into an array
|
||||
$handle = @fopen($_SESSION['file'], "r");
|
||||
|
|
@ -297,14 +298,14 @@
|
|||
}
|
||||
|
||||
if ($field_name == "username") {
|
||||
foreach ($users as $field) {
|
||||
if ($field['username'] == $result[$key]) {
|
||||
//$array[$parent][$row_id]['extension_users'][$y]['cextension_user_uuid'] = uuid();
|
||||
$array[$parent][$row_id]['extension_users'][$y]['domain_uuid'] = $domain_uuid;
|
||||
//$array[$parent][$row_id]['extension_users'] = $row['extension_uuid'];
|
||||
$array[$parent][$row_id]['extension_users'][$y]['user_uuid'] = $field['user_uuid'];
|
||||
}
|
||||
foreach ($users as $field) {
|
||||
if ($field['username'] == $result[$key]) {
|
||||
//$array[$parent][$row_id]['extension_users'][$y]['cextension_user_uuid'] = uuid();
|
||||
$array[$parent][$row_id]['extension_users'][$y]['domain_uuid'] = $domain_uuid;
|
||||
//$array[$parent][$row_id]['extension_users'] = $row['extension_uuid'];
|
||||
$array[$parent][$row_id]['extension_users'][$y]['user_uuid'] = $field['user_uuid'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -317,7 +318,6 @@
|
|||
$database->app_name = 'extensions';
|
||||
$database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3';
|
||||
$database->save($array);
|
||||
//$message = $database->message;
|
||||
|
||||
//clear the array
|
||||
unset($array);
|
||||
|
|
@ -332,24 +332,18 @@
|
|||
} //end while
|
||||
fclose($handle);
|
||||
|
||||
//debug info
|
||||
//echo "<pre>\n";
|
||||
//print_r($array);
|
||||
//echo "</pre>\n";
|
||||
//exit;
|
||||
|
||||
//save to the data
|
||||
if (is_array($array)) {
|
||||
$database = new database;
|
||||
$database->app_name = 'extensions';
|
||||
$database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3';
|
||||
$database->save($array);
|
||||
//$message = $database->message;
|
||||
unset($array);
|
||||
}
|
||||
|
||||
//send the redirect header
|
||||
header("Location: extensions.php");
|
||||
return;
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,21 +49,22 @@
|
|||
$text = $language->get();
|
||||
|
||||
//get the http values and set them as variables
|
||||
$search = check_str($_GET["search"]);
|
||||
$order_by = check_str($_GET["order_by"]);
|
||||
$order = check_str($_GET["order"]);
|
||||
$search = $_GET["search"];
|
||||
$order_by = $_GET["order_by"];
|
||||
$order = $_GET["order"];
|
||||
|
||||
//handle search term
|
||||
$search = check_str($_GET["search"]);
|
||||
$search = $_GET["search"];
|
||||
if (strlen($search) > 0) {
|
||||
$search = strtolower($search);
|
||||
$sql_search = "and ( ";
|
||||
$sql_search .= "lower(extension) like '%".$search."%' ";
|
||||
$sql_search .= "or lower(call_group) like '%".$search."%' ";
|
||||
$sql_search .= "or lower(user_context) like '%".$search."%' ";
|
||||
$sql_search .= "or lower(enabled) like '%".$search."%' ";
|
||||
$sql_search .= "or lower(description) like '%".$search."%' ";
|
||||
$sql_search .= "lower(extension) like :search ";
|
||||
$sql_search .= "or lower(call_group) like :search ";
|
||||
$sql_search .= "or lower(user_context) like :search ";
|
||||
$sql_search .= "or lower(enabled) like :search ";
|
||||
$sql_search .= "or lower(description) like :search ";
|
||||
$sql_search .= ") ";
|
||||
$parameters['search'] = '%'.$search.'%';
|
||||
}
|
||||
|
||||
//additional includes
|
||||
|
|
@ -71,36 +72,23 @@
|
|||
$document['title'] = $text['title-extensions'];
|
||||
require_once "resources/paging.php";
|
||||
|
||||
//get total extension count from the database
|
||||
$sql = "select ";
|
||||
$sql .= "(select count(*) from v_extensions ";
|
||||
$sql .= "where 1 = 1 ";
|
||||
if ($_GET['show'] == "all" && permission_exists('extension_all')) {
|
||||
//show all extensions
|
||||
} else {
|
||||
$sql .= "and domain_uuid = '".$_SESSION['domain_uuid']."' ";
|
||||
//get total extension count
|
||||
$sql_1 = "select count(*) from v_extensions ";
|
||||
if (!($_GET['show'] == "all" && permission_exists('extension_all'))) {
|
||||
$sql_1 .= "where domain_uuid = :domain_uuid ";
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
}
|
||||
$sql .= " ".$sql_search.") as num_rows ";
|
||||
if ($db_type == "pgsql") {
|
||||
$sql .= ", (select count(*) as count from v_extensions ";
|
||||
$sql .= "where 1 = 1 ";
|
||||
if ($_GET['show'] == "all" && permission_exists('extension_all')) {
|
||||
//show all extensions
|
||||
} else {
|
||||
$sql .= "and domain_uuid = '".$_SESSION['domain_uuid']."' ";
|
||||
}
|
||||
$sql .= "and extension ~ '^[0-9]+$') as numeric_extensions ";
|
||||
$sql_1 .= $sql_search;
|
||||
$database = new database;
|
||||
$total_extensions = $database->select($sql_1, $parameters, 'column');
|
||||
|
||||
//get total numeric extension count
|
||||
if ($db_type == "pgsql" || $db_type == "mysql") {
|
||||
$sql_2 = $sql_1." and extension ~ '^[0-9]+$' ";
|
||||
$database = new database;
|
||||
$numeric_extensions = $database->select($sql_2, $parameters, 'column');
|
||||
}
|
||||
$prep_statement = $db->prepare($sql);
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
$total_extensions = $row['num_rows'];
|
||||
if (($db_type == "pgsql") or ($db_type == "mysql")) {
|
||||
$numeric_extensions = $row['numeric_extensions'];
|
||||
}
|
||||
}
|
||||
unset($prep_statement, $row);
|
||||
unset($sql_2);
|
||||
|
||||
//prepare to page the results
|
||||
$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
|
||||
|
|
@ -112,33 +100,15 @@
|
|||
$offset = $rows_per_page * $_GET['page'];
|
||||
|
||||
//to cast or not to cast
|
||||
if ($db_type == "pgsql") {
|
||||
$order_text = ($total_extensions == $numeric_extensions) ? "cast(extension as bigint)" : "extension";
|
||||
}
|
||||
else {
|
||||
$order_text = "extension";
|
||||
}
|
||||
$order_text = $db_type == "pgsql" && $total_extensions == $numeric_extensions ? 'cast(extension as bigint)' : 'extension';
|
||||
|
||||
//get the extensions
|
||||
$sql = "select * from v_extensions ";
|
||||
$sql .= "where 1 = 1 ";
|
||||
if ($_GET['show'] == "all" && permission_exists('extension_all')) {
|
||||
//show all gateways
|
||||
} else {
|
||||
$sql .= "and domain_uuid = '$domain_uuid' ";
|
||||
}
|
||||
$sql .= $sql_search; //add search mod from above
|
||||
if (strlen($order_by) > 0) {
|
||||
$sql .= ($order_by == 'extension') ? "order by $order_text ".$order." " : "order by ".$order_by." ".$order." ";
|
||||
}
|
||||
else {
|
||||
$sql .= "order by $order_text $order";
|
||||
}
|
||||
$sql .= "limit $rows_per_page offset $offset ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$extensions = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
unset ($prep_statement, $sql);
|
||||
$sql_3 = str_replace('count(*)', '*', $sql_1);
|
||||
$sql_3 .= $order_by == '' || $order_by == 'extension' ? ' order by '.$order_text.' '.$order.' ' : order_by($order_by, $order);
|
||||
$sql_3 .= limit_offset($rows_per_page, $offset);
|
||||
$database = new database;
|
||||
$extensions = $database->select($sql_3, $parameters, 'all');
|
||||
unset($sql_1, $sql_3, $parameters);
|
||||
|
||||
//set the alternating styles
|
||||
$c = 0;
|
||||
|
|
@ -215,7 +185,6 @@
|
|||
echo "</tr>\n";
|
||||
|
||||
if (is_array($extensions)) {
|
||||
|
||||
foreach($extensions as $row) {
|
||||
$tr_link = (permission_exists('extension_edit')) ? " href='extension_edit.php?id=".escape($row['extension_uuid'])."'" : null;
|
||||
echo "<tr ".$tr_link.">\n";
|
||||
|
|
@ -281,8 +250,8 @@
|
|||
echo "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
unset($extensions, $row);
|
||||
}
|
||||
unset($extensions, $row);
|
||||
|
||||
if (is_array($extensions)) {
|
||||
echo "<tr>\n";
|
||||
|
|
|
|||
Loading…
Reference in New Issue