Compare commits

..

6 Commits

Author SHA1 Message Date
Anne-Catherine
eb00253363 Update datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2024-07-24 16:57:58 +02:00
Anne-Cath
908fd72c1f Add new markup 2024-07-24 16:57:58 +02:00
Anne-Cath
29d77f8092 Fix link on external Key 2024-07-24 16:57:58 +02:00
Anne-Cath
994ee4ffad WIP 2024-07-24 16:57:57 +02:00
Anne-Cath
974eafbf4a N°7146 - Fix style not applied in list in the end-users portal in iTop 3.0+ 2024-07-24 16:57:57 +02:00
Anne-Cath
1bb3fe5e0a N°7146 - Fix style not applied in list in the end-users portal in iTop 3.0+ - Add Markup in search list in order to use style 2024-07-24 16:57:57 +02:00
44 changed files with 195 additions and 168 deletions

View File

@@ -16,13 +16,6 @@
<attribute id="contact_id"/>
</attributes>
</naming>
<reconciliation>
<attributes>
<attribute id="action_id"/>
<attribute id="contact_id"/>
<attribute id="trigger_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule>
<attributes>
@@ -123,11 +116,6 @@
<style>
<icon>../../images/icons/icons8-notification.svg</icon>
</style>
<reconciliation>
<attributes>
<attribute id="name"/>
</attributes>
</reconciliation>
</properties>
<fields>
<field id="title" xsi:type="AttributeString">
@@ -398,11 +386,6 @@
<attribute id="title"/>
</attributes>
</naming>
<reconciliation>
<attributes>
<attribute id="title"/>
</attributes>
</reconciliation>
<order>
<columns>
<column id="date" ascending="false" />

View File

@@ -1496,7 +1496,6 @@ class DisplayableGraph extends SimpleGraph
'excluded' => $aExcludedByClass,
'grouping_threshold' => $iGroupingThreshold,
'export_as_pdf' => array('url' => $sExportAsPdfURL, 'label' => Dict::S('UI:Relation:ExportAsPDF')),
'transaction_id' => utils::GetNewTransactionId(),
'export_as_attachment' => array('url' => $sExportAsDocumentURL, 'label' => Dict::S('UI:Relation:ExportAsAttachment'), 'obj_class' => $sObjClass, 'obj_key' => $iObjKey),
'drill_down' => array('url' => $sDrillDownURL, 'label' => Dict::S('UI:Relation:DrillDown')),
'labels' => array(

View File

@@ -200,7 +200,7 @@ abstract class TriggerOnObject extends Trigger
{
parent::DoCheckToWrite();
$sFilter = trim($this->Get('filter') ?? '');
$sFilter = trim($this->Get('filter'));
if (strlen($sFilter) > 0)
{
try

View File

@@ -42,7 +42,7 @@ $ibo-navigation-menu--notifications-show-all-multiple--ibo-popover-menu--indicat
$ibo-navigation-menu--notifications-dismiss-all--icon--margin: $ibo-spacing-0 10px $ibo-spacing-0 $ibo-spacing-0 !default;
$ibo-popover-menu--item--no-message--image--svg--width : 220px !default;
$ibo-popover-menu--item--no-message--image--svg--width : 100% !default;
$ibo-popover-menu--item--no-message--image--svg--height : inherit !default;
$ibo-popover-menu--item--no-message--image--svg--padding : 15px !default;
@@ -147,7 +147,8 @@ $ibo-popover-menu--item--no-message--image--svg--padding : 15px !default;
text-align: center;
}
.ibo-popover-menu--item--no-message--image > svg {
max-width: $ibo-popover-menu--item--no-message--image--svg--width;
display: flex;
width: $ibo-popover-menu--item--no-message--image--svg--width;
height: $ibo-popover-menu--item--no-message--image--svg--height;
padding: $ibo-popover-menu--item--no-message--image--svg--padding;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -121,16 +121,18 @@ If omitted the From (label) is used.~~',
'Class:ActionNewsroom/Attribute:icon' => 'Icon~~',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => 'Message~~',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => 'Priority~~',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '~~',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~',
@@ -146,7 +148,7 @@ If omitted the From (label) is used.~~',
'Class:ActionNewsroom/Attribute:title' => 'Title~~',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL~~',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => 'Upozornění',
'Class:ActionNotification+' => 'Upozornění (abstraktní)',
'Class:AsyncSendEmail' => 'Email (asynchronní)',

View File

@@ -120,16 +120,18 @@ If omitted the From (label) is used.~~',
'Class:ActionNewsroom/Attribute:icon' => 'Icon~~',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => 'Message~~',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => 'Priority~~',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '~~',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~',
@@ -145,7 +147,7 @@ If omitted the From (label) is used.~~',
'Class:ActionNewsroom/Attribute:title' => 'Title~~',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL~~',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => 'Notifikation',
'Class:ActionNotification+' => '',
'Class:AsyncSendEmail' => 'Email (asynkron)',

View File

@@ -127,7 +127,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
- $this->attribute_external_key->attribute$ rekursive Syntax für jedes entfernte Attribut,
- $current_contact->attribute$ Attribut der Person, die die Benachrichtigung ausgelöst hat',
'Class:ActionNewsroom/Attribute:priority' => 'Priorität',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Kritisch',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Kritisch',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Dringend',

View File

@@ -652,16 +652,18 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:ActionNewsroom/Attribute:message' => 'Message',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification',
'Class:ActionNewsroom/Attribute:icon' => 'Icon',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used',
'Class:ActionNewsroom/Attribute:priority' => 'Priority',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup',
'Class:ActionNewsroom/Attribute:priority+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent',
@@ -675,7 +677,7 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:ActionNewsroom/Attribute:recipients' => 'Recipients',
'Class:ActionNewsroom/Attribute:recipients+' => 'An OQL query returning Contact objects',
'Class:ActionNewsroom/Attribute:url' => 'URL',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.',
));
//

View File

@@ -116,16 +116,18 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:ActionNewsroom/Attribute:icon' => 'Icon~~',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => 'Message~~',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => 'Priority~~',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '~~',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~',
@@ -141,7 +143,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:ActionNewsroom/Attribute:title' => 'Title~~',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL~~',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => 'Notificación',
'Class:ActionNotification+' => 'Notificación (resúmen)',
'Class:AsyncSendEmail' => 'Correo Electrónico (asíncrono)',

View File

@@ -135,6 +135,8 @@ Les mots-clés sous la forme :this->attcode spécifiant un champ de l\'objet aya
'Class:ActionNewsroom/Attribute:message' => 'Message',
'Class:ActionNewsroom/Attribute:message+' => 'Contenu de la news, au format Markdown et non HTML. Peut contenir des mots-clés comme :
- $this->attribute_code$ n\'importe quel attribut de l\'objet déclenchant la notification,
- $this->hyperlink()$ hyperlien vers la console sur l\'objet déclenchant la notification,
- $this->hyperlink(portal)$ hyperlien vers le portail sur l\'objet déclenchant la notification,
- $this->attribute_external_key->attribute$ syntaxe récursive pour n\'importe quel attribut distant,
- $current_contact->attribute$ attribut de la Personne ayant déclenchée la notification',
'Class:ActionNewsroom/Attribute:icon' => 'Icône',
@@ -144,21 +146,21 @@ Les mots-clés sous la forme :this->attcode spécifiant un champ de l\'objet aya
- Sinon, si l\'objet déclencheur a une icône de classe définie dans le datamodel, elle sera utilisée
- Sinon, le logo compact de l\'application sera utilisé',
'Class:ActionNewsroom/Attribute:priority' => 'Priorité',
'Class:ActionNewsroom/Attribute:priority+' => 'Les news sont affichés par priorité décroissante.',
'Class:ActionNewsroom/Attribute:priority+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critique',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critique',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent',
'Class:ActionNewsroom/Attribute:priority/Value:2+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:2+' => 'Urgent',
'Class:ActionNewsroom/Attribute:priority/Value:3' => 'Important',
'Class:ActionNewsroom/Attribute:priority/Value:3+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:3+' => 'Important',
'Class:ActionNewsroom/Attribute:priority/Value:4' => 'Standard',
'Class:ActionNewsroom/Attribute:priority/Value:4+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:4+' => 'Standard',
'Class:ActionNewsroom/Attribute:recipients' => 'Destinataires',
'Class:ActionNewsroom/Attribute:recipients+' => 'Une requête OQL retournant les des objets de type Contact',
'Class:ActionNewsroom/Attribute:test_recipient_id' => 'Destinataire de test',
'Class:ActionNewsroom/Attribute:test_recipient_id+' => 'Personne utilisée en remplacement des Destinataires, lorsque la notification est \'En test\'',
'Class:ActionNewsroom/Attribute:url' => 'URL',
'Class:ActionNewsroom/Attribute:url+' => 'Par défaut, l\'URL pointe vers l\'objet ayant déclenché la notification. Mais vous pouvez également spécifier une URL personnalisée.',
'Class:ActionNewsroom/Attribute:url+' => 'Si vide, l\'URL pointera vers l\'objet ayant déclenché la notification. Mais vous pouvez également spécifier une URL personnalisée.',
'Class:ActionNotification' => 'Action de notification',
'Class:ActionNotification+' => '',
'Class:ActionNotification/Attribute:language' => 'Langue',

View File

@@ -115,16 +115,18 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:ActionNewsroom/Attribute:icon' => 'Icon~~',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => 'Message~~',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => 'Priority~~',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '~~',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~',
@@ -140,7 +142,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:ActionNewsroom/Attribute:title' => 'Title~~',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL~~',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => 'Értesítés',
'Class:ActionNotification+' => 'Értesítés (absztrakt)',
'Class:AsyncSendEmail' => 'Email (aszinkron)',

View File

@@ -121,10 +121,12 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
'Class:ActionNewsroom/Attribute:message' => 'Messaggio',
'Class:ActionNewsroom/Attribute:message+' => 'Contenuto della notizia, in formato Markdown non HTML. Può contenere segnaposto come:
- $this->attribute_code$ qualsiasi attributo dell\'oggetto che attiva la notifica,
- $this->hyperlink()$ collegamento ipertestuale nel backoffice all\'oggetto che attiva la notifica,
- $this->hyperlink(portal)$ collegamento ipertestuale nel portale all\'oggetto che attiva la notifica,
- $this->attribute_external_key->attribute$ sintassi ricorsiva per qualsiasi attributo remoto,
- $current_contact->attribute$ attributo della Persona che ha attivato la notifica',
'Class:ActionNewsroom/Attribute:priority' => 'Priorità',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critica',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critica',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgente',
@@ -140,7 +142,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
'Class:ActionNewsroom/Attribute:title' => 'Titolo',
'Class:ActionNewsroom/Attribute:title+' => 'Titolo della notizia. Può contenere segnaposto come $this->attribute_code$',
'Class:ActionNewsroom/Attribute:url' => 'URL',
'Class:ActionNewsroom/Attribute:url+' => 'L\'URL punterà all\'oggetto che attiva la notifica. Ma puoi anche specificare un URL personalizzato.',
'Class:ActionNewsroom/Attribute:url+' => 'Se vuoto, l\'URL punterà all\'oggetto che attiva la notifica. Ma puoi anche specificare un URL personalizzato.',
'Class:ActionNotification' => 'Notifica',
'Class:ActionNotification+' => 'Notifica (sommario)',
'Class:AsyncSendEmail' => 'Email (asincrono)',

View File

@@ -119,16 +119,18 @@ If omitted the From (label) is used.~~',
'Class:ActionNewsroom/Attribute:icon' => 'Icon~~',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => 'Message~~',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => 'Priority~~',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '~~',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~',
@@ -144,7 +146,7 @@ If omitted the From (label) is used.~~',
'Class:ActionNewsroom/Attribute:title' => 'Title~~',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL~~',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => '通知',
'Class:ActionNotification+' => '通知(要約)',
'Class:AsyncSendEmail' => '電子メール (非同期)',

View File

@@ -118,16 +118,18 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:ActionNewsroom/Attribute:icon' => 'Pictogram',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => 'Message~~',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => 'Prioriteit',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~',
@@ -143,7 +145,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:ActionNewsroom/Attribute:title' => 'Titel',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => 'Melding',
'Class:ActionNotification+' => 'Melding (abstract)',
'Class:AsyncSendEmail' => 'E-mail (niet synchroon)',

View File

@@ -126,7 +126,7 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
- $this->attribute_external_key->attribute$ składnia rekurencyjna dla dowolnego atrybutu zdalnego,
- $current_contact->attribute$ atrybut Osoby, która wywołała powiadomienie',
'Class:ActionNewsroom/Attribute:priority' => 'Priorytet',
'Class:ActionNewsroom/Attribute:priority+' => 'Wiadomości będą sortowane według malejącego priorytetu, gdy zostaną wyświetlone w wyskakującym okienku Newsroom',
'Class:ActionNewsroom/Attribute:priority+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Krytyczny',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Krytyczny',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Pilny',

View File

@@ -115,16 +115,18 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'Class:ActionNewsroom/Attribute:icon' => 'Icon~~',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => 'Message~~',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => 'Priority~~',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '~~',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~',
@@ -140,7 +142,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'Class:ActionNewsroom/Attribute:title' => 'Title~~',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL~~',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => 'Notificação',
'Class:ActionNotification+' => 'Notificação (resumo)',
'Class:AsyncSendEmail' => 'E-mail (assíncrono)',

View File

@@ -120,16 +120,18 @@ If omitted the From (label) is used.~~',
'Class:ActionNewsroom/Attribute:icon' => 'Icon~~',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => 'Message~~',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => 'Priority~~',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '~~',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~',
@@ -145,7 +147,7 @@ If omitted the From (label) is used.~~',
'Class:ActionNewsroom/Attribute:title' => 'Title~~',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL~~',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => 'Уведомление',
'Class:ActionNotification+' => '',
'Class:AsyncSendEmail' => 'Email (asynchronous)~~',

View File

@@ -133,16 +133,18 @@ You can use in the OQL :this->attribute_code with an attribute code of the objec
'Class:ActionNewsroom/Attribute:icon' => 'Icon~~',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => 'Message~~',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => 'Priority~~',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '~~',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~',
@@ -158,7 +160,7 @@ You can use in the OQL :this->attribute_code with an attribute code of the objec
'Class:ActionNewsroom/Attribute:title' => 'Title~~',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL~~',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => 'Upozornenie',
'Class:ActionNotification+' => 'Notification Action (abstract)~~',
'Class:AsyncSendEmail' => 'Email (asynchrónny)',

View File

@@ -120,16 +120,18 @@ If omitted the From (label) is used.~~',
'Class:ActionNewsroom/Attribute:icon' => 'Icon~~',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => 'Message~~',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => 'Priority~~',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '~~',
'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~',
'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~',
@@ -145,7 +147,7 @@ If omitted the From (label) is used.~~',
'Class:ActionNewsroom/Attribute:title' => 'Title~~',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL~~',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => 'Bildirim',
'Class:ActionNotification+' => 'Bildirim (soyut)',
'Class:AsyncSendEmail' => 'E-posta (Asenkron)',

View File

@@ -24,7 +24,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,16 +24,16 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
<div>Passen Sie Ihre ' . ITOP_APPLICATION_SHORT . ' Präferenzen an, um ein personalisiertes Erlebnis zu erhalten.</div>',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Sagen Sie "Hallo" zum Newsroom',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Sagen Sie Auf Wiedersehen zu überfüllten Posteingängen und Hallo zu personalisierten Benachrichtigungen mit dem <b>Newsroom von '.ITOP_APPLICATION_SHORT.'</b>!</div>
<div><a href="%1$s" target="_blank">Der Newsroom</a> ermöglicht es Ihnen, Benachrichtigungen innerhalb der Plattform einfach zu verwalten, sodass Sie über wichtige Updates informiert bleiben, ohne ständig Ihre E-Mails überprüfen zu müssen. Mit der Fähigkeit, Nachrichten als gelesen oder ungelesen zu markieren und alte Benachrichtigungen automatisch zu löschen, haben Sie die volle Kontrolle über Ihre Benachrichtigungen.</div>
<div>Der Newsroom ermöglicht es Ihnen, Benachrichtigungen innerhalb der Plattform einfach zu verwalten, sodass Sie über wichtige Updates informiert bleiben, ohne ständig Ihre E-Mails überprüfen zu müssen. Mit der Fähigkeit, Nachrichten als gelesen oder ungelesen zu markieren und alte Benachrichtigungen automatisch zu löschen, haben Sie die volle Kontrolle über Ihre Benachrichtigungen.</div>
<br>
<div>Probieren Sie es noch heute aus und optimieren Sie die Benachrichtigungserfahrung von ' . ITOP_APPLICATION_SHORT . '!</div>',
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Title' => 'Benachrichtigungszentrum',
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>Da wir wissen, dass Ihre Informationsaufnahme bereits am Limit ist, können Sie nun leicht wählen, wie Sie Ihre Benachrichtigungen erhalten - per E-Mail, Chat oder sogar über die Newsroom-Funktion.</div>
<div>Sie möchten eine bestimmte Art von Benachrichtigungen nicht erhalten? Nichts leichter als das mit diesen erweiterten Anpassungsmöglichkeiten, die Ihnen die Flexibilität geben, Ihr Erlebnis an Ihre Bedürfnisse anzupassen.</div>
<br>
<div>Zugriff auf Ihr <a href="%1$s" target="_blank">Benachrichtigungszentrum</a> über den Newsroom oder über Ihre Präferenzen und vermeiden Sie Informationsüberflutung auf allen Ihren Kommunikationskanälen!</div>',
<div>Zugriff auf Ihr Benachrichtigungszentrum über den Newsroom oder über Ihre Präferenzen und vermeiden Sie Informationsüberflutung auf allen Ihren Kommunikationskanälen!</div>',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Barrierefreiheit für die Benutzeroberfläche von ' . ITOP_APPLICATION_SHORT . '',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>Um die Barrierefreiheit von ' . ITOP_APPLICATION_SHORT . ' zu gewährleisten, hat unser Team an <a href="%1$s" target="_blank">neuen Back-Office-Themen</a> gearbeitet. WCAG-konform konzentrieren sich diese Benutzeroberflächen darauf, es Benutzern mit Sehbehinderungen zu erleichtern, die Lösung zu verwenden:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>Um die Barrierefreiheit von ' . ITOP_APPLICATION_SHORT . ' zu gewährleisten, hat unser Team an neuen Back-Office-Themen gearbeitet. WCAG-konform konzentrieren sich diese Benutzeroberflächen darauf, es Benutzern mit Sehbehinderungen zu erleichtern, die Lösung zu verwenden:
<ul>
<li><b>Farbenblindes Thema:</b> Entwickelt, um Benutzern mit Farbenblindheit zu helfen, teilt sich dieses Thema tatsächlich in zwei Unterthemen auf, um sich an spezifische Fälle anzupassen:</li>
<ul>

View File

@@ -24,7 +24,7 @@ Dict::Add('EN US', 'English', 'English', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>',
@@ -32,9 +32,9 @@ Dict::Add('EN US', 'English', 'English', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('EN US', 'English', 'English', [
</ul>
</div>',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -25,7 +25,7 @@ Nous espérons que vous apprécierez cette version autant que nous avons pris pl
<br>
<div>Paramétrez vos préférences iTop pour une expérience personnalisée.</div>',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Decouvrez la newsroom',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Dites adieu aux boîtes de réception encombrées et bonjour aux alertes personnalisées grâce à la <a href="%1$s" target="_blank">Newsroom d\''.ITOP_APPLICATION_SHORT.'</a> !</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Dites adieu aux boîtes de réception encombrées et bonjour aux alertes personnalisées grâce à la <b>Newsroom d\''.ITOP_APPLICATION_SHORT.'</b> !</div>
<br>
<div>La Newsroom vous permet de gérer facilement les notifications au sein de la plateforme, afin que vous puissiez rester au courant des mises à jour importantes sans avoir à vérifier constamment vos méls. Avec la possibilité de marquer les messages comme lus ou non lus, et de supprimer automatiquement les anciennes notifications, vous avez un contrôle total sur vos notifications</div>
<br>
@@ -34,9 +34,9 @@ Nous espérons que vous apprécierez cette version autant que nous avons pris pl
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>Comme nous savons que vous êtes déjà saturé d\'informations, vous pouvez désormais choisir facilement la manière dont vous recevez vos notifications - par mél, par chat ou même par la fonction Newsroom.</div>
<div>Vous ne voulez pas recevoir un certain type d\'alerte ? Rien de plus facile avec ces fonctionnalités de personnalisation avancées qui permettent d\'adapter votre expérience utilisateur à vos besoins.</div>
<br>
<div>Accédez à votre <a href="%1$s" target="_blank">centre de notifications</a> via la newsroom ou vos préférences et évitez la surcharge d\'information sur vos canaux de communication !</div>',
<div>Accédez à votre centre de notifications via la newsroom ou vos préférences et évitez la surcharge d\'information sur vos canaux de communication !</div>',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibilité de l\'interface utilisateur d\'' . ITOP_APPLICATION_SHORT,
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>Afin d\'assurer l\'accessibilité d\'' . ITOP_APPLICATION_SHORT . ', notre équipe a travaillé sur de <a href="%1$s" target="_blank">nouveaux thèmes pour la console</a>. Conformes aux normes WCAG, ces interfaces utilisateur visent à faciliter l\'utilisation de la solution par les utilisateurs souffrant de déficiences visuelles :
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>Afin d\'assurer l\'accessibilité d\'' . ITOP_APPLICATION_SHORT . ', notre équipe a travaillé sur de nouveaux thèmes pour le backoffice. Conformes aux normes WCAG, ces interfaces utilisateur visent à faciliter l\'utilisation de la solution par les utilisateurs souffrant de déficiences visuelles :
<ul>
<li><b>Thème daltonien :</b> Conçu pour aider les utilisateurs daltoniens, ce thème se décompose en deux sous-thèmes pour s\'adapter à des cas spécifiques : </li>
<ul>
@@ -48,8 +48,8 @@ Nous espérons que vous apprécierez cette version autant que nous avons pris pl
</li>
</ul>
</div>',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Des notifications évoluées',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>La Newsroom d\''.ITOP_APPLICATION_SHORT.' vous offre une nouvelle façon <a href="%1$s" target="_blank">d\'<b>automatiser</b> vos alertes en fonction d\'événements récurrents</a>, ce qui vous permet de définir facilement des règles qui vous conviennent.</div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Des notifications efficaces',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>La Newsroom d\''.ITOP_APPLICATION_SHORT.' vous offre une nouvelle façon d\'<b>automatiser</b> vos alertes en fonction d\'événements récurrents, ce qui vous permet de définir facilement des règles qui vous conviennent.</div>
<div>Notre <b>tri des notifications basé sur la priorité</b> garantit que les messages importants sont affichés en premier, tandis que nos options de personnalisation des URL vous permettent de diriger les destinataires au bon endroit.</div>
<br>
<div>Grâce à la prise en charge de <b>plusieurs langues</b>, vous avez désormais un contrôle total sur l\'affichage de vos notifications.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
<br>
<div>Dostosuj swoją aplikację '.ITOP_APPLICATION_SHORT.' w preferencjach dotyczących spersonalizowanych doświadczeń.</div>',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Przywitaj się z newsroomem',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Pożegnaj zaśmiecone skrzynki odbiorcze i przywitaj się ze spersonalizowanymi alertami <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Pożegnaj zaśmiecone skrzynki odbiorcze i przywitaj się ze spersonalizowanymi alertami <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom umożliwia łatwe zarządzanie powiadomieniami w ramach platformy, dzięki czemu możesz być na bieżąco z ważnymi aktualizacjami bez ciągłego sprawdzania poczty. Dzięki możliwości oznaczania wiadomości jako przeczytanych lub nieprzeczytanych oraz automatycznego usuwania starych powiadomień, masz pełną kontrolę nad swoimi powiadomieniami. </div>
<br>
<div>Wypróbuj już dziś i usprawnij swoje doświadczenie komunikacji w ' . ITOP_APPLICATION_SHORT . '!</div>',

View File

@@ -24,7 +24,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -24,7 +24,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
<br>
<div>Customize your '.ITOP_APPLICATION_SHORT.' preferences for a personalized experience.</div>~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Title' => 'Say "Hello" to the newsroom~~',
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <a href="%1$s" target="_blank">'.ITOP_APPLICATION_SHORT.'\'s Newsroom</a>!</div>
'UI:WelcomePopup:Message:320_02_Newsroom:Description' => '<div>Say goodbye to cluttered inboxes and hello to personalized alerts with <b>'.ITOP_APPLICATION_SHORT.'\'s Newsroom</b>!</div>
<div>Newsroom allows you to easily manage notifications within the platform, so you can stay on top of important updates without constantly checking your email. With the ability to mark messages as read or unread, and automatically delete old notifications, you have complete control over your notifications. </div>
<br>
<div>Try it out today and streamline your ' . ITOP_APPLICATION_SHORT . '\'s communication experience!</div>~~',
@@ -32,9 +32,9 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'UI:WelcomePopup:Message:320_03_NotificationsCenter:Description' => '<div>As we know your information intake is already at its max, you can now easily choose how you receive your notifications - via email, chat, or even the Newsroom feature</div>
<div>You don\'t want to receive a certain type of alerts? Nothing easier with these advanced customization capabilities giving you the flexibility to tailor your experience to your needs. </div>
<br>
<div>Access your <a href="%1$s" target="_blank">notifications center</a> through the newsroom or through your preferences and avoid information overload on all your communication channels!</div>~~',
<div>Access your notifications center through the newsroom or your through your preferences and avoid information overload on all your communication channels!</div>~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Title' => 'Accessibility for ' . ITOP_APPLICATION_SHORT . '\'s UI~~',
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on <a href="%1$s" target="_blank">new back-office themes</a>. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
'UI:WelcomePopup:Message:320_05_A11yThemes:Description' => '<div>To ensure ' . ITOP_APPLICATION_SHORT . '\'s accessibility, our team has been working on new back-office themes. WCAG compliants, those UI focus on making it easier for users with visual impairments to use the solution:
<ul>
<li><b>Color-blind theme:</b> Designed to help users with colorblindness, this theme actually breaks down in two sub-themes to adapt to specific cases: </li>
<ul>
@@ -46,7 +46,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
</ul>
</div>~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title' => 'Powerful notifications~~',
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <a href="%1$s" target="_blank"><b>automate</b> your alerts based on events</a> with recurrence, so you can easily set up rules that work for you. </div>
'UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description' => '<div>'.ITOP_APPLICATION_SHORT.'\'s Newsroom gives you a new way to <b>automate</b> your alerts based on events with recurrence, so you can easily set up rules that work for you. </div>
<div>Our <b>priority-based notifications sorting</b> ensures that important messages are displayed first, while our URL customization options allow you to direct recipients to the right place. </div>
<br>
<div>With support for <b>multiple languages</b>, you have now complete control over your notifications display.</div>

View File

@@ -131,16 +131,18 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:ActionNewsroom/Attribute:icon' => '图标',
'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom.
- If filled, the custom icon will be used
- Else the icon of the triggering object if there is one (e.g. picture of a Person),
- Else the icon of the triggering object class,
- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used
- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used
- Otherwise, the application compact logo will be used~~',
'Class:ActionNewsroom/Attribute:message' => '信息',
'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like:
- $this->attribute_code$ any attribute of the object triggering the notification,
- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification,
- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification,
- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute,
- $current_contact->attribute$ attribute of the Person who triggered the notification~~',
'Class:ActionNewsroom/Attribute:priority' => '优先级',
'Class:ActionNewsroom/Attribute:priority+' => 'News will be ordered by decreasing priority, when displayed in the Newsroom popup~~',
'Class:ActionNewsroom/Attribute:priority+' => '',
'Class:ActionNewsroom/Attribute:priority/Value:1' => '关键',
'Class:ActionNewsroom/Attribute:priority/Value:1+' => '关键',
'Class:ActionNewsroom/Attribute:priority/Value:2' => '紧急',
@@ -156,7 +158,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:ActionNewsroom/Attribute:title' => '标题',
'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~',
'Class:ActionNewsroom/Attribute:url' => 'URL',
'Class:ActionNewsroom/Attribute:url+' => 'By default, it points to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~',
'Class:ActionNotification' => '通知',
'Class:ActionNotification+' => '通知 (抽象)',
'Class:AsyncSendEmail' => '邮箱 (异步的)',

View File

@@ -19,7 +19,6 @@ $(function()
sources: {},
excluded: {},
export_as_pdf: null,
transaction_id: null,
page_format: { label: 'Page Format:', values: { A3: 'A3', A4: 'A4', Letter: 'Letter' }, 'default': 'A4'},
page_orientation: { label: 'Page Orientation:', values: { P: 'Portait', L: 'Landscape' }, 'default': 'L' },
labels: {
@@ -591,7 +590,6 @@ $(function()
var sHtmlForm = '<div id="GraphExportDlg'+this.element.attr('id')+'"><form id="graph_'+this.element.attr('id')+'_export_dlg" target="_blank" action="'+sSubmitUrl+'" method="post">';
sHtmlForm += '<input type="hidden" name="g" value="'+this.options.grouping_threshold+'">';
sHtmlForm += '<input type="hidden" name="context_key" value="'+this.options.context_key+'">';
sHtmlForm += '<input type="hidden" name="transaction_id" value="'+this.options.transaction_id+'">';
$('#'+sId+'_contexts').multiselect('getChecked').each(function() {
sHtmlForm += '<input type="hidden" name="contexts['+$(this).val()+']" value="'+me.options.additional_contexts[$(this).val()].oql+'">';
});

View File

@@ -32,6 +32,15 @@ try
require_once(APPROOT.'/application/startup.inc.php');
require_once(APPROOT.'/application/user.preferences.class.inc.php');
// check if header contains X-Combodo-Ajax for POST request (CSRF protection for ajax calls)
if (!isset($_SERVER['HTTP_X_COMBODO_AJAX']) && $_SERVER['REQUEST_METHOD'] !== 'GET') {
$sReferer = $_SERVER['HTTP_REFERER'];
$sErrorMsg = 'Unauthorized access. Please see https://www.itophub.io/wiki/page?id=3_2_0:release:developer#checking_for_the_presence_of_specific_header_in_the_post_to_enhance_protection_against_csrf_attacks';
IssueLog::Error("Unprotected ajax call : $sErrorMsg", LogChannels::SECURITY, ['referer' => $sReferer]);
header('HTTP/1.1 401 Unauthorized');
die($sErrorMsg);
}
IssueLog::Trace('----- Request: '.utils::GetRequestUri(), LogChannels::WEB_REQUEST);
$oKPI = new ExecutionKPI();
$oKPI->ComputeAndReport('Data model loaded');
@@ -58,20 +67,6 @@ try
break;
}
LoginWebPage::DoLoginEx($sRequestedPortalId, false);
// check if header contains X-Combodo-Ajax for POST request (CSRF protection for ajax calls)
// check must be performed after DoLoginEx to be logged in and to be able to check the token (based on the transaction id)
if (!isset($_SERVER['HTTP_X_COMBODO_AJAX']) && $_SERVER['REQUEST_METHOD'] !== 'GET') {
$sTransactionId = utils::ReadPostedParam("transaction_id");
if (!utils::IsTransactionValid($sTransactionId, false)) { // if a form is submitted without header but contains a token... should be exceptional
$sReferer = $_SERVER['HTTP_REFERER'];
$sErrorMsg = 'Unauthorized access. Please see https://www.itophub.io/wiki/page?id=3_2_0:release:developer#checking_for_the_presence_of_specific_header_in_the_post_to_enhance_protection_against_csrf_attacks';
IssueLog::Error("Unprotected ajax call : $sErrorMsg", LogChannels::SECURITY, ['referer' => $sReferer]);
header('HTTP/1.1 401 Unauthorized');
die($sErrorMsg);
}
}
$oKPI->ComputeAndReport('User login');
// N°2780 Fix ContextTag for console

View File

@@ -86,7 +86,7 @@ class MFException extends Exception
*/
public function GetSourceLineNumber()
{
return intval($this->iSourceLineNumber) - $this->iSourceLineOffset;
return $this->iSourceLineNumber - $this->iSourceLineOffset;
}
/**

View File

@@ -6,9 +6,6 @@
namespace Combodo\iTop\Application\WelcomePopup\Provider;
use Combodo\iTop\Controller\Newsroom\iTopNewsroomController;
use Combodo\iTop\Controller\Notifications\NotificationsCenterController;
use Combodo\iTop\Service\Router\Router;
use Dict;
use AbstractWelcomePopupExtension;
use UserRights;
@@ -37,19 +34,19 @@ class DefaultProvider extends AbstractWelcomePopupExtension
MessageFactory::MakeForLeftIllustrationAsSVGMarkupRightTexts(
"320_02_Newsroom",
Dict::S("UI:WelcomePopup:Message:320_02_Newsroom:Title"),
Dict::Format("UI:WelcomePopup:Message:320_02_Newsroom:Description", Router::GetInstance()->GenerateUrl(iTopNewsroomController::ROUTE_NAMESPACE . ".view_all")),
Dict::S("UI:WelcomePopup:Message:320_02_Newsroom:Description"),
utils::GetAbsoluteUrlAppRoot() . "images/illustrations/undraw_newspaper.svg"
),
MessageFactory::MakeForLeftIllustrationAsSVGMarkupRightTexts(
"320_03_NotificationsCenter",
Dict::S("UI:WelcomePopup:Message:320_03_NotificationsCenter:Title"),
Dict::Format("UI:WelcomePopup:Message:320_03_NotificationsCenter:Description", Router::GetInstance()->GenerateUrl(NotificationsCenterController::ROUTE_NAMESPACE . ".display_page")),
Dict::S("UI:WelcomePopup:Message:320_03_NotificationsCenter:Description"),
utils::GetAbsoluteUrlAppRoot() . "images/illustrations/undraw_preferences_popup.svg"
),
MessageFactory::MakeForLeftTextsRightIllustrationAsSVGMarkup(
"320_05_A11yThemes",
Dict::S("UI:WelcomePopup:Message:320_05_A11yThemes:Title"),
Dict::Format("UI:WelcomePopup:Message:320_05_A11yThemes:Description", utils::GetAbsoluteUrlAppRoot() . "pages/preferences.php"),
Dict::S("UI:WelcomePopup:Message:320_05_A11yThemes:Description"),
utils::GetAbsoluteUrlAppRoot() . "images/illustrations/undraw_designer_mindset.svg"
),
];
@@ -60,7 +57,7 @@ class DefaultProvider extends AbstractWelcomePopupExtension
$aMessages[] = MessageFactory::MakeForLeftTextsRightIllustrationAsSVGMarkup(
"320_04_PowerfulNotifications_AdminOnly",
Dict::S("UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Title"),
Dict::Format("UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description", utils::GetAbsoluteUrlAppRoot() . "pages/notifications.php"),
Dict::S("UI:WelcomePopup:Message:320_04_PowerfulNotifications_AdminOnly:Description"),
utils::GetAbsoluteUrlAppRoot() . "images/illustrations/undraw_new_notifications.svg"
);
}

View File

@@ -309,7 +309,7 @@ EOF
$(oInput).datepicker({
"showOn":"button",
"buttonText":"",
"buttonText":"<i class=\"fas fa-calendar-alt\"><\/i>",
"dateFormat": $sJSDateFormat,
"constrainInput":false,
"changeMonth":true,
@@ -332,7 +332,7 @@ EOF
$(oInput).datetimepicker({
showOn: 'button',
buttonText: "",
buttonText: "<i class=\"fas fa-calendar-alt\"><\/i>",
dateFormat: $sJSDateFormat,
constrainInput: false,
changeMonth: true,

View File

@@ -240,4 +240,30 @@ SQL
$this->assertEquals('from table 1', $sFromTable1Data, "Data was not moved as expected");
$this->assertEquals('from table 2', $sFromTable2Data, "Data was not moved as expected");
}
/**
* Test that the table has been renamed
*
* @covers ModuleInstallerAPI::RenameTableInDB
*
* @return void
* @throws \CoreException
* @throws \MySQLException
*/
public function testRenameTableInDB()
{
$sOrigTable = MetaModel::DBGetTable('Person');
$aOrigTableInfo = CMDBSource::GetTableInfo($sOrigTable);
$this->assertNotEmpty($aOrigTableInfo, 'Origin table does not exist');
$sDstTable = static::$sWorkTable;
$this->assertFalse(CMDBSource::IsTable($sDstTable), 'Work table already exists');
ModuleInstallerAPI::RenameTableInDB($sOrigTable, $sDstTable);
$this->assertEquals($aOrigTableInfo["Fields"], CMDBSource::GetTableInfo($sDstTable)["Fields"], 'Table was not renamed');
// Revert
ModuleInstallerAPI::RenameTableInDB($sDstTable, $sOrigTable);
$this->assertEquals($aOrigTableInfo["Fields"], CMDBSource::GetTableInfo($sOrigTable)["Fields"]);
}
}