diff --git a/core/groups/app_config.php b/core/groups/app_config.php new file mode 100644 index 0000000000..ae18b0a11f --- /dev/null +++ b/core/groups/app_config.php @@ -0,0 +1,241 @@ + \ No newline at end of file diff --git a/core/groups/app_defaults.php b/core/groups/app_defaults.php new file mode 100644 index 0000000000..5a613a80a5 --- /dev/null +++ b/core/groups/app_defaults.php @@ -0,0 +1,65 @@ + + Portions created by the Initial Developer are Copyright (C) 2008-2012 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ + +if ($domains_processed == 1) { + + //if the default groups do not exist add them + $group = new groups; + $group->defaults(); + + //find rows that have a null group_uuid and set the correct group_uuid + $sql = "select * from v_group_users "; + $sql .= "where group_uuid is null; "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + $db->beginTransaction(); + foreach($result as $row) { + if (strlen($row['group_name']) > 0) { + //get the group_uuid + $sql = "select group_uuid from v_groups "; + $sql .= "where group_name = '".$row['group_name']."' "; + $prep_statement_sub = $db->prepare($sql); + $prep_statement_sub->execute(); + $sub_result = $prep_statement_sub->fetch(PDO::FETCH_ASSOC); + unset ($prep_statement_sub); + $group_uuid = $sub_result['group_uuid']; + //set the group_uuid + $sql = "update v_group_users set "; + $sql .= "group_uuid = '".$group_uuid."' "; + $sql .= "where group_user_uuid = '".$row['group_user_uuid']."'; "; + $db->exec($sql); + unset($sql); + } + } + $db->commit(); + unset ($prep_statement); + } + +} + +?> \ No newline at end of file diff --git a/core/groups/app_languages.php b/core/groups/app_languages.php new file mode 100644 index 0000000000..a8e532ec3d --- /dev/null +++ b/core/groups/app_languages.php @@ -0,0 +1,1193 @@ + \ No newline at end of file diff --git a/core/groups/app_menu.php b/core/groups/app_menu.php new file mode 100644 index 0000000000..073cd23897 --- /dev/null +++ b/core/groups/app_menu.php @@ -0,0 +1,19 @@ + \ No newline at end of file diff --git a/core/users/group_permissions.php b/core/groups/group_permissions.php similarity index 100% rename from core/users/group_permissions.php rename to core/groups/group_permissions.php diff --git a/core/users/groupadd.php b/core/groups/groupadd.php similarity index 100% rename from core/users/groupadd.php rename to core/groups/groupadd.php diff --git a/core/users/groupdelete.php b/core/groups/groupdelete.php similarity index 100% rename from core/users/groupdelete.php rename to core/groups/groupdelete.php diff --git a/core/users/groupedit.php b/core/groups/groupedit.php similarity index 100% rename from core/users/groupedit.php rename to core/groups/groupedit.php diff --git a/core/users/groupmemberadd.php b/core/groups/groupmemberadd.php similarity index 100% rename from core/users/groupmemberadd.php rename to core/groups/groupmemberadd.php diff --git a/core/users/groupmemberdelete.php b/core/groups/groupmemberdelete.php similarity index 100% rename from core/users/groupmemberdelete.php rename to core/groups/groupmemberdelete.php diff --git a/core/users/groupmembers.php b/core/groups/groupmembers.php similarity index 100% rename from core/users/groupmembers.php rename to core/groups/groupmembers.php diff --git a/core/users/groups.php b/core/groups/groups.php similarity index 100% rename from core/users/groups.php rename to core/groups/groups.php diff --git a/core/users/permissions_copy.php b/core/groups/permissions_copy.php similarity index 100% rename from core/users/permissions_copy.php rename to core/groups/permissions_copy.php diff --git a/core/users/permissions_default.php b/core/groups/permissions_default.php similarity index 95% rename from core/users/permissions_default.php rename to core/groups/permissions_default.php index 5ede2d191e..e47a4d2dc3 100644 --- a/core/users/permissions_default.php +++ b/core/groups/permissions_default.php @@ -43,7 +43,7 @@ $text = $language->get(); //permission restore default - require_once "core/users/resources/classes/permission.php"; + require_once "core/groups/resources/classes/permission.php"; $permission = new permission; $permission->db = $db; $permission->restore(); diff --git a/core/users/resources/classes/permission.php b/core/groups/resources/classes/permission.php similarity index 100% rename from core/users/resources/classes/permission.php rename to core/groups/resources/classes/permission.php diff --git a/core/groups/root.php b/core/groups/root.php new file mode 100644 index 0000000000..6fdf32f37b --- /dev/null +++ b/core/groups/root.php @@ -0,0 +1,90 @@ + + Portions created by the Initial Developer are Copyright (C) 2008-2012 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ + +// make sure the PATH_SEPARATOR is defined + umask(2); + if (!defined("PATH_SEPARATOR")) { + if (strpos($_ENV["OS"], "Win") !== false) { + define("PATH_SEPARATOR", ";"); + } else { + define("PATH_SEPARATOR", ":"); + } + } + + if (!isset($output_format)) $output_format = (PHP_SAPI == 'cli') ? 'text' : 'html'; + + // make sure the document_root is set + $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + chdir(pathinfo(realpath($_SERVER["PHP_SELF"]), PATHINFO_DIRNAME)); + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/project_root.php')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/project_root.php')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } + $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); +// try to detect if a project path is being used + if (!defined('PROJECT_PATH')) { + if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { + define('PROJECT_PATH', '/fusionpbx'); + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/project_root.php')) { + define('PROJECT_PATH', ''); + } else { + $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); + $i = 1; + $path = $_SERVER["DOCUMENT_ROOT"]; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/project_root.php')) { + break; + } + $i++; + } + if(!file_exists($path. '/project_root.php')){ + die("Failed to locate the Project Root by searching for project_root.php please contact support for assistance"); + } + $project_path = str_replace($_SERVER["DOCUMENT_ROOT"], "", $path); + define('PROJECT_PATH', $project_path); + } + $_SERVER["PROJECT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH); + set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER["PROJECT_ROOT"]); + } + +?> \ No newline at end of file diff --git a/core/upgrade/index.php b/core/upgrade/index.php index 18f5e88760..b6b2a70547 100644 --- a/core/upgrade/index.php +++ b/core/upgrade/index.php @@ -106,7 +106,7 @@ // restore default permissions if ($do["permissions"] && permission_exists("group_edit")) { $included = true; - require_once("core/users/permissions_default.php"); + require_once("core/groups/permissions_default.php"); $response_message = "Permission Defaults Restored"; } @@ -129,9 +129,9 @@ echo "

"; echo $text['description-upgrade']; echo "

"; - + echo "
\n"; - + if (permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx") && is_writeable($_SERVER["PROJECT_ROOT"]."/.git")) { echo "\n"; echo "\n"; @@ -144,7 +144,7 @@ echo "\n"; echo "
\n"; } - + if (permission_exists("upgrade_schema")) { echo "\n"; echo "\n"; @@ -156,7 +156,7 @@ echo " \n"; echo "\n"; echo "
\n"; - + echo "\n"; } - + if (permission_exists("upgrade_apps")) { echo "\n"; echo "\n"; @@ -183,7 +183,7 @@ echo "\n"; echo "
\n"; } - + if (permission_exists("menu_restore")) { echo "\n"; echo "\n"; @@ -207,7 +207,7 @@ echo "\n"; echo "
\n"; } - + if (permission_exists("group_edit")) { echo "\n"; echo "\n"; @@ -220,12 +220,12 @@ echo "\n"; echo "
\n"; } - + echo "
"; echo "
"; echo "

"; echo "
\n"; - + // output result of source update if (sizeof($_SESSION["response_source_update"]) > 0) { echo "
"; @@ -237,7 +237,7 @@ echo "

"; unset($_SESSION["response_source_update"]); } - + // output result of upgrade schema if ($_SESSION["schema"]["response"] != '') { echo "
"; diff --git a/core/user_settings/app_menu.php b/core/user_settings/app_menu.php index ff0063a99e..10cbac0a04 100644 --- a/core/user_settings/app_menu.php +++ b/core/user_settings/app_menu.php @@ -1,25 +1,5 @@ - Portions created by the Initial Developer are Copyright (C) 2008-2012 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ - -//includes - include "root.php"; - require_once "resources/require.php"; - require_once "resources/check_auth.php"; - -//check permissions - if (permission_exists("user_account_setting_view")) { - //access granted - } - else { - echo "access denied"; - return; - } - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//set the username from v_users - $username = $_SESSION["username"]; - $user_uuid = $_SESSION["user_uuid"]; - -//required to be a superadmin to update an account that is a member of the superadmin group - $superadmin_list = superadmin_list($db); - if (if_superadmin($superadmin_list, $user_uuid)) { - if (!if_group("superadmin")) { - echo "access denied"; - return; - } - } - -//get the user settings - $sql = "select * from v_user_settings "; - $sql .= "where user_uuid = '".$user_uuid."' "; - $sql .= "and user_setting_enabled = 'true' "; - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach($result as $row) { - $name = $row['user_setting_name']; - $category = $row['user_setting_category']; - $subcategory = $row['user_setting_subcategory']; - if (strlen($subcategory) == 0) { - //$$category[$name] = $row['domain_setting_value']; - $user_settings[$category][$name] = $row['user_setting_value']; - } - else { - $user_settings[$category][$subcategory][$name] = $row['user_setting_value']; - } - } - } - -//process http post data - if (count($_POST) > 0 && $_POST["persistform"] != "1") { - - //get the HTTP values and set as variables - $password = check_str($_POST["password"]); - $password_confirm = check_str($_POST["password_confirm"]); - $user_status = check_str($_POST["user_status"]); - $user_template_name = check_str($_POST["user_template_name"]); - $user_language = check_str($_POST["user_language"]); - $user_time_zone = check_str($_POST["user_time_zone"]); - $group_member = check_str($_POST["group_member"]); - - //check required values - if ($password != $password_confirm) { $msg_error = $text['message-password_mismatch']; } - - if ($msg_error != '') { - $_SESSION["message"] = $msg_error; - $_SESSION["message_mood"] = 'negative'; - header("Location: user_edit.php"); - exit; - } - - if (!check_password_strength($password, $text)) { - header("Location: user_edit.php"); - exit; - } - - //check to see if user language is set - $sql = "select count(*) as num_rows from v_user_settings "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'language' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] == 0) { - $user_setting_uuid = uuid(); - $sql = "insert into v_user_settings "; - $sql .= "("; - $sql .= "domain_uuid, "; - $sql .= "user_setting_uuid, "; - $sql .= "user_setting_category, "; - $sql .= "user_setting_subcategory, "; - $sql .= "user_setting_name, "; - $sql .= "user_setting_value, "; - $sql .= "user_setting_enabled, "; - $sql .= "user_uuid "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$_SESSION["domain_uuid"]."', "; - $sql .= "'".$user_setting_uuid."', "; - $sql .= "'domain', "; - $sql .= "'language', "; - $sql .= "'code', "; - $sql .= "'".$user_language."', "; - $sql .= "'true', "; - $sql .= "'".$user_uuid."' "; - $sql .= ")"; - $db->exec(check_sql($sql)); - } - else { - if (strlen($user_language) == 0) { - $sql = "delete from v_user_settings "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'language' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - unset($sql); - } - else { - $sql = "update v_user_settings set "; - $sql .= "user_setting_value = '".$user_language."', "; - $sql .= "user_setting_enabled = 'true' "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'language' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - } - } - } - - //check to see if user time_zone is set - $sql = "select count(*) as num_rows from v_user_settings "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'time_zone' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] == 0) { - $user_setting_uuid = uuid(); - $sql = "insert into v_user_settings "; - $sql .= "("; - $sql .= "domain_uuid, "; - $sql .= "user_setting_uuid, "; - $sql .= "user_setting_category, "; - $sql .= "user_setting_subcategory, "; - $sql .= "user_setting_name, "; - $sql .= "user_setting_value, "; - $sql .= "user_setting_enabled, "; - $sql .= "user_uuid "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$_SESSION["domain_uuid"]."', "; - $sql .= "'".$user_setting_uuid."', "; - $sql .= "'domain', "; - $sql .= "'time_zone', "; - $sql .= "'name', "; - $sql .= "'".$user_time_zone."', "; - $sql .= "'true', "; - $sql .= "'".$user_uuid."' "; - $sql .= ")"; - $db->exec(check_sql($sql)); - } - else { - if (strlen($user_time_zone) == 0) { - $sql = "delete from v_user_settings "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'time_zone' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - unset($sql); - } - else { - $sql = "update v_user_settings set "; - $sql .= "user_setting_value = '".$user_time_zone."', "; - $sql .= "user_setting_enabled = 'true' "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'time_zone' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - } - } - } - - //sql update - $sql = "update v_users set "; - if (strlen($password) > 0 && $password_confirm == $password) { - //salt used with the password to create a one way hash - $salt = generate_password('20', '4'); - //set the password - $sql .= "password = '".md5($salt.$password)."', "; - $sql .= "salt = '".$salt."', "; - } - $sql .= "user_status = '$user_status' "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and user_uuid = '$user_uuid' "; - if (permission_exists("user_account_setting_edit")) { - $count = $db->exec(check_sql($sql)); - } - - //if call center app is installed then update the user_status - if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/call_center')) { - //update the user_status - $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); - $switch_cmd .= "callcenter_config agent set status ".$username."@".$_SESSION['domain_name']." '".$user_status."'"; - $switch_result = event_socket_request($fp, 'api '.$switch_cmd); - - //update the user state - $cmd = "api callcenter_config agent set state ".$username."@".$_SESSION['domain_name']." Waiting"; - $response = event_socket_request($fp, $cmd); - } - - //redirect the browser - $_SESSION["message"] = $text['confirm-update']; - header("Location: ".PROJECT_PATH."/core/user_settings/user_edit.php"); - return; - } - else { - $sql = "select * from v_users "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and user_uuid = '$user_uuid' "; - $sql .= "and user_enabled = 'true' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as $row) { - //$password = $row["password"]; - $user_status = $row["user_status"]; - break; //limit to 1 row - } - - //get the groups the user is a member of - //group_members function defined in config.php - $group_members = group_members($db, $user_uuid); - } - -//include the header - require_once "resources/header.php"; - -//show the content - $table_width ='width="100%"'; - - echo "\n"; - - echo "
"; - - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
".$text['title']."\n"; - if (strlen($_SESSION['login']['destination']['url']) > 0) { - echo " "; - } - echo " "; - echo "
\n"; - echo " ".$text['description']." \n"; - echo "
\n"; - - echo "
\n"; - - echo ""; - echo "\n"; - echo " \n"; - echo "\n"; - - echo " "; - echo " "; - echo " "; - echo " "; - - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - - echo " "; - echo " "; - - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - - if ($_SESSION['user_status_display'] == "false") { - //hide the user_status when it is set to false - } - else { - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - } - - echo "
".$text['table-title']."
".$text['label-username'].""; - echo " ".$username."\n"; - echo "
".$text['label-password'].""; - echo " "; - echo "
"; - echo "
".$text['label-confirm-password'].""; - echo " "; - echo "
\n"; - echo " ".$text['label-user_language']."\n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['description-user_language']."
\n"; - echo "
\n"; - echo " ".$text['label-time']."\n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['description-timezone']."
\n"; - echo "
\n"; - echo " ".$text['label-status']."\n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['description-status']."
\n"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - - //capture enter key to submit form - echo "\n"; - -//include the footer - require_once "resources/footer.php"; - -?> diff --git a/core/users/app_config.php b/core/users/app_config.php index f17e8fda35..4e9ec3509d 100644 --- a/core/users/app_config.php +++ b/core/users/app_config.php @@ -43,72 +43,6 @@ $apps[$x]['permissions'][$y]['name'] = 'user_all'; $apps[$x]['permissions'][$y]['groups'][] = 'superadmin'; $y++; - $apps[$x]['permissions'][$y]['name'] = "group_view"; - $apps[$x]['permissions'][$y]['menu']['uuid'] = "3b4acc6d-827b-f537-bf21-0093d94ffec7"; - $apps[$x]['permissions'][$y]['groups'][] = "admin"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_add"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_edit"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_delete"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = 'group_domain'; - $apps[$x]['permissions'][$y]['groups'][] = 'superadmin'; - $y++; - $apps[$x]['permissions'][$y]['name'] = 'group_all'; - $apps[$x]['permissions'][$y]['groups'][] = 'superadmin'; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_member_view"; - $apps[$x]['permissions'][$y]['menu']['uuid'] = "3b4acc6d-827b-f537-bf21-0093d94ffec7"; - $apps[$x]['permissions'][$y]['groups'][] = "admin"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_member_add"; - $apps[$x]['permissions'][$y]['groups'][] = "admin"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_member_delete"; - $apps[$x]['permissions'][$y]['groups'][] = "admin"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_permissions"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_user_view"; - $apps[$x]['permissions'][$y]['menu']['uuid'] = "3b4acc6d-827b-f537-bf21-0093d94ffec7"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $apps[$x]['permissions'][$y]['groups'][] = "admin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_user_add"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $apps[$x]['permissions'][$y]['groups'][] = "admin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_user_edit"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $apps[$x]['permissions'][$y]['groups'][] = "admin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_user_delete"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $apps[$x]['permissions'][$y]['groups'][] = "admin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_permission_view"; - $apps[$x]['permissions'][$y]['menu']['uuid'] = "3b4acc6d-827b-f537-bf21-0093d94ffec7"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_permission_add"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_permission_edit"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; - $apps[$x]['permissions'][$y]['name'] = "group_permission_delete"; - $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; - $y++; $apps[$x]['permissions'][$y]['name'] = "user_setting_view"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; $apps[$x]['permissions'][$y]['groups'][] = "admin"; @@ -218,156 +152,6 @@ $y = 1; //table array index $z = 0; //field array index - $apps[$x]['db'][$y]['table'] = "v_groups"; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "group_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; - $apps[$x]['db'][$y]['fields'][$z]['key']['type'] = "primary"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "id"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "serial"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "integer"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "INT NOT NULL AUTO_INCREMENT"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $apps[$x]['db'][$y]['fields'][$z]['deprecated'] = "true"; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "domain_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; - $apps[$x]['db'][$y]['fields'][$z]['key']['type'] = "foreign"; - $apps[$x]['db'][$y]['fields'][$z]['key']['reference']['table'] = "v_domains"; - $apps[$x]['db'][$y]['fields'][$z]['key']['reference']['field'] = "domain_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "v_id"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $apps[$x]['db'][$y]['fields'][$z]['deprecated'] = "true"; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name']['text'] = "group_name"; - $apps[$x]['db'][$y]['fields'][$z]['name']['deprecated'] = "groupid"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "group_protected"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name']['text'] = "group_description"; - $apps[$x]['db'][$y]['fields'][$z]['name']['deprecated'] = "groupdesc"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - - $y = 2; //table array index - $z = 0; //field array index - $apps[$x]['db'][$y]['table'] = "v_group_users"; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "id"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "serial"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "integer"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "INT NOT NULL AUTO_INCREMENT"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $apps[$x]['db'][$y]['fields'][$z]['deprecated'] = "true"; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "group_user_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; - $apps[$x]['db'][$y]['fields'][$z]['key']['type'] = "primary"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "domain_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; - $apps[$x]['db'][$y]['fields'][$z]['key']['type'] = "foreign"; - $apps[$x]['db'][$y]['fields'][$z]['key']['reference']['table'] = "v_domains"; - $apps[$x]['db'][$y]['fields'][$z]['key']['reference']['field'] = "domain_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "v_id"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $apps[$x]['db'][$y]['fields'][$z]['deprecated'] = "true"; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name']['text'] = "group_name"; - $apps[$x]['db'][$y]['fields'][$z]['name']['deprecated'] = "groupid"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "group_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; - $apps[$x]['db'][$y]['fields'][$z]['key']['type'] = "foreign"; - $apps[$x]['db'][$y]['fields'][$z]['key']['reference']['table'] = "v_groups"; - $apps[$x]['db'][$y]['fields'][$z]['key']['reference']['field'] = "group_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "username"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $apps[$x]['db'][$y]['fields'][$z]['deprecated'] = "true"; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "user_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; - $apps[$x]['db'][$y]['fields'][$z]['key']['type'] = "foreign"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - - $y = 3; //table array index - $z = 0; //field array index - $apps[$x]['db'][$y]['table'] = "v_group_permissions"; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "group_permission_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; - $apps[$x]['db'][$y]['fields'][$z]['key']['type'] = "primary"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name']['text'] = "id"; - $apps[$x]['db'][$y]['fields'][$z]['name']['deprecated'] = "group_permission_name"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "serial"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "integer"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "INT NOT NULL AUTO_INCREMENT"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $apps[$x]['db'][$y]['fields'][$z]['deprecated'] = "true"; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "domain_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; - $apps[$x]['db'][$y]['fields'][$z]['key']['type'] = "foreign"; - $apps[$x]['db'][$y]['fields'][$z]['key']['reference']['table'] = "v_domains"; - $apps[$x]['db'][$y]['fields'][$z]['key']['reference']['field'] = "domain_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "v_id"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $apps[$x]['db'][$y]['fields'][$z]['deprecated'] = "true"; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name']['text'] = "permission_name"; - $apps[$x]['db'][$y]['fields'][$z]['name']['deprecated'] = "permission_id"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "group_name"; - $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - $z++; - $apps[$x]['db'][$y]['fields'][$z]['name'] = "group_uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; - $apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text"; - $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; - $apps[$x]['db'][$y]['fields'][$z]['key']['type'] = "foreign"; - $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - - $y = 4; //table array index - $z = 0; //field array index $apps[$x]['db'][$y]['table'] = "v_user_settings"; $apps[$x]['db'][$y]['fields'][$z]['name'] = "user_setting_uuid"; $apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid"; diff --git a/core/users/app_defaults.php b/core/users/app_defaults.php index 84387b303a..5a613a80a5 100644 --- a/core/users/app_defaults.php +++ b/core/users/app_defaults.php @@ -60,29 +60,6 @@ if ($domains_processed == 1) { unset ($prep_statement); } - //if user_enabled is null then set to enabled true - $sql = "select count(*) as count from v_users "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and user_enabled is null "; - $prep_statement = $db->prepare($sql); - $prep_statement->execute(); - $sub_result = $prep_statement->fetch(PDO::FETCH_ASSOC); - unset ($prep_statement); - if ($sub_result['count'] > 0) { - //begin the transaction - $db->beginTransaction(); - //send output - if ($display_type == "text") { - echo " Users: set enabled=true\n"; - } - //set the user_enabled to true - $sql = "update v_users set "; - $sql .= "user_enabled = 'true' "; - $db->exec($sql); - unset($sql); - //end the transaction - $db->commit(); - } } ?> \ No newline at end of file diff --git a/core/users/app_languages.php b/core/users/app_languages.php index a8e532ec3d..07f09551b1 100644 --- a/core/users/app_languages.php +++ b/core/users/app_languages.php @@ -43,61 +43,6 @@ $text['title-user_add']['ro'] = "Utilizator"; $text['title-user_add']['de-at'] = "Benutzer"; $text['title-user_add']['he'] = "משתמש"; -$text['title-group_permissions']['en-us'] = "Group Permissions"; -$text['title-group_permissions']['es-cl'] = "Permisos de Grupo"; -$text['title-group_permissions']['pt-pt'] = "Permissões do Grupo"; -$text['title-group_permissions']['fr-fr'] = "Permissions du Groupe"; -$text['title-group_permissions']['pl'] = "Uprawnienia grupy:"; -$text['title-group_permissions']['uk'] = "Привілеї групи"; -$text['title-group_permissions']['sv-se'] = "Grupp Rättigheter"; -$text['title-group_permissions']['ro'] = "Permisiuni grup"; -$text['title-group_permissions']['de-at'] = "Gruppenberechtigung"; -$text['title-group_permissions']['he'] = "הרשאות קבוצה"; - -$text['title-group_members']['en-us'] = "Group Members"; -$text['title-group_members']['es-cl'] = "Miembros del Grupo"; -$text['title-group_members']['pt-pt'] = "Membros do Grupo"; -$text['title-group_members']['fr-fr'] = "Membres du Groupe"; -$text['title-group_members']['pl'] = "Członkowie grupy:"; -$text['title-group_members']['uk'] = "Учасники групи"; -$text['title-group_members']['sv-se'] = "Grupp Medlemmar"; -$text['title-group_members']['ro'] = "Membri grup"; -$text['title-group_members']['de-at'] = "Gruppenmitglieder"; -$text['title-group_members']['he'] = "חברי קבוצה"; - -$text['title-group_manager']['en-us'] = "Group Manager"; -$text['title-group_manager']['es-cl'] = "Administración de Grupo"; -$text['title-group_manager']['pt-pt'] = "Gestão de Grupos"; -$text['title-group_manager']['fr-fr'] = "Gestion de Groupe"; -$text['title-group_manager']['pl'] = "Menedżer grup"; -$text['title-group_manager']['uk'] = "Групи"; -$text['title-group_manager']['sv-se'] = "Grupp Inställningar"; -$text['title-group_manager']['ro'] = ""; -$text['title-group_manager']['de-at'] = "Gruppenverwaltung"; -$text['title-group_manager']['he'] = "מנהל קבוצה"; - -$text['title-group_edit']['en-us'] = "Edit Group"; -$text['title-group_edit']['es-cl'] = "Editar Grupo"; -$text['title-group_edit']['pt-pt'] = "Editar Grupo"; -$text['title-group_edit']['fr-fr'] = "Modifier le Groupe"; -$text['title-group_edit']['pl'] = "Edycja grupy"; -$text['title-group_edit']['uk'] = "Редагувати групу"; -$text['title-group_edit']['sv-se'] = "Editera Grupp"; -$text['title-group_edit']['ro'] = "Editare grup"; -$text['title-group_edit']['de-at'] = "Gruppe ändern"; -$text['title-group_edit']['he'] = "ערוך קבוצה"; - -$text['title-group_add']['en-us'] = "Add Group"; -$text['title-group_add']['es-cl'] = "Agregar Grupo"; -$text['title-group_add']['pt-pt'] = "Adicionar Grupo"; -$text['title-group_add']['fr-fr'] = "Ajouter un Groupe"; -$text['title-group_add']['pl'] = "Dodaj grupę"; -$text['title-group_add']['uk'] = "Додати групу"; -$text['title-group_add']['sv-se'] = "Lägg Till Grupp"; -$text['title-group_add']['ro'] = "Adăugare grup"; -$text['title-group_add']['de-at'] = "Gruppe hinzufügen"; -$text['title-group_add']['he'] = "הוסף קבוצה"; - $text['option-true']['en-us'] = "True"; $text['option-true']['es-cl'] = "Verdadero"; $text['option-true']['pt-pt'] = "Sim"; @@ -230,28 +175,6 @@ $text['message-password_requirements']['ro'] = "Cerințe privind parola"; $text['message-password_requirements']['de-at'] = "Kennwortanforderungen "; $text['message-password_requirements']['he'] = "דרישות סיסמא"; -$text['message-new_group_name']['en-us'] = "Enter a Name for the new Group..."; -$text['message-new_group_name']['es-cl'] = "Introduzca un Nombre para el nuevo Grupo..."; -$text['message-new_group_name']['pt-pt'] = "Digite um Nome para o novo Grupo..."; -$text['message-new_group_name']['fr-fr'] = "Entrez un Nom pour le nouveau Groupe..."; -$text['message-new_group_name']['pl'] = "Wprowadź nazwę nowej grupy"; -$text['message-new_group_name']['uk'] = "Введіть назву нової групи"; -$text['message-new_group_name']['sv-se'] = "Ange ett Namn för den nya Gruppen..."; -$text['message-new_group_name']['ro'] = ""; -$text['message-new_group_name']['de-at'] = "Geben Sie den Namen der neuen Gruppe an..."; -$text['message-new_group_name']['he'] = "הכנס שם לקבוצה"; - -$text['message-new_group_description']['en-us'] = "Enter a Description for the new Group..."; -$text['message-new_group_description']['es-cl'] = "Introduzca una Descripción para el nuevo Grupo..."; -$text['message-new_group_description']['pt-pt'] = "Digite uma Descrição para o novo grupo..."; -$text['message-new_group_description']['fr-fr'] = "Entrez une Description pour le nouveau groupe..."; -$text['message-new_group_description']['pl'] = "Wprowadź opis nowej grupy"; -$text['message-new_group_description']['uk'] = "Введіть опис нової групи"; -$text['message-new_group_description']['sv-se'] = "Ange en Beskrivning för den nya Gruppen..."; -$text['message-new_group_description']['ro'] = ""; -$text['message-new_group_description']['de-at'] = "Geben Sie eine Beschreiben für die neue Gruppe an..."; -$text['message-new_group_description']['he'] = "הכנס תאור לקבוצה"; - $text['message-maximum_users']['en-us'] = "Maximum Users:"; $text['message-maximum_users']['es-cl'] = "Usuarios Máximo Permitido:"; $text['message-maximum_users']['pt-pt'] = "Usuários Máximo Permitido:"; @@ -263,28 +186,6 @@ $text['message-maximum_users']['ro'] = ""; $text['message-maximum_users']['de-at'] = "Maximale Anzahl an Benutzern:"; $text['message-maximum_users']['he'] = "מקסימום משתמשים"; -$text['message-group_exists']['en-us'] = "Group Already Exists"; -$text['message-group_exists']['es-cl'] = "El Grupo ya Existe"; -$text['message-group_exists']['pt-pt'] = "O Grupo já Existe"; -$text['message-group_exists']['fr-fr'] = "Le groupe existe déjà"; -$text['message-group_exists']['pl'] = "Grupa już istnieje"; -$text['message-group_exists']['uk'] = "Група вже існує"; -$text['message-group_exists']['sv-se'] = "Gruppen Existerar Redan"; -$text['message-group_exists']['ro'] = ""; -$text['message-group_exists']['de-at'] = "Gruppe existiert bereits"; -$text['message-group_exists']['he'] = "הקבוצה כבר קיימת"; - -$text['message-default_system_group']['en-us'] = "Default system groups cannot be edited or deleted."; -$text['message-default_system_group']['es-cl'] = "Grupos predeterminados del sistema no pueden ser editados o eliminados."; -$text['message-default_system_group']['pt-pt'] = "Grupos de sistema padrão não podem ser editados ou apagados."; -$text['message-default_system_group']['fr-fr'] = "Les groupes par défaut du système ne peuvent pas être modifiés ou supprimés."; -$text['message-default_system_group']['pl'] = "Domyślne grupy systemowe nie mogą być edytowane lub usuwane"; -$text['message-default_system_group']['uk'] = "Системні групи за замовчуванням не можна редагувати або видаляти"; -$text['message-default_system_group']['sv-se'] = "Standard system grupper kan inte redigeras eller tas bort."; -$text['message-default_system_group']['ro'] = ""; -$text['message-default_system_group']['de-at'] = "Systemgruppen können nicht bearbeitet oder gelöscht werden."; -$text['message-default_system_group']['he'] = ""; - $text['message-copy']['en-us'] = "Copy Completed"; $text['message-copy']['es-cl'] = "Copia Completada"; $text['message-copy']['pt-pt'] = "Cópia Efectuada"; @@ -624,72 +525,6 @@ $text['label-groups']['ro'] = ""; $text['label-groups']['de-at'] = "Gruppen"; $text['label-groups']['he'] = "קבוצות"; -$text['label-group_tools']['en-us'] = "Tools"; -$text['label-group_tools']['es-cl'] = "Instrumentos"; -$text['label-group_tools']['pt-pt'] = "Ferramentas"; -$text['label-group_tools']['fr-fr'] = "Outils"; -$text['label-group_tools']['pl'] = "Narzędzia"; -$text['label-group_tools']['uk'] = "Інструменти"; -$text['label-group_tools']['sv-se'] = "Verktyg"; -$text['label-group_tools']['ro'] = ""; -$text['label-group_tools']['de-at'] = "Funktionen"; -$text['label-group_tools']['he'] = "כלים"; - -$text['label-group_protected']['en-us'] = "Protected"; -$text['label-group_protected']['es-cl'] = "Protegido"; -$text['label-group_protected']['pt-pt'] = "Protegido"; -$text['label-group_protected']['fr-fr'] = "Protégé"; -$text['label-group_protected']['pl'] = "Zabezpieczony"; -$text['label-group_protected']['uk'] = "Захищено"; -$text['label-group_protected']['sv-se'] = "Skyddad"; -$text['label-group_protected']['ro'] = ""; -$text['label-group_protected']['de-at'] = "Geschützt"; -$text['label-group_protected']['he'] = "שמור"; - -$text['label-group_permissions']['en-us'] = "Permissions"; -$text['label-group_permissions']['es-cl'] = "Permisos"; -$text['label-group_permissions']['pt-pt'] = "Permissões"; -$text['label-group_permissions']['fr-fr'] = "Permissions"; -$text['label-group_permissions']['pl'] = "Uprawnienia"; -$text['label-group_permissions']['uk'] = "Дозволи"; -$text['label-group_permissions']['sv-se'] = "Rättigheter"; -$text['label-group_permissions']['ro'] = ""; -$text['label-group_permissions']['de-at'] = "Berechtigungen"; -$text['label-group_permissions']['he'] = "הראשות"; - -$text['label-group_name']['en-us'] = "Name"; -$text['label-group_name']['es-cl'] = "Nombre"; -$text['label-group_name']['pt-pt'] = "Nome"; -$text['label-group_name']['fr-fr'] = "Nom"; -$text['label-group_name']['pl'] = "Nazwa"; -$text['label-group_name']['uk'] = "Назва"; -$text['label-group_name']['sv-se'] = "Namn"; -$text['label-group_name']['ro'] = ""; -$text['label-group_name']['de-at'] = "Name"; -$text['label-group_name']['he'] = "שם"; - -$text['label-group_members']['en-us'] = "Members"; -$text['label-group_members']['es-cl'] = "Miembros"; -$text['label-group_members']['pt-pt'] = "Membros"; -$text['label-group_members']['fr-fr'] = "Membres"; -$text['label-group_members']['pl'] = "Członkowie"; -$text['label-group_members']['uk'] = "Учасники"; -$text['label-group_members']['sv-se'] = "Medlemmar"; -$text['label-group_members']['ro'] = ""; -$text['label-group_members']['de-at'] = "Mitglieder"; -$text['label-group_members']['he'] = "משתמשים"; - -$text['label-group_description']['en-us'] = "Description"; -$text['label-group_description']['es-cl'] = "Descripción"; -$text['label-group_description']['pt-pt'] = "Descrição"; -$text['label-group_description']['fr-fr'] = "Description"; -$text['label-group_description']['pl'] = "Opis"; -$text['label-group_description']['uk'] = "Опис"; -$text['label-group_description']['sv-se'] = "Beskrivning"; -$text['label-group_description']['ro'] = ""; -$text['label-group_description']['de-at'] = "Beschreibung"; -$text['label-group_description']['he'] = "תאור"; - $text['label-group']['en-us'] = "Group"; $text['label-group']['es-cl'] = "Grupo"; $text['label-group']['pt-pt'] = "Grupo"; @@ -927,61 +762,6 @@ $text['header-user_add']['ro'] = ""; $text['header-user_add']['de-at'] = "Benutzer"; $text['header-user_add']['he'] = "משתמש"; -$text['header-group_permissions']['en-us'] = "Group Permissions: "; -$text['header-group_permissions']['es-cl'] = "Permisos de Grupo: "; -$text['header-group_permissions']['pt-pt'] = "Permissões do Grupo: "; -$text['header-group_permissions']['fr-fr'] = "Permissions du Groupe: "; -$text['header-group_permissions']['pl'] = "Uprawnienia grupy"; -$text['header-group_permissions']['uk'] = "Привілеї групи:"; -$text['header-group_permissions']['sv-se'] = "Grupp Rättigheter"; -$text['header-group_permissions']['ro'] = ""; -$text['header-group_permissions']['de-at'] = "Gruppenberechtigungen:"; -$text['header-group_permissions']['he'] = "הרשאות קבוצה"; - -$text['header-group_members']['en-us'] = "Group Members: "; -$text['header-group_members']['es-cl'] = "Miembros de Grupo: "; -$text['header-group_members']['pt-pt'] = "Membros do Grupo: "; -$text['header-group_members']['fr-fr'] = "Membres du Groupe: "; -$text['header-group_members']['pl'] = "Członkowie grupy:"; -$text['header-group_members']['uk'] = "Учасники групи: "; -$text['header-group_members']['sv-se'] = "Grupp Medlemmar:"; -$text['header-group_members']['ro'] = ""; -$text['header-group_members']['de-at'] = "Gruppenmitglieder:"; -$text['header-group_members']['he'] = "משתמשי קבוצה"; - -$text['header-group_manager']['en-us'] = "Group Manager"; -$text['header-group_manager']['es-cl'] = "Administración de Grupo"; -$text['header-group_manager']['pt-pt'] = "Gestão de Grupos"; -$text['header-group_manager']['fr-fr'] = "Gestion de Groupe"; -$text['header-group_manager']['pl'] = "Menadżer grup"; -$text['header-group_manager']['uk'] = "Групи"; -$text['header-group_manager']['sv-se'] = "Grupp Inställningar"; -$text['header-group_manager']['ro'] = ""; -$text['header-group_manager']['de-at'] = "Gruppenverwaltung"; -$text['header-group_manager']['he'] = "מנהל קבוצה"; - -$text['header-group_edit']['en-us'] = "Edit Group"; -$text['header-group_edit']['es-cl'] = "Editar Grupo"; -$text['header-group_edit']['pt-pt'] = "Editar Grupo"; -$text['header-group_edit']['fr-fr'] = "Modifier le Groupe"; -$text['header-group_edit']['pl'] = "Edycja grupy"; -$text['header-group_edit']['uk'] = "Редагувати групу"; -$text['header-group_edit']['sv-se'] = "Editera Grupp"; -$text['header-group_edit']['ro'] = ""; -$text['header-group_edit']['de-at'] = "Gruppe bearbeiten"; -$text['header-group_edit']['he'] = "ערוך קבוצה"; - -$text['header-group_add']['en-us'] = "Add Group"; -$text['header-group_add']['es-cl'] = "Agregar Grupo"; -$text['header-group_add']['pt-pt'] = "Adicionar Grupo"; -$text['header-group_add']['fr-fr'] = "Ajouter un Groupe"; -$text['header-group_add']['pl'] = "Dodaj grupę"; -$text['header-group_add']['uk'] = "Додати групу"; -$text['header-group_add']['sv-se'] = "Lägg Till Grupp"; -$text['header-group_add']['ro'] = ""; -$text['header-group_add']['de-at'] = "Gruppe hinzufügen"; -$text['header-group_add']['he'] = "הוסף קבוצה"; - $text['description-user_setting-edit']['en-us'] = "Edit a setting for this user."; $text['description-user_setting-edit']['es-cl'] = "Editar un escenario de este usuario."; $text['description-user_setting-edit']['pt-pt'] = "Editar uma configuração para este usuário."; @@ -1058,39 +838,6 @@ $text['description-status']['ro'] = "Selectați starea utilizatorului"; $text['description-status']['de-at'] = "Benutzerstatus auswählen"; $text['description-status']['he'] = "בחר את סטטוס המשתמש"; -$text['description-group_permissions']['en-us'] = "Assign permissions for this group."; -$text['description-group_permissions']['es-cl'] = "Asigne permisos para este grupo."; -$text['description-group_permissions']['pt-pt'] = "Atribua permissões para este grupo."; -$text['description-group_permissions']['fr-fr'] = "Assignez des permissions à ce groupe."; -$text['description-group_permissions']['pl'] = "Przypisywanie uprawnień tej grupie."; -$text['description-group_permissions']['uk'] = "Призначення привілеїв для цієї групи."; -$text['description-group_permissions']['sv-se'] = "Tilldela rättigheter till denna grupp."; -$text['description-group_permissions']['ro'] = ""; -$text['description-group_permissions']['de-at'] = "Ordnen Sie Berechtigungen für diese Gruppe zu."; -$text['description-group_permissions']['he'] = "צור הרשאות לקבוצה"; - -$text['description-group_edit']['en-us'] = "Edit the properties of the group."; -$text['description-group_edit']['es-cl'] = "Editar las propiedades del grupo."; -$text['description-group_edit']['pt-pt'] = "Editar as propriedades do grupo."; -$text['description-group_edit']['fr-fr'] = "Modifier les propriétés du groupe."; -$text['description-group_edit']['pl'] = "Edytuj właściwości grupy."; -$text['description-group_edit']['uk'] = "Зміна властивостей групи."; -$text['description-group_edit']['sv-se'] = "Editera inställningar för gruppen."; -$text['description-group_edit']['ro'] = ""; -$text['description-group_edit']['de-at'] = "Bearbeiten Sie die Eigenschaften dieser Gruppe"; -$text['description-group_edit']['he'] = ""; - -$text['description-group_add']['en-us'] = "Create a new user group."; -$text['description-group_add']['es-cl'] = "Crear un nuevo grupo de usuarios."; -$text['description-group_add']['pt-pt'] = "Criar um novo grupo de usuários."; -$text['description-group_add']['fr-fr'] = "Créez un nouveau groupe d'utilisateurs."; -$text['description-group_add']['pl'] = "Utwórz nową grupę użytkowników."; -$text['description-group_add']['uk'] = "Створити нову групу користувачів."; -$text['description-group_add']['sv-se'] = "Skapa en ny användargrupp."; -$text['description-group_add']['ro'] = ""; -$text['description-group_add']['de-at'] = "Legen Sie einen neue Gruppe an."; -$text['description-group_add']['he'] = ""; - $text['description-enabled']['en-us'] = "Set the status of this account."; $text['description-enabled']['es-cl'] = "Indique el estaso de esta cuenta."; $text['description-enabled']['pt-pt'] = "Escolha o estado desta conta."; diff --git a/core/users/app_menu.php b/core/users/app_menu.php index 60d2327b2c..cdfa77a05c 100644 --- a/core/users/app_menu.php +++ b/core/users/app_menu.php @@ -13,24 +13,28 @@ $apps[$x]['menu'][2]['title']['he'] = "מנהל משתמש"; $apps[$x]['menu'][2]['uuid'] = "0d57cc1e-1874-47b9-7ddd-fe1f57cec99b"; $apps[$x]['menu'][2]['parent_uuid'] = "bc96d773-ee57-0cdd-c3ac-2d91aba61b55"; $apps[$x]['menu'][2]['category'] = "internal"; -$apps[$x]['menu'][2]['path'] = "/core/users/index.php"; +$apps[$x]['menu'][2]['path'] = "/core/users/users.php"; $apps[$x]['menu'][2]['groups'][] = "admin"; $apps[$x]['menu'][2]['groups'][] = "superadmin"; -$apps[$x]['menu'][3]['title']['en-us'] = "Group Manager"; -$apps[$x]['menu'][3]['title']['es-cl'] = "Administración de Grupos"; -$apps[$x]['menu'][3]['title']['fr-fr'] = "Gestion des groupes"; -$apps[$x]['menu'][3]['title']['pt-pt'] = "'Gestão de Grupos"; -$apps[$x]['menu'][3]['title']['pt-br'] = "Gerenciar grupos"; -$apps[$x]['menu'][3]['title']['pl'] = "Menedżer grup"; -$apps[$x]['menu'][3]['title']['uk'] = "Групи"; -$apps[$x]['menu'][3]['title']['sv-se'] = "Grupp Inställningar"; -$apps[$x]['menu'][3]['title']['de-at'] = "Gruppenverwaltung"; -$apps[$x]['menu'][3]['title']['he'] = "מנהל קבוצה"; -$apps[$x]['menu'][3]['uuid'] = "3b4acc6d-827b-f537-bf21-0093d94ffec7"; -$apps[$x]['menu'][3]['parent_uuid'] = "594d99c5-6128-9c88-ca35-4b33392cec0f"; -$apps[$x]['menu'][3]['category'] = "internal"; -$apps[$x]['menu'][3]['path'] = "/core/users/groups.php"; -$apps[$x]['menu'][3]['groups'][] = "superadmin"; +$apps[$x]['menu'][0]['title']['en-us'] = "Account Settings"; +$apps[$x]['menu'][0]['title']['es-cl'] = "Config de Cuenta"; +$apps[$x]['menu'][0]['title']['fr-fr'] = "Configuration du Compte"; +$apps[$x]['menu'][0]['title']['pt-pt'] = "Configurações da Conta"; +$apps[$x]['menu'][0]['title']['pt-br'] = "Configurações da conta"; +$apps[$x]['menu'][0]['title']['pl'] = "Ustawienia konta"; +$apps[$x]['menu'][0]['title']['he'] = "הגדרת חשבון"; +$apps[$x]['menu'][0]['title']['uk'] = "Обліковий запис"; +$apps[$x]['menu'][0]['title']['sv-se'] = "Kontoinställningar"; +$apps[$x]['menu'][0]['title']['de-at'] = "Kontoeinstellungen"; +$apps[$x]['menu'][0]['title']['ro'] = "Setări cont"; +$apps[$x]['menu'][0]['title']['ar-eg'] = "إعدادات الحساب"; +$apps[$x]['menu'][0]['uuid'] = "4d532f0b-c206-c39d-ff33-fc67d668fb69"; +$apps[$x]['menu'][0]['parent_uuid'] = "02194288-6d56-6d3e-0b1a-d53a2bc10788"; +$apps[$x]['menu'][0]['category'] = "internal"; +$apps[$x]['menu'][0]['path'] = "/core/users/user_edit.php?id=user"; +$apps[$x]['menu'][0]['groups'][] = "user"; +$apps[$x]['menu'][0]['groups'][] = "admin"; +$apps[$x]['menu'][0]['groups'][] = "superadmin"; ?> \ No newline at end of file diff --git a/core/users/index.php b/core/users/index.php deleted file mode 100644 index 5fc40862dc..0000000000 --- a/core/users/index.php +++ /dev/null @@ -1,55 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2013 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ - -//includes - include "root.php"; - require_once "resources/require.php"; - require_once "resources/check_auth.php"; - -//check permissions - if (permission_exists('user_view') || if_group("superadmin")) { - //access allowed - } - else { - echo "access denied"; - return; - } - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//include the header - require_once "resources/header.php"; - $document['title'] = $text['title-user_manager']; - -//show the user list - require_once "users.php"; - -//include the footer - include "resources/footer.php"; - -?> \ No newline at end of file diff --git a/core/users/signup.php b/core/users/signup.php deleted file mode 100644 index b138809861..0000000000 --- a/core/users/signup.php +++ /dev/null @@ -1,376 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2015 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ - -//includes - include "root.php"; - require_once "resources/require.php"; - require_once "resources/check_auth.php"; - -//check permissions - if (if_group("admin") || if_group("superadmin")) { - //access allowed - } - else { - echo "access denied"; - return; - } - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//get total user count from the database, check limit, if defined - if ($_SESSION['limit']['users']['numeric'] != '') { - $sql = "select count(*) as num_rows from v_users where domain_uuid = '".$_SESSION['domain_uuid']."' "; - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - $total_users = $row['num_rows']; - } - unset($prep_statement, $row); - if ($total_users >= $_SESSION['limit']['users']['numeric']) { - $_SESSION['message_mood'] = 'negative'; - $_SESSION['message'] = $text['message-maximum_users'].' '.$_SESSION['limit']['users']['numeric']; - header('Location: index.php'); - return; - } - } - -//get the values from http and set as variables - if (sizeof($_POST) > 0) { - $username = check_str($_POST["username"]); - $password = check_str($_POST["password"]); - $confirmpassword = check_str($_POST["confirmpassword"]); - $group_uuid_name = check_str($_POST["group_uuid_name"]); - $user_email = check_str($_POST["user_email"]); - $contact_organization = check_str($_POST["contact_organization"]); - $contact_name_given = check_str($_POST["contact_name_given"]); - $contact_name_family = check_str($_POST["contact_name_family"]); - - if ($group_uuid_name != '') { - $group_data = explode('|', $group_uuid_name); - $group_uuid = $group_data[0]; - $group_name = $group_data[1]; - } - } - - -if (count($_POST) > 0 && check_str($_POST["persistform"]) != "1") { - - $msg = ''; - - //--- begin captcha verification --------------------- - //ini_set("session.cookie_httponly", True); //session_start(); //make sure sessions are started - if (strtolower($_SESSION["captcha"]) != strtolower($_REQUEST["captcha"]) || strlen($_SESSION["captcha"]) == 0) { - //$msg .= "Captcha Verification Failed
\n"; - } - else { - //echo "verified"; - } - //--- end captcha verification ----------------------- - - //username is already used. - if (strlen($username) == 0) { - $msg .= $text['message-required'].$text['label-username']."
\n"; - } - else { - $sql = "select * from v_users "; - $sql .= "where username = '$username' "; - if ($_SESSION["user"]["unique"]["text"] != "global") { - $sql .= "and domain_uuid = '".$_SESSION['domain_uuid']."' "; - } - //$sql .= "and user_enabled = 'true' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - if (count($prep_statement->fetchAll(PDO::FETCH_NAMED)) > 0) { - $msg .= $text['message-username_exists']; - } - } - - if (strlen($password) == 0) { $msg .= $text['message-password_blank']."
\n"; } - if ($password != $confirmpassword) { $msg .= $text['message-password_mismatch']."
\n"; } - //if (strlen($contact_organization) == 0) { $msg .= $text['message-required'].$text['label-company_name']."
\n"; } - //if (strlen($contact_name_given) == 0) { $msg .= $text['message-required'].$text['label-first_name']."
\n"; } - //if (strlen($contact_name_family) == 0) { $msg .= $text['message-required'].$text['label-last_name']."
\n"; } - if (strlen($user_email) == 0) { $msg .= $text['message-required'].$text['label-email']."
\n"; } - if (strlen($group_uuid_name) == 0) { $msg .= $text['message-required'].$text['label-group']."
\n"; } - - if (strlen($msg) > 0) { - require_once "resources/header.php"; - echo "
"; - echo "
"; - echo $msg; - echo "
"; - require_once "resources/persist_form.php"; - echo persistform($_POST); - echo "
"; - require_once "resources/footer.php"; - return; - } - - //salt used with the password to create a one way hash - $salt = uuid(); - - //prepare the uuids - $user_uuid = uuid(); - $group_user_uuid = uuid(); - $contact_uuid = uuid(); - $contact_email_uuid = uuid(); - - //add the user - $sql = "insert into v_users "; - $sql .= "("; - $sql .= "domain_uuid, "; - $sql .= "user_uuid, "; - $sql .= "contact_uuid, "; - $sql .= "username, "; - $sql .= "password, "; - $sql .= "salt, "; - $sql .= "add_date, "; - $sql .= "add_user, "; - $sql .= "user_enabled "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$_SESSION['domain_uuid']."', "; - $sql .= "'".$user_uuid."', "; - $sql .= "'".$contact_uuid."', "; - $sql .= "'".$username."', "; - $sql .= "'".md5($salt.$password)."', "; - $sql .= "'".$salt."', "; - $sql .= "now(), "; - $sql .= "'".$_SESSION["username"]."', "; - $sql .= "'true' "; - $sql .= ")"; - $db->exec(check_sql($sql)); - unset($sql); - - //add the user to the group - if (strlen($group_uuid) > 0) { - if ( ($group_name == "superadmin" && if_group("superadmin")) || $group_name != "superadmin") { - $sql = "insert into v_group_users "; - $sql .= "( "; - $sql .= "group_user_uuid, "; - $sql .= "domain_uuid, "; - $sql .= "group_name, "; - $sql .= "group_uuid, "; - $sql .= "user_uuid "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$group_user_uuid."', "; - $sql .= "'".$_SESSION['domain_uuid']."', "; - $sql .= "'".$group_name."', "; - $sql .= "'".$group_uuid."', "; - $sql .= "'".$user_uuid."' "; - $sql .= ")"; - $db->exec(check_sql($sql)); - unset($sql); - } - } - - //add to contacts - $sql = "insert into v_contacts "; - $sql .= "("; - $sql .= "domain_uuid, "; - $sql .= "contact_uuid, "; - $sql .= "contact_type, "; - $sql .= "contact_organization, "; - $sql .= "contact_name_given, "; - $sql .= "contact_name_family, "; - $sql .= "contact_nickname "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$_SESSION['domain_uuid']."', "; - $sql .= "'".$contact_uuid."', "; - $sql .= "'user', "; - $sql .= "'".$contact_organization."', "; - $sql .= "'".$contact_name_given."', "; - $sql .= "'".$contact_name_family."', "; - $sql .= "'".$username."' "; - $sql .= ")"; - $db->exec(check_sql($sql)); - unset($sql); - - //add to emails - $sql = "insert into v_contact_emails "; - $sql .= "("; - $sql .= "contact_email_uuid, "; - $sql .= "domain_uuid, "; - $sql .= "contact_uuid, "; - $sql .= "email_address, "; - $sql .= "email_primary "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$contact_email_uuid."', "; - $sql .= "'".$_SESSION['domain_uuid']."', "; - $sql .= "'".$contact_uuid."', "; - $sql .= "'".$user_email."', "; - $sql .= "1 "; - $sql .= ")"; - $db->exec(check_sql($sql)); - unset($sql); - - //log the success - //$log_type = 'user'; $log_status='add'; $log_add_user=$_SESSION["username"]; $log_desc= "username: ".$username." user added."; - //log_add($db, $log_type, $log_status, $log_desc, $log_add_user, $_SERVER["REMOTE_ADDR"]); - - $_SESSION["message"] = $text['message-add']; - header("Location: index.php"); - return; -} - -//show the header - require_once "resources/header.php"; - $document['title'] = $text['title-user_add']; - -//show the content - echo ""; - - $tablewidth ='width="100%"'; - echo "
"; - - echo ""; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['header-user_add']."\n"; - echo "

\n"; - echo " ".$text['description-user_add']."\n"; - echo "

\n"; - echo "
\n"; - echo " \n"; - echo "
\n"; - - echo ""; - echo " "; - echo " "; - echo " "; - echo " "; - - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo "
".$text['label-username']."
".$text['label-password']."
".$text['label-confirm_password']."
".$text['label-email']."
".$text['label-group'].""; - - $sql = "select * from v_groups "; - $sql .= "where (domain_uuid = '".$_SESSION['domain_uuid']."' or domain_uuid is null) "; - $sql .= "order by domain_uuid desc, group_name asc "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - echo " "; - unset($sql, $prep_statement, $result); - - echo "
".$text['label-first_name']."
".$text['label-last_name']."
".$text['label-company_name']."
"; - echo "
"; - echo "
"; - echo "
"; - - echo "\n"; - -//show the footer - require_once "resources/footer.php"; -?> \ No newline at end of file diff --git a/core/users/userdelete.php b/core/users/user_delete.php similarity index 98% rename from core/users/userdelete.php rename to core/users/user_delete.php index db2cbc25e4..7a7b08342c 100644 --- a/core/users/userdelete.php +++ b/core/users/user_delete.php @@ -103,6 +103,6 @@ //redirect the user $_SESSION["message"] = $text['message-delete']; - header("Location: index.php"); + header("Location: users.php"); ?> \ No newline at end of file diff --git a/core/users/user_edit.php b/core/users/user_edit.php new file mode 100644 index 0000000000..1a4d9729a0 --- /dev/null +++ b/core/users/user_edit.php @@ -0,0 +1,947 @@ + + Portions created by the Initial Developer are Copyright (C) 2008-2016 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane + Luis Daniel Lucio Quiroz +*/ + +//includes + include "root.php"; + require_once "resources/require.php"; + require_once "resources/check_auth.php"; + +//add multi-lingual support + $language = new text; + $text = $language->get(); + +//get user uuid + if ( + (is_uuid($_REQUEST["id"]) && permission_exists('user_edit')) || + (is_uuid($_REQUEST["id"]) && $_REQUEST["id"] == $_SESSION['user_uuid']) + ) { + $user_uuid = check_str($_REQUEST["id"]); + $action = 'edit'; + } + else if (permission_exists('user_add') && $_REQUEST["id"] == '') { + $user_uuid = uuid(); + $action = 'add'; + } + else { + // load users own account + header("Location: user_edit.php?id=".$_SESSION['user_uuid']); + exit; + } + +//get total user count from the database, check limit, if defined + if (permission_exists('user_add') && $action == 'add' && $_SESSION['limit']['users']['numeric'] != '') { + $sql = "select count(user_uuid) as num_rows from v_users where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_users = $row['num_rows']; + } + unset($prep_statement, $row); + if ($total_users >= $_SESSION['limit']['users']['numeric']) { + $_SESSION['message_mood'] = 'negative'; + $_SESSION['message'] = $text['message-maximum_users'].' '.$_SESSION['limit']['users']['numeric']; + header('Location: users.php'); + exit; + } + } + +//required to be a superadmin to update an account that is a member of the superadmin group + if (permission_exists('user_edit') && $action == 'edit') { + $superadmins = superadmin_list($db); + if (if_superadmin($superadmins, $user_uuid)) { + if (!if_group("superadmin")) { + echo "access denied"; + exit; + } + } + } + +//delete the group from the user + if ($_GET["a"] == "delete" && permission_exists("user_delete")) { + //set the variables + $group_uuid = check_str($_GET["group_uuid"]); + //delete the group from the users + $sql = "delete from v_group_users "; + $sql .= "where group_uuid = '".$group_uuid."' "; + $sql .= "and user_uuid = '".$user_uuid."' "; + $db->exec(check_sql($sql)); + //redirect the user + $_SESSION["message"] = $text['message-update']; + header("Location: user_edit.php?id=".$user_uuid); + return; + } + +if (count($_POST) > 0 && $_POST["persistform"] != "1") { + + //get the HTTP values and set as variables + if (permission_exists('user_edit') && $action == 'edit') { + $user_uuid = $_REQUEST["id"]; + $username_old = check_str($_POST["username_old"]); + } + $domain_uuid = check_str($_POST["domain_uuid"]); + $username = check_str($_POST["username"]); + $password = check_str($_POST["password"]); + $password_confirm = check_str($_POST["password_confirm"]); + $user_status = check_str($_POST["user_status"]); + $user_language = check_str($_POST["user_language"]); + $user_time_zone = check_str($_POST["user_time_zone"]); + if (permission_exists('user_edit') && $action == 'edit') { + $contact_uuid = check_str($_POST["contact_uuid"]); + } + else if (permission_exists('user_add') && $action == 'add') { + $user_email = check_str($_POST["user_email"]); + $contact_organization = check_str($_POST["contact_organization"]); + $contact_name_given = check_str($_POST["contact_name_given"]); + $contact_name_family = check_str($_POST["contact_name_family"]); + } + $group_uuid_name = check_str($_POST["group_uuid_name"]); + $user_enabled = check_str($_POST["user_enabled"]); + $api_key = check_str($_POST["api_key"]); + + //check required values + if ($username == '') { $msg_error = $text['message-required'].$text['label-username']; } + if (permission_exists('user_edit') && $action == 'edit') { + if ($username != $username_old && $username != '') { + $sql = "select count(user_uuid) as num_rows from v_users where domain_uuid = '".$domain_uuid."' and username = '".$username."'"; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if (0 < $row['num_rows']) { + $msg_error = $text['message-username_exists']; + } + } + unset($sql); + } + } + if ($password != '' && $password != $password_confirm) { $msg_error = $text['message-password_mismatch']; } + if (permission_exists('user_add') && $action == 'add') { + if ($password == '') { $msg_error = $text['message-password_blank']; } + if ($user_email == '') { $msg_error = $text['message-required'].$text['label-email']; } + if ($group_uuid_name == '') { $msg_error = $text['message-required'].$text['label-group']; } + } + + if ($msg_error != '') { + $_SESSION["message"] = $msg_error; + $_SESSION["message_mood"] = 'negative'; + if ($action == 'edit') { + header("Location: user_edit.php?id=".$user_uuid); + } + else { + header("Location: user_edit.php"); + } + exit; + } + + if (!check_password_strength($password, $text)) { + if ($action == 'edit') { + header("Location: user_edit.php?id=".$user_uuid); + } + else { + header("Location: user_edit.php"); + } + exit; + } + + //set initial array indexes + $i = $n = $x = $c = 0; + + //check to see if user language is set + $sql = "select user_setting_uuid, user_setting_value from v_user_settings "; + $sql .= "where user_setting_category = 'domain' "; + $sql .= "and user_setting_subcategory = 'language' "; + $sql .= "and user_uuid = '".$user_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['user_setting_uuid'] == '' && $user_language != '') { + //add user setting to array for insert + $array['user_settings'][$i]['user_setting_uuid'] = uuid(); + $array['user_settings'][$i]['user_uuid'] = $user_uuid; + $array['user_settings'][$i]['domain_uuid'] = $domain_uuid; + $array['user_settings'][$i]['user_setting_category'] = 'domain'; + $array['user_settings'][$i]['user_setting_subcategory'] = 'language'; + $array['user_settings'][$i]['user_setting_name'] = 'code'; + $array['user_settings'][$i]['user_setting_value'] = $user_language; + $array['user_settings'][$i]['user_setting_enabled'] = 'true'; + $i++; + } + else { + if ($row['user_setting_value'] == '' || $user_language == '') { + $sql = "delete from v_user_settings "; + $sql .= "where user_setting_category = 'domain' "; + $sql .= "and user_setting_subcategory = 'language' "; + $sql .= "and user_uuid = '".$user_uuid."' "; + $db->exec(check_sql($sql)); + unset($sql); + } + else { + //add user setting to array for update + $array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid']; + $array['user_settings'][$i]['user_uuid'] = $user_uuid; + $array['user_settings'][$i]['domain_uuid'] = $domain_uuid; + $array['user_settings'][$i]['user_setting_category'] = 'domain'; + $array['user_settings'][$i]['user_setting_subcategory'] = 'language'; + $array['user_settings'][$i]['user_setting_name'] = 'code'; + $array['user_settings'][$i]['user_setting_value'] = $user_language; + $array['user_settings'][$i]['user_setting_enabled'] = 'true'; + $i++; + } + } + } + unset($sql, $prep_statement, $row); + + //check to see if user time zone is set + $sql = "select user_setting_uuid, user_setting_value from v_user_settings "; + $sql .= "where user_setting_category = 'domain' "; + $sql .= "and user_setting_subcategory = 'time_zone' "; + $sql .= "and user_uuid = '".$user_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['user_setting_uuid'] == '' && $user_time_zone != '') { + //add user setting to array for insert + $array['user_settings'][$i]['user_setting_uuid'] = uuid(); + $array['user_settings'][$i]['user_uuid'] = $user_uuid; + $array['user_settings'][$i]['domain_uuid'] = $domain_uuid; + $array['user_settings'][$i]['user_setting_category'] = 'domain'; + $array['user_settings'][$i]['user_setting_subcategory'] = 'time_zone'; + $array['user_settings'][$i]['user_setting_name'] = 'name'; + $array['user_settings'][$i]['user_setting_value'] = $user_time_zone; + $array['user_settings'][$i]['user_setting_enabled'] = 'true'; + $i++; + } + else { + if ($row['user_setting_value'] == '' || $user_time_zone == '') { + $sql = "delete from v_user_settings "; + $sql .= "where user_setting_category = 'domain' "; + $sql .= "and user_setting_subcategory = 'time_zone' "; + $sql .= "and user_uuid = '".$user_uuid."' "; + $db->exec(check_sql($sql)); + unset($sql); + } + else { + //add user setting to array for update + $array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid']; + $array['user_settings'][$i]['user_uuid'] = $user_uuid; + $array['user_settings'][$i]['domain_uuid'] = $domain_uuid; + $array['user_settings'][$i]['user_setting_category'] = 'domain'; + $array['user_settings'][$i]['user_setting_subcategory'] = 'time_zone'; + $array['user_settings'][$i]['user_setting_name'] = 'name'; + $array['user_settings'][$i]['user_setting_value'] = $user_time_zone; + $array['user_settings'][$i]['user_setting_enabled'] = 'true'; + $i++; + } + } + } + + //assign the user to the group + if ((permission_exists('user_add') || permission_exists('user_edit')) && $_REQUEST["group_uuid_name"] != '') { + $group_data = explode('|', $group_uuid_name); + $group_uuid = $group_data[0]; + $group_name = $group_data[1]; + //only a superadmin can add other superadmins or admins, admins can only add other admins + switch ($group_name) { + case "superadmin": if (!if_group("superadmin")) { break; } + case "admin": if (!if_group("superadmin") && !if_group("admin")) { break; } + default: //add group user to array for insert + $array['group_users'][$n]['group_user_uuid'] = uuid(); + $array['group_users'][$n]['domain_uuid'] = $domain_uuid; + $array['group_users'][$n]['group_name'] = $group_name; + $array['group_users'][$n]['group_uuid'] = $group_uuid; + $array['group_users'][$n]['user_uuid'] = $user_uuid; + $n++; + } + } + + //update domain, if changed + if ((permission_exists('user_add') || permission_exists('user_edit')) && permission_exists('user_domain')) { + //adjust group user records + $sql = "select group_user_uuid from v_group_users "; + $sql .= "where user_uuid = '".$user_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); + foreach ($result as $row) { + //add group user to array for update + $array['group_users'][$n]['group_user_uuid'] = $row['group_user_uuid']; + $array['group_users'][$n]['domain_uuid'] = $domain_uuid; + $n++; + } + } + unset($sql, $prep_statement, $result, $row); + //adjust user setting records + $sql = "select user_setting_uuid from v_user_settings "; + $sql .= "where user_uuid = '".$user_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); + foreach ($result as $row) { + //add user setting to array for update + $array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid']; + $array['user_settings'][$i]['domain_uuid'] = $domain_uuid; + $i++; + } + } + unset($sql, $prep_statement, $result, $row); + //unassign any foreign domain groups + $sql = "delete from v_group_users where "; + $sql .= "domain_uuid = '".$domain_uuid."' "; + $sql .= "and user_uuid = '".$user_uuid."' "; + $sql .= "and group_uuid not in ("; + $sql .= " select group_uuid from v_groups where domain_uuid = '".$domain_uuid."' or domain_uuid is null "; + $sql .= ") "; + $db->exec(check_sql($sql)); + unset($sql); + } + + //add contact to array for insert + if ($action == 'add' && permission_exists('user_add') && permission_exists('contact_add')) { + $contact_uuid = uuid(); + $array['contacts'][$c]['domain_uuid'] = $domain_uuid; + $array['contacts'][$c]['contact_uuid'] = $contact_uuid; + $array['contacts'][$c]['contact_type'] = 'user'; + $array['contacts'][$c]['contact_organization'] = $contact_organization; + $array['contacts'][$c]['contact_name_given'] = $contact_name_given; + $array['contacts'][$c]['contact_name_family'] = $contact_name_family; + $array['contacts'][$c]['contact_nickname'] = $username; + $c++; + if (permission_exists('contact_email_add')) { + $contact_email_uuid = uuid(); + $array['contact_emails'][$c]['contact_email_uuid'] = $contact_email_uuid; + $array['contact_emails'][$c]['domain_uuid'] = $domain_uuid; + $array['contact_emails'][$c]['contact_uuid'] = $contact_uuid; + $array['contact_emails'][$c]['email_address'] = $user_email; + $array['contact_emails'][$c]['email_primary'] = '1'; + $c++; + } + } + + //add user setting to array for update + $array['users'][$x]['user_uuid'] = $user_uuid; + $array['users'][$x]['domain_uuid'] = $domain_uuid; + if ($username != '' && $username != $username_old) { + $array['users'][$x]['username'] = $username; + } + if ($password != '' && $password == $password_confirm) { + $salt = uuid(); + $array['users'][$x]['password'] = md5($salt.$password); + $array['users'][$x]['salt'] = $salt; + } + $array['users'][$x]['user_status'] = $user_status; + if (permission_exists('user_add') || permission_exists('user_edit')) { + $array['users'][$x]['api_key'] = ($api_key != '') ? $api_key : null; + $array['users'][$x]['user_enabled'] = $user_enabled; + $array['users'][$x]['contact_uuid'] = ($contact_uuid != '') ? $contact_uuid : null; + if ($action == 'add') { + $array['users'][$x]['add_user'] = $_SESSION["user"]["username"]; + $array['users'][$x]['add_date'] = date("Y-m-d H:i:s.uO"); + } + } + $x++; + + //if call center installed + if ( + $action == 'edit' && + permission_exists('user_edit') && + $username != $username_old && + file_exists($_SERVER["PROJECT_ROOT"]."/app/call_center/app_config.php") + ) { + + //update call center agent table + $sql = "select call_center_agent_uuid from v_call_center_agents "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; + $sql .= "and agent_name = '".$username_old."' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); + $a = 0; + foreach ($result as $row) { + $array['call_center_agents'][$a]['call_center_agent_uuid'] = $row['call_center_agent_uuid']; + $array['call_center_agents'][$a]['agent_name'] = $username; + $a++; + } + } + unset($sql, $prep_statement, $result); + + //update call center tiers table + $sql = "select call_center_tier_uuid from v_call_center_tiers "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; + $sql .= "and agent_name = '".$username_old."' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); + $t = 0; + foreach ($result as $row) { + $array['call_center_tiers'][$t]['call_center_tier_uuid'] = $row['call_center_tier_uuid']; + $array['call_center_tiers'][$t]['agent_name'] = $username; + $t++; + } + } + unset($sql, $prep_statement, $result); + + } + + //add the user_edit permission + $p = new permissions; + $p->add("user_setting_add", "temp"); + $p->add("user_setting_edit", "temp"); + $p->add("user_edit", "temp"); + + //save the data + $orm = new orm; + $orm->app_name = 'users'; + $orm->app_uuid = '112124b3-95c2-5352-7e9d-d14c0b88f207'; + $orm->save($array); + //$message = $orm->message; + + //remove the temporary permission + $p->delete("user_setting_add", "temp"); + $p->delete("user_setting_edit", "temp"); + $p->delete("user_edit", "temp"); + + //if call center installed + if ( + $action == 'edit' && + permission_exists('user_edit') && + $username != $username_old && + file_exists($_SERVER["PROJECT_ROOT"]."/app/call_center/app_config.php") + ) { + + //syncrhonize the configuration + save_call_center_xml(); + + //update the user_status + $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + $switch_cmd .= "callcenter_config agent set status ".$username."@".$_SESSION['domains'][$domain_uuid]['domain_name']." '".$user_status."'"; + $switch_result = event_socket_request($fp, 'api '.$switch_cmd); + + //update the user state + $cmd = "api callcenter_config agent set state ".$username."@".$_SESSION['domains'][$domain_uuid]['domain_name']." Waiting"; + $response = event_socket_request($fp, $cmd); + + } + + //redirect the browser + $_SESSION["message"] = $text['message-update']; + if ($_REQUEST['action'] == $text['button-add'] || !permission_exists('user_edit')) { + header("Location: user_edit.php?id=".$user_uuid); + } + else { + header("Location: users.php"); + } + return; + +} + +//pre-populate the form + if ($action == 'edit') { + //get user data + $sql = "select * from v_users where user_uuid = '".$user_uuid."' "; + if (!permission_exists('user_all')) { + $sql .= "and domain_uuid = '".$domain_uuid."' "; + } + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_NAMED); + if (is_array($row) && sizeof($row) > 0) { + $domain_uuid = $row["domain_uuid"]; + $user_uuid = $row["user_uuid"]; + $username = $row["username"]; + $password = $row["password"]; + $api_key = $row["api_key"]; + $user_enabled = $row["user_enabled"]; + $contact_uuid = $row["contact_uuid"]; + $user_status = $row["user_status"]; + } + else { + header("Location: user_edit.php?id=".$_SESSION['user_uuid']); + exit; + } + unset($sql, $prep_statement, $row); + + //get user settings + $sql = "select * from v_user_settings "; + $sql .= "where user_uuid = '".$user_uuid."' "; + $sql .= "and user_setting_enabled = 'true' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + foreach($result as $row) { + $name = $row['user_setting_name']; + $category = $row['user_setting_category']; + $subcategory = $row['user_setting_subcategory']; + if (strlen($subcategory) == 0) { + //$$category[$name] = $row['domain_setting_value']; + $user_settings[$category][$name] = $row['user_setting_value']; + } + else { + $user_settings[$category][$subcategory][$name] = $row['user_setting_value']; + } + } + } + } + +//include the header + require_once "resources/header.php"; + $document['title'] = $text['title-user_edit']; + +//show the content + echo "\n"; + + echo "
\n"; + echo "\n"; + + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
".$text['header-user_edit']."\n"; + if (permission_exists('user_add') || permission_exists('user_edit')) { + echo " "; + } + echo " "; + echo "
\n"; + echo " ".$text['description-user_edit']."\n"; + echo "
\n"; + + echo "
\n"; + + echo ""; + + echo " "; + echo " "; + echo " "; + echo " "; + + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + + if ($_SESSION['user_status_display'] != "false") { + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + } + + if ($action == 'edit' && permission_exists("user_edit")) { + echo " "; + echo " "; + echo " "; + echo " "; + } + else if ($action == 'add' && permission_exists("user_add")) { + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + } + + if ((permission_exists("user_add") && $action == 'add') || (permission_exists("user_edit") && $action == 'edit')) { + echo " "; + echo " "; + echo " "; + echo " "; + + if (permission_exists('user_domain')) { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + else { + echo ""; + } + + if (file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/api/app_config.php')) { + echo " "; + echo " "; + echo " "; + echo " "; + } + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + else { + echo ""; + } + + echo " "; + echo " "; + echo " "; + echo "
".$text['label-username'].""; + if (permission_exists("user_edit")) { + echo " \n"; + } + else { + echo " ".$username."\n"; + echo " \n"; + } + echo "
".$text['label-password'].""; + echo " "; + echo " "; + echo "
"; + echo "
".$text['label-confirm_password'].""; + echo " "; + echo "
\n"; + echo " ".$text['label-user_language']."\n"; + echo " \n"; + echo " \n"; + echo "
\n"; + echo " ".$text['description-user_language']."
\n"; + echo "
\n"; + echo " ".$text['label-time_zone']."\n"; + echo " \n"; + echo " \n"; + echo "
\n"; + echo " ".$text['description-time_zone']."
\n"; + echo "
\n"; + echo " ".$text['label-status']."\n"; + echo " \n"; + $cmd = "'".PROJECT_PATH."/app/calls_active/v_calls_exec.php?cmd=callcenter_config+agent+set+status+".$username."@".$_SESSION['domains'][$domain_uuid]['domain_name']."+'+this.value"; + echo " \n"; + echo "
\n"; + echo " ".$text['description-status']."
\n"; + echo "
".$text['label-contact']."\n"; + $sql = " select contact_uuid, contact_organization, contact_name_given, contact_name_family, contact_nickname from v_contacts "; + $sql .= " where domain_uuid = '".$domain_uuid."' "; + $sql .= " order by contact_organization desc, contact_name_family asc, contact_name_given asc, contact_nickname asc "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + unset ($prep_statement, $sql); + echo "\n"; + echo "
\n"; + echo $text['description-contact']."\n"; + if (strlen($contact_uuid) > 0) { + echo " ".$text['description-contact_view']."\n"; + } + echo "
".$text['label-email']."
".$text['label-first_name']."
".$text['label-last_name']."
".$text['label-company_name']."
".$text['label-group'.(($action == 'edit') ? 's' : null)].""; + + $sql = "select "; + $sql .= " gu.*, g.domain_uuid as group_domain_uuid "; + $sql .= "from "; + $sql .= " v_group_users as gu, "; + $sql .= " v_groups as g "; + $sql .= "where "; + $sql .= " gu.group_uuid = g.group_uuid "; + $sql .= " and ("; + $sql .= " g.domain_uuid = :domain_uuid "; + $sql .= " or g.domain_uuid is null "; + $sql .= " ) "; + $sql .= " and gu.domain_uuid = :domain_uuid "; + $sql .= " and gu.user_uuid = :user_uuid "; + $sql .= "order by "; + $sql .= " g.domain_uuid desc, "; + $sql .= " g.group_name asc "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->bindParam(':domain_uuid', $domain_uuid); + $prep_statement->bindParam(':user_uuid', $user_uuid); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + $result_count = count($result); + if ($result_count > 0) { + echo "\n"; + foreach($result as $field) { + if (strlen($field['group_name']) > 0) { + echo "\n"; + echo " \n"; + if ($result_count > 1) { + if (permission_exists('group_member_delete') || if_group("superadmin")) { + echo " \n"; + } + } + echo "\n"; + $assigned_groups[] = $field['group_uuid']; + } + } + echo "
"; + echo $field['group_name'].(($field['group_domain_uuid'] != '') ? "@".$_SESSION['domains'][$field['group_domain_uuid']]['domain_name'] : null); + echo " \n"; + echo " $v_link_label_delete\n"; + echo "
\n"; + } + unset($sql, $prep_statement, $result, $result_count); + + $sql = "select * from v_groups "; + $sql .= "where (domain_uuid = '".$domain_uuid."' or domain_uuid is null) "; + if (sizeof($assigned_groups) > 0) { + $sql .= "and group_uuid not in ('".implode("','",$assigned_groups)."') "; + } + $sql .= "order by domain_uuid desc, group_name asc "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + $result_count = count($result); + if ($result_count > 0) { + if (isset($assigned_groups)) { echo "
\n"; } + echo ""; + if ($action == 'edit') { + echo "\n"; + } + } + unset($sql, $prep_statement, $result); + + echo "
\n"; + echo " ".$text['label-domain']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-domain_name']."\n"; + echo "
".$text['label-api_key']."\n"; + echo " "; + echo " "; + if (strlen($text['description-api_key']) > 0) { + echo "
".$text['description-api_key']."
\n"; + } + echo "
\n"; + echo " ".$text['label-enabled']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-enabled']."\n"; + echo "
"; + if ($action == 'edit') { + echo " "; + if (permission_exists("user_edit")) { + echo " "; + } + } + echo "
"; + echo " "; + echo "
"; + echo "

"; + echo "
"; + + echo "\n"; + + if (permission_exists("user_edit") && permission_exists('user_setting_view') && $action == 'edit') { + require "user_settings.php"; + } + +//include the footer + require_once "resources/footer.php"; + +?> diff --git a/core/users/user_setting_delete.php b/core/users/user_setting_delete.php index e4b9b33955..906aeffa76 100644 --- a/core/users/user_setting_delete.php +++ b/core/users/user_setting_delete.php @@ -64,7 +64,7 @@ $_SESSION["message_mood"] = "negative"; } - header("Location: usersupdate.php?id=".check_str($_REQUEST["user_uuid"])); + header("Location: user_edit.php?id=".check_str($_REQUEST["user_uuid"])); exit; ?> \ No newline at end of file diff --git a/core/users/user_setting_edit.php b/core/users/user_setting_edit.php index 9eefe5e9e9..69592ea16a 100644 --- a/core/users/user_setting_edit.php +++ b/core/users/user_setting_edit.php @@ -324,7 +324,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { if ($action == "add") { $_SESSION["message"] = $text['message-add']; } - header("Location: usersupdate.php?id=".$user_uuid); + header("Location: user_edit.php?id=".$user_uuid); return; } //if ($_POST["persistformvar"] != "true") } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) @@ -373,7 +373,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { } echo "\n"; echo ""; - echo " "; + echo " "; echo " \n"; echo "\n"; echo "\n"; diff --git a/core/users/user_settings.php b/core/users/user_settings.php index acd3aaaf10..97ee030c17 100644 --- a/core/users/user_settings.php +++ b/core/users/user_settings.php @@ -53,7 +53,7 @@ unset($sql); $_SESSION["message"] = $text['message-update']; - header("Location: usersupdate.php?id=".$user_uuid); + header("Location: user_edit.php?id=".$user_uuid); exit; } } diff --git a/core/users/users.php b/core/users/users.php index c7305fbb6e..25cd270436 100644 --- a/core/users/users.php +++ b/core/users/users.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2015 + Portions created by the Initial Developer are Copyright (C) 2008-2016 the Initial Developer. All Rights Reserved. Contributor(s): @@ -25,9 +25,10 @@ */ //includes - require_once "root.php"; + include "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; + require_once "resources/paging.php"; //check permissions if (permission_exists("user_view") || if_group("superadmin")) { @@ -38,8 +39,13 @@ exit; } -//additional includes - require_once "resources/paging.php"; +//add multi-lingual support + $language = new text; + $text = $language->get(); + +//include the header + require_once "resources/header.php"; + $document['title'] = $text['title-user_manager']; //set the variables $order_by = check_str($_GET["order_by"]); @@ -145,11 +151,11 @@ echo ""; if (permission_exists('user_all')) { if ($_GET['showall'] == 'true') { - echo "\n"; + echo "\n"; echo ""; } else { - echo "\n"; + echo "\n"; } } echo ""; @@ -184,7 +190,7 @@ echo ""; if (permission_exists('user_add')) { if ($_SESSION['limit']['users']['numeric'] == '' || ($_SESSION['limit']['users']['numeric'] != '' && $total_users < $_SESSION['limit']['users']['numeric'])) { - echo "".$v_link_label_add.""; + echo "".$v_link_label_add.""; } } echo "\n"; @@ -195,14 +201,14 @@ if (if_superadmin($superadmins, $row['user_uuid']) && !if_group("superadmin")) { //hide } else { - $tr_link = (permission_exists('user_edit')) ? "href='usersupdate.php?id=".$row['user_uuid']."'" : null; + $tr_link = (permission_exists('user_edit')) ? "href='user_edit.php?id=".$row['user_uuid']."'" : null; echo "\n"; if (permission_exists('user_all') && $_GET['showall'] == 'true') { echo " ".$_SESSION['domains'][$row['domain_uuid']]['domain_name']."\n"; } echo " "; if (permission_exists('user_edit')) { - echo "".$row['username'].""; + echo "".$row['username'].""; } else { echo $row['username']; @@ -223,11 +229,11 @@ echo " \n"; echo " "; if (permission_exists('user_edit')) { - echo "$v_link_label_edit"; + echo "$v_link_label_edit"; } if (permission_exists('user_delete')) { if ($_SESSION["user"]["user_uuid"] != $row['user_uuid']) { - echo "".$v_link_label_delete.""; + echo "".$v_link_label_delete.""; } else { echo "".str_replace("list_control_icon", "list_control_icon_disabled", $v_link_label_delete).""; @@ -248,4 +254,8 @@ echo $paging_controls."\n"; echo "

\n"; +//include the footer + include "resources/footer.php"; + + ?> \ No newline at end of file diff --git a/core/users/usersupdate.php b/core/users/usersupdate.php deleted file mode 100644 index cc287f11ec..0000000000 --- a/core/users/usersupdate.php +++ /dev/null @@ -1,823 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2013 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane - Luis Daniel Lucio Quiroz -*/ - -//includes - include "root.php"; - require_once "resources/require.php"; - require_once "resources/check_auth.php"; - -//check permisions - if (permission_exists("user_add") || - permission_exists("user_edit") || - permission_exists("user_delete") || - if_group("superadmin")) { - //access allowed - } - else { - echo "access denied"; - return; - } - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//get data from the db - if (strlen($_REQUEST["id"]) > 0) { - $user_uuid = $_REQUEST["id"]; - } - -//required to be a superadmin to update an account that is a member of the superadmin group - $superadmins = superadmin_list($db); - if (if_superadmin($superadmins, $user_uuid)) { - if (!if_group("superadmin")) { - echo "access denied"; - exit; - } - } - -//delete the group from the user - if ($_GET["a"] == "delete" && permission_exists("user_delete")) { - //set the variables - $group_uuid = check_str($_GET["group_uuid"]); - //delete the group from the users - $sql = "delete from v_group_users where 1 = 1 "; - $sql .= "and group_uuid = '".$group_uuid."' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - //redirect the user - $_SESSION["message"] = $text['message-update']; - header("Location: usersupdate.php?id=".$user_uuid); - return; - } - -//get the user settings - $sql = "select * from v_user_settings "; - $sql .= "where user_uuid = '".$user_uuid."' "; - $sql .= "and user_setting_enabled = 'true' "; - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach($result as $row) { - $name = $row['user_setting_name']; - $category = $row['user_setting_category']; - $subcategory = $row['user_setting_subcategory']; - if (strlen($subcategory) == 0) { - //$$category[$name] = $row['domain_setting_value']; - $user_settings[$category][$name] = $row['user_setting_value']; - } - else { - $user_settings[$category][$subcategory][$name] = $row['user_setting_value']; - } - } - } - -if (count($_POST) > 0 && $_POST["persistform"] != "1") { - - //get the HTTP values and set as variables - $user_uuid = $_REQUEST["id"]; - $domain_uuid = check_str($_POST["domain_uuid"]); - $username_old = check_str($_POST["username_old"]); - $username = check_str($_POST["username"]); - $password = check_str($_POST["password"]); - $password_confirm = check_str($_POST["password_confirm"]); - $user_status = check_str($_POST["user_status"]); - $user_language = check_str($_POST["user_language"]); - $user_time_zone = check_str($_POST["user_time_zone"]); - $contact_uuid = check_str($_POST["contact_uuid"]); - $group_member = check_str($_POST["group_member"]); - $user_enabled = check_str($_POST["user_enabled"]); - $api_key = check_str($_POST["api_key"]); - - //check required values - if ($username != $username_old) { - $sql = "select count(*) as num_rows from v_users where domain_uuid = '".$domain_uuid."' and username = '".$username."'"; - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if (0 < $row['num_rows']) { - $msg_error = $text['message-username_exists']; - } - } - unset($sql); - } - - if ($password != $password_confirm) { $msg_error = $text['message-password_mismatch']; } - - if ($msg_error != '') { - $_SESSION["message"] = $msg_error; - $_SESSION["message_mood"] = 'negative'; - header("Location: usersupdate.php?id=".$user_uuid); - exit; - } - - if (!check_password_strength($password, $text)) { - header("Location: usersupdate.php?id=".$user_uuid); - exit; - } - - //check to see if user language is set - $sql = "select count(*) as num_rows from v_user_settings "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'language' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] == 0) { - $user_setting_uuid = uuid(); - $sql = "insert into v_user_settings "; - $sql .= "("; - $sql .= "domain_uuid, "; - $sql .= "user_setting_uuid, "; - $sql .= "user_setting_category, "; - $sql .= "user_setting_subcategory, "; - $sql .= "user_setting_name, "; - $sql .= "user_setting_value, "; - $sql .= "user_setting_enabled, "; - $sql .= "user_uuid "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$domain_uuid."', "; - $sql .= "'".$user_setting_uuid."', "; - $sql .= "'domain', "; - $sql .= "'language', "; - $sql .= "'code', "; - $sql .= "'".$user_language."', "; - $sql .= "'true', "; - $sql .= "'".$user_uuid."' "; - $sql .= ")"; - $db->exec(check_sql($sql)); - } - else { - if (strlen($user_language) == 0) { - $sql = "delete from v_user_settings "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'language' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - unset($sql); - } - else { - $sql = "update v_user_settings set "; - $sql .= "user_setting_value = '".$user_language."', "; - $sql .= "user_setting_enabled = 'true' "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'language' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - } - } - } - - //get the number of rows in v_user_settings - $sql = "select count(*) as num_rows from v_user_settings "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'time_zone' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] == 0) { - $user_setting_uuid = uuid(); - $sql = "insert into v_user_settings "; - $sql .= "("; - $sql .= "domain_uuid, "; - $sql .= "user_setting_uuid, "; - $sql .= "user_setting_category, "; - $sql .= "user_setting_subcategory, "; - $sql .= "user_setting_name, "; - $sql .= "user_setting_value, "; - $sql .= "user_setting_enabled, "; - $sql .= "user_uuid "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$domain_uuid."', "; - $sql .= "'".$user_setting_uuid."', "; - $sql .= "'domain', "; - $sql .= "'time_zone', "; - $sql .= "'name', "; - $sql .= "'".$user_time_zone."', "; - $sql .= "'true', "; - $sql .= "'".$user_uuid."' "; - $sql .= ")"; - $db->exec(check_sql($sql)); - unset($sql); - } - else { - if (strlen($user_time_zone) == 0) { - $sql = "delete from v_user_settings "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'time_zone' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - unset($sql); - } - else { - $sql = "update v_user_settings set "; - $sql .= "user_setting_value = '".$user_time_zone."', "; - $sql .= "user_setting_enabled = 'true' "; - $sql .= "where user_setting_category = 'domain' "; - $sql .= "and user_setting_subcategory = 'time_zone' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - unset($sql); - } - } - } - - //assign the user to the group - if (strlen($_REQUEST["group_uuid_name"]) > 0) { - $group_data = explode('|', $_REQUEST["group_uuid_name"]); - $group_uuid = $group_data[0]; - $group_name = $group_data[1]; - $sql_insert = "insert into v_group_users "; - $sql_insert .= "("; - $sql_insert .= "group_user_uuid, "; - $sql_insert .= "domain_uuid, "; - $sql_insert .= "group_name, "; - $sql_insert .= "group_uuid, "; - $sql_insert .= "user_uuid "; - $sql_insert .= ") "; - $sql_insert .= "values "; - $sql_insert .= "( "; - $sql_insert .= "'".uuid()."', "; - $sql_insert .= "'".$domain_uuid."', "; - $sql_insert .= "'".$group_name."', "; - $sql_insert .= "'".$group_uuid."', "; - $sql_insert .= "'".$user_uuid."' "; - $sql_insert .= ")"; - //only a superadmin can add other superadmins or admins, admins can only add other admins - switch ($group_name) { - case "superadmin" : - if (!if_group("superadmin")) { break; } - case "admin" : - if (!if_group("superadmin") && !if_group("admin")) { break; } - default : - $db->exec($sql_insert); - } - } - - //change domain_uuid in group users and user settings tables, and unassign any foreign domain groups - if (permission_exists('user_domain')) { - $sql = "update v_group_users set "; - $sql .= "domain_uuid = '".$domain_uuid."' "; - $sql .= "where user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - unset($sql); - - $sql = "update v_user_settings set "; - $sql .= "domain_uuid = '".$domain_uuid."' "; - $sql .= "where user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - unset($sql); - - $sql = "delete from v_group_users where "; - $sql .= "domain_uuid = '".$domain_uuid."' "; - $sql .= "and user_uuid = '".$user_uuid."' "; - $sql .= "and group_uuid not in ("; - $sql .= " select group_uuid from v_groups where domain_uuid = '".$domain_uuid."' or domain_uuid is null "; - $sql .= ") "; - $db->exec(check_sql($sql)); - unset($sql); - } - - //sql update - $sql = "update v_users set "; - if (permission_exists('user_domain')) { - $sql .= "domain_uuid = '".$domain_uuid."', "; - } - if (strlen($username) > 0 && $username != $username_old) { - $sql .= "username = '".$username."', "; - } - if (strlen($password) > 0 && $password_confirm == $password) { - //salt used with the password to create a one way hash - $salt = uuid(); - //set the password - $sql .= "password = '".md5($salt.$password)."', "; - $sql .= "salt = '".$salt."', "; - } - if (strlen($api_key) > 0) { - $sql .= "api_key = '".$api_key."', "; - } - else { - $sql .= "api_key = null, "; - } - $sql .= "user_status = '".$user_status."', "; - $sql .= "user_enabled = '".$user_enabled."', "; - if (strlen($contact_uuid) == 0) { - $sql .= "contact_uuid = null "; - } - else { - $sql .= "contact_uuid = '".$contact_uuid."' "; - } - $sql .= "where "; - if (!permission_exists('user_domain')) { - $sql .= "domain_uuid = '".$domain_uuid."' and "; - } - $sql .= "user_uuid = '".$user_uuid."' "; - $db->exec(check_sql($sql)); - - - // if call center installed - if (file_exists($_SERVER["PROJECT_ROOT"]."/app/call_center/app_config.php")) { - - // update agent and tiers tables - $sql = "update v_call_center_agents set agent_name = '".$username."' where domain_uuid = '".$domain_uuid."' and agent_name = '".$username_old."' "; - $db->exec(check_sql($sql)); - unset($sql); - - $sql = "update v_call_center_tiers set agent_name = '".$username."' where domain_uuid = '".$domain_uuid."' and agent_name = '".$username_old."' "; - $db->exec(check_sql($sql)); - unset($sql); - - //syncrhonize the configuration - save_call_center_xml(); - - //update the user_status - $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); - $switch_cmd .= "callcenter_config agent set status ".$username."@".$_SESSION['domains'][$domain_uuid]['domain_name']." '".$user_status."'"; - $switch_result = event_socket_request($fp, 'api '.$switch_cmd); - - //update the user state - $cmd = "api callcenter_config agent set state ".$username."@".$_SESSION['domains'][$domain_uuid]['domain_name']." Waiting"; - $response = event_socket_request($fp, $cmd); - - } - - //redirect the browser - $_SESSION["message"] = $text['message-update']; - if ($_REQUEST['action'] == $text['button-add']) { - header("Location: usersupdate.php?id=".$user_uuid); - } - else { - header("Location: index.php"); - } - return; - -} - - -//pre-populate the form - $sql = "select * from v_users "; - $sql .= "where user_uuid = '".$user_uuid."' "; - if (!permission_exists('user_all')) { - $sql .= "and domain_uuid = '".$domain_uuid."' "; - } - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $domain_uuid = $row["domain_uuid"]; - $user_uuid = $row["user_uuid"]; - $username = $row["username"]; - $password = $row["password"]; - $api_key = $row["api_key"]; - $user_enabled = $row["user_enabled"]; - $contact_uuid = $row["contact_uuid"]; - $user_status = $row["user_status"]; - } - -//include the header - require_once "resources/header.php"; - $document['title'] = $text['title-user_edit']; - -//show the content - $table_width ='width="100%"'; - - echo "\n"; - - echo "
\n"; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
".$text['header-user_edit']."\n"; - echo " "; - echo " "; - echo "
\n"; - echo " ".$text['description-user_edit']."\n"; - echo "
\n"; - - echo "
\n"; - - echo ""; - echo "\n"; - echo " \n"; - echo "\n"; - - echo " "; - echo " "; - echo " "; - echo " "; - - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - - if (permission_exists('user_domain')) { - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - } - else { - echo ""; - } - - echo " "; - echo " "; - echo " "; - echo " "; - echo "
".$text['label-user_info']."
".$text['label-username'].""; - if (if_group("admin") || if_group("superadmin")) { - echo " "; - } - else { - echo " ".$username; - } - echo "
".$text['label-password'].""; - echo " "; - echo " "; - echo "
"; - echo "
".$text['label-confirm_password'].""; - echo " "; - echo "
\n"; - echo " ".$text['label-domain']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-domain_name']."\n"; - echo "
".$text['label-groups'].""; - - $sql = "select "; - $sql .= " gu.*, g.domain_uuid as group_domain_uuid "; - $sql .= "from "; - $sql .= " v_group_users as gu, "; - $sql .= " v_groups as g "; - $sql .= "where "; - $sql .= " gu.group_uuid = g.group_uuid "; - $sql .= " and ("; - $sql .= " g.domain_uuid = :domain_uuid "; - $sql .= " or g.domain_uuid is null "; - $sql .= " ) "; - $sql .= " and gu.domain_uuid = :domain_uuid "; - $sql .= " and gu.user_uuid = :user_uuid "; - $sql .= "order by "; - $sql .= " g.domain_uuid desc, "; - $sql .= " g.group_name asc "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->bindParam(':domain_uuid', $domain_uuid); - $prep_statement->bindParam(':user_uuid', $user_uuid); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $result_count = count($result); - if ($result_count > 0) { - echo "\n"; - foreach($result as $field) { - if (strlen($field['group_name']) > 0) { - echo "\n"; - echo " \n"; - if ($result_count > 1) { - if (permission_exists('group_member_delete') || if_group("superadmin")) { - echo " \n"; - } - } - echo "\n"; - $assigned_groups[] = $field['group_uuid']; - } - } - echo "
"; - echo $field['group_name'].(($field['group_domain_uuid'] != '') ? "@".$_SESSION['domains'][$field['group_domain_uuid']]['domain_name'] : null); - echo " \n"; - echo " $v_link_label_delete\n"; - echo "
\n"; - } - unset($sql, $prep_statement, $result, $result_count); - - $sql = "select * from v_groups "; - $sql .= "where (domain_uuid = '".$domain_uuid."' or domain_uuid is null) "; - if (sizeof($assigned_groups) > 0) { - $sql .= "and group_uuid not in ('".implode("','",$assigned_groups)."') "; - } - $sql .= "order by domain_uuid desc, group_name asc "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $result_count = count($result); - if ($result_count > 0) { - if (isset($assigned_groups)) { echo "
\n"; } - echo ""; - echo "\n"; - } - unset($sql, $prep_statement, $result); - - echo "
"; - - echo "
"; - echo "
"; - - echo ""; - echo " \n"; - echo " \n"; - echo " \n"; - - echo " "; - echo " "; - echo " "; - echo " "; - - if ($_SESSION['user_status_display'] == "false") { - //hide the user_status when it is set to false - } - else { - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - } - - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - - if (file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/api/app_config.php')) { - echo " "; - echo " "; - echo " "; - echo " "; - } - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo " "; - echo " "; - echo " "; - echo "
".$text['label-additional_info']."
".$text['label-contact']."\n"; - $sql = " select contact_uuid, contact_organization, contact_name_given, contact_name_family, contact_nickname from v_contacts "; - $sql .= " where domain_uuid = '".$domain_uuid."' "; - $sql .= " order by contact_organization desc, contact_name_family asc, contact_name_given asc, contact_nickname asc "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - unset ($prep_statement, $sql); - echo "\n"; - echo "
\n"; - echo $text['description-contact']."\n"; - if (strlen($contact_uuid) > 0) { - echo " ".$text['description-contact_view']."\n"; - } - echo "
\n"; - echo " ".$text['label-status']."\n"; - echo " \n"; - $cmd = "'".PROJECT_PATH."/app/calls_active/v_calls_exec.php?cmd=callcenter_config+agent+set+status+".$username."@".$_SESSION['domains'][$domain_uuid]['domain_name']."+'+this.value"; - echo " \n"; - echo "
\n"; - echo " ".$text['description-status']."
\n"; - echo "
\n"; - echo " ".$text['label-user_language']."\n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['description-user_language']."
\n"; - echo "
\n"; - echo " ".$text['label-time_zone']."\n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['description-time_zone']."
\n"; - echo "
".$text['label-api_key']."\n"; - echo " "; - echo " "; - if (strlen($text['description-api_key']) > 0) { - echo "
".$text['description-api_key']."
\n"; - } - echo "
\n"; - echo " ".$text['label-enabled']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-enabled']."\n"; - echo "
"; - echo " "; - echo " "; - echo "
"; - echo " "; - echo "
"; - echo "

"; - echo "
"; - - echo "\n"; - - if (permission_exists('user_setting_view')) { - require "user_settings.php"; - } - -//include the footer - require_once "resources/footer.php"; - -?>