diff --git a/core/users/user_edit.php b/core/users/user_edit.php index 516ab0a8d8..3daa9dc791 100644 --- a/core/users/user_edit.php +++ b/core/users/user_edit.php @@ -121,6 +121,9 @@ if (count($_POST) > 0 && $_POST["persistform"] != "1") { $group_uuid_name = check_str($_POST["group_uuid_name"]); $user_enabled = check_str($_POST["user_enabled"]); $api_key = check_str($_POST["api_key"]); + if (permission_exists('message_view')) { + $message_key = check_str($_POST["message_key"]); + } //check required values if ($username == '') { $msg_error = $text['message-required'].$text['label-username']; } @@ -263,6 +266,53 @@ if (count($_POST) > 0 && $_POST["persistform"] != "1") { } } + //check to see if message key is set + if (permission_exists('message_view')) { + $sql = "select user_setting_uuid, user_setting_value from v_user_settings "; + $sql .= "where user_setting_category = 'message' "; + $sql .= "and user_setting_subcategory = 'key' "; + $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'] == '' && $message_key != '') { + //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'] = 'message'; + $array['user_settings'][$i]['user_setting_subcategory'] = 'key'; + $array['user_settings'][$i]['user_setting_name'] = 'text'; + $array['user_settings'][$i]['user_setting_value'] = $message_key; + $array['user_settings'][$i]['user_setting_enabled'] = 'true'; + $i++; + } + else { + if ($row['user_setting_value'] == '' || $message_key == '') { + $sql = "delete from v_user_settings "; + $sql .= "where user_setting_category = 'message' "; + $sql .= "and user_setting_subcategory = 'key' "; + $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'] = 'message'; + $array['user_settings'][$i]['user_setting_subcategory'] = 'key'; + $array['user_settings'][$i]['user_setting_name'] = 'text'; + $array['user_settings'][$i]['user_setting_value'] = $message_key; + $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); @@ -854,6 +904,19 @@ if (count($_POST) > 0 && $_POST["persistform"] != "1") { echo " "; } + if (permission_exists('message_view')) { + echo "