related to #1524 Input verification

This commit is contained in:
Matthieu Leproux
2021-10-15 14:36:05 +02:00
parent b409841e0f
commit d8862e43ac
5 changed files with 60 additions and 30 deletions
+32 -24
View File
@@ -84,30 +84,38 @@ jQuery(document).ready(function () {
loadState.changeHTML($(".actionButtons button"), "<i class='icon-spin6 animate-spin'> </i>");
loadState.changeAttribute($(".actionButtons button"), "style", "pointer-events: none");
loadState.changeAttribute($(".actionButtons a"), "style", "pointer-events: none");
jQuery.ajax({
url: "ws.php?format=json&method=pwg.groups.add",
type: "POST",
data: "name=" + name + "&pwg_token=" + pwg_token,
success: function (raw_data) {
loadState.reverse();
data = jQuery.parseJSON(raw_data);
if (data.stat === "ok") {
$(".addGroupFormLabelAndInput input").val('');
group = data.result.groups[0];
groupBox = createGroup(group)
groupBox.prependTo(".groups")
setupGroupBox(groupBox);
updateBadge();
} else {
$("#addGroupForm .groupError").html(str_name_not_empty);
$("#addGroupForm .groupError").fadeIn();
$("#addGroupForm .groupError").delay(DELAY_FEEDBACK).fadeOut();
}
},
error: function (err) {
console.log(err);
},
});
if (name.replace(/\s/g, '').length != 0) {
jQuery.ajax({
url: "ws.php?format=json&method=pwg.groups.add",
type: "POST",
data: "name=" + name + "&pwg_token=" + pwg_token,
success: function (raw_data) {
loadState.reverse();
data = jQuery.parseJSON(raw_data);
if (data.stat === "ok") {
$(".addGroupFormLabelAndInput input").val('');
group = data.result.groups[0];
groupBox = createGroup(group)
groupBox.prependTo(".groups")
setupGroupBox(groupBox);
updateBadge();
} else {
$("#addGroupForm .groupError").html(str_name_not_empty);
$("#addGroupForm .groupError").fadeIn();
$("#addGroupForm .groupError").delay(DELAY_FEEDBACK).fadeOut();
}
},
error: function (err) {
console.log(err);
},
});
} else {
loadState.reverse();
$("#addGroupForm .groupError").html(str_name_not_empty);
$("#addGroupForm .groupError").fadeIn();
$("#addGroupForm .groupError").delay(DELAY_FEEDBACK).fadeOut();
}
});
});
+3 -2
View File
@@ -1340,8 +1340,9 @@ function update_user_username() {
user_id: last_user_id
};
ajax_data['username'] = pop_in_container.find('.user-property-input-username').val();
if (ajax_data.username === '') {
return;
if (ajax_data.username.replace(/\s/g, '').length == 0) {
$(".update-user-fail").html(fieldNotEmpty).fadeIn().delay(1500).fadeOut(2500);
return
}
jQuery.ajax({
url: "ws.php?format=json&method=pwg.users.setInfo",
+9 -4
View File
@@ -25,6 +25,7 @@ const cancel_msg = '{'No, I have changed my mind'|@translate|@escape}';
const str_and_others_tags = '{'and %s others'|@translate}';
const missingConfirm = "{'You need to confirm deletion'|translate|escape:javascript}";
const missingUsername = "{'Please, enter a login'|translate|escape:javascript}";
const fieldNotEmpty = "{'Name field must not be empty'|@translate}"
const registered_str = '{"Registered"|@translate}';
const last_visit_str = '{"Last visit"|@translate}';
@@ -615,13 +616,13 @@ $(".icon-help-circled").tipTip({
<span class="update-user-button"><i class='icon-floppy'></i>{'Update'|@translate}</span>
<span class="close-update-button">{'Close'|@translate}</span>
<span class="update-user-success icon-green icon-ok">{'User updated'|@translate}</span>
<span class="update-user-fail icon-red icon-cancel"></span>
</div>
<div>
<span class="delete-user-button icon-trash">{'Delete'|@translate}</span>
</div>
</div>
<div>
<span class="update-user-fail icon-red"></span>
</div>
</div>
</div>
@@ -776,9 +777,9 @@ $(".icon-help-circled").tipTip({
<span class="update-user-button"><i class='icon-floppy'></i>{'Update'|@translate}</span>
<span class="close-update-button">{'Close'|@translate}</span>
<span class="update-user-success icon-green">{'User updated'|@translate}</span>
<span class="update-user-fail icon-red icon-cancel"></span>
</div>
<div>
<span class="update-user-fail icon-red"></span>
</div>
</div>
</div>
@@ -1649,8 +1650,12 @@ $(".icon-help-circled").tipTip({
}
.update-user-fail {
padding:10px;
display:none
padding:11px;
display:none;
border-left: 2px solid #FF0000;
{* top: -30px;
position: relative;
left: 190px; *}
}
/* Guest Pop in */
+8
View File
@@ -75,6 +75,10 @@ SELECT COUNT(*)
return new PwgError(WS_ERR_INVALID_PARAM, 'This name is already used by another group.');
}
if (strlen(str_replace( " ", "", $params['name'])) == 0) {
return new PwgError(WS_ERR_INVALID_PARAM, 'Name field must not be empty');
}
// creating the group
single_insert(
GROUPS_TABLE,
@@ -127,6 +131,10 @@ function ws_groups_setInfo($params, &$service)
return new PwgError(403, 'Invalid security token');
}
if (strlen(str_replace( " ", "", $params['name'])) == 0) {
return new PwgError(WS_ERR_INVALID_PARAM, 'Name field must not be empty');
}
$updates = array();
// does the group exist ?
+8
View File
@@ -362,6 +362,10 @@ function ws_users_add($params, &$service)
return new PwgError(403, 'Invalid security token');
}
if (strlen(str_replace( " ", "", $params['username'])) == 0) {
return new PwgError(WS_ERR_INVALID_PARAM, 'Name field must not be empty');
}
global $conf;
if ($conf['double_password_type_in_admin'])
@@ -493,6 +497,10 @@ function ws_users_setInfo($params, &$service)
return new PwgError(403, 'Invalid security token');
}
if (strlen(str_replace( " ", "", $params['username'])) == 0) {
return new PwgError(WS_ERR_INVALID_PARAM, 'Name field must not be empty');
}
global $conf, $user;
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');