mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-16 14:33:14 +00:00
Merge pull request #3858 from alchemy-fr/PHRAS-3522-notification-uninterpreted-html
PHRAS-3522 merge Prod - Notification - notifications windows contain uninterpreted HTML (URL)
This commit is contained in:
@@ -13,5 +13,5 @@ module.exports = {
|
||||
setupDir: _root + 'tests/setup/node.js',
|
||||
karmaConf: _root + 'config/karma.conf.js',
|
||||
// change this version when you change JS file for lazy loading
|
||||
jsFileVersion: 26
|
||||
jsFileVersion: 27
|
||||
};
|
||||
|
@@ -96,7 +96,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||
/******/ if (__webpack_require__.nc) {
|
||||
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
||||
/******/ }
|
||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=26";
|
||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=27";
|
||||
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
||||
/******/ script.onerror = script.onload = onScriptComplete;
|
||||
/******/ function onScriptComplete() {
|
||||
|
@@ -96,7 +96,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||
/******/ if (__webpack_require__.nc) {
|
||||
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
||||
/******/ }
|
||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=26";
|
||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=27";
|
||||
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
||||
/******/ script.onerror = script.onload = onScriptComplete;
|
||||
/******/ function onScriptComplete() {
|
||||
|
2
Phraseanet-production-client/dist/commons.js
vendored
2
Phraseanet-production-client/dist/commons.js
vendored
@@ -91,7 +91,7 @@
|
||||
/******/ if (__webpack_require__.nc) {
|
||||
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
||||
/******/ }
|
||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=26";
|
||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=27";
|
||||
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
||||
/******/ script.onerror = script.onload = onScriptComplete;
|
||||
/******/ function onScriptComplete() {
|
||||
|
@@ -91,7 +91,7 @@
|
||||
/******/ if (__webpack_require__.nc) {
|
||||
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
||||
/******/ }
|
||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=26";
|
||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=27";
|
||||
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
||||
/******/ script.onerror = script.onload = onScriptComplete;
|
||||
/******/ function onScriptComplete() {
|
||||
|
@@ -19323,6 +19323,9 @@ var notifyLayout = function notifyLayout(services) {
|
||||
markNotificationRead(event.data['id'], $z);
|
||||
});
|
||||
date_cont.append($z);
|
||||
// do not display date in the dialog content beacause it's already grouped by date
|
||||
(0, _jquery2.default)(".time", $z).hide();
|
||||
(0, _jquery2.default)(".time-in-dialog", $z).show();
|
||||
};
|
||||
|
||||
for (i in notifications) {
|
||||
|
@@ -19323,6 +19323,9 @@ var notifyLayout = function notifyLayout(services) {
|
||||
markNotificationRead(event.data['id'], $z);
|
||||
});
|
||||
date_cont.append($z);
|
||||
// do not display date in the dialog content beacause it's already grouped by date
|
||||
(0, _jquery2.default)(".time", $z).hide();
|
||||
(0, _jquery2.default)(".time-in-dialog", $z).show();
|
||||
};
|
||||
|
||||
for (i in notifications) {
|
||||
|
@@ -180,6 +180,9 @@ const notifyLayout = (services) => {
|
||||
markNotificationRead(event.data['id'], $z);
|
||||
});
|
||||
date_cont.append($z);
|
||||
// do not display date in the dialog content beacause it's already grouped by date
|
||||
$(".time", $z).hide();
|
||||
$(".time-in-dialog", $z).show();
|
||||
}
|
||||
|
||||
// handle "show more" button
|
||||
|
@@ -59,7 +59,7 @@ class PhraseanetExtension extends \Twig_Extension
|
||||
{
|
||||
return [
|
||||
// change this version when you change JS file to force the navigation to reload js file
|
||||
'jsFileVersion' => 26
|
||||
'jsFileVersion' => 27
|
||||
];
|
||||
|
||||
}
|
||||
|
@@ -37,7 +37,7 @@ class eventsmanager_notify_autoregister extends eventsmanager_notifyAbstract
|
||||
}
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('%user% s\'est enregistre sur une ou plusieurs %before_link% scollections %after_link%', ['%user%' => $user->getDisplayName(), '%before_link%' => '<a href="/admin/?section=users" target="_blank">', '%after_link%' => '</a>'])
|
||||
'text' => $this->app->trans('%user% s\'est enregistre sur une ou plusieurs %before_link% scollections %after_link%', ['%user%' => htmlentities($user->getDisplayName()), '%before_link%' => '<a href="/admin/?section=users" target="_blank">', '%after_link%' => '</a>'])
|
||||
, 'class' => ''
|
||||
];
|
||||
|
||||
|
@@ -37,7 +37,7 @@ class eventsmanager_notify_feed extends eventsmanager_notifyAbstract
|
||||
}
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('%user% has published %title%', ['%user%' => $entry->getAuthorName(), '%title%' => '<a href="/lightbox/feeds/entry/' . $entry->getId() . '/" target="_blank">' . $entry->getTitle() . '</a>'])
|
||||
'text' => $this->app->trans('%user% has published %title%', ['%user%' => htmlentities($entry->getAuthorName()), '%title%' => '<a href="/lightbox/feeds/entry/' . $entry->getId() . '/" target="_blank">' . htmlentities($entry->getTitle()) . '</a>'])
|
||||
, 'class' => ($unread == 1 ? 'reload_baskets' : '')
|
||||
];
|
||||
|
||||
|
@@ -41,7 +41,7 @@ class eventsmanager_notify_order extends eventsmanager_notifyAbstract
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('%user% a passe une %opening_link% commande %end_link%', [
|
||||
'%user%' => $sender,
|
||||
'%user%' => htmlentities($sender),
|
||||
'%opening_link%' => '<a href="#" class="order-notif" data-id="'.$order_id.'" title="'.$this->app->trans('Orders manager').'">',
|
||||
'%end_link%' => '</a>',])
|
||||
, 'class' => ''
|
||||
|
@@ -63,9 +63,9 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract
|
||||
}
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('%user% vous a delivre %quantity% document(s) pour votre commande %title%', ['%user%' => $sender, '%quantity%' => $n, '%title%' => '<a href="/lightbox/compare/'
|
||||
'text' => $this->app->trans('%user% vous a delivre %quantity% document(s) pour votre commande %title%', ['%user%' => htmlentities($sender), '%quantity%' => $n, '%title%' => '<a href="/lightbox/compare/'
|
||||
. $ssel_id . '/" target="_blank">'
|
||||
. $basket->getName() . '</a>']),
|
||||
. htmlentities($basket->getName()) . '</a>']),
|
||||
'class' => ''
|
||||
];
|
||||
|
||||
|
@@ -39,7 +39,7 @@ class eventsmanager_notify_ordernotdelivered extends eventsmanager_notifyAbstrac
|
||||
$sender = $user->getDisplayName();
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('%user% a refuse la livraison de %quantity% document(s) pour votre commande', ['%user%' => $sender, '%quantity%' => $n])
|
||||
'text' => $this->app->trans('%user% a refuse la livraison de %quantity% document(s) pour votre commande', ['%user%' => htmlentities($sender), '%quantity%' => $n])
|
||||
, 'class' => ''
|
||||
];
|
||||
|
||||
|
@@ -39,7 +39,7 @@ class eventsmanager_notify_push extends eventsmanager_notifyAbstract
|
||||
$sender = $user->getDisplayName();
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('%user% vous a envoye un %before_link% panier %after_link%', ['%user%' => $sender, '%before_link%' => '<a href="#"
|
||||
'text' => $this->app->trans('%user% vous a envoye un %before_link% panier %after_link%', ['%user%' => htmlentities($sender), '%before_link%' => '<a href="#"
|
||||
data-kind="BASK"
|
||||
data-position="1"
|
||||
data-id="'. $data['ssel_id'] . '"
|
||||
|
@@ -39,7 +39,7 @@ class eventsmanager_notify_register extends eventsmanager_notifyAbstract
|
||||
$sender = $user->getDisplayName();
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('%user% demande votre approbation sur une ou plusieurs %before_link% collections %after_link%', ['%user%' => $sender, '%before_link%' => '<a href="' . $this->app->url('admin', ['section' => 'registrations']) . '" target="_blank">', '%after_link%' => '</a>'])
|
||||
'text' => $this->app->trans('%user% demande votre approbation sur une ou plusieurs %before_link% collections %after_link%', ['%user%' => htmlentities($sender), '%before_link%' => '<a href="' . $this->app->url('admin', ['section' => 'registrations']) . '" target="_blank">', '%after_link%' => '</a>'])
|
||||
, 'class' => ''
|
||||
];
|
||||
|
||||
|
@@ -41,7 +41,7 @@ class eventsmanager_notify_uploadquarantine extends eventsmanager_notifyAbstract
|
||||
|
||||
$filename = $data['filename'];
|
||||
|
||||
$text = $this->app->trans('The document %name% has been quarantined', ['%name%' => $filename]);
|
||||
$text = $this->app->trans('The document %name% has been quarantined', ['%name%' => htmlentities($filename)]);
|
||||
|
||||
if ($reasons) {
|
||||
$text .= ' ' . $this->app->trans('for the following reasons : %reasons%', ['%reasons%' => implode(', ', $reasons)]);
|
||||
|
@@ -56,11 +56,11 @@ class eventsmanager_notify_validate extends eventsmanager_notifyAbstract
|
||||
$bask_link = '<a href="'
|
||||
. $this->app->url('lightbox_validation', ['basket' => $ssel_id])
|
||||
. '" target="_blank">'
|
||||
. $basket_name . '</a>';
|
||||
. htmlentities($basket_name) . '</a>';
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('%user% vous demande de valider %title%', [
|
||||
'%user%' => $sender,
|
||||
'%user%' => htmlentities($sender),
|
||||
'%title%' => $bask_link,
|
||||
])
|
||||
, 'class' => ($unread == 1 ? 'reload_baskets' : '')
|
||||
|
@@ -62,9 +62,9 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract
|
||||
}
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('%user% a envoye son rapport de validation de %title%', ['%user%' => $sender, '%title%' => '<a href="/lightbox/validate/'
|
||||
'text' => $this->app->trans('%user% a envoye son rapport de validation de %title%', ['%user%' => htmlentities($sender), '%title%' => '<a href="/lightbox/validate/'
|
||||
. $ssel_id . '/" target="_blank">'
|
||||
. $basket->getName() . '</a>']),
|
||||
. htmlentities($basket->getName()) . '</a>']),
|
||||
'class' => ''
|
||||
];
|
||||
|
||||
|
@@ -63,7 +63,7 @@ class eventsmanager_notify_validationreminder extends eventsmanager_notifyAbstra
|
||||
. $basket_name . '</a>';
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('Rappel : Il vous reste %timeLeft% pour valider %title% de %user%', ['%timeLeft%' => $timeLeft, '%title%' => $bask_link, '%user%' => $sender])
|
||||
'text' => $this->app->trans('Rappel : Il vous reste %timeLeft% pour valider %title% de %user%', ['%timeLeft%' => $timeLeft, '%title%' => $bask_link, '%user%' => htmlentities($sender)])
|
||||
, 'class' => ($unread == 1 ? 'reload_baskets' : '')
|
||||
];
|
||||
|
||||
|
@@ -47,7 +47,7 @@
|
||||
}
|
||||
|
||||
a {
|
||||
color: #414141;
|
||||
color: #08c;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
}
|
||||
|
||||
a {
|
||||
color: #999999;
|
||||
color: #08c;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -6,8 +6,9 @@
|
||||
<img src="{{notification['icon']}}" style="vertical-align:middle;width:16px;margin:2px;" />
|
||||
</td>
|
||||
<td class="{{notification['class']}}">
|
||||
{{notification['text'] | e | raw}}
|
||||
{{notification['text'] | raw}}
|
||||
<span class="time">{{notification['created_on']}}</span>
|
||||
<span class="time-in-dialog" style="color: #666666;display: none;" >{{notification['time']}}</span>
|
||||
</td>
|
||||
<td style="width:25px; vertical-align: bottom;">
|
||||
<span class="icon_read" title="{{ 'notification::read:tooltip' | trans }}"></span>
|
||||
|
Reference in New Issue
Block a user