* Use settings-get method
- get default, domain and user settings
- Replace _SESSION
* Simplify get domain paging
* Change isset using empty
* Fix token name and hash
* Add new default settings category: contact, name: default_sort_column, and default_sort_order
* Update app_config.php
* Update footer.php
* Fix require.php and core/dashboard/index.php (#7563)
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Update destinations.php
* Update permission.php
* Update require.php
---------
Co-authored-by: FusionPBX <markjcrane@gmail.com>
Co-authored-by: FusionPBX <mark@fusionpbx.com>
* Update header.php
* Use settings get classes (#7567)
* access_control
* azure
* azure
* basic_operator_panel
* bridges
* call_block
* call_broadcast
* call_center
* call_flows
* call_forward
* call_recordings
* do_not_disturb
* feature_event_notify
* follow_me
* remove unused object properties
* fix esl command
* fix esl command
* conference_centers
* conference_centers - remove whitespace
* conference_controls
* conference_profiles
* conference_profiles
* Delete core/websockets/resources/classes/socket_exception.php.original~
* Delete core/websockets/resources/classes/websocket_server.php.original~
* conferences
* destinations
* device
* dialplan
* email_queue
* event_guard
* extension_settings
* extension
* fax
* fax_queue
* fifo
* gateways
* ivr_menu
* modules
* switch_music_on_hold
* number_translations
* phrases
* pin_numbers
* provision
* switch_recordings
* registrations
* ring_groups
* sip_profiles
* sofia_global_settings
* streams
* presence
* switch_files
* time_conditions
* vars
* voicemail_greetings
* voicemail
* ringbacks
* contacts
* xml_cdr
* authentication
* dashboard
* default_settings
* domain_settings
* email_templates
* permission
* user_logs
* user_settings
* users
* button
* cache
* captcha
* remove cli_option
* remove directory.php for switch_directory class
* email
* file
* groups
* event_socket use config object
* Use intval to give an integer port
* switch_settings
* tones
* fix object used before initialization
* menu
* fix copy paste error for switch_files.php
* always include require.php for framework files
* Fix missing properties
* set the action
* Use the $database object
* Add missing class properties
* Fix the domain_name
* Use public scope for domain_uuid and domain_name
* Add missing parameters
* Correct the user_uuid parameter
* Add json_validate and use it in the dashboard
update indentation on functions.php
* Intialize the active_registrations variable
* Define the $parameters
* Set a default value for user_setting_enabled
* Add condition domain_uuid not empty
* Add not empty condition for domain_uuid
* Declare the global variables
* Update how the defaults are set use ??
* Use ?? to set the default values
* Update call_center_queue_edit.php
* Prevent an error
* Add domain_name property
* Fix the null coalescing operator
* Removed domain_uuid from the URL
* Change condition to check sip_profile_domain_name
* Refactor domain_uuid declaration and comments
Removed redundant domain_uuid declaration and updated comments.
* Account for an empty value
* Refactor constructor to use settings array
Updated constructor to accept settings array for domain UUID and database initialization.
* Refactor xml_cdr.php to improve variable organization
Removed duplicate domain_uuid declaration and reorganized private variables for better structure.
* Enhance transcription button logic and icon display
Updated transcription button visibility conditions and improved application icon handling in the call flow summary.
* Refactor settings initialization in domains.php
Updated settings initialization to include domain_uuid and user_uuid.
* Modify domain change condition in require.php
Updated condition to check if 'domain_change' is not empty before proceeding.
* Set default_setting_enabled to true by default
* Enhance domain UUID check in access controls
* Enhance domain UUID check in settings list
* Refactor category display logic in vars.php
* Simplify list row URL generation
Removed domain UUID check from list row URL construction.
* Refactor module category display logic
* Fix SQL query by removing parameters variable
* Initialize result_count variable for call recordings
* Refactor leg variable usage in xml_cdr_details.php
* Update conference_room_edit.php
* Change GET to REQUEST for order and search variables
* Set timezone and SQL time format in recordings.php
Added timezone and SQL time format settings.
* Set default for ring group greeting
* Improve domain UUID check in stream listing
* Handle null voicemail_option_param safely
* Add file existence check for greeting files
Check if greeting file exists before getting size and date.
* Improve domain UUID check in email templates
* Update FIFO strategy dropdown and description text
* Add multilingual agent descriptions
Added multilingual descriptions for agents in the app_languages.php file.
* Add music on hold descriptions
* Add the chime list description
Updated copyright year from 2024 to 2025.
* Fix domain UUID check and handle email subject decoding
* Add null coalescing for $value in email_test.php
Ensure $value is not null by providing a default empty string.
* Handle undefined dialplan_uuid in input field
* Add translations for 'Status' label in multiple languages
* Fix typo in config instance check
---------
Co-authored-by: frytimo <tim@fusionpbx.com>
$text['description-music_on_hold_shuffle']['en-us']="When true is selected the audio files will play in random order.";
$text['description-music_on_hold_shuffle']['en-gb']="When true is selected the audio files will play in random order.";
$text['description-music_on_hold_shuffle']['ar-eg']="عندما يتم اختيار القيمة صحيح، سيموت الأغاني الصوتية في ترتيب عشوائي.";
$text['description-music_on_hold_shuffle']['de-at']="Wenn true ausgewählt sind, werden die Audiodateien in zufälliger Reihenfolge abgespielt.";
$text['description-music_on_hold_shuffle']['de-ch']="Wenn true ausgewählt sind, werden die Audiodateien in zufälliger Reihenfolge abgespielt.";
$text['description-music_on_hold_shuffle']['de-de']="Wenn true ausgewählt sind, werden die Audiodateien in zufälliger Reihenfolge abgespielt.";
$text['description-music_on_hold_shuffle']['el-gr']="Όταν επιλέγεται το true, οι ακουστικές αρχεία θα παίζονται σε συνοριακή σειρά.";
$text['description-music_on_hold_shuffle']['es-cl']="Cuando se selecciona true, los archivos de audio se reproducirán en orden aleatorio.";
$text['description-music_on_hold_shuffle']['es-mx']="Cuando se selecciona true, los archivos de audio se reproducirán en orden aleatorio.";
$text['description-music_on_hold_shuffle']['fr-ca']="Lorsque true est sélectionné, les fichiers audio seront joués dans un ordre aléatoire.";
$text['description-music_on_hold_shuffle']['fr-fr']="Lorsque true est sélectionné, les fichiers audio seront joués dans un ordre aléatoire.";
$text['description-music_on_hold_shuffle']['he-il']="כשהוא מוגדר כ-true, המאגרים האודיו יוקלטו בסדר אקראי.";
$text['description-music_on_hold_shuffle']['it-it']="Quando true è selezionato, i file audio saranno riprodotti in ordine casuale.";
$text['description-music_on_hold_shuffle']['ka-ge']="თუ თქვენ არჩევთ true, აუდიო ფაილები იქნება არასამართლიან სარტყლით გამოიყენება.";
$text['description-music_on_hold_shuffle']['nl-nl']="Wanneer true geselecteerd is, zullen de audiobestanden in een willekeurige volgorde afgespeeld worden.";
$text['description-music_on_hold_shuffle']['pl-pl']="Kiedy true jest wybrane, pliki dźwiękowe będą odtwarzane w losowej kolejności.";
$text['description-music_on_hold_shuffle']['pt-br']="Quando true for selecionado, os arquivos de áudio serão reproduzidos em ordem aleatória.";
$text['description-music_on_hold_shuffle']['pt-pt']="Quando true for selecionado, os arquivos de áudio serão reproduzidos em ordem aleatória.";
$text['description-music_on_hold_shuffle']['ro-ro']="Când true este selectat, fișierele audio vor fi reproducute în ordine casuală.";
$text['description-music_on_hold_shuffle']['ru-ru']="Когда true выбрано, аудиофайлы будут воспроизводиться в случайном порядке.";
$text['description-music_on_hold_shuffle']['sv-se']="När true är valt kommer ljudfilerna att spelas upp i slumpad ordning.";
$text['description-music_on_hold_shuffle']['uk-ua']="Якщо true вибрано, аудіофайли будуть відтворюватися випадковим порядком.";
$text['description-music_on_hold_shuffle']['tr-tr']="True seçildiğinde ses dosyaları rastgele sırayla oynanacaktır.";
$text['description-music_on_hold_chime_max']['en-us']="Enter the maximum number of time to play time chime.";
$text['description-music_on_hold_chime_max']['en-gb']="Enter the maximum number of time to play time chime.";
$text['description-music_on_hold_chime_max']['ar-eg']="أدخل العدد الأقصى للمرة التي يتم تشغيل فيها الصوت.";
$text['description-music_on_hold_chime_max']['de-at']="Geben Sie den maximalen Wert an, um wie oft die Zeitton abgespielt werden soll.";
$text['description-music_on_hold_chime_max']['de-ch']="Geben Sie den maximalen Wert an, um wie oft die Zeitton abgespielt werden soll.";
$text['description-music_on_hold_chime_max']['de-de']="Geben Sie den maximalen Wert an, um wie oft die Zeitton abgespielt werden soll.";
$text['description-music_on_hold_chime_max']['el-gr']="Εισάγετε το μέγιστο αριθμό φορών που θέλετε να ακούσετε το χρονικό σήμα.";
$text['description-music_on_hold_chime_max']['es-cl']="Ingrese el número máximo de veces que desea que se reproduzca el timbre de espera.";
$text['description-music_on_hold_chime_max']['es-mx']="Ingrese el número máximo de veces que desea que se reproduzca el timbre de espera.";
$text['description-music_on_hold_chime_max']['fr-ca']="Entrez le nombre maximum de fois que vous souhaitez que le son de la sonnerie soit joué.";
$text['description-music_on_hold_chime_max']['fr-fr']="Entrez le nombre maximum de fois que vous souhaitez que le son de la sonnerie soit joué.";
$text['description-music_on_hold_chime_max']['he-il']="הכנס את מספר הפעמים המקסימלי שהצופר יוקלט.";
$text['description-music_on_hold_chime_max']['it-it']="Inserire il numero massimo di volte in cui si desidera che il suono del segnale di attesa venga riprodotto.";
$text['description-music_on_hold_chime_max']['ka-ge']="ჩაითავაზოთ მაქსიმალური რიცხვი, რომელსაც გსურთ გამოიყენოთ დასავლეთის გამოსახულება.";
$text['description-music_on_hold_chime_max']['nl-nl']="Voer het maximale aantal keer in dat u de tijdklank wilt laten afspelen.";
$text['description-music_on_hold_chime_max']['pl-pl']="Wprowadź maksymalną liczbę razy, w której chcesz, aby dźwięk oczekiwania był odtwarzany.";
$text['description-music_on_hold_chime_max']['pt-br']="Insira o número máximo de vezes que deseja que o timbre de espera seja reproduzido.";
$text['description-music_on_hold_chime_max']['pt-pt']="Insira o número máximo de vezes que deseja que o timbre de espera seja reproduzido.";
$text['description-music_on_hold_chime_max']['ro-ro']="Introduceți numărul maxim de ori în care doriți să se reproducă sunetul de așteptare.";
$text['description-music_on_hold_chime_max']['ru-ru']="Введите максимальное количество раз, при котором звук ожидания будет воспроизведен.";
$text['description-music_on_hold_chime_max']['sv-se']="Ange antalet gånger du vill att tidslarmet ska spelas igen.";
$text['description-music_on_hold_chime_max']['uk-ua']="Введіть максимальну кількість разів, в яких ви хочете, щоб звук очікування був відтворений.";
$text['description-music_on_hold_chime_max']['tr-tr']="Beğendiğiniz zamanlama tonu oynatılacak maksimum defa sayısını girin.";
$text['description-music_on_hold_chime_freq']['en-us']="Enter the number of seconds to wait until playing the chime.";
$text['description-music_on_hold_chime_freq']['en-gb']="Enter the number of seconds to wait until playing the chime.";
$text['description-music_on_hold_chime_freq']['ar-eg']="أدخل عدد الثواني التي ترغب في انتظارها حتى يتم تشغيل النغمة.";
$text['description-music_on_hold_chime_freq']['de-at']="Geben Sie die Anzahl der Sekunden an, die Sie warten möchten, bis die Melodie abgespielt wird.";
$text['description-music_on_hold_chime_freq']['de-ch']="Geben Sie die Anzahl der Sekunden an, die Sie warten möchten, bis die Melodie abgespielt wird.";
$text['description-music_on_hold_chime_freq']['de-de']="Geben Sie die Anzahl der Sekunden an, die Sie warten möchten, bis die Melodie abgespielt wird.";
$text['description-music_on_hold_chime_freq']['el-gr']="Εισάγετε τον αριθμό δευτερολέπτων που θέλετε να περιμένετε μέχρι να ακούσετε το κουδούματο.";
$text['description-music_on_hold_chime_freq']['es-cl']="Ingrese el número de segundos que desea esperar hasta que se reproduzca el timbre.";
$text['description-music_on_hold_chime_freq']['es-mx']="Ingrese el número de segundos que desea esperar hasta que se reproduzca el timbre.";
$text['description-music_on_hold_chime_freq']['fr-ca']="Entrez le nombre de secondes à attendre avant de jouer le son.";
$text['description-music_on_hold_chime_freq']['fr-fr']="Entrez le nombre de secondes à attendre avant de jouer le son.";
$text['description-music_on_hold_chime_freq']['he-il']="הכנס את מספר הsekonds שתרצה להמתין עד שיגיע הצלר.";
$text['description-music_on_hold_chime_freq']['it-it']="Inserire il numero di secondi da attendere prima di riprodurre il suono.";
$text['description-music_on_hold_chime_freq']['ka-ge']="ჩაითავაზეთ მინიჭებული მიწურულების რიცხვი, რომლის შემდეგ გამოიმართა მუსიკა.";
$text['description-music_on_hold_chime_freq']['nl-nl']="Voer het aantal seconden in dat u wilt wachten voordat de bel wordt afgespeeld.";
$text['description-music_on_hold_chime_freq']['pl-pl']="Wprowadź liczbę sekund, która powinna upłynąć przed odegraniem melodii.";
$text['description-music_on_hold_chime_freq']['pt-br']="Insira o número de segundos que deseja esperar até que o timbre seja tocado.";
$text['description-music_on_hold_chime_freq']['pt-pt']="Insira o número de segundos que deseja esperar até que o timbre seja tocado.";
$text['description-music_on_hold_chime_freq']['ro-ro']="Introduceți numărul de secunde pe care doriți să le așteptați până când sunetul este reproducut.";
$text['description-music_on_hold_chime_freq']['ru-ru']="Введите количество секунд, которое вы хотите ожидать до воспроизведения звонка.";
$text['description-music_on_hold_chime_freq']['sv-se']="Ange antalet sekunder du vill vänta innan du lyssnar på chime.";
$text['description-music_on_hold_chime_freq']['uk-ua']="Введіть кількість секунд, яку ви хочете чекати до того, як відтворити звук.";
$text['description-music_on_hold_chime_freq']['tr-tr']="Zaman dilimini belirtin, belin çalınca kadar bekleyin.";
Waveform::$colorA=!empty($_SESSION['theme']['audio_player_waveform_color_a_leg']['text'])?color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_a_leg']['text']):[32,134,37,0.6];// array rgba, left (a-leg) wave color
Waveform::$colorB=!empty($_SESSION['theme']['audio_player_waveform_color_b_leg']['text'])?color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']):[0,125,232,0.6];// array rgba, right (b-leg) wave color
Waveform::$singlePhase=filter_var($_SESSION['theme']['audio_player_waveform_single_phase']['boolean']??false,FILTER_VALIDATE_BOOL)?'true':'false';// positive phase only - left (a-leg) top, right (b-leg) bottom
Waveform::$singleAxis=Waveform::$singlePhase===true?false:(filter_var($_SESSION['theme']['audio_player_waveform_single_axis']['boolean']??false,FILTER_VALIDATE_BOOL)?'true':'false');// combine channels into single axis
Waveform::$colorA=!empty($settings->get('theme','audio_player_waveform_color_a_leg'))?color_to_rgba_array($settings->get('theme','audio_player_waveform_color_a_leg')):[32,134,37,0.6];// array rgba, left (a-leg) wave color
Waveform::$colorB=!empty($settings->get('theme','audio_player_waveform_color_b_leg'))?color_to_rgba_array($settings->get('theme','audio_player_waveform_color_b_leg')):[0,125,232,0.6];// array rgba, right (b-leg) wave color
Waveform::$singlePhase=filter_var($settings->get('theme','audio_player_waveform_single_phase')??false,FILTER_VALIDATE_BOOL)?'true':'false';// positive phase only - left (a-leg) top, right (b-leg) bottom
Waveform::$singleAxis=Waveform::$singlePhase===true?false:(filter_var($settings->get('theme','audio_player_waveform_single_axis')??false,FILTER_VALIDATE_BOOL)?'true':'false');// combine channels into single axis
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.