* Added translations to fax_queue/app_languages.php
* Added translations to recordings/app_languages.php
* Added translations to emergency/app_languages.php
* move permissions to top of page and use single database object
* use a domain array instead of session
* use a domain array instead of session
* add multiple line export feature
Exporting devices with multiple lines did not show headers for extra columns if the first device listed only had a single line and the other devices had multiple lines. This adds a feature to export multiple lines for devices using the "duplicate column feature" so that the import feature can detect and import all lines for the device.
* Update device_download.php
- For pages using large number of permission like these
- Creating a permission array that is populated with permission_exists
- Then using the permission array is more efficient
It was found that the domain_filter was not working when provisioning devices. This can lead to conflicts if a device address is in multiple domains or a valid device address is sent for another domain. This enforces the check so that if http_domain_filter is enabled and the domain name does not match the device specified, it will reject the request.
* Remove the unset($database) statements
The database object is a global variable that contains a database object reference and should not be unset.
* Update event_guard.php
* Update event_guard.php
* Update event_guard.php
---------
Co-authored-by: Tim Fry <tim@fusionpbx.com>
Co-authored-by: FusionPBX <markjcrane@gmail.com>
- Reason for change is not everyone uses FAX
- There is a fax group adding users to that group who need FAX maybe a better option.
- There is still the option of assign the fax permissions to the user and then protect those permissions.
If the settings object is not passed in the parameters the settings object that was created did not have the current domain uuid or user uuid set. This would cause default settings that were copied to the domain to be ignored. Ensuring the domain_uuid and user_uuid are initialized before the setting object and then passing them to the settings object constructor will make sure that the values would be returned when a request to the settings object is made.
The method overwrites the object property initially set when the method is called. This causes any subsequent calls to be incorrect. Removing this keeps the initial objects property intact. The method voicemail_messages is only used internally from the messages method for getting message details in the voicemails. This has been set to a private method to reflect this type of use.
Authored-by: Tim Fry <tim@fusionpbx.com>
When voicemail is called the first time, it correctly displays the list of voicemail messages. When it is called a second time the function returns an empty array and gives an empty display. This removes the second call to method 'messages' in 'voicemail' object.
authored-by: Tim Fry <tim@fusionpbx.com>
- unify the process for preparing the call_block_number
- move the query for user_extensions outside and before the loop
- database used more efficiently
When using session_path, the session must be active and will automatically activate the session. This is a better method so that the session is never started.
Co-authored-by: Tim Fry <tim@fusionpbx.com>
Update comparison checks when testing the database status and
add a unified log message with a more detailed message from the
database when there is a failure
Authored-by: Tim Fry <tim@fusionpbx.com>
In addition to making sure the voicemail directory exists for each voicemail box
Updated the settings class to use the settings object instead of the SESSION.
The call_block_all permission was pulling double duty.
- Changed the code to use call_block_all only for SHOW ALL to call block across all domains.
- Permission call_block_extension will be used instead for the purpose of showing the extension list.
- If someone doesn't call_block_permission then their assigned extensions will be use with each call block item they add.
Initializing the new object for messages prevents a problem where running the message method twice on the same object returns no results.
Running once to get the count and then using that result with paging to get the voicemail messages.
- Allowing passing the database object into the constructor
- Add the database object in the constructor
- replace $_SESSION['domain_uuid'] and $_SESSION['user_uuid'] with $this->domain_uuid and $this->user_uuid
Improved the following
- Prevent empty caller id name and number from blocking calls
- Fixed the call block count so it would increment each time it has blocked a call
Class name requires the transcribe_ prepended before PHP checks to see
if the class actually exists as the engine must have 'transcribe_' in
front of the classes.
Co-authored-by: Tim Fry <tim@fusionpbx.com>
* add database_maintenance function to database_transactions
* update database_maintenance function in database_transactions
New changes in the maintenance application required changes to any
existing functions already created
---------
Co-authored-by: Tim Fry <tim@fusionpbx.com>
* add filesystem maintenance method to the call_recordings class
* Add filesystem maintenance default setting to the app_config
Set filesystem_retention_days default setting to 90 days in the
app_config.php file to allow the maintenance service to delete older
files.
* update voicemail with the latest changes to the maintenance application
Update the public static function filesystem_maintenance in voicemail
class to use the newest changes in the maintenance class. The
maintenance class now has a constant defined for the subcategory used
within the project.
* update app_config file with necessary default setting changes
---------
Authored-by: Tim Fry <tim@fusionpbx.com>