mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
Extensions - List, Edit, Copy, Delete, Toggle: Maintain list sorting and page state.
This commit is contained in:
@@ -47,6 +47,11 @@
|
||||
$language = new text;
|
||||
$text = $language->get();
|
||||
|
||||
//get order and order by, page
|
||||
$order_by = preg_replace('#[^a-zA-Z0-9_\-]#', '', ($_REQUEST["order_by"] ?? 'extension'));
|
||||
$order = $_REQUEST["order"] ?? 'asc';
|
||||
$page = isset($_REQUEST['page']) && is_numeric($_REQUEST['page']) ? $_REQUEST['page'] : 0;
|
||||
|
||||
//return the first item if data type = array, returns value if data type = text
|
||||
function get_first_item($value) {
|
||||
return is_array($value) ? $value[0] : $value;
|
||||
@@ -96,7 +101,6 @@
|
||||
if (!empty($_REQUEST["id"]) && is_uuid($_REQUEST["id"])) {
|
||||
$action = "update";
|
||||
$extension_uuid = $_REQUEST["id"];
|
||||
$page = $_REQUEST['page'] ?? null;
|
||||
}
|
||||
else {
|
||||
$action = "add";
|
||||
@@ -114,7 +118,7 @@
|
||||
|
||||
if ($total_extensions >= $limit_extensions) {
|
||||
message::add($text['message-maximum_extensions'].' '.$limit_extensions, 'negative');
|
||||
header('Location: extensions.php'.(isset($page) && is_numeric($page) ? '?page='.$page : null));
|
||||
header('Location: extensions.php?'.(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null));
|
||||
exit;
|
||||
}
|
||||
}
|
||||
@@ -320,7 +324,7 @@
|
||||
$p->delete('extension_user_delete', 'temp');
|
||||
|
||||
//redirect
|
||||
header("Location: extension_edit.php?id=".$extension_uuid);
|
||||
header("Location: extension_edit.php?id=".$extension_uuid.(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null));
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -347,7 +351,7 @@
|
||||
$p->delete('device_line_delete', 'temp');
|
||||
|
||||
//redirect
|
||||
header("Location: extension_edit.php?id=".$extension_uuid);
|
||||
header("Location: extension_edit.php?id=".$extension_uuid.(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null));
|
||||
exit;
|
||||
}
|
||||
}
|
||||
@@ -890,10 +894,10 @@
|
||||
message::add($text['message-update']);
|
||||
}
|
||||
if ($range > 1) {
|
||||
header("Location: extensions.php");
|
||||
header("Location: extensions.php?".(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null));
|
||||
}
|
||||
else {
|
||||
header("Location: extension_edit.php?id=".$extension_uuid.(isset($page) && is_numeric($page) ? '&page='.$page : null));
|
||||
header("Location: extension_edit.php?id=".$extension_uuid.(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null));
|
||||
}
|
||||
exit;
|
||||
}
|
||||
@@ -1144,13 +1148,13 @@
|
||||
echo " var new_ext = prompt('".$text['message-extension']."');\n";
|
||||
echo " if (new_ext != null) {\n";
|
||||
echo " if (!isNaN(new_ext)) {\n";
|
||||
echo " document.location.href='extension_copy.php?id=".escape($extension_uuid ?? '')."&ext=' + new_ext".(!empty($page) && is_numeric($page) ? " + '&page=".$page."'" : null).";\n";
|
||||
echo " document.location.href='extension_copy.php?id=".escape($extension_uuid ?? '')."&ext=' + new_ext + '".(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(!empty($page) && is_numeric($page) ? '&page='.$page : null)."';\n";
|
||||
echo " }\n";
|
||||
echo " else {\n";
|
||||
echo " var new_number_alias = prompt('".$text['message-number_alias']."');\n";
|
||||
echo " if (new_number_alias != null) {\n";
|
||||
echo " if (!isNaN(new_number_alias)) {\n";
|
||||
echo " document.location.href='extension_copy.php?id=".escape($extension_uuid ?? '')."&ext=' + new_ext + '&alias=' + new_number_alias".(!empty($page) && is_numeric($page) ? " + '&page=".$page."'" : null).";\n";
|
||||
echo " document.location.href='extension_copy.php?id=".escape($extension_uuid ?? '')."&ext=' + new_ext + '&alias=' + new_number_alias + '".(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(!empty($page) && is_numeric($page) ? '&page='.$page : null)."';\n";
|
||||
echo " }\n";
|
||||
echo " }\n";
|
||||
echo " }\n";
|
||||
@@ -1170,7 +1174,7 @@
|
||||
}
|
||||
echo "</div>\n";
|
||||
echo " <div class='actions'>\n";
|
||||
echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$settings->get('theme', 'button_icon_back'),'id'=>'btn_back','link'=>'extensions.php'.(isset($page) && is_numeric($page) ? '?page='.$page : null)]);
|
||||
echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$settings->get('theme', 'button_icon_back'),'id'=>'btn_back','link'=>'extensions.php?'.(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null)]);
|
||||
if ($action == 'update') {
|
||||
$button_margin = 'margin-left: 15px;';
|
||||
if (permission_exists('xml_cdr_view')) {
|
||||
@@ -2351,6 +2355,10 @@
|
||||
echo "</div>\n";
|
||||
echo "<br><br>";
|
||||
|
||||
if (!empty($order_by)) {
|
||||
echo "<input type='hidden' name='order_by' value='".$order_by."'>\n";
|
||||
echo "<input type='hidden' name='order' value='".$order."'>\n";
|
||||
}
|
||||
if (isset($page) && is_numeric($page)) {
|
||||
echo "<input type='hidden' name='page' value='".$page."'>\n";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user