|
@@ -2,134 +2,177 @@
|
|
|
|
|
|
/**
|
|
/**
|
|
* settings class
|
|
* settings class
|
|
- *
|
|
|
|
- * @method array default_settings
|
|
|
|
- * @method array domain_settings
|
|
|
|
- * @method array user_settings
|
|
|
|
- * @method array all
|
|
|
|
|
|
+ *
|
|
*/
|
|
*/
|
|
class settings {
|
|
class settings {
|
|
|
|
|
|
|
|
+ private $domain_uuid;
|
|
|
|
+ private $user_uuid;
|
|
|
|
+ private $device_uuid;
|
|
|
|
+ private $device_profile_uuid;
|
|
|
|
+ private $category;
|
|
|
|
+ private $settings;
|
|
|
|
+ private $database;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Called when the object is created
|
|
* Called when the object is created
|
|
|
|
+ * @param array setting_array
|
|
|
|
+ * @depends database::new()
|
|
*/
|
|
*/
|
|
- public function __construct() {
|
|
|
|
- //place holder
|
|
|
|
|
|
+ public function __construct($setting_array = []) {
|
|
|
|
+
|
|
|
|
+ //open a database connection
|
|
|
|
+ $this->database = database::new();
|
|
|
|
+
|
|
|
|
+ //set the values from the array
|
|
|
|
+ $this->domain_uuid = $setting_array['domain_uuid'] ?? null;
|
|
|
|
+ $this->user_uuid = $setting_array['user_uuid'] ?? null;
|
|
|
|
+ $this->device_uuid = $setting_array['device_uuid'] ?? null;
|
|
|
|
+ $this->device_profile_uuid = $setting_array['device_profile_uuid'] ?? null;
|
|
|
|
+ $this->category = $setting_array['category'] ?? null;
|
|
|
|
+
|
|
|
|
+ //set the default settings
|
|
|
|
+ $this->default_settings();
|
|
|
|
+
|
|
|
|
+ //set the domains settings
|
|
|
|
+ //if (file_exists($_SERVER["PROJECT_ROOT"]."/app/domains/app_config.php")) {
|
|
|
|
+ // include "app/domains/resources/settings.php";
|
|
|
|
+ //}
|
|
|
|
+
|
|
|
|
+ //set the domain settings
|
|
|
|
+ if (!empty($this->domain_uuid)) {
|
|
|
|
+ $this->domain_settings();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //set the user settings
|
|
|
|
+ if (!empty($this->user_uuid)) {
|
|
|
|
+ $this->user_settings();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //debug show the settings
|
|
|
|
+ //print_r($this->settings);
|
|
|
|
+
|
|
|
|
+ //add settings to the session array
|
|
|
|
+ //if (!defined('STDIN') && !empty($this->settings)) {
|
|
|
|
+ // foreach($this->settings as $key => $row) {
|
|
|
|
+ // $_SESSION[$key] = $row;
|
|
|
|
+ // }
|
|
|
|
+ //}
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * get the default settings
|
|
|
|
- * @var string $setting_category the category
|
|
|
|
|
|
+ * get the value
|
|
|
|
+ * @param text category
|
|
|
|
+ * @param text subcategory
|
|
*/
|
|
*/
|
|
- public function default_settings($setting_category = null) {
|
|
|
|
|
|
+ public function get($category = null, $subcategory = null) {
|
|
|
|
+
|
|
|
|
+ if (empty($category)) {
|
|
|
|
+ return $this->settings;
|
|
|
|
+ }
|
|
|
|
+ elseif (empty($subcategory)) {
|
|
|
|
+ return $this->settings[$category];
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ return $this->settings[$category][$subcategory];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
- //set default parameters
|
|
|
|
- $parameters = null;
|
|
|
|
|
|
+ /**
|
|
|
|
+ * set the default settings
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+ private function default_settings() {
|
|
|
|
|
|
//get the default settings
|
|
//get the default settings
|
|
$sql = "select * from v_default_settings ";
|
|
$sql = "select * from v_default_settings ";
|
|
$sql .= "where default_setting_enabled = 'true' ";
|
|
$sql .= "where default_setting_enabled = 'true' ";
|
|
- if (!empty($setting_category)) {
|
|
|
|
|
|
+ if (!empty($this->category)) {
|
|
$sql .= "and default_setting_category = :default_setting_category ";
|
|
$sql .= "and default_setting_category = :default_setting_category ";
|
|
- $parameters['default_setting_category'] = $setting_category;
|
|
|
|
|
|
+ $parameters['default_setting_category'] = $this->category;
|
|
}
|
|
}
|
|
$sql .= "order by default_setting_order asc ";
|
|
$sql .= "order by default_setting_order asc ";
|
|
- $database = new database;
|
|
|
|
- $result = $database->select($sql, $parameters, 'all');
|
|
|
|
- if (is_array($result) && @sizeof($result) != 0) {
|
|
|
|
|
|
+ $result = $this->database->select($sql, $parameters ?? null, 'all');
|
|
|
|
+ if (!empty($result)) {
|
|
foreach ($result as $row) {
|
|
foreach ($result as $row) {
|
|
$name = $row['default_setting_name'];
|
|
$name = $row['default_setting_name'];
|
|
$category = $row['default_setting_category'];
|
|
$category = $row['default_setting_category'];
|
|
$subcategory = $row['default_setting_subcategory'];
|
|
$subcategory = $row['default_setting_subcategory'];
|
|
if (empty($subcategory)) {
|
|
if (empty($subcategory)) {
|
|
if ($name == "array") {
|
|
if ($name == "array") {
|
|
- $settings[$category][] = $row['default_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category][] = $row['default_setting_value'];
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- $settings[$category][$name] = $row['default_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category] = $row['default_setting_value'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
if ($name == "array") {
|
|
if ($name == "array") {
|
|
- $settings[$category][$subcategory][] = $row['default_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category][$subcategory][] = $row['default_setting_value'];
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- $settings[$category][$subcategory]['uuid'] = $row['default_setting_uuid'];
|
|
|
|
- $settings[$category][$subcategory][$name] = $row['default_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category][$subcategory] = $row['default_setting_value'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
unset($sql, $result, $row);
|
|
unset($sql, $result, $row);
|
|
-
|
|
|
|
- //return the settings array
|
|
|
|
- return $settings;
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
- * get the domain settings
|
|
|
|
- * @var uuid domain_uuid
|
|
|
|
|
|
+ * set the domain settings
|
|
*/
|
|
*/
|
|
- public function domain_settings($domain_uuid) {
|
|
|
|
|
|
+ private function domain_settings() {
|
|
|
|
|
|
$sql = "select * from v_domain_settings ";
|
|
$sql = "select * from v_domain_settings ";
|
|
$sql .= "where domain_uuid = :domain_uuid ";
|
|
$sql .= "where domain_uuid = :domain_uuid ";
|
|
$sql .= "and domain_setting_enabled = 'true' ";
|
|
$sql .= "and domain_setting_enabled = 'true' ";
|
|
- $parameters['domain_uuid'] = $domain_uuid;
|
|
|
|
- $database = new database;
|
|
|
|
- $result = $database->select($sql, $parameters, 'all');
|
|
|
|
|
|
+ $parameters['domain_uuid'] = $this->domain_uuid;
|
|
|
|
+ $result = $this->database->select($sql, $parameters, 'all');
|
|
unset($sql, $parameters);
|
|
unset($sql, $parameters);
|
|
-
|
|
|
|
- if (is_array($result) && sizeof($result) != 0) {
|
|
|
|
|
|
+ if (!empty($result)) {
|
|
foreach ($result as $row) {
|
|
foreach ($result as $row) {
|
|
$name = $row['domain_setting_name'];
|
|
$name = $row['domain_setting_name'];
|
|
$category = $row['domain_setting_category'];
|
|
$category = $row['domain_setting_category'];
|
|
$subcategory = $row['domain_setting_subcategory'];
|
|
$subcategory = $row['domain_setting_subcategory'];
|
|
- if ($subcategory != '') {
|
|
|
|
|
|
+ if (empty($subcategory)) {
|
|
if ($name == "array") {
|
|
if ($name == "array") {
|
|
- $settings[$category][] = $row['default_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category][] = $row['domain_setting_value'];
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- $settings[$category][$name] = $row['default_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category] = $row['domain_setting_value'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
if ($name == "array") {
|
|
if ($name == "array") {
|
|
- $settings[$category][$subcategory][] = $row['default_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category][$subcategory][] = $row['domain_setting_value'];
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- $settings[$category][$subcategory]['uuid'] = $row['default_setting_uuid'];
|
|
|
|
- $settings[$category][$subcategory][$name] = $row['default_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category][$subcategory] = $row['domain_setting_value'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
unset($result, $row);
|
|
unset($result, $row);
|
|
|
|
|
|
- //return the settings array
|
|
|
|
- return $settings;
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
- * get the user settings
|
|
|
|
- * @var uuid domain_uuid
|
|
|
|
- * @var uuid user_uuid
|
|
|
|
|
|
+ * set the user settings
|
|
*/
|
|
*/
|
|
- public function user_settings($domain_uuid, $user_uuid) {
|
|
|
|
|
|
+ private function user_settings() {
|
|
|
|
|
|
- //if (array_key_exists("domain_uuid",$_SESSION) && array_key_exists("user_uuid",$_SESSION) && is_uuid($_SESSION["domain_uuid"])) {
|
|
|
|
$sql = "select * from v_user_settings ";
|
|
$sql = "select * from v_user_settings ";
|
|
$sql .= "where domain_uuid = :domain_uuid ";
|
|
$sql .= "where domain_uuid = :domain_uuid ";
|
|
$sql .= "and user_uuid = :user_uuid ";
|
|
$sql .= "and user_uuid = :user_uuid ";
|
|
$sql .= " order by user_setting_order asc ";
|
|
$sql .= " order by user_setting_order asc ";
|
|
- $parameters['domain_uuid'] = $domain_uuid;
|
|
|
|
- $parameters['user_uuid'] = $user_uuid;
|
|
|
|
- $database = new database;
|
|
|
|
- $result = $database->select($sql, $parameters, 'all');
|
|
|
|
|
|
+ $parameters['domain_uuid'] = $this->domain_uuid;
|
|
|
|
+ $parameters['user_uuid'] = $this->user_uuid;
|
|
|
|
+ $result = $this->database->select($sql, $parameters, 'all');
|
|
if (is_array($result)) {
|
|
if (is_array($result)) {
|
|
foreach ($result as $row) {
|
|
foreach ($result as $row) {
|
|
if ($row['user_setting_enabled'] == 'true') {
|
|
if ($row['user_setting_enabled'] == 'true') {
|
|
@@ -138,74 +181,26 @@ class settings {
|
|
$subcategory = $row['user_setting_subcategory'];
|
|
$subcategory = $row['user_setting_subcategory'];
|
|
if (!empty($row['user_setting_value'])) {
|
|
if (!empty($row['user_setting_value'])) {
|
|
if (empty($subcategory)) {
|
|
if (empty($subcategory)) {
|
|
- //$$category[$name] = $row['domain_setting_value'];
|
|
|
|
if ($name == "array") {
|
|
if ($name == "array") {
|
|
- $settings[$category][] = $row['user_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category][] = $row['user_setting_value'];
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- $settings[$category][$name] = $row['user_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category] = $row['user_setting_value'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- //$$category[$subcategory][$name] = $row['domain_setting_value'];
|
|
|
|
if ($name == "array") {
|
|
if ($name == "array") {
|
|
- $settings[$category][$subcategory][] = $row['user_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category][$subcategory][] = $row['user_setting_value'];
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- $settings[$category][$subcategory][$name] = $row['user_setting_value'];
|
|
|
|
|
|
+ $this->settings[$category][$subcategory] = $row['user_setting_value'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- //}
|
|
|
|
-
|
|
|
|
- //return the settings array
|
|
|
|
- return $settings;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * Build the all settings into an array
|
|
|
|
- * @var uuid domain_uuid
|
|
|
|
- * @var uuid user_uuid
|
|
|
|
- */
|
|
|
|
- public function all($domain_uuid, $user_uuid = null) {
|
|
|
|
-
|
|
|
|
- //get the default settings
|
|
|
|
- $settings = $this->default_settings();
|
|
|
|
-
|
|
|
|
- //get the domains settings
|
|
|
|
- if (file_exists($_SERVER["PROJECT_ROOT"]."/app/domains/app_config.php")) {
|
|
|
|
- include "app/domains/resources/settings.php";
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //get the domain settings
|
|
|
|
- if (!empty($domain_uuid)) {
|
|
|
|
- $result = $this->domain_settings($domain_uuid);
|
|
|
|
- foreach($result as $key => $row) {
|
|
|
|
- $settings[$key] = $row;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //get the user settings
|
|
|
|
- if (!empty($user_uuid)) {
|
|
|
|
- $result = $this->user_settings($domain_uuid, $user_uuid);
|
|
|
|
- foreach($result as $key => $row) {
|
|
|
|
- $settings[$key] = $row;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //add settings to the session array
|
|
|
|
- if (!defined('STDIN') && !empty($settings)) {
|
|
|
|
- foreach($settings as $key => $row) {
|
|
|
|
- $_SESSION[$key] = $row;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
|
|
- //return the settings array
|
|
|
|
- return $settings;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|