mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
* 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>
118 lines
4.9 KiB
PHP
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
|
|
);
|
|
}
|
|
} |