Files
iTop/sources/Application/WelcomePopup/MessageFactory.php
Molkobain 1d67d50a20 N°7397 - Update welcome popup content for iTop 3.2 (#648)
* N°7397 - Update welcome popup content for iTop 3.2

* N°7397 - Display illustrations as restylable SVG, add extension to twig to support absolute url in source function

* N°7397 - Update 3.2 welcome messages dictionaries, add French translations and set up other languages files

---------

Co-authored-by: Stephen Abello <stephen.abello@combodo.com>
2024-07-15 16:12:12 +02:00

118 lines
4.9 KiB
PHP

<?php
/*
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Application\WelcomePopup;
use iWelcomePopupExtension;
/**
* Class MessageFactory
*
* @author Guillaume Lajarige <guillaume.lajarige@combodo.com>
* @package Combodo\iTop\Application\WelcomePopup
* @api
*/
class MessageFactory {
/**
* @param string $sId Unique ID of the message within its provider
* @param string $sTitle Title of the message in plain text
* @param string $sDescription Description of the message, can contain HTML
* @param string|null $sIllustrationAbsURI Optional illustration to display with the description, should be an absolute URI (illustration can be on another server)
* @param int $iImportance Importance of the message {@see \iWelcomePopupExtension::ENUM_IMPORTANCE_HIGH} and {@see \iWelcomePopupExtension::ENUM_IMPORTANCE_CRITICAL}
*
* @api
* @return \Combodo\iTop\Application\WelcomePopup\Message Message with title / description on the left side, and an optional illustration on the right
*/
public static function MakeForLeftTextsRightIllustration(string $sId, string $sTitle, string $sDescription, null|string $sIllustrationAbsURI = null, int $iImportance = iWelcomePopupExtension::DEFAULT_IMPORTANCE): Message
{
return new Message(
$sId,
$sTitle,
$sDescription,
$sIllustrationAbsURI,
[],
$iImportance,
"templates/application/welcome_popup/templates/left-title-description-right-illustration.html.twig"
);
}
/**
* @param string $sId Unique ID of the message within its provider
* @param string $sTitle Title of the message in plain text
* @param string $sDescription Description of the message, can contain HTML
* @param string|null $sIllustrationAbsURI Optional illustration to display with the description, should be an absolute URI (illustration can be on another server)
* @param int $iImportance Importance of the message {@see \iWelcomePopupExtension::ENUM_IMPORTANCE_HIGH} and {@see \iWelcomePopupExtension::ENUM_IMPORTANCE_CRITICAL}
*
* @api
* @return \Combodo\iTop\Application\WelcomePopup\Message Message with title / description on the right side, and an optional illustration on the left
*/
public static function MakeForLeftIllustrationRightTexts(string $sId, string $sTitle, string $sDescription, null|string $sIllustrationAbsURI = null, int $iImportance = iWelcomePopupExtension::DEFAULT_IMPORTANCE): Message
{
return new Message(
$sId,
$sTitle,
$sDescription,
$sIllustrationAbsURI,
[],
$iImportance,
"templates/application/welcome_popup/templates/left-illustration-right-title-description.html.twig"
);
}
public static function MakeForLeftIllustrationAsSVGMarkupRightTexts(string $sId, string $sTitle, string $sDescription, null|string $sIllustrationAbsURI = null, int $iImportance = iWelcomePopupExtension::DEFAULT_IMPORTANCE): Message
{
return new Message(
$sId,
$sTitle,
$sDescription,
$sIllustrationAbsURI,
[],
$iImportance,
"templates/application/welcome_popup/templates/left-illustration-as-svg-markup-right-title-description.html.twig"
);
}
public static function MakeForLeftTextsRightIllustrationAsSVGMarkup(string $sId, string $sTitle, string $sDescription, null|string $sIllustrationAbsURI = null, int $iImportance = iWelcomePopupExtension::DEFAULT_IMPORTANCE): Message
{
return new Message(
$sId,
$sTitle,
$sDescription,
$sIllustrationAbsURI,
[],
$iImportance,
"templates/application/welcome_popup/templates/left-title-description-right-illustration-as-svg-markup.html.twig"
);
}
/**
* @param string $sId Unique ID of the message within its provider
* @param string $sTitle Title of the message in plain text
* @param string $sDescription Description of the message, can contain HTML
* @param string $sTWIGTemplateRelPath Rel. path (from app. root) to the TWIG template to use for the rendering of the message content
* @param string|null $sIllustrationAbsURI Optional illustration to display with the description, should be an absolute URI (illustration can be on another server)
* @param array $aAdditionalParameters Additional parameters to pass to the TWIG
* @param int $iImportance Importance of the message {@see \iWelcomePopupExtension::ENUM_IMPORTANCE_HIGH} and {@see \iWelcomePopupExtension::ENUM_IMPORTANCE_CRITICAL}
*
* @api
* @return \Combodo\iTop\Application\WelcomePopup\Message Message with title / description on the right side, and an optional illustration on the left
*/
public static function MakeForCustomTemplate(string $sId, string $sTitle, string $sDescription, string $sTWIGTemplateRelPath, null|string $sIllustrationAbsURI = null, array $aAdditionalParameters = [], int $iImportance = iWelcomePopupExtension::DEFAULT_IMPORTANCE): Message
{
return new Message(
$sId,
$sTitle,
$sDescription,
$sIllustrationAbsURI,
$aAdditionalParameters,
$iImportance,
$sTWIGTemplateRelPath
);
}
}