User edit add a Settings button

This commit is contained in:
FusionPBX 2024-09-12 09:41:01 -06:00 committed by GitHub
parent f073dbe152
commit 8edc5d1205
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 98 additions and 72 deletions

View File

@ -1,5 +1,60 @@
<?php
$text['title-user_settings']['en-us'] = "User Settings";
$text['title-user_settings']['en-gb'] = "User Settings";
$text['title-user_settings']['ar-eg'] = "إعدادات المستخدم";
$text['title-user_settings']['de-at'] = "Benutzereinstellungen";
$text['title-user_settings']['de-ch'] = "Benutzereinstellungen";
$text['title-user_settings']['de-de'] = "Benutzereinstellungen";
$text['title-user_settings']['el-gr'] = "Ρυθμίσεις χρήστη";
$text['title-user_settings']['el-gr'] = "Ρυθμίσεις χρήστη";
$text['title-user_settings']['es-cl'] = "Ajustes de usuario";
$text['title-user_settings']['es-mx'] = "Ajustes de usuario";
$text['title-user_settings']['fr-ca'] = "Paramètres Utilisateur";
$text['title-user_settings']['fr-fr'] = "Paramètres Utilisateur";
$text['title-user_settings']['he-il'] = "הגדרות משתמש";
$text['title-user_settings']['it-it'] = "Impostazioni utente";
$text['title-user_settings']['ka-ge'] = "მომხმარებლის პარამეტრები";
$text['title-user_settings']['nl-nl'] = "Gebruikersinstellingen";
$text['title-user_settings']['pl-pl'] = "Ustawienia Użytkownika";
$text['title-user_settings']['pt-br'] = "Configurações do Usuário";
$text['title-user_settings']['pt-pt'] = "Configurações do Usuário";
$text['title-user_settings']['ro-ro'] = "Setarile utilizatorului";
$text['title-user_settings']['ru-ru'] = "Пользовательские настройки";
$text['title-user_settings']['sv-se'] = "Användarinställningar";
$text['title-user_settings']['uk-ua'] = "Налаштування користувача";
$text['title-user_settings']['tr-tr'] = "Kullanıcı ayarları";
$text['title-user_settings']['zh-cn'] = "用户设置";
$text['title-user_settings']['ja-jp'] = "ユーザー設定";
$text['title-user_settings']['ko-kr'] = "사용자 설정";
$text['title_description-user_settings']['en-us'] = "Settings for this user that should override those defined in Domain or Default Settings.";
$text['title_description-user_settings']['en-gb'] = "Settings for this user that should override those defined in Domain or Default Settings.";
$text['title_description-user_settings']['ar-eg'] = "يجب أن تتجاوز الإعدادات الخاصة بهذا المستخدم الإعدادات المحددة في النطاق أو الإعدادات الافتراضية.";
$text['title_description-user_settings']['de-at'] = "Einstellungen für diesen Benutzer, die die in den Domänen- oder Standardeinstellungen definierten überschreiben sollen.";
$text['title_description-user_settings']['de-ch'] = "Einstellungen für diesen Benutzer, die die in den Domänen- oder Standardeinstellungen definierten überschreiben sollen.";
$text['title_description-user_settings']['de-de'] = "Einstellungen für diesen Benutzer, die die in den Domänen- oder Standardeinstellungen definierten überschreiben sollen.";
$text['title_description-user_settings']['el-gr'] = "Ρυθμίσεις για αυτόν τον χρήστη που θα πρέπει να αντικαθιστούν αυτές που ορίζονται στις Ρυθμίσεις Τομέα ή Προεπιλεγμένες Ρυθμίσεις.";
$text['title_description-user_settings']['es-cl'] = "Configuración para este usuario que debe anular las definidas en Dominio o Configuración predeterminada.";
$text['title_description-user_settings']['es-mx'] = "Configuración para este usuario que debe anular las definidas en Dominio o Configuración predeterminada.";
$text['title_description-user_settings']['fr-ca'] = "Paramètres pour cet utilisateur qui doivent remplacer ceux définis dans le domaine ou les paramètres par défaut.";
$text['title_description-user_settings']['fr-fr'] = "Paramètres pour cet utilisateur qui doivent remplacer ceux définis dans le domaine ou les paramètres par défaut.";
$text['title_description-user_settings']['he-il'] = "הגדרות עבור משתמש זה שצריכות לעקוף את אלו שהוגדרו בהגדרות דומיין או ברירת מחדל.";
$text['title_description-user_settings']['it-it'] = "Impostazioni per questo utente che devono sovrascrivere quelle definite in Dominio o Impostazioni predefinite.";
$text['title_description-user_settings']['ka-ge'] = "ამ მომხმარებლის პარამეტრები, რომლებიც დომენის ან ნაგულისხმევ პარამეტრებში აღწერილ მნიშვნელობებს გადაფარავს.";
$text['title_description-user_settings']['nl-nl'] = "Instellingen voor deze gebruiker die de instellingen in Domein- of Standaardinstellingen moeten overschrijven.";
$text['title_description-user_settings']['pl-pl'] = "Ustawienia dla tego użytkownika, które powinny zastąpić te zdefiniowane w Domenie lub Ustawieniach Domyślnych.";
$text['title_description-user_settings']['pt-br'] = "Configurações para este usuário que devem substituir aquelas definidas em Domínio ou Configurações padrão.";
$text['title_description-user_settings']['pt-pt'] = "Configurações para este usuário que devem substituir aquelas definidas em Domínio ou Configurações padrão.";
$text['title_description-user_settings']['ro-ro'] = "Setări pentru acest utilizator care ar trebui să le înlocuiască pe cele definite în Domeniu sau Setări implicite.";
$text['title_description-user_settings']['ru-ru'] = "Настройки для этого пользователя, которые должны иметь приоритет над настройками, определенными в настройках домена или по умолчанию.";
$text['title_description-user_settings']['sv-se'] = "Inställningar för denna användare som ska åsidosätta de som definierats i Domän eller Standardinställningar.";
$text['title_description-user_settings']['uk-ua'] = "Налаштування для цього користувача, які мають замінити параметри, визначені в домені або налаштуваннях за замовчуванням.";
$text['title_description-user_settings']['tr-tr'] = "Bu kullanıcının Etki Alanı veya Varsayılan Ayarlar'da tanımlanan ayarları geçersiz kılması gereken ayarlar.";
$text['title_description-user_settings']['zh-cn'] = "此用户的设置应覆盖域或默认设置中定义的设置。";
$text['title_description-user_settings']['ja-jp'] = "ドメインまたはデフォルト設定で定義されているものを上書きするこのユーザーの設定。";
$text['title_description-user_settings']['ko-kr'] = "이 사용자에 대한 설정은 도메인 또는 기본 설정에서 정의된 것을 무시해야 합니다.";
$text['title-user_setting-edit']['en-us'] = "User Setting";
$text['title-user_setting-edit']['en-gb'] = "User Setting";
$text['title-user_setting-edit']['ar-eg'] = "مؤسسة مستعمل";

View File

@ -41,6 +41,20 @@
//connect to the database
$database = new database;
//add multi-lingual support
$language = new text;
$text = $language->get();
//action add or update
if (!empty($_REQUEST["id"]) && is_uuid($_REQUEST["id"])) {
$action = "update";
$user_uuid = $_REQUEST["id"];
$id = $_REQUEST["id"];
}
else {
$action = "add";
}
//get the http post data
if (!empty($_POST['action'])) {
$action = $_POST['action'] ?? '';
@ -146,8 +160,8 @@
$sql .= "from v_user_settings ";
$sql .= "where user_uuid = :user_uuid ";
$sql .= "and not ( ";
$sql .= "(user_setting_category = 'domain' and user_setting_subcategory = 'language') ";
$sql .= "or (user_setting_category = 'domain' and user_setting_subcategory = 'time_zone') ";
$sql .= " (user_setting_category = 'domain' and user_setting_subcategory = 'language') ";
$sql .= " or (user_setting_category = 'domain' and user_setting_subcategory = 'time_zone') ";
$sql .= ") ";
if (!empty($order_by)) {
$sql .= "order by user_setting_category, user_setting_subcategory, user_setting_order asc ";
@ -164,10 +178,17 @@
$object = new token;
$token = $object->create('/core/user_settings/user_settings.php');
//include the header
$document['title'] = $text['title-user_settings'];
require_once "resources/header.php";
//show the content
echo "<div class='action_bar' id='action_bar_sub'>\n";
echo " <div class='heading'><b id='heading_sub'>".$text['header-user_settings']."</b></div>\n";
echo " <div class='heading'><b id='heading_sub'>".$text['title-user_settings']."</b></div>\n";
echo " <div class='actions'>\n";
if (permission_exists('user_add') || permission_exists('user_edit')) {
echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','link'=>'/core/users/user_edit.php?id='.$user_uuid]);
}
echo button::create(['type'=>'button','id'=>'action_bar_sub_button_back','label'=>$text['button-back'],'icon'=>$button_icon_back,'style'=>'margin-right: 15px; display: none;','link'=>'users.php']);
if (permission_exists('user_setting_add')) {
echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$button_icon_add,'id'=>'btn_add','link'=>PROJECT_PATH.'/core/user_settings/user_setting_edit.php?user_uuid='.urlencode($_GET['id'])]);
@ -189,15 +210,14 @@
echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('delete'); list_form_submit('form_list');"])]);
}
echo $text['header_description-user_settings']."\n";
echo $text['title_description-user_settings']."\n";
echo "<br /><br />\n";
echo "<form id='form_list' method='post' action='/core/user_settings/user_settings.php'>\n";
echo "<input type='hidden' name='action' id='action' value=''>\n";
echo "<input type='hidden' name='user_uuid' value='".$user_uuid."'>\n";
echo "<div class='card'>\n";
echo "<table class='list'>\n";
if (!empty($user_settings)) {
$previous_user_setting_category = '';
$x = 0;
@ -217,13 +237,16 @@
}
if ($previous_user_setting_category != $row['user_setting_category']) {
if ($previous_user_setting_category != '') {
echo "</table>\n";
echo "<br>\n";
if (!empty($previous_user_setting_category)) {
echo "</table>\n";
echo "</div>\n";
echo "</div>\n";
}
echo "<div class='category' id='category_".$user_setting_category."'>\n";
echo "<b>".escape($label_user_setting_category)."</b><br>\n";
echo "<div class='card'>\n";
echo "<table class='list'>\n";
echo "<tr class='list-header'>\n";
if (permission_exists('user_setting_add') || permission_exists('user_setting_edit') || permission_exists('user_setting_delete')) {
@ -376,7 +399,10 @@
echo "</table>\n";
echo "</div>\n";
echo "</div>\n";
echo "<br />\n";
echo "<div align='center'>".$paging_controls."</div>\n";
echo "<input type='hidden' name='".$token['name']."' value='".$token['hash']."'>\n";
echo "</form>\n";
@ -398,4 +424,7 @@
echo "</script>\n";
//include the footer
require_once "resources/footer.php";
?>

View File

@ -2246,61 +2246,6 @@ $text['header-user_import']['zh-cn'] = "用户导入";
$text['header-user_import']['ja-jp'] = "ユーザーのインポート";
$text['header-user_import']['ko-kr'] = "사용자 가져오기";
$text['header-user_settings']['en-us'] = "User Settings";
$text['header-user_settings']['en-gb'] = "User Settings";
$text['header-user_settings']['ar-eg'] = "إعدادات المستخدم";
$text['header-user_settings']['de-at'] = "Benutzereinstellungen";
$text['header-user_settings']['de-ch'] = "Benutzereinstellungen";
$text['header-user_settings']['de-de'] = "Benutzereinstellungen";
$text['header-user_settings']['el-gr'] = "Ρυθμίσεις χρήστη";
$text['header-user_settings']['el-gr'] = "Ρυθμίσεις χρήστη";
$text['header-user_settings']['es-cl'] = "Ajustes de usuario";
$text['header-user_settings']['es-mx'] = "Ajustes de usuario";
$text['header-user_settings']['fr-ca'] = "Paramètres Utilisateur";
$text['header-user_settings']['fr-fr'] = "Paramètres Utilisateur";
$text['header-user_settings']['he-il'] = "הגדרות משתמש";
$text['header-user_settings']['it-it'] = "Impostazioni utente";
$text['header-user_settings']['ka-ge'] = "მომხმარებლის პარამეტრები";
$text['header-user_settings']['nl-nl'] = "Gebruikersinstellingen";
$text['header-user_settings']['pl-pl'] = "Ustawienia Użytkownika";
$text['header-user_settings']['pt-br'] = "Configurações do Usuário";
$text['header-user_settings']['pt-pt'] = "Configurações do Usuário";
$text['header-user_settings']['ro-ro'] = "Setarile utilizatorului";
$text['header-user_settings']['ru-ru'] = "Пользовательские настройки";
$text['header-user_settings']['sv-se'] = "Användarinställningar";
$text['header-user_settings']['uk-ua'] = "Налаштування користувача";
$text['header-user_settings']['tr-tr'] = "Kullanıcı ayarları";
$text['header-user_settings']['zh-cn'] = "用户设置";
$text['header-user_settings']['ja-jp'] = "ユーザー設定";
$text['header-user_settings']['ko-kr'] = "사용자 설정";
$text['header_description-user_settings']['en-us'] = "Settings for this user that should override those defined in Domain or Default Settings.";
$text['header_description-user_settings']['en-gb'] = "Settings for this user that should override those defined in Domain or Default Settings.";
$text['header_description-user_settings']['ar-eg'] = "يجب أن تتجاوز الإعدادات الخاصة بهذا المستخدم الإعدادات المحددة في النطاق أو الإعدادات الافتراضية.";
$text['header_description-user_settings']['de-at'] = "Einstellungen für diesen Benutzer, die die in den Domänen- oder Standardeinstellungen definierten überschreiben sollen.";
$text['header_description-user_settings']['de-ch'] = "Einstellungen für diesen Benutzer, die die in den Domänen- oder Standardeinstellungen definierten überschreiben sollen.";
$text['header_description-user_settings']['de-de'] = "Einstellungen für diesen Benutzer, die die in den Domänen- oder Standardeinstellungen definierten überschreiben sollen.";
$text['header_description-user_settings']['el-gr'] = "Ρυθμίσεις για αυτόν τον χρήστη που θα πρέπει να αντικαθιστούν αυτές που ορίζονται στις Ρυθμίσεις Τομέα ή Προεπιλεγμένες Ρυθμίσεις.";
$text['header_description-user_settings']['es-cl'] = "Configuración para este usuario que debe anular las definidas en Dominio o Configuración predeterminada.";
$text['header_description-user_settings']['es-mx'] = "Configuración para este usuario que debe anular las definidas en Dominio o Configuración predeterminada.";
$text['header_description-user_settings']['fr-ca'] = "Paramètres pour cet utilisateur qui doivent remplacer ceux définis dans le domaine ou les paramètres par défaut.";
$text['header_description-user_settings']['fr-fr'] = "Paramètres pour cet utilisateur qui doivent remplacer ceux définis dans le domaine ou les paramètres par défaut.";
$text['header_description-user_settings']['he-il'] = "הגדרות עבור משתמש זה שצריכות לעקוף את אלו שהוגדרו בהגדרות דומיין או ברירת מחדל.";
$text['header_description-user_settings']['it-it'] = "Impostazioni per questo utente che devono sovrascrivere quelle definite in Dominio o Impostazioni predefinite.";
$text['header_description-user_settings']['ka-ge'] = "ამ მომხმარებლის პარამეტრები, რომლებიც დომენის ან ნაგულისხმევ პარამეტრებში აღწერილ მნიშვნელობებს გადაფარავს.";
$text['header_description-user_settings']['nl-nl'] = "Instellingen voor deze gebruiker die de instellingen in Domein- of Standaardinstellingen moeten overschrijven.";
$text['header_description-user_settings']['pl-pl'] = "Ustawienia dla tego użytkownika, które powinny zastąpić te zdefiniowane w Domenie lub Ustawieniach Domyślnych.";
$text['header_description-user_settings']['pt-br'] = "Configurações para este usuário que devem substituir aquelas definidas em Domínio ou Configurações padrão.";
$text['header_description-user_settings']['pt-pt'] = "Configurações para este usuário que devem substituir aquelas definidas em Domínio ou Configurações padrão.";
$text['header_description-user_settings']['ro-ro'] = "Setări pentru acest utilizator care ar trebui să le înlocuiască pe cele definite în Domeniu sau Setări implicite.";
$text['header_description-user_settings']['ru-ru'] = "Настройки для этого пользователя, которые должны иметь приоритет над настройками, определенными в настройках домена или по умолчанию.";
$text['header_description-user_settings']['sv-se'] = "Inställningar för denna användare som ska åsidosätta de som definierats i Domän eller Standardinställningar.";
$text['header_description-user_settings']['uk-ua'] = "Налаштування для цього користувача, які мають замінити параметри, визначені в домені або налаштуваннях за замовчуванням.";
$text['header_description-user_settings']['tr-tr'] = "Bu kullanıcının Etki Alanı veya Varsayılan Ayarlar'da tanımlanan ayarları geçersiz kılması gereken ayarlar.";
$text['header_description-user_settings']['zh-cn'] = "此用户的设置应覆盖域或默认设置中定义的设置。";
$text['header_description-user_settings']['ja-jp'] = "ドメインまたはデフォルト設定で定義されているものを上書きするこのユーザーの設定。";
$text['header_description-user_settings']['ko-kr'] = "이 사용자에 대한 설정은 도메인 또는 기본 설정에서 정의된 것을 무시해야 합니다.";
$text['description-user_manager']['en-us'] = "Add, edit, delete, and search users. ";
$text['description-user_manager']['en-gb'] = "Add, edit, delete, and search users. ";
$text['description-user_manager']['ar-eg'] = "إضافة، تحرير، حذف، ومستعملي البحث.";

View File

@ -17,7 +17,7 @@
The Initial Developer of the Original Code is
Mark J Crane <markjcrane@fusionpbx.com>
Portions created by the Initial Developer are Copyright (C) 2008-2023
Portions created by the Initial Developer are Copyright (C) 2008-2024
the Initial Developer. All Rights Reserved.
Contributor(s):
@ -725,6 +725,9 @@
echo button::create(['type'=>'button','label'=>$text['button-permissions'],'icon'=>'key','style'=>$button_margin,'link'=>PROJECT_PATH.'/app/user_permissions/user_permissions.php?id='.urlencode($user_uuid)]);
unset($button_margin);
}
if (permission_exists('user_setting_view')) {
echo button::create(['type'=>'button','label'=>$text['button-settings'],'icon'=>$_SESSION['theme']['button_icon_settings'],'id'=>'btn_settings','style'=>'','link'=>PROJECT_PATH.'/core/user_settings/user_settings.php?id='.urlencode($user_uuid)]);
}
echo button::create(['type'=>'button','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','style'=>'margin-left: 15px;','onclick'=>'submit_form();']);
echo " </div>\n";
echo " <div style='clear: both;'></div>\n";
@ -1221,14 +1224,8 @@
echo "</form>";
if (permission_exists("user_edit") && permission_exists('user_setting_view') && $action == 'edit') {
require $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/core/user_settings/user_settings.php";
echo "<br><br>";
}
echo "<script>\n";
//hide password fields before submit
echo "<script>\n";
echo " function submit_form() {\n";
echo " hide_password_fields();\n";
echo " $('form#frm').submit();\n";