From af44ffd0ad370a5f0c92ef76aa7c1b195d1e3386 Mon Sep 17 00:00:00 2001 From: BenGrenoble Date: Thu, 24 Jul 2025 10:28:15 +0200 Subject: [PATCH 1/7] =?UTF-8?q?N=C2=B08286=20-=20Be=20able=20to=20add=20ad?= =?UTF-8?q?ditional=20data=20in=20iTop=20session=20files=20via=20custom=20?= =?UTF-8?q?classes=20Experimental=20warning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/SessionTracker/iSessionHandlerExtension.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sources/SessionTracker/iSessionHandlerExtension.php b/sources/SessionTracker/iSessionHandlerExtension.php index edd3ef255..9969fb7e2 100644 --- a/sources/SessionTracker/iSessionHandlerExtension.php +++ b/sources/SessionTracker/iSessionHandlerExtension.php @@ -2,6 +2,10 @@ namespace Combodo\iTop\SessionTracker; + /** + * Experimental, for internal use only, subject to change without notice. + * Do not use this interface in your code. + */ interface iSessionHandlerExtension { public function __construct(); From f00b8d529c6ed83b1cea056375ca407f42a68b58 Mon Sep 17 00:00:00 2001 From: BenGrenoble Date: Thu, 24 Jul 2025 10:59:48 +0200 Subject: [PATCH 2/7] =?UTF-8?q?N=C2=B08286=20-=20Be=20able=20to=20add=20ad?= =?UTF-8?q?ditional=20data=20in=20iTop=20session=20files=20via=20custom=20?= =?UTF-8?q?classes=20Change=20to=20fit=20convention.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/SessionTracker/iSessionHandlerExtension.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sources/SessionTracker/iSessionHandlerExtension.php b/sources/SessionTracker/iSessionHandlerExtension.php index 9969fb7e2..17cd31776 100644 --- a/sources/SessionTracker/iSessionHandlerExtension.php +++ b/sources/SessionTracker/iSessionHandlerExtension.php @@ -3,8 +3,11 @@ namespace Combodo\iTop\SessionTracker; /** - * Experimental, for internal use only, subject to change without notice. + * @experimental for internal use only, subject to change without notice. + * * Do not use this interface in your code. + * + * @since 3.2.2 */ interface iSessionHandlerExtension { public function __construct(); From 7b44ec23a1b3643dc0d7c5bdf1c108424f3e6d9a Mon Sep 17 00:00:00 2001 From: Stephen Abello Date: Mon, 28 Jul 2025 16:14:13 +0200 Subject: [PATCH 3/7] Fix return type in PHPDoc thanks to @jbostoen --- core/metamodel.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/metamodel.class.php b/core/metamodel.class.php index f0195fc3d..59cabbfc9 100644 --- a/core/metamodel.class.php +++ b/core/metamodel.class.php @@ -7081,7 +7081,7 @@ abstract class MetaModel * @param array $aParams * @param bool $bAllowAllData * - * @return \DBObject + * @return \DBObject|null * @throws \OQLException */ public static function GetObjectFromOQL($sQuery, $aParams = null, $bAllowAllData = false) From 491f55c7bd86917ec79d2ebef6a46be3c213f70a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Rudner?= Date: Fri, 1 Aug 2025 15:27:37 +0200 Subject: [PATCH 4/7] :bug: Allow @ as part of url (#729) --- core/attributedef.class.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/attributedef.class.inc.php b/core/attributedef.class.inc.php index cce290954..231d48ca3 100644 --- a/core/attributedef.class.inc.php +++ b/core/attributedef.class.inc.php @@ -8165,7 +8165,7 @@ class AttributeURL extends AttributeString * @since 3.0.3 moved from Config to AttributeURL constant */ public const DEFAULT_VALIDATION_PATTERN = /** @lang RegExp */ - '(https?|ftp)\://([a-zA-Z0-9+!*(),;?&=\$_.-]+(\:[a-zA-Z0-9+!*(),;?&=\$_.-]+)?@)?([a-zA-Z0-9-.]{3,})(\:[0-9]{2,5})?(/([a-zA-Z0-9:%+\$_-]\.?)+)*/?(\?[a-zA-Z+&\$_.-][a-zA-Z0-9;:[\]@&%=+/\$_.,-]*)?(#[a-zA-Z0-9_.-][a-zA-Z0-9+\$_.-]*)?'; + '(https?|ftp)\://([a-zA-Z0-9+!*(),;?&=\$_.-]+(\:[a-zA-Z0-9+!*(),;?&=\$_.-]+)?@)?([a-zA-Z0-9-.]{3,})(\:[0-9]{2,5})?(/([a-zA-Z0-9:%@+\$_-]\.?)+)*/?(\?[a-zA-Z+&\$_.-][a-zA-Z0-9;:[\]@&%=+/\$_.,-]*)?(#[a-zA-Z0-9_.-][a-zA-Z0-9+\$_.-]*)?'; /** * Useless constructor, but if not present PHP 7.4.0/7.4.1 is crashing :( (N°2329) From 7cf6f6526535097e158e49064bf3eedbccd488ef Mon Sep 17 00:00:00 2001 From: Stephen Abello Date: Wed, 6 Aug 2025 09:04:36 +0200 Subject: [PATCH 5/7] Fix typo thanks to @jbostoen --- .../datamodel/ActionEmail/email-notification-preview.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/datamodel/ActionEmail/email-notification-preview.html.twig b/templates/datamodel/ActionEmail/email-notification-preview.html.twig index 717659f6b..94b2dec1e 100644 --- a/templates/datamodel/ActionEmail/email-notification-preview.html.twig +++ b/templates/datamodel/ActionEmail/email-notification-preview.html.twig @@ -3,7 +3,7 @@
-
{{ 'ActionEmail:preview_warning'|dict_s }}
{{ 'ActionEmail:preview_more_info'|dict_format('www.canimeail.com')|raw }}
+
{{ 'ActionEmail:preview_warning'|dict_s }}
{{ 'ActionEmail:preview_more_info'|dict_format('www.caniemail.com')|raw }}
{% EndUIAlert %} From 437296eab95d0b22fe2eda4f862237cdc890bb07 Mon Sep 17 00:00:00 2001 From: Stephen Abello Date: Wed, 20 Aug 2025 16:00:14 +0200 Subject: [PATCH 6/7] =?UTF-8?q?N=C2=B08634=20-=20Newsroom=20providers=20ar?= =?UTF-8?q?e=20hardly=20visible=20if=20there's=20more=20than=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/components/newsroom-menu.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/components/newsroom-menu.js b/js/components/newsroom-menu.js index 4c2f22e6a..637ba0cb7 100644 --- a/js/components/newsroom-menu.js +++ b/js/components/newsroom-menu.js @@ -327,7 +327,8 @@ $(function() oElem.popover_menu({ 'toggler': '[data-role="ibo-navigation-menu--notifications-show-all-multiple"]', 'position': { - 'horizontal': "(oTargetPos.left+parseInt(oTargetElem.css('marginLeft'), 10)+(oTargetElem.outerWidth() / 2)-(oElem.outerWidth() / 2))+'px'", + 'horizontal': "(oTargetPos.left+parseInt(oTargetElem.css('marginLeft'), 10)+(oTargetElem.outerWidth() / 1.5)-(oElem.outerWidth() / 2))+'px'", + 'vertical': 'above' }, }); From 65c9145b10b867092af137d396b5c0de23992c25 Mon Sep 17 00:00:00 2001 From: jf-cbd Date: Thu, 4 Sep 2025 17:04:21 +0200 Subject: [PATCH 7/7] =?UTF-8?q?N=C2=B08570=20-=20Allow=20@=20as=20part=20o?= =?UTF-8?q?f=20url=20-=20add=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/php-unit-tests/unitary-tests/core/AttributeURLTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/php-unit-tests/unitary-tests/core/AttributeURLTest.php b/tests/php-unit-tests/unitary-tests/core/AttributeURLTest.php index b44931659..a2b7aed8f 100644 --- a/tests/php-unit-tests/unitary-tests/core/AttributeURLTest.php +++ b/tests/php-unit-tests/unitary-tests/core/AttributeURLTest.php @@ -36,6 +36,7 @@ class AttributeURLTest extends ItopTestCase { 'SF URL' => ['https://sourceforge.net/p/itop/discussion/customizing-itop/thread/707145b859/?limit=25#f53c', 1], 'SF URL anchor starting with digit' => ['https://sourceforge.net/p/itop/discussion/customizing-itop/thread/b0a2d474ba/?limit=25#2b35', 1], 'URL param containing commas' => ['http://mydomain.prtg.com/chart.png?type=graph&width=1500&height=700&hide=2,3,6,7,8,9,10,11,12,13,14&graphstyling=showLegend%3D%271%27+baseFontSize%3D%2715%27&graphid=0&id=34759&username=portaluser&passhash=2353031973', 1], + 'URL with @ in path segment' => ['https://calendar.example.com/book/meetingroom42@ex.com/', 1], // 'iTop anchors' => ['https://itsm-designer.combodo.com/pages/UI.php?operation=details&class=MigrationAuditCheckXPath&id=106&#ObjectProperties=tab_UIPropertiesTab', 1], // N°5121 ]; }