Skip to content
Permalink
Browse files Browse the repository at this point in the history
[Task] Optimized blacklist email input (#14467)
* optimized email input

* added filter for email address

* fixed typo
  • Loading branch information
Corepex committed Feb 27, 2023
1 parent 4b57332 commit f6d322e
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 5 deletions.
6 changes: 5 additions & 1 deletion bundles/AdminBundle/Controller/Admin/EmailController.php
Expand Up @@ -458,8 +458,12 @@ public function blacklistAction(Request $request)
$data = $this->decodeJson($request->get('data'));

if (is_array($data)) {
foreach ($data as &$value) {
foreach ($data as $key => &$value) {
if (is_string($value)) {
if($key === 'address'){
$value = filter_var($value, FILTER_SANITIZE_EMAIL);
}

$value = trim($value);
}
}
Expand Down
4 changes: 4 additions & 0 deletions bundles/AdminBundle/Resources/public/js/pimcore/helpers.js
Expand Up @@ -14,6 +14,10 @@
/*global localStorage */
pimcore.registerNS("pimcore.helpers.x");

pimcore.helpers.sanitizeEmail = function (email) {
return email.replace(/[^a-zA-Z0-9_\-@.+]/g,'');
};

pimcore.helpers.registerKeyBindings = function (bindEl, ExtJS) {

if (!ExtJS) {
Expand Down
Expand Up @@ -123,9 +123,15 @@ pimcore.settings.email.blacklist = Class.create({
icon:"/bundles/pimcoreadmin/img/flat-color-icons/delete.svg",
handler:function (grid, rowIndex) {
let data = grid.getStore().getAt(rowIndex);
pimcore.helpers.deleteConfirm(t('email_blacklist'), data.data.address, function () {
grid.getStore().removeAt(rowIndex);
}.bind(this));
const sanitizedEmail = pimcore.helpers.sanitizeEmail(data.data.address);

pimcore.helpers.deleteConfirm(
t('email_blacklist'),
sanitizedEmail,
function () {
grid.getStore().removeAt(rowIndex);
}.bind(this)
);
}.bind(this)
}
]
Expand Down Expand Up @@ -185,8 +191,10 @@ pimcore.settings.email.blacklist = Class.create({
onAdd:function (btn, ev) {
Ext.MessageBox.prompt("", t("email_address"), function (button, value) {
if(button == "ok") {
const sanitizedEmail = pimcore.helpers.sanitizeEmail(value);

var u = {
"address": value
"address": sanitizedEmail
};

this.grid.store.insert(0, u);
Expand Down

0 comments on commit f6d322e

Please sign in to comment.