You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(246) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(243) |
Feb
(145) |
Mar
(512) |
Apr
(423) |
May
(572) |
Jun
(344) |
Jul
(1439) |
Aug
(1086) |
Sep
(452) |
Oct
(1093) |
Nov
(1000) |
Dec
(1070) |
2004 |
Jan
(1462) |
Feb
(753) |
Mar
(1752) |
Apr
(714) |
May
(617) |
Jun
(1326) |
Jul
(829) |
Aug
(726) |
Sep
(723) |
Oct
(777) |
Nov
(295) |
Dec
(203) |
2005 |
Jan
(694) |
Feb
(664) |
Mar
(606) |
Apr
(798) |
May
(429) |
Jun
(236) |
Jul
(197) |
Aug
(340) |
Sep
(432) |
Oct
(443) |
Nov
(334) |
Dec
(434) |
2006 |
Jan
(452) |
Feb
(283) |
Mar
(163) |
Apr
(341) |
May
(202) |
Jun
(147) |
Jul
(291) |
Aug
(363) |
Sep
(342) |
Oct
(309) |
Nov
(600) |
Dec
(722) |
2007 |
Jan
(363) |
Feb
(699) |
Mar
(1009) |
Apr
(186) |
May
(368) |
Jun
(551) |
Jul
(1146) |
Aug
(1152) |
Sep
(500) |
Oct
(714) |
Nov
(780) |
Dec
(725) |
2008 |
Jan
(640) |
Feb
(670) |
Mar
(679) |
Apr
(496) |
May
(351) |
Jun
(331) |
Jul
(621) |
Aug
(627) |
Sep
(361) |
Oct
(579) |
Nov
(423) |
Dec
(342) |
2009 |
Jan
(384) |
Feb
(603) |
Mar
(815) |
Apr
(663) |
May
(1194) |
Jun
(1055) |
Jul
(699) |
Aug
(907) |
Sep
(1104) |
Oct
(1142) |
Nov
(942) |
Dec
(631) |
2010 |
Jan
(935) |
Feb
(1420) |
Mar
(766) |
Apr
(517) |
May
(715) |
Jun
(512) |
Jul
(499) |
Aug
(725) |
Sep
(1272) |
Oct
(855) |
Nov
(657) |
Dec
(959) |
2011 |
Jan
(1048) |
Feb
(1135) |
Mar
(703) |
Apr
(548) |
May
(659) |
Jun
(543) |
Jul
(980) |
Aug
(1197) |
Sep
(1358) |
Oct
(890) |
Nov
(522) |
Dec
(318) |
2012 |
Jan
(400) |
Feb
(402) |
Mar
(846) |
Apr
(748) |
May
(565) |
Jun
(583) |
Jul
(383) |
Aug
(331) |
Sep
(451) |
Oct
(615) |
Nov
(483) |
Dec
(325) |
2013 |
Jan
(353) |
Feb
(335) |
Mar
(402) |
Apr
(498) |
May
(355) |
Jun
(444) |
Jul
(445) |
Aug
(408) |
Sep
(542) |
Oct
(525) |
Nov
(641) |
Dec
(480) |
2014 |
Jan
(431) |
Feb
(512) |
Mar
(485) |
Apr
(527) |
May
(541) |
Jun
(237) |
Jul
(455) |
Aug
(244) |
Sep
(268) |
Oct
(303) |
Nov
(265) |
Dec
(174) |
2015 |
Jan
(349) |
Feb
(490) |
Mar
(766) |
Apr
(464) |
May
(339) |
Jun
(196) |
Jul
(177) |
Aug
(172) |
Sep
(290) |
Oct
(258) |
Nov
(259) |
Dec
(275) |
2016 |
Jan
(281) |
Feb
(385) |
Mar
(478) |
Apr
(383) |
May
(264) |
Jun
(299) |
Jul
(343) |
Aug
(288) |
Sep
(331) |
Oct
(288) |
Nov
(465) |
Dec
(301) |
2017 |
Jan
(534) |
Feb
(136) |
Mar
(1034) |
Apr
(592) |
May
(630) |
Jun
(405) |
Jul
(419) |
Aug
(447) |
Sep
(436) |
Oct
(527) |
Nov
(508) |
Dec
(391) |
2018 |
Jan
(443) |
Feb
(203) |
Mar
(289) |
Apr
(437) |
May
(397) |
Jun
(321) |
Jul
(339) |
Aug
(294) |
Sep
(505) |
Oct
(549) |
Nov
(345) |
Dec
(227) |
2019 |
Jan
(351) |
Feb
(499) |
Mar
(306) |
Apr
(343) |
May
(300) |
Jun
(210) |
Jul
(274) |
Aug
(302) |
Sep
(349) |
Oct
(282) |
Nov
(2652) |
Dec
(1512) |
2020 |
Jan
(313) |
Feb
(463) |
Mar
(595) |
Apr
(429) |
May
(338) |
Jun
(308) |
Jul
(362) |
Aug
(204) |
Sep
(199) |
Oct
(462) |
Nov
(191) |
Dec
(165) |
2021 |
Jan
(364) |
Feb
(327) |
Mar
(247) |
Apr
(155) |
May
(206) |
Jun
(221) |
Jul
(338) |
Aug
(216) |
Sep
(259) |
Oct
(337) |
Nov
(300) |
Dec
(180) |
2022 |
Jan
(396) |
Feb
(338) |
Mar
(249) |
Apr
(249) |
May
(170) |
Jun
(137) |
Jul
(226) |
Aug
(350) |
Sep
(306) |
Oct
(340) |
Nov
(531) |
Dec
(307) |
2023 |
Jan
(287) |
Feb
(217) |
Mar
(606) |
Apr
(364) |
May
(636) |
Jun
(1012) |
Jul
(1137) |
Aug
(426) |
Sep
(357) |
Oct
(698) |
Nov
(513) |
Dec
(392) |
2024 |
Jan
(419) |
Feb
(470) |
Mar
(245) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: benoitg@users.sourceforge.net - 2024-03-19 01:04:53
|
Revision: 85229 http://sourceforge.net/p/tikiwiki/code/85229 Author: "benoitg" Date: 2024-03-19 01:04:50 +0000 (Tue, 19 Mar 2024) Log Message: ----------- [FIX] At least raise a helpfull error for ItemLink data integrity error during indexing so admin can fix the data, but continue indexing. See merge request tikiwiki/tiki!4703 Modified Paths: -------------- trunk/lib/core/Tracker/Definition.php trunk/lib/core/Tracker/Field/DynamicList.php trunk/lib/core/Tracker/Field/ItemLink.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-03-18 23:31:31 UTC (rev 85228) +++ trunk 2024-03-19 01:04:50 UTC (rev 85229) Property changes on: trunk ___________________________________________________________________ Deleted: subgit:lock:2926499df7797da63e853878a2cce8a21d129845 ## -1 +0,0 ## -2024-03-18T23:31:55.898 \ No newline at end of property Added: subgit:lock:63bd9d6647c02416effb7b5c0dadb9adb92c0649 ## -0,0 +1 ## +2024-03-19T01:04:49.803 \ No newline at end of property Modified: trunk/lib/core/Tracker/Definition.php =================================================================== --- trunk/lib/core/Tracker/Definition.php 2024-03-18 23:31:31 UTC (rev 85228) +++ trunk/lib/core/Tracker/Definition.php 2024-03-19 01:04:50 UTC (rev 85229) @@ -155,6 +155,19 @@ } } + public function hasFieldId(int $id): bool + { + if (! $id) { + throw new InvalidArgumentException("id parameter must be provided"); + } + foreach ($this->getFields() as $f) { + if ($f['fieldId'] == $id) { + return true; + } + } + return false; + } + public function getFieldInfoFromFieldId(int $id): array { if (! $id) { @@ -165,7 +178,7 @@ return $f; } } - throw new Error("Field with fieldId: {$id} not found in definition"); + throw new Error("Field with fieldId: {$id} not found in definition of {$this->trackerInfo['trackerId']}"); } public function getFieldFromName($name): ?array Modified: trunk/lib/core/Tracker/Field/DynamicList.php =================================================================== --- trunk/lib/core/Tracker/Field/DynamicList.php 2024-03-18 23:31:31 UTC (rev 85228) +++ trunk/lib/core/Tracker/Field/DynamicList.php 2024-03-19 01:04:50 UTC (rev 85229) @@ -312,7 +312,7 @@ foreach ((array) $remoteItemIds as $remoteItemId) { $itemInfo = $trklib->get_tracker_item($remoteItemId); - if ($context['list_mode'] == 'csv' || $context['search_render'] == 'y') { + if ($context['list_mode'] == 'csv' || (isset($context['search_render']) && $context['search_render'] == 'y')) { $output .= $output ? ', ' : ''; } else { $output .= $output ? '<br>' : ''; Modified: trunk/lib/core/Tracker/Field/ItemLink.php =================================================================== --- trunk/lib/core/Tracker/Field/ItemLink.php 2024-03-18 23:31:31 UTC (rev 85228) +++ trunk/lib/core/Tracker/Field/ItemLink.php 2024-03-19 01:04:50 UTC (rev 85229) @@ -1050,14 +1050,20 @@ $option = [$option]; } // filter by user-visible fields - $trackerId = (int) $this->getOption('trackerId'); - $definition = Tracker_Definition::get($trackerId); + $remoteTrackerId = (int) $this->getOption('trackerId'); + $definition = Tracker_Definition::get($remoteTrackerId); if ($definition) { foreach (array_filter($option) as $fieldId) { - $field = $definition->getField($fieldId); - if (! $field) { + if (! $definition->hasFieldId($fieldId)) { Feedback::error(tr('ItemLink field "%0": displayFieldsList field ID #%1 not found', $this->getConfiguration('permName'), $fieldId)); - } elseif ( + $trackerId = $this->getConfiguration('trackerId'); + $remoteTrackerId = $this->getOption('trackerId'); + $itemId = $this->getItemId(); + trigger_error("ItemLink data integrity error: tracker item {$itemId} in tracker {$trackerId} has an ItemLink pointing to non-existent fieldId {$fieldId} in remote tracker {$remoteTrackerId}"); + continue; + } + $field = $definition->getFieldInfoFromFieldId($fieldId); + if ( $field['isPublic'] == 'y' && ($field['isHidden'] == 'n' || $field['isHidden'] == 'c' || $field['isHidden'] == 'p' || $field['isHidden'] == 'a' || $tiki_p_admin_trackers == 'y') && $field['type'] != 'x' && $field['type'] != 'h' && ($field['type'] != 'p' || $field['options_array'][0] != 'password') && (empty($field['visibleBy']) or array_intersect(TikiLib::lib('tiki')->get_user_groups($user), $field['visibleBy']) || $tiki_p_admin_trackers == 'y') @@ -1066,7 +1072,7 @@ } } } else { - Feedback::error(tr('ItemLink field "%0": Tracker ID #%1 not found', $this->getConfiguration('permName'), $trackerId)); + Feedback::error(tr('ItemLink field "%0": Tracker ID #%1 not found', $this->getConfiguration('permName'), $remoteTrackerId)); } return $fields; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Benoit G. (@b. <gi...@mg...> - 2024-03-19 01:04:44
|
Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 63bd9d66 by Benoit Grégoire at 2024-03-19T01:04:23+00:00 [FIX] At least raise a helpfull error for ItemLink data integrity error during indexing so admin can fix the data, but continue indexing. See merge request tikiwiki/tiki!4703 - - - - - 3 changed files: - lib/core/Tracker/Definition.php - lib/core/Tracker/Field/DynamicList.php - lib/core/Tracker/Field/ItemLink.php Changes: ===================================== lib/core/Tracker/Definition.php ===================================== @@ -155,6 +155,19 @@ class Tracker_Definition } } + public function hasFieldId(int $id): bool + { + if (! $id) { + throw new InvalidArgumentException("id parameter must be provided"); + } + foreach ($this->getFields() as $f) { + if ($f['fieldId'] == $id) { + return true; + } + } + return false; + } + public function getFieldInfoFromFieldId(int $id): array { if (! $id) { @@ -165,7 +178,7 @@ class Tracker_Definition return $f; } } - throw new Error("Field with fieldId: {$id} not found in definition"); + throw new Error("Field with fieldId: {$id} not found in definition of {$this->trackerInfo['trackerId']}"); } public function getFieldFromName($name): ?array ===================================== lib/core/Tracker/Field/DynamicList.php ===================================== @@ -312,7 +312,7 @@ $("input[name=ins_' . $filterFieldIdHere . '], select[name=ins_' . $filterFieldI foreach ((array) $remoteItemIds as $remoteItemId) { $itemInfo = $trklib->get_tracker_item($remoteItemId); - if ($context['list_mode'] == 'csv' || $context['search_render'] == 'y') { + if ($context['list_mode'] == 'csv' || (isset($context['search_render']) && $context['search_render'] == 'y')) { $output .= $output ? ', ' : ''; } else { $output .= $output ? '<br>' : ''; ===================================== lib/core/Tracker/Field/ItemLink.php ===================================== @@ -1050,14 +1050,20 @@ class Tracker_Field_ItemLink extends \Tracker\Field\AbstractField implements \Tr $option = [$option]; } // filter by user-visible fields - $trackerId = (int) $this->getOption('trackerId'); - $definition = Tracker_Definition::get($trackerId); + $remoteTrackerId = (int) $this->getOption('trackerId'); + $definition = Tracker_Definition::get($remoteTrackerId); if ($definition) { foreach (array_filter($option) as $fieldId) { - $field = $definition->getField($fieldId); - if (! $field) { + if (! $definition->hasFieldId($fieldId)) { Feedback::error(tr('ItemLink field "%0": displayFieldsList field ID #%1 not found', $this->getConfiguration('permName'), $fieldId)); - } elseif ( + $trackerId = $this->getConfiguration('trackerId'); + $remoteTrackerId = $this->getOption('trackerId'); + $itemId = $this->getItemId(); + trigger_error("ItemLink data integrity error: tracker item {$itemId} in tracker {$trackerId} has an ItemLink pointing to non-existent fieldId {$fieldId} in remote tracker {$remoteTrackerId}"); + continue; + } + $field = $definition->getFieldInfoFromFieldId($fieldId); + if ( $field['isPublic'] == 'y' && ($field['isHidden'] == 'n' || $field['isHidden'] == 'c' || $field['isHidden'] == 'p' || $field['isHidden'] == 'a' || $tiki_p_admin_trackers == 'y') && $field['type'] != 'x' && $field['type'] != 'h' && ($field['type'] != 'p' || $field['options_array'][0] != 'password') && (empty($field['visibleBy']) or array_intersect(TikiLib::lib('tiki')->get_user_groups($user), $field['visibleBy']) || $tiki_p_admin_trackers == 'y') @@ -1066,7 +1072,7 @@ class Tracker_Field_ItemLink extends \Tracker\Field\AbstractField implements \Tr } } } else { - Feedback::error(tr('ItemLink field "%0": Tracker ID #%1 not found', $this->getConfiguration('permName'), $trackerId)); + Feedback::error(tr('ItemLink field "%0": Tracker ID #%1 not found', $this->getConfiguration('permName'), $remoteTrackerId)); } return $fields; } View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/63bd9d6647c02416effb7b5c0dadb9adb92c0649 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/63bd9d6647c02416effb7b5c0dadb9adb92c0649 You're receiving this email because of your account on gitlab.com. |
From: benoitg@users.sourceforge.net - 2024-03-18 23:31:59
|
Revision: 85228 http://sourceforge.net/p/tikiwiki/code/85228 Author: "benoitg" Date: 2024-03-18 23:31:56 +0000 (Mon, 18 Mar 2024) Log Message: ----------- [FIX] Fix Services_Tracker_Controller trying to find duplicate permName with null permName --- * [FIX] Fix Services_Tracker_Controller trying to find duplicate permName with null permName See merge request tikiwiki/tiki!4702 Modified Paths: -------------- trunk/lib/core/Services/Tracker/Controller.php trunk/lib/core/Tracker/Definition.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-03-18 18:53:38 UTC (rev 85227) +++ trunk 2024-03-18 23:31:56 UTC (rev 85228) Property changes on: trunk ___________________________________________________________________ Added: subgit:lock:2926499df7797da63e853878a2cce8a21d129845 ## -0,0 +1 ## +2024-03-18T23:31:55.898 \ No newline at end of property Deleted: subgit:lock:2f4b2d89f9ddf4db1fba3d48b81f2bf03c45d4c1 ## -1 +0,0 ## -2024-03-18T18:54:06.126 \ No newline at end of property Modified: trunk/lib/core/Services/Tracker/Controller.php =================================================================== --- trunk/lib/core/Services/Tracker/Controller.php 2024-03-18 18:53:38 UTC (rev 85227) +++ trunk/lib/core/Services/Tracker/Controller.php 2024-03-18 23:31:56 UTC (rev 85228) @@ -338,7 +338,7 @@ $encryption_keys = TikiLib::lib('encryption')->get_keys(); $permName = $input->permName->word(); - if ($field['permName'] != $permName) { + if ($permName & $field['permName'] != $permName) { if ($definition->getFieldFromPermName($permName)) { throw new Services_Exception_DuplicateValue('permName', tr('This permanent name %0 is already used', $permName)); } Modified: trunk/lib/core/Tracker/Definition.php =================================================================== --- trunk/lib/core/Tracker/Definition.php 2024-03-18 18:53:38 UTC (rev 85227) +++ trunk/lib/core/Tracker/Definition.php 2024-03-18 23:31:56 UTC (rev 85228) @@ -181,14 +181,14 @@ return null; } - public function getFieldFromPermName($name): ?array + public function getFieldFromPermName($permName): ?array { - if (empty($name)) { - throw new InvalidArgumentException("name parameter must be provided"); + if (empty($permName)) { + throw new InvalidArgumentException("permName parameter must be provided"); } foreach ($this->getFields() as $f) { - if ($f['permName'] == $name) { + if ($f['permName'] == $permName) { return $f; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Benoit G. (@b. <gi...@mg...> - 2024-03-18 23:31:52
|
Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 2926499d by Benoit Grégoire at 2024-03-18T23:31:31+00:00 [FIX] Fix Services_Tracker_Controller trying to find duplicate permName with null permName --- * [FIX] Fix Services_Tracker_Controller trying to find duplicate permName with null permName See merge request tikiwiki/tiki!4702 - - - - - 2 changed files: - lib/core/Services/Tracker/Controller.php - lib/core/Tracker/Definition.php Changes: ===================================== lib/core/Services/Tracker/Controller.php ===================================== @@ -338,7 +338,7 @@ class Services_Tracker_Controller $encryption_keys = TikiLib::lib('encryption')->get_keys(); $permName = $input->permName->word(); - if ($field['permName'] != $permName) { + if ($permName & $field['permName'] != $permName) { if ($definition->getFieldFromPermName($permName)) { throw new Services_Exception_DuplicateValue('permName', tr('This permanent name %0 is already used', $permName)); } ===================================== lib/core/Tracker/Definition.php ===================================== @@ -181,14 +181,14 @@ class Tracker_Definition return null; } - public function getFieldFromPermName($name): ?array + public function getFieldFromPermName($permName): ?array { - if (empty($name)) { - throw new InvalidArgumentException("name parameter must be provided"); + if (empty($permName)) { + throw new InvalidArgumentException("permName parameter must be provided"); } foreach ($this->getFields() as $f) { - if ($f['permName'] == $name) { + if ($f['permName'] == $permName) { return $f; } } View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/2926499df7797da63e853878a2cce8a21d129845 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/2926499df7797da63e853878a2cce8a21d129845 You're receiving this email because of your account on gitlab.com. |
From: benoitg@users.sourceforge.net - 2024-03-18 18:54:09
|
Revision: 85227 http://sourceforge.net/p/tikiwiki/code/85227 Author: "benoitg" Date: 2024-03-18 18:54:07 +0000 (Mon, 18 Mar 2024) Log Message: ----------- [FIX] wikiplugin_semanticsearch.php Fix un-closed tags, and make output closer to customsearch --- * [FIX] wikiplugin_semanticsearch.php Fix un-closed tags, and make output closer to customsearch See merge request tikiwiki/tiki!4699 Modified Paths: -------------- trunk/lib/wiki-plugins/wikiplugin_semanticsearch.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-03-18 16:53:56 UTC (rev 85226) +++ trunk 2024-03-18 18:54:07 UTC (rev 85227) Property changes on: trunk ___________________________________________________________________ Deleted: subgit:lock:0f5eb6cc88ad2a3b2278696dfc1615656703a9ae ## -1 +0,0 ## -2024-03-18T16:54:25.379 \ No newline at end of property Added: subgit:lock:2f4b2d89f9ddf4db1fba3d48b81f2bf03c45d4c1 ## -0,0 +1 ## +2024-03-18T18:54:06.126 \ No newline at end of property Modified: trunk/lib/wiki-plugins/wikiplugin_semanticsearch.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_semanticsearch.php 2024-03-18 16:53:56 UTC (rev 85226) +++ trunk/lib/wiki-plugins/wikiplugin_semanticsearch.php 2024-03-18 18:54:07 UTC (rev 85227) @@ -125,8 +125,8 @@ $formHtml .= "<div id='semanticsearch_{$id}_form'>\n"; $formHtml .= "<form id='semanticsearch_{$id}' class='customsearch_form'>\n"; $formHtml .= $searchFormContent . "\n"; - $formHtml .= "<div id='semanticsearch_{$id}_form'>\n"; - $formHtml .= "<div id='semanticsearch_{$id}_form'>\n"; + $formHtml .= "</form'>\n"; + $formHtml .= "</div'>\n"; $html .= $formHtml; $smartyResults = []; @@ -152,6 +152,8 @@ } } $smarty->assign('results', $smartyResults); + $html .= "<div id='semanticsearch_{$id}_results' class='customsearch_results'>\n"; $html .= $smarty->fetch($params['resultstpl']); + $html .= "</div>"; return $html; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Benoit G. (@b. <gi...@mg...> - 2024-03-18 18:53:54
|
Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 2f4b2d89 by Benoit Grégoire at 2024-03-18T18:53:38+00:00 [FIX] wikiplugin_semanticsearch.php Fix un-closed tags, and make output closer to customsearch --- * [FIX] wikiplugin_semanticsearch.php Fix un-closed tags, and make output closer to customsearch See merge request tikiwiki/tiki!4699 - - - - - 1 changed file: - lib/wiki-plugins/wikiplugin_semanticsearch.php Changes: ===================================== lib/wiki-plugins/wikiplugin_semanticsearch.php ===================================== @@ -125,8 +125,8 @@ function wikiplugin_semanticsearch($data, $params) $formHtml .= "<div id='semanticsearch_{$id}_form'>\n"; $formHtml .= "<form id='semanticsearch_{$id}' class='customsearch_form'>\n"; $formHtml .= $searchFormContent . "\n"; - $formHtml .= "<div id='semanticsearch_{$id}_form'>\n"; - $formHtml .= "<div id='semanticsearch_{$id}_form'>\n"; + $formHtml .= "</form'>\n"; + $formHtml .= "</div'>\n"; $html .= $formHtml; $smartyResults = []; @@ -152,6 +152,8 @@ function wikiplugin_semanticsearch($data, $params) } } $smarty->assign('results', $smartyResults); + $html .= "<div id='semanticsearch_{$id}_results' class='customsearch_results'>\n"; $html .= $smarty->fetch($params['resultstpl']); + $html .= "</div>"; return $html; } View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/2f4b2d89f9ddf4db1fba3d48b81f2bf03c45d4c1 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/2f4b2d89f9ddf4db1fba3d48b81f2bf03c45d4c1 You're receiving this email because of your account on gitlab.com. |
From: gary_c@users.sourceforge.net - 2024-03-18 16:54:30
|
Revision: 85226 http://sourceforge.net/p/tikiwiki/code/85226 Author: "gary_c" Date: 2024-03-18 16:54:28 +0000 (Mon, 18 Mar 2024) Log Message: ----------- [FIX][UI] Add ARIA attributes and make other adjustments for better... --- * [FIX][UI] Add ARIA attributes and make other adjustments for better accessibility, update some Bootstrap classes, increase visibility of Default input border color, etc. See merge request tikiwiki/tiki!4698 Modified Paths: -------------- trunk/lib/smarty_tiki/FunctionHandler/SelectAll.php trunk/templates/edit_file_gallery.tpl trunk/templates/fgal_listing_conf.tpl trunk/templates/file/jquery_upload.tpl trunk/templates/layouts/internal/modal.tpl trunk/templates/list_file_gallery.tpl trunk/templates/list_file_gallery_content.tpl trunk/templates/tiki-batch_upload_files.tpl trunk/templates/tiki-list_file_gallery.tpl trunk/templates/tiki-list_trackers.tpl trunk/templates/tiki-upload_file.tpl trunk/templates/tiki-view_tracker.tpl trunk/themes/default/scss/_variables.scss Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk 2024-03-18 16:54:28 UTC (rev 85226) Property changes on: trunk ___________________________________________________________________ Added: subgit:lock:0f5eb6cc88ad2a3b2278696dfc1615656703a9ae ## -0,0 +1 ## +2024-03-18T16:54:25.379 \ No newline at end of property Deleted: subgit:lock:a4c09df30f1e4cbef23f8eb558ec7aecf9958854 ## -1 +0,0 ## -2024-03-18T14:22:19.861 \ No newline at end of property Modified: trunk/lib/smarty_tiki/FunctionHandler/SelectAll.php =================================================================== --- trunk/lib/smarty_tiki/FunctionHandler/SelectAll.php 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/lib/smarty_tiki/FunctionHandler/SelectAll.php 2024-03-18 16:54:28 UTC (rev 85226) @@ -59,11 +59,9 @@ $onclick = ' onclick="' . $onclick . '"'; } - return "<div class=\"form-check\">\n" . - '<input name="switcher' . $id . '" id="clickall' . $id . '" class="form-check-input position-static" type="checkbox"' . $onclick . - (empty($params['label']) ? ' title="' . tra('Select All') . '"' : '') . + return '<input name="switcher' . $id . '" id="clickall' . $id . '" class="form-check-input position-static" type="checkbox"' . $onclick . + (empty($params['label']) ? ' aria-label="' . tra('Select All') . '"' : '') . '/>' . "\n" . - (! empty($params['label']) ? '<label class="form-check-label" for="clickall' . $id . '">' . $params['label'] . "</label>\n" : '') . - "</div>\n"; + (! empty($params['label']) ? '<label class="form-check-label" for="clickall' . $id . '">' . $params['label'] . "</label>\n" : ''); } } Modified: trunk/templates/edit_file_gallery.tpl =================================================================== --- trunk/templates/edit_file_gallery.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/edit_file_gallery.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -429,7 +429,8 @@ <option value="{$item|escape}" {if $sortorder == $item} selected="selected"{/if}>{$key}</option> {/foreach} </select> - <span class="form-text"> + <fieldset class="form-text"> + <legend class="visually-hidden">{tr}Default sort order{/tr}</legend> <label for="fgal_sortdirection1"> <input type="radio" id="fgal_sortdirection1" name="sortdirection" value="desc" {if $sortdirection == 'desc'}checked="checked"{/if} /> {tr}Descending{/tr} @@ -438,14 +439,13 @@ <input type="radio" id="fgal_sortdirection2" name="sortdirection" value="asc" {if $sortdirection == 'asc'}checked="checked"{/if} /> {tr}Ascending{/tr} </label> - </span> + </fieldset> </div> </div> - <hr> - <div class=""> - <label for="" class="col-form-label">{tr}Select which items to display when listing galleries{/tr}</label> + <fieldset> + <legend>{tr}Items to display when listing galleries{/tr}</legend> {include file='fgal_listing_conf.tpl'} - </div> + </fieldset> <hr> <div class="tiki-form-group row"> <label for="max_desc" class="col-sm-4 col-form-label">{tr}Max description display size{/tr}</label> Modified: trunk/templates/fgal_listing_conf.tpl =================================================================== --- trunk/templates/fgal_listing_conf.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/fgal_listing_conf.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -68,7 +68,7 @@ {$item.name} </label> <div class="col-sm-8 mb-3"> - <select id="fgal_list_{$key}" name="fgal_list_{$key}" class="form-control"> + <select id="fgal_list_{$key}" name="fgal_list_{$key}" class="form-select"> {if $key eq 'name' or $key eq 'name_admin'} <option value="a"{if isset($item.value) and $item.value eq 'a'} selected="selected"{/if}> {tr}Name-filename{/tr} Modified: trunk/templates/file/jquery_upload.tpl =================================================================== --- trunk/templates/file/jquery_upload.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/file/jquery_upload.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -4,13 +4,13 @@ <div class="col-md-12"> <div class="card bg-body-tertiary fileupload mb-0"> <div class="card-body"> - <h3 class="text-center">{icon name="cloud-upload"} {tr}Drop files or {/tr} + <div class="h3 text-center">{icon name="cloud-upload"} {tr}Drop files or {/tr} <div class="btn btn-primary fileinput-button"> <span>{tr}Choose files{/tr}</span> {* The file input field used as target for the file upload widget *} - <input id="fileupload" type="file" name="files[]" multiple{if isset($allowedMimeTypes)} accept="{$allowedMimeTypes|escape}"{/if}> + <input id="fileupload" type="file" name="files[]" aria-label="{tr}Choose files{/tr}" multiple{if isset($allowedMimeTypes)} accept="{$allowedMimeTypes|escape}"{/if}> </div> - </h3> + </div> </div> </div> </div> Modified: trunk/templates/layouts/internal/modal.tpl =================================================================== --- trunk/templates/layouts/internal/modal.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/layouts/internal/modal.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -2,7 +2,7 @@ {if ! isset($noheader) || $noheader !== 'y'} <div class="modal-header"> <h4 class="modal-title" id="myModalLabel">{$title|escape}{block name=subtitle}{/block}</h4> - <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true"></button> + <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true" aria-label="{tr}Close{/tr}"></button> </div> {/if} <div class="modal-body"> Modified: trunk/templates/list_file_gallery.tpl =================================================================== --- trunk/templates/list_file_gallery.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/list_file_gallery.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -12,6 +12,7 @@ <a href="#" class="tips" title=":{tr}Show Tree{/tr}" + aria-label="{tr}Show Tree{/tr}" onclick="flip('fgalexplorer','');hide('fgalexplorer_close',false);show('fgalexplorer_open',false);return false;"> {icon name='file-archive'} </a> @@ -20,6 +21,7 @@ <a href="#" class="tips" title=":{tr}Hide Tree{/tr}" + aria-label="{tr}Hide Tree{/tr}" onclick="flip('fgalexplorer','');hide('fgalexplorer_open',false);show('fgalexplorer_close',false);return false;"> {icon name='file-archive-open'} </a> @@ -97,7 +99,7 @@ or $tiki_p_assign_perm_file_gallery eq 'y' } <div class="input-group col-sm-12"> - <select name="fgal_actions" class="form-select"> + <select name="fgal_actions" class="form-select" aria-label="{tr}Select action to perform with checked...{/tr}"> <option value="" selected="selected"> {tr}Select action to perform with checked...{/tr} </option> Modified: trunk/templates/list_file_gallery_content.tpl =================================================================== --- trunk/templates/list_file_gallery_content.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/list_file_gallery_content.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -10,11 +10,11 @@ {else} {assign var=nbCols value=1} {/if} - <th class="checkbox-cell"> + <td class="checkbox-cell"> {* th changed to td to avoid ARIA empty header error *} <div class="form-check"> {select_all checkbox_names='file[],subgal[]'} </div> - </th> + </td> {/if} {if ( $prefs.use_context_menu_icon eq 'y' or $prefs.use_context_menu_text eq 'y' ) @@ -24,9 +24,9 @@ {else} {assign var=nbCols value=1} {/if} - <th style="width: 1em"> + <td style="width: 1em"> {* th changed to td to avoid ARIA empty header error *} - </th> + </td> {/if} {if isset($gal_info.show_parentName) && $gal_info.show_parentName eq 'y'} @@ -288,16 +288,14 @@ {if $gal_info.show_checked ne 'n' and ($tiki_p_admin_file_galleries eq 'y' or $tiki_p_upload_files eq 'y')} <td class="checkbox-cell"> - <div class="form-check"> - {if $files[changes].isgal eq 1} - {assign var='checkname' value='subgal'} - {else} - {assign var='checkname' value='file'} - {/if} - <input type="checkbox" class="form-check-input" name="{$checkname}[]" value="{$files[changes].id|escape}" - {if isset($smarty.request.$checkname) and $smarty.request.$checkname - and in_array($files[changes].id,$smarty.request.$checkname)}checked="checked"{/if}> - </div> + {if $files[changes].isgal eq 1} + {assign var='checkname' value='subgal'} + {else} + {assign var='checkname' value='file'} + {/if} + <input type="checkbox" class="form-check-input" aria-label="{tr}Select{/tr}" name="{$checkname}[]" value="{$files[changes].id|escape}" + {if isset($smarty.request.$checkname) and $smarty.request.$checkname + and in_array($files[changes].id,$smarty.request.$checkname)}checked="checked"{/if}> </td> {/if} Modified: trunk/templates/tiki-batch_upload_files.tpl =================================================================== --- trunk/templates/tiki-batch_upload_files.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/tiki-batch_upload_files.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -19,16 +19,16 @@ <div class="table-responsive"> <table class="table table-stripped" id="filelist"> <tr> - <th>{select_all checkbox_names='files[]'}</th> + <td>{select_all checkbox_names='files[]'}</td> {* th changed to td to prevent ARIA empty header error *} <th>{tr}Filename{/tr}</th> - <th width="80">{tr}Filesize{/tr}</th> - <th width="80">{tr}Filetype{/tr}</th> - <th class="text-center">{icon name='permission' title="{tr}File Permissions{/tr}"}</th> + <th width="80">{tr}File size{/tr}</th> + <th width="80">{tr}File type{/tr}</th> + <td class="text-center">{icon name='permission' title="{tr}File permissions{/tr}"}</td> {* th changed to td to prevent ARIA empty header error *} </tr> {foreach key=k item=it from=$filelist} <tr> - <td class="checkbox-cell"><div class="form-check"><input type="checkbox" name="files[]" value="{$it.file}" id="box_{$k}"></div></td> + <td class="checkbox-cell"><div class="form-check"><input type="checkbox" class="form-check-input" name="files[]" value="{$it.file}" id="box_{$k}"></div></td> <td><label for="box_{$k}">{$it.file|replace:$prefs.fgal_batch_dir:''}</label></td> <td>{$it.size|kbsize}</td> <td>{$it.ext}</td> @@ -61,29 +61,33 @@ </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label" for="subdirToSubgal">{tr}Upload into galleries according to sub-directories{/tr}</label> + <label class="col-sm-4 form-check-label" for="subdirToSubgal">{tr}Upload into galleries according to sub-directories{/tr}</label> <div class="col-sm-8"> - <input type="checkbox" name="subdirToSubgal" value="true" id="subdirToSubgal"> - <div class="text-muted description"> + <div class="form-check"> + <input type="checkbox" name="subdirToSubgal" class="form-check-input" value="true" id="subdirToSubgal"> + </div> + <div class="form-text"> {tr}eg. for "misc/screenshots/digicam0001.jpg" the file will be uploaded into a gallery called "screenshots" in the called "misc" inside the chosen gallery if it exists{/tr} </div> </div> </div> <div class="mb-3 row create-subgals" style="display:none;"> - <label class="col-sm-4 col-form-label" for="createSubgals">{tr}Create sub-galleries?{/tr}</label> + <label class="col-sm-4 form-check-label" for="createSubgals">{tr}Create sub-galleries?{/tr}</label> <div class="col-sm-8"> - <input type="checkbox" name="createSubgals" value="true" id="createSubgals"> - <div class="text-muted description"> + <div class="form-check"> + <input type="checkbox" name="createSubgals" class="form-check-input" value="true" id="createSubgals"> + </div> + <div class="form-text"> {tr}Sub-galleries will be automatically created if they don't exist and the user has permission. Note that these galleries will have the global file gallery permissions set.{/tr} </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label" for="subdirIntegerToSubgalId">{tr}Upload into galleries according sub-directory as galleryId{/tr}</label> - + <label class="col-sm-4 form-check-label" for="subdirIntegerToSubgalId">{tr}Upload into galleries according sub-directory as galleryId{/tr}</label> <div class="col-sm-8"> - <input type="checkbox" name="subdirIntegerToSubgalId" value="true" id="subdirIntegerToSubgalId"> - - <div class="text-muted description"> + <div class="form-check"> + <input type="checkbox" name="subdirIntegerToSubgalId" class="form-check-input" value="true" id="subdirIntegerToSubgalId"> + </div> + <div class="form-text"> {tr}eg. for "42/digicam0001.jpg" the file will be uploaded into a gallery with the Id "42" if it exists{/tr} </div> </div> @@ -112,16 +116,18 @@ {/jq} </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label" for="subToDesc">{tr}Use the last sub directory name as description{/tr}</label> + <label class="col-sm-4 form-check-label" for="subToDesc">{tr}Use the last sub-directory name as description{/tr}</label> <div class="col-sm-8"> - <input type="checkbox" name="subToDesc" value="true" id="subToDesc"> - <div class="text-muted description"> + <div class="form-check"> + <input type="checkbox" name="subToDesc" class="form-check-input" value="true" id="subToDesc"> + </div> + <div class="form-text"> {tr}eg. from "misc/screenshots/digicam0001.jpg" a description "screenshots" will be created{/tr}r} </div> </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label"></label> + <label class="col-sm-4 form-check-label"></label> <div class="col-sm-8"> <input type="submit" class="btn btn-primary btn-sm" name="batch_upload" value="{tr}Process files{/tr}"> </div> Modified: trunk/templates/tiki-list_file_gallery.tpl =================================================================== --- trunk/templates/tiki-list_file_gallery.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/tiki-list_file_gallery.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -196,7 +196,7 @@ {remarksbox type="tip" title="{tr}Tip{/tr}"}{tr}Be careful to set the right permissions on the files you link to{/tr}.{/remarksbox} <div class="form-check"> <input type="checkbox" class="form-check-input" id="keepOpenCbx" checked="checked"> - <label for="keepOpenCbx" class="form-check-label">{tr}Keep gallery window open{/tr}</label> + <label for="keepOpenCbx" class="form-check-label" for="keepOpenCbx">{tr}Keep gallery window open{/tr}</label> </div> {/if} Modified: trunk/templates/tiki-list_trackers.tpl =================================================================== --- trunk/templates/tiki-list_trackers.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/tiki-list_trackers.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -64,7 +64,7 @@ <th>{self_link _sort_arg='sort_mode' _sort_field='created'}{tr}Created{/tr}{/self_link}</th> <th>{self_link _sort_arg='sort_mode' _sort_field='lastModif'}{tr}Last modified{/tr}{/self_link}</th> <th class="text-end">{self_link _sort_arg='sort_mode' _sort_field='items'}{tr}Items{/tr}{/self_link}</th> - <th></th> + <td></td> {* Changed from th to td to prevent ARIA empty header error *} </tr> {foreach from=$trackers item=tracker} Modified: trunk/templates/tiki-upload_file.tpl =================================================================== --- trunk/templates/tiki-upload_file.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/tiki-upload_file.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -139,7 +139,7 @@ <input type="hidden" id="max_file_uploads" value="{$max_file_uploads}"> {remarksbox type="note" title="{tr}Information{/tr}"} {tr}Maximum file size is around:{/tr} - {if $tiki_p_admin eq 'y'}<a title="|{$max_upload_size_comment}" class="btn btn-link tips">{/if} + {if $tiki_p_admin eq 'y'}<a title="|{$max_upload_size_comment}" class="alert-link tips">{/if} {$max_upload_size|kbsize:true:0} {if $tiki_p_admin eq 'y'}</a> {if $is_iis}<br>{tr}Note: You are running IIS{/tr}. {tr}maxAllowedContentLength also limits upload size{/tr}. {tr}Please check web.config in the Tiki root folder{/tr}{/if} @@ -512,7 +512,7 @@ {/if} {if not $editFileId and $prefs.fgal_upload_from_source eq 'y' and $tiki_p_upload_files eq 'y'} <form class="remote-upload" method="post" action="{service controller=file action=remote}"> - <h3>{tr}Upload from URL{/tr}</h3> + <span class="h3">{tr}Upload from URL{/tr}</span> <div class="mb-3 row"> <input type="hidden" name="galleryId" value="{$galleryId|escape}"> <label class="col-md-4 col-form-label">{tr}URL:{/tr}</label> Modified: trunk/templates/tiki-view_tracker.tpl =================================================================== --- trunk/templates/tiki-view_tracker.tpl 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/templates/tiki-view_tracker.tpl 2024-03-18 16:54:28 UTC (rev 85226) @@ -174,13 +174,13 @@ <table class="table table-striped table-hover"> <tr> {if $tracker_info.showStatus eq 'y' or ($tracker_info.showStatusAdminOnly eq 'y' and $tiki_p_admin_trackers eq 'y')} - <th class="auto" style="width:20px;"></th> + <td class="auto" style="width:20px;"></td> {* th changed to td to prevent ARIA empty header error *} {/if} {if $tiki_p_admin_trackers eq 'y'} - <th width="15"> + <td style="width:20px;"> {* th changed to td to prevent ARIA empty header error *} {select_all checkbox_names='action[]'} - </th> + </td> {/if} {foreach from=$listfields key=ix item=field_value} @@ -214,7 +214,7 @@ {if $tiki_p_admin_trackers eq 'y'}<th style="width:5%">{tr}dls{/tr}</th>{/if} {/if} {if $tiki_p_admin_trackers eq 'y' or $tiki_p_remove_tracker_items eq 'y' or $tiki_p_remove_tracker_items_pending eq 'y' or $tiki_p_remove_tracker_items_closed eq 'y'} - <th style="width:20px"></th> + <td style="width:20px"></td> {* th changed to td to prevent ARIA empty header error *} {/if} </tr> @@ -231,9 +231,7 @@ {/if} {if $tiki_p_admin_trackers eq 'y'} <td class="checkbox-cell"> - <div class="form-check"> - <input type="checkbox" class="form-check-input" name="action[]" value='{$items[user].itemId}'> - </div> + <input type="checkbox" class="form-check-input" name="action[]" aria-label="{tr}Select{/tr}" value='{$items[user].itemId}'> </td> {/if} Modified: trunk/themes/default/scss/_variables.scss =================================================================== --- trunk/themes/default/scss/_variables.scss 2024-03-18 14:21:40 UTC (rev 85225) +++ trunk/themes/default/scss/_variables.scss 2024-03-18 16:54:28 UTC (rev 85226) @@ -5,7 +5,9 @@ @import "../../../node_modules/bootstrap/scss/variables"; -$border-color: $gray-400; +$border-color: $gray-500; + +//$input-border-color: var(--#{$prefix}border-color) !default; // $gray-500; // var(--#{$prefix}border-color) !default; $code-color: $body-color; // - - - - - - - - - - - - - - - - Other variables, if any - - - - - - - - - - - - - - - - - // This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Gary Cunningham-L. (@gary.cunningham-lee) <gi...@mg...> - 2024-03-18 16:54:22
|
Gary Cunningham-Lee pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 0f5eb6cc by Gary Cunningham-Lee at 2024-03-18T16:53:56+00:00 [FIX][UI] Add ARIA attributes and make other adjustments for better... --- * [FIX][UI] Add ARIA attributes and make other adjustments for better accessibility, update some Bootstrap classes, increase visibility of Default input border color, etc. See merge request tikiwiki/tiki!4698 - - - - - 13 changed files: - lib/smarty_tiki/FunctionHandler/SelectAll.php - templates/edit_file_gallery.tpl - templates/fgal_listing_conf.tpl - templates/file/jquery_upload.tpl - templates/layouts/internal/modal.tpl - templates/list_file_gallery.tpl - templates/list_file_gallery_content.tpl - templates/tiki-batch_upload_files.tpl - templates/tiki-list_file_gallery.tpl - templates/tiki-list_trackers.tpl - templates/tiki-upload_file.tpl - templates/tiki-view_tracker.tpl - themes/default/scss/_variables.scss Changes: ===================================== lib/smarty_tiki/FunctionHandler/SelectAll.php ===================================== @@ -59,11 +59,9 @@ class SelectAll extends Base $onclick = ' onclick="' . $onclick . '"'; } - return "<div class=\"form-check\">\n" . - '<input name="switcher' . $id . '" id="clickall' . $id . '" class="form-check-input position-static" type="checkbox"' . $onclick . - (empty($params['label']) ? ' title="' . tra('Select All') . '"' : '') . + return '<input name="switcher' . $id . '" id="clickall' . $id . '" class="form-check-input position-static" type="checkbox"' . $onclick . + (empty($params['label']) ? ' aria-label="' . tra('Select All') . '"' : '') . '/>' . "\n" . - (! empty($params['label']) ? '<label class="form-check-label" for="clickall' . $id . '">' . $params['label'] . "</label>\n" : '') . - "</div>\n"; + (! empty($params['label']) ? '<label class="form-check-label" for="clickall' . $id . '">' . $params['label'] . "</label>\n" : ''); } } ===================================== templates/edit_file_gallery.tpl ===================================== @@ -429,7 +429,8 @@ if ($(this).val() != '') { <option value="{$item|escape}" {if $sortorder == $item} selected="selected"{/if}>{$key}</option> {/foreach} </select> - <span class="form-text"> + <fieldset class="form-text"> + <legend class="visually-hidden">{tr}Default sort order{/tr}</legend> <label for="fgal_sortdirection1"> <input type="radio" id="fgal_sortdirection1" name="sortdirection" value="desc" {if $sortdirection == 'desc'}checked="checked"{/if} /> {tr}Descending{/tr} @@ -438,14 +439,13 @@ if ($(this).val() != '') { <input type="radio" id="fgal_sortdirection2" name="sortdirection" value="asc" {if $sortdirection == 'asc'}checked="checked"{/if} /> {tr}Ascending{/tr} </label> - </span> + </fieldset> </div> </div> - <hr> - <div class=""> - <label for="" class="col-form-label">{tr}Select which items to display when listing galleries{/tr}</label> + <fieldset> + <legend>{tr}Items to display when listing galleries{/tr}</legend> {include file='fgal_listing_conf.tpl'} - </div> + </fieldset> <hr> <div class="tiki-form-group row"> <label for="max_desc" class="col-sm-4 col-form-label">{tr}Max description display size{/tr}</label> ===================================== templates/fgal_listing_conf.tpl ===================================== @@ -68,7 +68,7 @@ {$item.name} </label> <div class="col-sm-8 mb-3"> - <select id="fgal_list_{$key}" name="fgal_list_{$key}" class="form-control"> + <select id="fgal_list_{$key}" name="fgal_list_{$key}" class="form-select"> {if $key eq 'name' or $key eq 'name_admin'} <option value="a"{if isset($item.value) and $item.value eq 'a'} selected="selected"{/if}> {tr}Name-filename{/tr} ===================================== templates/file/jquery_upload.tpl ===================================== @@ -4,13 +4,13 @@ <div class="col-md-12"> <div class="card bg-body-tertiary fileupload mb-0"> <div class="card-body"> - <h3 class="text-center">{icon name="cloud-upload"} {tr}Drop files or {/tr} + <div class="h3 text-center">{icon name="cloud-upload"} {tr}Drop files or {/tr} <div class="btn btn-primary fileinput-button"> <span>{tr}Choose files{/tr}</span> {* The file input field used as target for the file upload widget *} - <input id="fileupload" type="file" name="files[]" multiple{if isset($allowedMimeTypes)} accept="{$allowedMimeTypes|escape}"{/if}> + <input id="fileupload" type="file" name="files[]" aria-label="{tr}Choose files{/tr}" multiple{if isset($allowedMimeTypes)} accept="{$allowedMimeTypes|escape}"{/if}> </div> - </h3> + </div> </div> </div> </div> ===================================== templates/layouts/internal/modal.tpl ===================================== @@ -2,7 +2,7 @@ {if ! isset($noheader) || $noheader !== 'y'} <div class="modal-header"> <h4 class="modal-title" id="myModalLabel">{$title|escape}{block name=subtitle}{/block}</h4> - <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true"></button> + <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true" aria-label="{tr}Close{/tr}"></button> </div> {/if} <div class="modal-body"> ===================================== templates/list_file_gallery.tpl ===================================== @@ -12,6 +12,7 @@ <a href="#" class="tips" title=":{tr}Show Tree{/tr}" + aria-label="{tr}Show Tree{/tr}" onclick="flip('fgalexplorer','');hide('fgalexplorer_close',false);show('fgalexplorer_open',false);return false;"> {icon name='file-archive'} </a> @@ -20,6 +21,7 @@ <a href="#" class="tips" title=":{tr}Hide Tree{/tr}" + aria-label="{tr}Hide Tree{/tr}" onclick="flip('fgalexplorer','');hide('fgalexplorer_open',false);show('fgalexplorer_close',false);return false;"> {icon name='file-archive-open'} </a> @@ -97,7 +99,7 @@ or $tiki_p_assign_perm_file_gallery eq 'y' } <div class="input-group col-sm-12"> - <select name="fgal_actions" class="form-select"> + <select name="fgal_actions" class="form-select" aria-label="{tr}Select action to perform with checked...{/tr}"> <option value="" selected="selected"> {tr}Select action to perform with checked...{/tr} </option> ===================================== templates/list_file_gallery_content.tpl ===================================== @@ -10,11 +10,11 @@ {else} {assign var=nbCols value=1} {/if} - <th class="checkbox-cell"> + <td class="checkbox-cell"> {* th changed to td to avoid ARIA empty header error *} <div class="form-check"> {select_all checkbox_names='file[],subgal[]'} </div> - </th> + </td> {/if} {if ( $prefs.use_context_menu_icon eq 'y' or $prefs.use_context_menu_text eq 'y' ) @@ -24,9 +24,9 @@ {else} {assign var=nbCols value=1} {/if} - <th style="width: 1em"> + <td style="width: 1em"> {* th changed to td to avoid ARIA empty header error *} - </th> + </td> {/if} {if isset($gal_info.show_parentName) && $gal_info.show_parentName eq 'y'} @@ -288,16 +288,14 @@ {if $gal_info.show_checked ne 'n' and ($tiki_p_admin_file_galleries eq 'y' or $tiki_p_upload_files eq 'y')} <td class="checkbox-cell"> - <div class="form-check"> - {if $files[changes].isgal eq 1} - {assign var='checkname' value='subgal'} - {else} - {assign var='checkname' value='file'} - {/if} - <input type="checkbox" class="form-check-input" name="{$checkname}[]" value="{$files[changes].id|escape}" - {if isset($smarty.request.$checkname) and $smarty.request.$checkname - and in_array($files[changes].id,$smarty.request.$checkname)}checked="checked"{/if}> - </div> + {if $files[changes].isgal eq 1} + {assign var='checkname' value='subgal'} + {else} + {assign var='checkname' value='file'} + {/if} + <input type="checkbox" class="form-check-input" aria-label="{tr}Select{/tr}" name="{$checkname}[]" value="{$files[changes].id|escape}" + {if isset($smarty.request.$checkname) and $smarty.request.$checkname + and in_array($files[changes].id,$smarty.request.$checkname)}checked="checked"{/if}> </td> {/if} ===================================== templates/tiki-batch_upload_files.tpl ===================================== @@ -19,16 +19,16 @@ <div class="table-responsive"> <table class="table table-stripped" id="filelist"> <tr> - <th>{select_all checkbox_names='files[]'}</th> + <td>{select_all checkbox_names='files[]'}</td> {* th changed to td to prevent ARIA empty header error *} <th>{tr}Filename{/tr}</th> - <th width="80">{tr}Filesize{/tr}</th> - <th width="80">{tr}Filetype{/tr}</th> - <th class="text-center">{icon name='permission' title="{tr}File Permissions{/tr}"}</th> + <th width="80">{tr}File size{/tr}</th> + <th width="80">{tr}File type{/tr}</th> + <td class="text-center">{icon name='permission' title="{tr}File permissions{/tr}"}</td> {* th changed to td to prevent ARIA empty header error *} </tr> {foreach key=k item=it from=$filelist} <tr> - <td class="checkbox-cell"><div class="form-check"><input type="checkbox" name="files[]" value="{$it.file}" id="box_{$k}"></div></td> + <td class="checkbox-cell"><div class="form-check"><input type="checkbox" class="form-check-input" name="files[]" value="{$it.file}" id="box_{$k}"></div></td> <td><label for="box_{$k}">{$it.file|replace:$prefs.fgal_batch_dir:''}</label></td> <td>{$it.size|kbsize}</td> <td>{$it.ext}</td> @@ -61,29 +61,33 @@ </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label" for="subdirToSubgal">{tr}Upload into galleries according to sub-directories{/tr}</label> + <label class="col-sm-4 form-check-label" for="subdirToSubgal">{tr}Upload into galleries according to sub-directories{/tr}</label> <div class="col-sm-8"> - <input type="checkbox" name="subdirToSubgal" value="true" id="subdirToSubgal"> - <div class="text-muted description"> + <div class="form-check"> + <input type="checkbox" name="subdirToSubgal" class="form-check-input" value="true" id="subdirToSubgal"> + </div> + <div class="form-text"> {tr}eg. for "misc/screenshots/digicam0001.jpg" the file will be uploaded into a gallery called "screenshots" in the called "misc" inside the chosen gallery if it exists{/tr} </div> </div> </div> <div class="mb-3 row create-subgals" style="display:none;"> - <label class="col-sm-4 col-form-label" for="createSubgals">{tr}Create sub-galleries?{/tr}</label> + <label class="col-sm-4 form-check-label" for="createSubgals">{tr}Create sub-galleries?{/tr}</label> <div class="col-sm-8"> - <input type="checkbox" name="createSubgals" value="true" id="createSubgals"> - <div class="text-muted description"> + <div class="form-check"> + <input type="checkbox" name="createSubgals" class="form-check-input" value="true" id="createSubgals"> + </div> + <div class="form-text"> {tr}Sub-galleries will be automatically created if they don't exist and the user has permission. Note that these galleries will have the global file gallery permissions set.{/tr} </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label" for="subdirIntegerToSubgalId">{tr}Upload into galleries according sub-directory as galleryId{/tr}</label> - + <label class="col-sm-4 form-check-label" for="subdirIntegerToSubgalId">{tr}Upload into galleries according sub-directory as galleryId{/tr}</label> <div class="col-sm-8"> - <input type="checkbox" name="subdirIntegerToSubgalId" value="true" id="subdirIntegerToSubgalId"> - - <div class="text-muted description"> + <div class="form-check"> + <input type="checkbox" name="subdirIntegerToSubgalId" class="form-check-input" value="true" id="subdirIntegerToSubgalId"> + </div> + <div class="form-text"> {tr}eg. for "42/digicam0001.jpg" the file will be uploaded into a gallery with the Id "42" if it exists{/tr} </div> </div> @@ -112,16 +116,18 @@ $("#batchUploadForm").on("submit", function () { {/jq} </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label" for="subToDesc">{tr}Use the last sub directory name as description{/tr}</label> + <label class="col-sm-4 form-check-label" for="subToDesc">{tr}Use the last sub-directory name as description{/tr}</label> <div class="col-sm-8"> - <input type="checkbox" name="subToDesc" value="true" id="subToDesc"> - <div class="text-muted description"> + <div class="form-check"> + <input type="checkbox" name="subToDesc" class="form-check-input" value="true" id="subToDesc"> + </div> + <div class="form-text"> {tr}eg. from "misc/screenshots/digicam0001.jpg" a description "screenshots" will be created{/tr}r} </div> </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label"></label> + <label class="col-sm-4 form-check-label"></label> <div class="col-sm-8"> <input type="submit" class="btn btn-primary btn-sm" name="batch_upload" value="{tr}Process files{/tr}"> </div> ===================================== templates/tiki-list_file_gallery.tpl ===================================== @@ -196,7 +196,7 @@ {remarksbox type="tip" title="{tr}Tip{/tr}"}{tr}Be careful to set the right permissions on the files you link to{/tr}.{/remarksbox} <div class="form-check"> <input type="checkbox" class="form-check-input" id="keepOpenCbx" checked="checked"> - <label for="keepOpenCbx" class="form-check-label">{tr}Keep gallery window open{/tr}</label> + <label for="keepOpenCbx" class="form-check-label" for="keepOpenCbx">{tr}Keep gallery window open{/tr}</label> </div> {/if} ===================================== templates/tiki-list_trackers.tpl ===================================== @@ -64,7 +64,7 @@ <th>{self_link _sort_arg='sort_mode' _sort_field='created'}{tr}Created{/tr}{/self_link}</th> <th>{self_link _sort_arg='sort_mode' _sort_field='lastModif'}{tr}Last modified{/tr}{/self_link}</th> <th class="text-end">{self_link _sort_arg='sort_mode' _sort_field='items'}{tr}Items{/tr}{/self_link}</th> - <th></th> + <td></td> {* Changed from th to td to prevent ARIA empty header error *} </tr> {foreach from=$trackers item=tracker} ===================================== templates/tiki-upload_file.tpl ===================================== @@ -139,7 +139,7 @@ <input type="hidden" id="max_file_uploads" value="{$max_file_uploads}"> {remarksbox type="note" title="{tr}Information{/tr}"} {tr}Maximum file size is around:{/tr} - {if $tiki_p_admin eq 'y'}<a title="|{$max_upload_size_comment}" class="btn btn-link tips">{/if} + {if $tiki_p_admin eq 'y'}<a title="|{$max_upload_size_comment}" class="alert-link tips">{/if} {$max_upload_size|kbsize:true:0} {if $tiki_p_admin eq 'y'}</a> {if $is_iis}<br>{tr}Note: You are running IIS{/tr}. {tr}maxAllowedContentLength also limits upload size{/tr}. {tr}Please check web.config in the Tiki root folder{/tr}{/if} @@ -512,7 +512,7 @@ {/if} {if not $editFileId and $prefs.fgal_upload_from_source eq 'y' and $tiki_p_upload_files eq 'y'} <form class="remote-upload" method="post" action="{service controller=file action=remote}"> - <h3>{tr}Upload from URL{/tr}</h3> + <span class="h3">{tr}Upload from URL{/tr}</span> <div class="mb-3 row"> <input type="hidden" name="galleryId" value="{$galleryId|escape}"> <label class="col-md-4 col-form-label">{tr}URL:{/tr}</label> ===================================== templates/tiki-view_tracker.tpl ===================================== @@ -174,13 +174,13 @@ <table class="table table-striped table-hover"> <tr> {if $tracker_info.showStatus eq 'y' or ($tracker_info.showStatusAdminOnly eq 'y' and $tiki_p_admin_trackers eq 'y')} - <th class="auto" style="width:20px;"></th> + <td class="auto" style="width:20px;"></td> {* th changed to td to prevent ARIA empty header error *} {/if} {if $tiki_p_admin_trackers eq 'y'} - <th width="15"> + <td style="width:20px;"> {* th changed to td to prevent ARIA empty header error *} {select_all checkbox_names='action[]'} - </th> + </td> {/if} {foreach from=$listfields key=ix item=field_value} @@ -214,7 +214,7 @@ {if $tiki_p_admin_trackers eq 'y'}<th style="width:5%">{tr}dls{/tr}</th>{/if} {/if} {if $tiki_p_admin_trackers eq 'y' or $tiki_p_remove_tracker_items eq 'y' or $tiki_p_remove_tracker_items_pending eq 'y' or $tiki_p_remove_tracker_items_closed eq 'y'} - <th style="width:20px"></th> + <td style="width:20px"></td> {* th changed to td to prevent ARIA empty header error *} {/if} </tr> @@ -231,9 +231,7 @@ {/if} {if $tiki_p_admin_trackers eq 'y'} <td class="checkbox-cell"> - <div class="form-check"> - <input type="checkbox" class="form-check-input" name="action[]" value='{$items[user].itemId}'> - </div> + <input type="checkbox" class="form-check-input" name="action[]" aria-label="{tr}Select{/tr}" value='{$items[user].itemId}'> </td> {/if} ===================================== themes/default/scss/_variables.scss ===================================== @@ -5,7 +5,9 @@ $enable-important-utilities: false; @import "../../../node_modules/bootstrap/scss/variables"; -$border-color: $gray-400; +$border-color: $gray-500; + +//$input-border-color: var(--#{$prefix}border-color) !default; // $gray-500; // var(--#{$prefix}border-color) !default; $code-color: $body-color; // - - - - - - - - - - - - - - - - Other variables, if any - - - - - - - - - - - - - - - - - // View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/0f5eb6cc88ad2a3b2278696dfc1615656703a9ae -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/0f5eb6cc88ad2a3b2278696dfc1615656703a9ae You're receiving this email because of your account on gitlab.com. |
From: benoitg@users.sourceforge.net - 2024-03-18 14:22:24
|
Revision: 85225 http://sourceforge.net/p/tikiwiki/code/85225 Author: "benoitg" Date: 2024-03-18 14:22:20 +0000 (Mon, 18 Mar 2024) Log Message: ----------- [FIX] categlib.php fix relying on a trackerId that may or may not be present in the URL. --- * [FIX] categlib.php fix relying on a trackerId that may or may not be present in the URL. See merge request tikiwiki/tiki!4697 Modified Paths: -------------- trunk/lib/categories/categlib.php trunk/lib/trackers/trackerlib.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-03-18 14:13:05 UTC (rev 85224) +++ trunk 2024-03-18 14:22:20 UTC (rev 85225) Property changes on: trunk ___________________________________________________________________ Deleted: subgit:lock:5398b23ede46ec6b02436ba391a0f2b1ab279589 ## -1 +0,0 ## -2024-03-18T14:11:32.872 \ No newline at end of property Added: subgit:lock:a4c09df30f1e4cbef23f8eb558ec7aecf9958854 ## -0,0 +1 ## +2024-03-18T14:22:19.861 \ No newline at end of property Modified: trunk/lib/categories/categlib.php =================================================================== --- trunk/lib/categories/categlib.php 2024-03-18 14:13:05 UTC (rev 85224) +++ trunk/lib/categories/categlib.php 2024-03-18 14:22:20 UTC (rev 85225) @@ -773,7 +773,10 @@ if (! in_array($res['catObjectId'] . '-' . $res['categId'], $objs)) { // same object and same category if (preg_match('/trackeritem/', $res['type']) && $res['description'] == '') { $trklib = TikiLib::lib('trk'); - $trackerId = preg_replace('/^.*trackerId=([0-9]+).*$/', '$1', $res['href']); + //This is a performance optimisation, but we can't rely on trackerId being present - benoitg - 2024-03-18 + $count = 0; + $trackerIdRes = preg_replace('/^.*trackerId=([0-9]+).*$/', '$1', $res['href'], -1, $count); + $trackerId = $count ? $trackerIdRes : null; $res['name'] = $trklib->get_isMain_value($trackerId, $res['itemId']); $filed = $trklib->get_field_id($trackerId, "description"); $res['description'] = $trklib->get_item_value($trackerId, $res['itemId'], $filed); Modified: trunk/lib/trackers/trackerlib.php =================================================================== --- trunk/lib/trackers/trackerlib.php 2024-03-18 14:13:05 UTC (rev 85224) +++ trunk/lib/trackers/trackerlib.php 2024-03-18 14:22:20 UTC (rev 85225) @@ -4114,7 +4114,7 @@ * the tracker item. Usually used as the item's title in a list, * the search index, etc. * - * @param [type] $trackerId + * @param [type] $trackerId, optionnal (will be retrieved from itemId if missing) * @param [type] $itemId * @return void */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Benoit G. (@b. <gi...@mg...> - 2024-03-18 14:22:10
|
Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: a4c09df3 by Benoit Grégoire at 2024-03-18T14:21:40+00:00 [FIX] categlib.php fix relying on a trackerId that may or may not be present in the URL. --- * [FIX] categlib.php fix relying on a trackerId that may or may not be present in the URL. See merge request tikiwiki/tiki!4697 - - - - - 2 changed files: - lib/categories/categlib.php - lib/trackers/trackerlib.php Changes: ===================================== lib/categories/categlib.php ===================================== @@ -773,7 +773,10 @@ class CategLib extends ObjectLib if (! in_array($res['catObjectId'] . '-' . $res['categId'], $objs)) { // same object and same category if (preg_match('/trackeritem/', $res['type']) && $res['description'] == '') { $trklib = TikiLib::lib('trk'); - $trackerId = preg_replace('/^.*trackerId=([0-9]+).*$/', '$1', $res['href']); + //This is a performance optimisation, but we can't rely on trackerId being present - benoitg - 2024-03-18 + $count = 0; + $trackerIdRes = preg_replace('/^.*trackerId=([0-9]+).*$/', '$1', $res['href'], -1, $count); + $trackerId = $count ? $trackerIdRes : null; $res['name'] = $trklib->get_isMain_value($trackerId, $res['itemId']); $filed = $trklib->get_field_id($trackerId, "description"); $res['description'] = $trklib->get_item_value($trackerId, $res['itemId'], $filed); ===================================== lib/trackers/trackerlib.php ===================================== @@ -4114,7 +4114,7 @@ class TrackerLib extends TikiLib * the tracker item. Usually used as the item's title in a list, * the search index, etc. * - * @param [type] $trackerId + * @param [type] $trackerId, optionnal (will be retrieved from itemId if missing) * @param [type] $itemId * @return void */ View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/a4c09df30f1e4cbef23f8eb558ec7aecf9958854 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/a4c09df30f1e4cbef23f8eb558ec7aecf9958854 You're receiving this email because of your account on gitlab.com. |
From: kroky6@users.sourceforge.net - 2024-03-18 14:13:37
|
Revision: 85224 http://sourceforge.net/p/tikiwiki/code/85224 Author: "kroky6" Date: 2024-03-18 14:13:34 +0000 (Mon, 18 Mar 2024) Log Message: ----------- [FIX] recurring event edits: convert disabled to readonly fields, so events can be reconstructed after save Modified Paths: -------------- branches/26.x/templates/calendar/edit_item.tpl Property Changed: ---------------- branches/26.x/ Index: branches/26.x =================================================================== --- branches/26.x 2024-03-18 14:10:56 UTC (rev 85223) +++ branches/26.x 2024-03-18 14:13:34 UTC (rev 85224) Property changes on: branches/26.x ___________________________________________________________________ Added: subgit:lock:8cbd6482d1f527c8eacdd380fe2e4f418d1772ca ## -0,0 +1 ## +2024-03-18T14:13:33.562 \ No newline at end of property Deleted: subgit:lock:9b31662b2dbca080537bc3d353f48c4d178275c9 ## -1 +0,0 ## -2024-03-15T16:40:54.348 \ No newline at end of property Modified: branches/26.x/templates/calendar/edit_item.tpl =================================================================== --- branches/26.x/templates/calendar/edit_item.tpl 2024-03-18 14:10:56 UTC (rev 85223) +++ branches/26.x/templates/calendar/edit_item.tpl 2024-03-18 14:13:34 UTC (rev 85224) @@ -244,7 +244,7 @@ <div class="input-group"> {if $recurrence.id eq 0}<span class="input-group-text"><input type="radio" name="recurrenceTypeMonthy" value="weekday"></span>{/if} <span class="input-group-text">{tr}Every{/tr}</span> - <select name="monthlyWeekNumber" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="monthlyWeekNumber" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="1" {if $recurrence.monthlyWeekdayValue[0] eq '1'} selected="selected" {/if}> {tr}First{/tr} </option> @@ -264,7 +264,7 @@ {tr}Last{/tr} </option> </select> - <select name="monthlyWeekday" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="monthlyWeekday" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="SU" {if strpos($recurrence.monthlyWeekdayValue, 'SU') eq true} selected="selected" {/if}> {tr}Sunday{/tr} </option> @@ -385,7 +385,7 @@ <div class="input-group"> {if $recurrence.id eq 0}<span class="input-group-text"><input type="radio" name="recurrenceTypeYearly" value="weekday"></span>{/if} <span class="input-group-text">{tr}Every{/tr}</span> - <select name="yearlyWeekNumber" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="yearlyWeekNumber" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="1" {if $recurrence.yearlyWeekdayValue[0] eq '1'} selected="selected" {/if}> {tr}First{/tr} </option> @@ -405,7 +405,7 @@ {tr}Last{/tr} </option> </select> - <select name="yearlyWeekday" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="yearlyWeekday" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="SU" {if strpos($recurrence.yearlyWeekdayValue, 'SU') eq true} selected="selected" {/if}> {tr}Sunday{/tr} </option> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Victor E. (@kroky) <gi...@mg...> - 2024-03-18 14:13:34
|
Victor Emanouilov pushed to branch 26.x at Tiki Wiki CMS Groupware / Tiki Commits: 8cbd6482 by Victor Emanouilov at 2024-03-18T16:13:05+02:00 [FIX] recurring event edits: convert disabled to readonly fields, so events can be reconstructed after save - - - - - 1 changed file: - templates/calendar/edit_item.tpl Changes: ===================================== templates/calendar/edit_item.tpl ===================================== @@ -244,7 +244,7 @@ <div class="input-group"> {if $recurrence.id eq 0}<span class="input-group-text"><input type="radio" name="recurrenceTypeMonthy" value="weekday"></span>{/if} <span class="input-group-text">{tr}Every{/tr}</span> - <select name="monthlyWeekNumber" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="monthlyWeekNumber" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="1" {if $recurrence.monthlyWeekdayValue[0] eq '1'} selected="selected" {/if}> {tr}First{/tr} </option> @@ -264,7 +264,7 @@ {tr}Last{/tr} </option> </select> - <select name="monthlyWeekday" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="monthlyWeekday" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="SU" {if strpos($recurrence.monthlyWeekdayValue, 'SU') eq true} selected="selected" {/if}> {tr}Sunday{/tr} </option> @@ -385,7 +385,7 @@ <div class="input-group"> {if $recurrence.id eq 0}<span class="input-group-text"><input type="radio" name="recurrenceTypeYearly" value="weekday"></span>{/if} <span class="input-group-text">{tr}Every{/tr}</span> - <select name="yearlyWeekNumber" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="yearlyWeekNumber" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="1" {if $recurrence.yearlyWeekdayValue[0] eq '1'} selected="selected" {/if}> {tr}First{/tr} </option> @@ -405,7 +405,7 @@ {tr}Last{/tr} </option> </select> - <select name="yearlyWeekday" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="yearlyWeekday" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="SU" {if strpos($recurrence.yearlyWeekdayValue, 'SU') eq true} selected="selected" {/if}> {tr}Sunday{/tr} </option> View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/8cbd6482d1f527c8eacdd380fe2e4f418d1772ca -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/8cbd6482d1f527c8eacdd380fe2e4f418d1772ca You're receiving this email because of your account on gitlab.com. |
From: kroky6@users.sourceforge.net - 2024-03-18 14:11:37
|
Revision: 85223 http://sourceforge.net/p/tikiwiki/code/85223 Author: "kroky6" Date: 2024-03-18 14:11:33 +0000 (Mon, 18 Mar 2024) Log Message: ----------- [FIX] recurring event edits: convert disabled to readonly fields, so events can be reconstructed after save Modified Paths: -------------- trunk/templates/calendar/recurrence.tpl Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-03-17 14:56:41 UTC (rev 85222) +++ trunk 2024-03-18 14:11:33 UTC (rev 85223) Property changes on: trunk ___________________________________________________________________ Deleted: subgit:lock:0e377c48c942c586f10ad6a18a9bfd8bb65c59ba ## -1 +0,0 ## -2024-03-17T14:57:05.577 \ No newline at end of property Added: subgit:lock:5398b23ede46ec6b02436ba391a0f2b1ab279589 ## -0,0 +1 ## +2024-03-18T14:11:32.872 \ No newline at end of property Modified: trunk/templates/calendar/recurrence.tpl =================================================================== --- trunk/templates/calendar/recurrence.tpl 2024-03-17 14:56:41 UTC (rev 85222) +++ trunk/templates/calendar/recurrence.tpl 2024-03-18 14:11:33 UTC (rev 85223) @@ -124,7 +124,7 @@ <div class="input-group"> {if $recurrence.id eq 0}<span class="input-group-text"><input type="radio" {if $recurrence.monthlyType eq 'weekday'}checked="checked"{/if} name="recurrenceTypeMonthy" value="weekday"></span>{/if} <span class="input-group-text">{tr}Every{/tr}</span> - <select name="monthlyWeekNumber" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="monthlyWeekNumber" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="1" {if $recurrence.monthlyWeekdayValue[0] eq '1'} selected="selected" {/if}> {tr}First{/tr} </option> @@ -144,7 +144,7 @@ {tr}Last{/tr} </option> </select> - <select name="monthlyWeekday" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="monthlyWeekday" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="SU" {if strpos($recurrence.monthlyWeekdayValue, 'SU') eq true} selected="selected" {/if}> {tr}Sunday{/tr} </option> @@ -265,7 +265,7 @@ <div class="input-group"> {if $recurrence.id eq 0}<span class="input-group-text"><input type="radio" {if $recurrence.yearlyType eq 'weekday'}checked="checked"{/if} name="recurrenceTypeYearly" value="weekday"></span>{/if} <span class="input-group-text">{tr}Every{/tr}</span> - <select name="yearlyWeekNumber" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="yearlyWeekNumber" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="1" {if $recurrence.yearlyWeekdayValue[0] eq '1'} selected="selected" {/if}> {tr}First{/tr} </option> @@ -285,7 +285,7 @@ {tr}Last{/tr} </option> </select> - <select name="yearlyWeekday" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="yearlyWeekday" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="SU" {if strpos($recurrence.yearlyWeekdayValue, 'SU') eq true} selected="selected" {/if}> {tr}Sunday{/tr} </option> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Victor E. (@kroky) <gi...@mg...> - 2024-03-18 14:11:22
|
Victor Emanouilov pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 5398b23e by Victor Emanouilov at 2024-03-18T16:10:56+02:00 [FIX] recurring event edits: convert disabled to readonly fields, so events can be reconstructed after save - - - - - 1 changed file: - templates/calendar/recurrence.tpl Changes: ===================================== templates/calendar/recurrence.tpl ===================================== @@ -124,7 +124,7 @@ <div class="input-group"> {if $recurrence.id eq 0}<span class="input-group-text"><input type="radio" {if $recurrence.monthlyType eq 'weekday'}checked="checked"{/if} name="recurrenceTypeMonthy" value="weekday"></span>{/if} <span class="input-group-text">{tr}Every{/tr}</span> - <select name="monthlyWeekNumber" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="monthlyWeekNumber" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="1" {if $recurrence.monthlyWeekdayValue[0] eq '1'} selected="selected" {/if}> {tr}First{/tr} </option> @@ -144,7 +144,7 @@ {tr}Last{/tr} </option> </select> - <select name="monthlyWeekday" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="monthlyWeekday" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="SU" {if strpos($recurrence.monthlyWeekdayValue, 'SU') eq true} selected="selected" {/if}> {tr}Sunday{/tr} </option> @@ -265,7 +265,7 @@ <div class="input-group"> {if $recurrence.id eq 0}<span class="input-group-text"><input type="radio" {if $recurrence.yearlyType eq 'weekday'}checked="checked"{/if} name="recurrenceTypeYearly" value="weekday"></span>{/if} <span class="input-group-text">{tr}Every{/tr}</span> - <select name="yearlyWeekNumber" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="yearlyWeekNumber" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="1" {if $recurrence.yearlyWeekdayValue[0] eq '1'} selected="selected" {/if}> {tr}First{/tr} </option> @@ -285,7 +285,7 @@ {tr}Last{/tr} </option> </select> - <select name="yearlyWeekday" class="form-control" {if $recurrence.id neq 0}disabled{/if}> + <select name="yearlyWeekday" class="form-control" {if $recurrence.id neq 0}readonly{/if}> <option value="SU" {if strpos($recurrence.yearlyWeekdayValue, 'SU') eq true} selected="selected" {/if}> {tr}Sunday{/tr} </option> View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/5398b23ede46ec6b02436ba391a0f2b1ab279589 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/5398b23ede46ec6b02436ba391a0f2b1ab279589 You're receiving this email because of your account on gitlab.com. |
From: Jonny B. (@jonnybradley) <gi...@mg...> - 2024-03-18 12:18:04
|
Jonny Bradley pushed to branch tiki-default-preferences-to-be-changed at Tiki Wiki CMS Groupware / Tiki Commits: 3cd60788 by Jonny Bradley at 2024-03-18T13:17:45+01:00 [FIX] tests: Skip toolbar tests as they're far too fragile (were useful during refactoring a while ago but a better strategy is needed for the future) - - - - - 1 changed file: - lib/test/smarty_tiki/FunctionToolbarsTest.php Changes: ===================================== lib/test/smarty_tiki/FunctionToolbarsTest.php ===================================== @@ -37,6 +37,7 @@ class FunctionToolbarsTest extends TikiTestCase public function testFunctionToolbarsDefault(): void { //This test seems to depend on cache somehow. If it's disabled, the testFunctionToolbarsWysiwyg test will fail. We need to completely revisit how we do these tests - benoitg - 2023-11-17'; + $this->markTestSkipped("This test is way too fragile. A better strategy is required."); $params = [ '_wysiwyg' => 'n', @@ -66,6 +67,8 @@ class FunctionToolbarsTest extends TikiTestCase public function testFunctionToolbarsWysiwyg(): void { + $this->markTestSkipped("This test is way too fragile. A better strategy is required."); + $params = [ '_wysiwyg' => 'y', 'area_id' => 'editwiki', View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/3cd60788c825beea1a9e76ffbaf6b8a933bb35e4 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/3cd60788c825beea1a9e76ffbaf6b8a933bb35e4 You're receiving this email because of your account on gitlab.com. |
From: Jonny B. (@jonnybradley) <gi...@mg...> - 2024-03-18 12:15:49
|
Jonny Bradley pushed to branch tiki-default-preferences-to-be-changed at Tiki Wiki CMS Groupware / Tiki Commits: e215adb0 by Jonny Bradley at 2024-03-15T14:06:34+00:00 Trackers ItemsList fields: Prevent fatal error when `fieldIdHere` option is not set --- * [FIX] trackers: Prevent fatal error when `fieldIdHere` option is not set (which is fine as it uses the itemId) See merge request tikiwiki/tiki!4681 - - - - - 187727f2 by Gary Cunningham-Lee at 2024-03-15T14:17:36+00:00 [FIX][UI] Added ARIA attributes, etc. for better accessibility --- * [FIX][UI] Added ARIA attributes, etc. for better accessibility See merge request tikiwiki/tiki!4680 - - - - - 89b9cd83 by Victor Emanouilov at 2024-03-15T16:35:27+02:00 [ENH] files field: add name filter error message option - - - - - 5fbf200e by Philippe Tsongo Thkv at 2024-03-15T16:39:12+00:00 [REF] Move animejs into the new build system: don't pollute the global object. --- See merge request tikiwiki/tiki!4684 - - - - - f2d9b1f6 by Elvis Ansima at 2024-03-15T17:33:21+00:00 [NEW] add toast notification function to JQuery --- * [NEW] add toast notification function to JQuery See merge request tikiwiki/tiki!4685 - - - - - 0e377c48 by Gary Cunningham-Lee at 2024-03-17T14:56:41+00:00 [FIX][UI] Added ARIA attributes and made related changes for better accessibility --- * Update tiki-list_articles.tpl (remove HTML comments) * [FIX][UI] Added ARIA attributes and made related changes for better accessibility See merge request tikiwiki/tiki!4691 - - - - - f20f6524 by Jonny Bradley at 2024-03-18T12:15:27+00:00 [MOD] prefs: First part of implementing https://dev.tiki.org/Tiki27-Pref-Changes-Discussion - - - - - caa31ef7 by Jonny Bradley at 2024-03-18T12:15:27+00:00 [MOD] prefs: Tracker field default changes (some of these are probably too advanced) - - - - - 867cf1ee by Jonny Bradley at 2024-03-18T12:15:27+00:00 [MOD] prefs: Next lot of miscellaneous pref changes - - - - - 8b410085 by Jonny Bradley at 2024-03-18T12:15:27+00:00 [MOD] prefs: Last lot of default changes suggested on https://dev.tiki.org/Tiki27-Pref-Changes-Discussion - - - - - 6bb767ce by Jonny Bradley at 2024-03-18T12:15:27+00:00 [FIX] prefs: Address some feedback on !4507 (sefurl, codemirror and files in database) - - - - - 1369f321 by Jonny Bradley at 2024-03-18T12:15:27+00:00 [FIX] prefs: Add script to preserve existing defaults (hope i didn't miss any!) - - - - - 81b3369e by Jonny Bradley at 2024-03-18T12:15:27+00:00 [RB] prefs: feature_jquery_tablesorter remains disabled by default (thanks @marclaporte - more on https://tiki.org/blogpost970-TableSorter) - - - - - 30 changed files: - + installer/schema/20240311_various_pref_default_tiki27_tiki.php - lib/core/Tracker/Field/Dropdown.php - lib/core/Tracker/Field/Files.php - lib/core/Tracker/Field/GeographicFeature.php - lib/core/Tracker/Field/ItemsList.php - lib/core/Tracker/Field/Math.php - lib/core/Tracker/Field/Relation.php - lib/core/Tracker/Field/UserGroups.php - lib/core/WikiParser/Parsable.php - lib/jquery_tiki/tiki-jquery.js - lib/parser/parserlib.php - lib/prefs/change.php - lib/prefs/cookie.php - lib/prefs/feature.php - lib/prefs/fgal.php - lib/prefs/global.php - lib/prefs/jquery.php - lib/prefs/layout.php - lib/prefs/namespace.php - lib/prefs/permission.php - lib/prefs/session.php - lib/prefs/site.php - lib/prefs/tracker.php - lib/prefs/unified.php - lib/prefs/user.php - lib/prefs/users.php - lib/prefs/vuejs.php - lib/prefs/wiki.php - lib/prefs/wikiplugin.php - lib/smarty_tiki/FunctionHandler/JsCalendar.php The diff was not included because it is too large. View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/compare/f60053c14deb13d16356d404dc7f9a291565321a...81b3369ea32df3002103853537fab38e0ac2fad6 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/compare/f60053c14deb13d16356d404dc7f9a291565321a...81b3369ea32df3002103853537fab38e0ac2fad6 You're receiving this email because of your account on gitlab.com. |
From: gary_c@users.sourceforge.net - 2024-03-17 14:57:11
|
Revision: 85222 http://sourceforge.net/p/tikiwiki/code/85222 Author: "gary_c" Date: 2024-03-17 14:57:08 +0000 (Sun, 17 Mar 2024) Log Message: ----------- [FIX][UI] Added ARIA attributes and made related changes for better accessibility --- * Update tiki-list_articles.tpl (remove HTML comments) * [FIX][UI] Added ARIA attributes and made related changes for better accessibility See merge request tikiwiki/tiki!4691 Modified Paths: -------------- trunk/lib/smarty_tiki/FunctionHandler/TreeTable.php trunk/templates/find.tpl trunk/templates/tiki-admin_forums.tpl trunk/templates/tiki-admin_structures.tpl trunk/templates/tiki-blog_post.tpl trunk/templates/tiki-directory_add_site.tpl trunk/templates/tiki-directory_admin_categories.tpl trunk/templates/tiki-directory_admin_sites.tpl trunk/templates/tiki-edit_blog.tpl trunk/templates/tiki-list_articles.tpl trunk/templates/tiki-list_posts.tpl trunk/templates/tiki-listpages.tpl trunk/templates/tiki-listpages_content.tpl trunk/themes/base_files/scss/_tablesorter-tiki.scss Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk 2024-03-17 14:57:08 UTC (rev 85222) Property changes on: trunk ___________________________________________________________________ Added: subgit:lock:0e377c48c942c586f10ad6a18a9bfd8bb65c59ba ## -0,0 +1 ## +2024-03-17T14:57:05.577 \ No newline at end of property Deleted: subgit:lock:f2d9b1f6cf0e5663518c1e8096a96d80a7c29b4c ## -1 +0,0 ## -2024-03-15T17:33:46.914 \ No newline at end of property Modified: trunk/lib/smarty_tiki/FunctionHandler/TreeTable.php =================================================================== --- trunk/lib/smarty_tiki/FunctionHandler/TreeTable.php 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/lib/smarty_tiki/FunctionHandler/TreeTable.php 2024-03-17 14:57:08 UTC (rev 85222) @@ -414,7 +414,7 @@ } $html .= '<td class="checkBoxCell" style="white-space: nowrap;">'; - $html .= '<input type="checkbox" name="' . htmlspecialchars($_checkbox[$i]) . '[]" value="' . $rowVal . '"' . + $html .= '<input type="checkbox" class="form-check-input" name="' . htmlspecialchars($_checkbox[$i]) . '[]" value="' . $rowVal . '"' . ($cbxVal == 'y' ? ' checked="checked"' : '') . ' title="' . $cbxTit . '" />'; if ($cbxVal == 'y') { $html .= '<input type="hidden" name="old_' . htmlspecialchars($_checkbox[$i]) . '[]" value="' . $rowVal . '" />'; Modified: trunk/templates/find.tpl =================================================================== --- trunk/templates/find.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/find.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -101,12 +101,12 @@ {/if} {if (isset($find_show_languages) && $find_show_languages eq 'y') and $prefs.feature_multilingual eq 'y'} <div class="mb-3 row mx-0"> - <label class="col-form-label col-sm-5"> + <label class="col-form-label col-sm-5" for="findlang"> {tr}Language{/tr} </label> <div class="col-sm-7"> <span class="findlang"> - <select name="lang" class="in form-control form-control-sm"> + <select name="lang" class="in form-control form-control-sm" id="findlang"> <option value='' {if $find_lang eq ''}selected="selected"{/if}>{tr}any language{/tr}</option> {section name=ix loop=$languages} @@ -159,11 +159,11 @@ {if ((isset($find_show_categories) && $find_show_categories eq 'y') or (isset($find_show_categories_multi) && $find_show_categories_multi eq 'y')) and $prefs.feature_categories eq 'y' and !empty($categories)} <div class="mb-3 row mx-0 category_find"> {if $find_show_categories_multi eq 'n' || $findSelectedCategoriesNumber <= 1} - <label class="col-sm-5 col-form-label"> + <label class="col-sm-5 col-form-label" for="findcategory"> {tr}Category{/tr} </label> <div id="category_singleselect_find" class="col-sm-7"> - <select name="categId" class="findcateg form-control form-control-sm"> + <select name="categId" class="findcateg form-control form-control-sm" id="findcategory"> <option value='' {if $find_categId eq ''}selected="selected"{/if}>{tr}any category{/tr}</option> {foreach $categories as $identifier => $category} Modified: trunk/templates/tiki-admin_forums.tpl =================================================================== --- trunk/templates/tiki-admin_forums.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-admin_forums.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -74,7 +74,7 @@ {section name=user loop=$channels} <tr> <td style="text-align:center"> - <input type="checkbox" class="form-check-input" name="checked[]" value="{$channels[user].forumId|escape}" {if isset($smarty.request.checked) and $smarty.request.checked and in_array($channels[user].forumId,$smarty.request.checked)}checked="checked"{/if}> + <input type="checkbox" class="form-check-input" name="checked[]" aria-label="{tr}Select{/tr}" value="{$channels[user].forumId|escape}" {if isset($smarty.request.checked) and $smarty.request.checked and in_array($channels[user].forumId,$smarty.request.checked)}checked="checked"{/if}> </td> <td> <a class="link" href="{$channels[user].forumId|sefurl:'forum'}" title="{tr}View{/tr}">{$channels[user].name|escape}</a> @@ -81,7 +81,7 @@ </td> <td class="integer"><span class="badge bg-secondary">{$channels[user].threads}<span></td> <td class="integer"> - <input type="number" name="order[]" value="{$channels[user].forumOrder|escape}"> + <input type="number" name="order[]" value="{$channels[user].forumOrder|escape}" aria-label="{tr}Order{/tr}"> <input type="hidden" name="forumsId[]" value="{$channels[user].forumId|escape}"> </td> <td class="integer"><span class="badge bg-secondary">{$channels[user].comments}<span></td> @@ -154,7 +154,7 @@ <div class="text-start tiki-form-group row"> <br> <label for="action" class="col-lg"></label> <div class="col-sm-6 input-group"> - <select name="action" class="form-control" onchange="show('groups');"> + <select name="action" id="action" class="form-control" onchange="show('groups');"> <option value="no_action" selected disabled> {tr}Select action to perform with checked{/tr}... </option> @@ -203,9 +203,9 @@ </div> </div> <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label" for="section">{tr}Section{/tr}</label> + <label class="col-sm-4 col-form-label" for="new_section">{tr}Section{/tr}</label> <div class="col-sm-4"> - <select name="section" id="section" class="form-control"> + <select name="section" id="section" aria-label="{tr}New section{/tr}" class="form-control"> <option value="" {if $forumSection eq ""}selected="selected"{/if}>{tr}None{/tr}</option> <option value="__new__">{tr}Create new{/tr}</option> {section name=ix loop=$sections} @@ -214,7 +214,7 @@ </select> </div> <div class="col-sm-4"> - <input name="new_section" class="form-control" type="text"> + <input name="new_section" id="new_section" class="form-control" type="text"> </div> </div> @@ -244,7 +244,7 @@ </div> {/if} <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label" for="image">{tr}Forum Order{/tr}</label> + <label class="col-sm-4 col-form-label">{tr}Forum order{/tr}</label> <div class="col-sm-8"> <div class="form-text"> {tr}{$forumOrder|escape}{/tr} @@ -307,7 +307,7 @@ </div> </div> <div class="col-sm-8"> - <input type="text" class="form-control" name="mail" value="{$mail|escape}"> + <input type="text" class="form-control" name="mail" aria-label="{tr}Email address{/tr}" value="{$mail|escape}"> </div> </div> <div class="tiki-form-group row"> @@ -364,8 +364,8 @@ <input type="text" name="outbound_from" id="outbound_from" class="form-control" value="{$outbound_from|escape}"> </div> </div> - <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label">{tr}Add messages from this email to the forum{/tr}</label> + <fieldset class="tiki-form-group row"> + <legend class="col-sm-4 col-form-label">{tr}Add messages from this email to the forum{/tr}</legend> <div class="col-sm-8"> <div class="tiki-form-group row"> <label class="col-sm-4 col-form-label" for="inbound_pop_server">{tr}POP3 server{/tr}</label> @@ -386,7 +386,7 @@ </div> </div> </div> - </div> + </fieldset> </fieldset> <fieldset> @@ -421,8 +421,8 @@ <input type="text" class="form-control" name="topicsPerPage" id="topicsPerPage" value="{$topicsPerPage|escape}"> </div> </div> - <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label">{tr}Topic list configuration{/tr}</label> + <fieldset class="tiki-form-group row"> + <legend class="col-sm-4 col-form-label">{tr}Topic list configuration{/tr}</legend> <div class="col-sm-8"> <div class="form-check"> <input type="checkbox" class="form-check-input" name="topics_list_replies" id="topics_list_replies" {if $topics_list_replies eq 'y'}checked="checked"{/if}> @@ -473,7 +473,7 @@ </label> </div> </div> - </div> + </fieldset> <div class="tiki-form-group row"> <label class="col-sm-4 form-check-label" for="topic_smileys">{tr}Use topic smileys{/tr}</label> <div class="col-sm-8"> @@ -522,8 +522,8 @@ {html_options name=approval_type for=approval_type id=approval_type class="form-control" options=$approval_options selected=$approval_type} </div> </div> - <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label">{tr}User information display{/tr}</label> + <fieldset class="tiki-form-group row"> + <legend class="col-sm-4 col-form-label">{tr}User information display{/tr}</legend> <div class="col-sm-8"> <div class="form-check"> <input class="form-check-input" type="checkbox" name="ui_avatar" id="ui_avatar" {if $ui_avatar eq 'y'}checked="checked"{/if}> @@ -568,7 +568,7 @@ </label> </div> </div> - </div> + </fieldset> <div class="tiki-form-group row"> <label class="col-sm-4 form-check-label" for="vote_threads">{tr}Posts can be rated{/tr}</label> <div class="col-sm-8"> @@ -587,11 +587,12 @@ {html_options name=att id=att class="form-control" options=$attachment_options selected=$att} </div> </div> - <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label" for="att_store_db">{tr}Store attachments in{/tr}</label> + <fieldset class="tiki-form-group row"> + <legend class="col-sm-4 col-form-label">{tr}Store attachments in{/tr}</legend> <div class="col-sm-8"> <div class="form-check"> - <input type="radio" class="form-check-input" name="att_store" id="att_store_db" value="db" {if $att_store eq 'db'}checked="checked"{/if}> {tr}Database{/tr} + <input type="radio" class="form-check-input" name="att_store" id="att_store_db" value="db" {if $att_store eq 'db'}checked="checked"{/if}> + <label class="form-check-label" for="att_store_db">{tr}Database{/tr}</label> </div> <div class=""> <div class="form-check"> @@ -606,7 +607,7 @@ </div> </div> </div> - </div> + </fieldset> <div class="tiki-form-group row"> <label class="col-form-label col-sm-4" for="att_max_size">{tr}Max attachment size (bytes){/tr}</label> <div class="col-sm-8"> Modified: trunk/templates/tiki-admin_structures.tpl =================================================================== --- trunk/templates/tiki-admin_structures.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-admin_structures.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -89,7 +89,7 @@ {if $tiki_p_admin eq 'y'} <td class="checkbox-cell"> <div class="form-check"> - <input type="checkbox" name="action[]" value='{$channels[ix].page_ref_id}'> + <input type="checkbox" class="form-check-input" name="action[]" value='{$channels[ix].page_ref_id}' aria-label="Select"> </div> </td> {/if} Modified: trunk/templates/tiki-blog_post.tpl =================================================================== --- trunk/templates/tiki-blog_post.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-blog_post.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -59,7 +59,7 @@ {/if} <div class="mb-3 row"> <div class="col-md-12"> - <label class="col-form-label" for="title">{tr}Title{/tr}</label> + <label class="col-form-label" for="blog_title">{tr}Title{/tr}</label> <input type="text" maxlength="255" class="form-control" name="title" id="blog_title" {if isset($post_info.title)}value="{$post_info.title|escape}"{/if}> </div> </div> @@ -114,7 +114,7 @@ <div class="mb-3 row"> <label class="col-md-4 col-form-label" for="blogpriv">{tr}Private{/tr}</label> <div class="col-md-8"> - <input type="checkbox" name="blogpriv" id="blogpriv" {if $blogpriv eq 'y'}checked="checked"{/if}> + <input type="checkbox" class="form-check-input" name="blogpriv" id="blogpriv" {if $blogpriv eq 'y'}checked="checked"{/if}> </div> </div> {if $prefs.feature_blog_edit_publish_date eq 'y'} @@ -126,8 +126,9 @@ {else} {$created = ''} {/if} - {html_select_date prefix="publish_" time=$created start_year=$prefs.display_start_year end_year=$prefs.display_end_year field_order=$prefs.display_field_order} {tr}at{/tr} - {html_select_time prefix="publish_" time=$created display_seconds=false use_24_hours=$use_24hr_clock} + {html_select_date prefix="publish_" time=$created start_year=$prefs.display_start_year end_year=$prefs.display_end_year field_order=$prefs.display_field_order} + <div class="ms-3 my-2">{tr}at{/tr}</div> + <div class="ms-2">{html_select_time prefix="publish_" time=$created display_seconds=false use_24_hours=$use_24hr_clock}</div> </div> </div> {/if} Modified: trunk/templates/tiki-directory_add_site.tpl =================================================================== --- trunk/templates/tiki-directory_add_site.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-directory_add_site.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -53,25 +53,25 @@ <input type="hidden" name="siteId" value="{$siteId|escape}"> <div class="mb-3 row"> - <label class="col-sm-3 col-form-label">{tr}Name{/tr}</label> + <label class="col-sm-3 col-form-label" for="name">{tr}Name{/tr}</label> <div class="col-sm-7"> <input type="text" id="name" name="name" value="{$info.name|escape}" class="form-control"> </div> </div> <div class="mb-3 row"> - <label class="col-sm-3 col-form-label">{tr}Description{/tr}</label> + <label class="col-sm-3 col-form-label" for="description">{tr}Description{/tr}</label> <div class="col-sm-7"> <textarea rows="5" cols="60" id="description" name="description" class="form-control">{$info.description|escape}</textarea> </div> </div> <div class="mb-3 row"> - <label class="col-sm-3 col-form-label">{tr}URL{/tr}</label> + <label class="col-sm-3 col-form-label" for="url">{tr}URL{/tr}</label> <div class="col-sm-7"> - <input type="text" size="60" id="url" name="url" value="{if $info.url ne ""}{$info.url|escape}{else}http://{/if}" class="form-control"> + <input type="text" size="60" id="url" name="url" id="url" value="{if $info.url ne ""}{$info.url|escape}{else}https://{/if}" class="form-control"> </div> </div> <div class="mb-3 row"> - <label class="col-sm-3 col-form-label">{tr}Directory Categories{/tr}</label> + <label class="col-sm-3 col-form-label" for="siteCats">{tr}Directory Categories{/tr}</label> <div class="col-sm-7"> <select id="siteCats" name="siteCats[]" multiple="multiple" size="4" class="form-control"> {section name=ix loop=$categs} @@ -88,7 +88,7 @@ </div> {if $prefs.directory_country_flag eq 'y'} <div class="mb-3 row"> - <label class="col-sm-3 col-form-label">{tr}Country{/tr}</label> + <label class="col-sm-3 col-form-label" for="country">{tr}Country{/tr}</label> <div class="col-sm-7"> <select id="country" name="country" class="form-control"> {section name=ux loop=$countries} @@ -109,8 +109,7 @@ {include file='antibot.tpl' td_style="formcolor"} {/if} <div class="mb-3 row"> - <label class="col-sm-3 col-form-label"></label> - <div class="col-sm-7"> + <div class="col-sm-7 offset-sm-3"> <input type="submit" class="btn btn-primary" name="save" value="{tr}Save{/tr}"> </div> </div> Modified: trunk/templates/tiki-directory_admin_categories.tpl =================================================================== --- trunk/templates/tiki-directory_admin_categories.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-directory_admin_categories.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -10,11 +10,11 @@ {ticket} <br> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label"> + <label class="col-sm-4 col-form-label" for="parent"> {tr}Parent directory category{/tr} </label> <div class="col-sm-7"> - <select name="parent" onchange="javascript:path.submit();" class="form-control"> + <select name="parent" id="parent" onchange="javascript:path.submit();" class="form-control"> <option value="0">{tr}Top{/tr}</option> {section name=ix loop=$categs} <option value="{$categs[ix].categId|escape}" {if $parent eq $categs[ix].categId}selected="selected"{/if}>{$categs[ix].path|escape}</option> @@ -40,21 +40,21 @@ <input type="hidden" name="categId" value="{$categId|escape}"> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label">{tr}Name{/tr}</label> + <label class="col-sm-4 col-form-label" for="name">{tr}Name{/tr}</label> <div class="col-sm-7"> - <input type="text" name="name" value="{$info.name|escape}" class="form-control"> + <input type="text" name="name" id="name" value="{$info.name|escape}" class="form-control"> </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label">{tr}Description{/tr}</label> + <label class="col-sm-4 col-form-label" for="description">{tr}Description{/tr}</label> <div class="col-sm-7"> - <textarea rows="5" cols="60" name="description" class="form-control">{$info.description|escape}</textarea> + <textarea rows="5" cols="60" name="description" id="description" class="form-control">{$info.description|escape}</textarea> </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label">{tr}Child type{/tr}</label> + <label class="col-sm-4 col-form-label" for="childrenType">{tr}Child type{/tr}</label> <div class="col-sm-7"> - <select name="childrenType" class="form-control"> + <select name="childrenType" id="childrenType" class="form-control"> <option value='c' {if $info.childrenType eq 'c'}selected="selected"{/if}>{tr}Most visited directory sub-categories{/tr}</option> <option value='d' {if $info.childrenType eq 'd'}selected="selected"{/if}>{tr}Directory category description{/tr}</option> <option value='r' {if $info.childrenType eq 'r'}selected="selected"{/if}>{tr}Random directory sub-categories{/tr}</option> @@ -62,9 +62,9 @@ </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label">{tr}Maximum number of child directory categories to show{/tr}</label> + <label class="col-sm-4 col-form-label" for="viewableChildren">{tr}Maximum number of child directory categories to show{/tr}</label> <div class="col-sm-7"> - <select name="viewableChildren" class="form-control"> + <select name="viewableChildren" id="viewableChildren" class="form-control"> <option value="0" {if $info.viewableChildren eq 0}selected="selected"{/if}>{tr}none{/tr}</option> <option value="1" {if $info.viewableChildren eq 1}selected="selected"{/if}>1</option> <option value="2" {if $info.viewableChildren eq 2}selected="selected"{/if}>2</option> @@ -75,21 +75,21 @@ </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label">{tr}Allow sites in this directory category{/tr}</label> + <label class="col-sm-4 col-form-label" for="allowSites">{tr}Allow sites in this directory category{/tr}</label> <div class="col-sm-7"> - <input name="allowSites" type="checkbox" {if $info.allowSites eq 'y'}checked="checked"{/if} > + <input name="allowSites" id="allowSites" type="checkbox" {if $info.allowSites eq 'y'}checked="checked"{/if} > </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label">{tr}Show number of sites in this directory category{/tr}</label> + <label class="col-sm-4 col-form-label" for="showCount">{tr}Show number of sites in this directory category{/tr}</label> <div class="col-sm-7"> - <input name="showCount" type="checkbox" {if $info.showCount eq 'y'}checked="checked"{/if}> + <input name="showCount" id="showCount" type="checkbox" {if $info.showCount eq 'y'}checked="checked"{/if}> </div> </div> <div class="mb-3 row"> - <label class="col-sm-4 col-form-label">{tr}Editor group{/tr}</label> + <label class="col-sm-4 col-form-label" for="editorGroup">{tr}Editor group{/tr}</label> <div class="col-sm-7"> - <select name="editorGroup" class="form-control"> + <select name="editorGroup" id="editorGroup" class="form-control"> <option value="">{tr}None{/tr}</option> {section name=ux loop=$groups} <option value="{$groups[ux]|escape}" {if $editorGroup eq $groups[ux]}selected="selected"{/if}>{$groups[ux]}</option> @@ -118,7 +118,7 @@ <th><a href="tiki-directory_admin_categories.php?parent={$parent}&offset={$offset}&sort_mode={if $sort_mode eq 'allowSites_desc'}allowSites_asc{else}allowSites_desc{/if}">{tr}allow{/tr}</a></th> <th><a href="tiki-directory_admin_categories.php?parent={$parent}&offset={$offset}&sort_mode={if $sort_mode eq 'showCount_desc'}showCount_asc{else}showCount_desc{/if}">{tr}count{/tr}</a></th> <th><a href="tiki-directory_admin_categories.php?parent={$parent}&offset={$offset}&sort_mode={if $sort_mode eq 'editorGroup_desc'}editorGroup_asc{else}editorGroup_desc{/if}">{tr}editor{/tr}</a></th> - <th></th> + <td></td> {* Changed from th to avoid ARIA empty header error *} </tr> {section name=user loop=$items} Modified: trunk/templates/tiki-directory_admin_sites.tpl =================================================================== --- trunk/templates/tiki-directory_admin_sites.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-directory_admin_sites.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -5,11 +5,11 @@ <form name="path" method="post" action="tiki-directory_admin_categories.php"> {ticket} <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label"> + <label class="col-sm-4 col-form-label" for="parent"> {tr}Parent directory category{/tr} </label> <div class="col-sm-7"> - <select name="parent" onchange="javascript:path.submit();" class="form-control"> + <select name="parent" id="parent" onchange="javascript:path.submit();" class="form-control"> <option value="0">{tr}Top{/tr}</option> {section name=ix loop=$categs} <option value="{$categs[ix].categId|escape}" {if $parent eq $categs[ix].categId}selected="selected"{/if}>{$categs[ix].path|escape}</option> @@ -30,27 +30,27 @@ <input type="hidden" name="siteId" value="{$siteId|escape}"> <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label">{tr}Name{/tr}</label> + <label class="col-sm-4 col-form-label" for="name">{tr}Name{/tr}</label> <div class="col-sm-7"> - <input type="text" name="name" value="{$info.name|escape}" class="form-control"> + <input type="text" name="name" id="name" value="{$info.name|escape}" class="form-control"> </div> </div> <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label">{tr}Description{/tr}</label> + <label class="col-sm-4 col-form-label" for="description">{tr}Description{/tr}</label> <div class="col-sm-7"> - <textarea rows="5" cols="60" name="description" class="form-control">{$info.description|escape}</textarea> + <textarea rows="5" cols="60" name="description" id="description" class="form-control">{$info.description|escape}</textarea> </div> </div> <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label">{tr}URL{/tr}</label> + <label class="col-sm-4 col-form-label" for="url">{tr}URL{/tr}</label> <div class="col-sm-7"> - <input type="text" size="60" name="url" value="{if $info.url ne ""}{$info.url|escape}{else}http://{/if}" class="form-control"> + <input type="text" size="60" name="url" id="url" value="{if $info.url ne ""}{$info.url|escape}{else}https://{/if}" class="form-control"> </div> </div> <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label">{tr}Directory Categories{/tr}</label> + <label class="col-sm-4 col-form-label" for="siteCats[]">{tr}Directory Categories{/tr}</label> <div class="col-sm-7"> - <select name="siteCats[]" multiple="multiple" size="4" class="form-control"> + <select name="siteCats[]" id="siteCats[]" multiple="multiple" size="4" class="form-control"> {section name=ix loop=$categs} <option value="{$categs[ix].categId|escape}" {if $categs[ix].belongs eq 'y' or $categs[ix].categId eq $addtocat}selected="selected"{/if}> {$categs[ix].path|escape} @@ -65,7 +65,7 @@ </div> {if $prefs.directory_country_flag eq 'y'} <div class="tiki-form-group row"> - <label class="col-sm-4 col-form-label">{tr}Country{/tr}</label> + <label class="col-sm-4 col-form-label" for="country">{tr}Country{/tr}</label> <div class="col-sm-7"> <select id="country" name="country" class="form-control"> {section name=ux loop=$countries} @@ -76,9 +76,9 @@ </div> {/if} <div class="row mb-2"> - <label class="col-sm-4 col-form-label">{tr}Is valid{/tr} </label> + <label class="col-sm-4 col-form-label" for="isValid">{tr}Is valid{/tr} </label> <div class="col-sm-7"> - <input name="isValid" type="checkbox" {if $info.isValid eq 'y'}checked="checked"{/if}> + <input name="isValid" id="isValid" type="checkbox" {if $info.isValid eq 'y'}checked="checked"{/if}> </div> </div> <div class="tiki-form-group row"> @@ -96,7 +96,7 @@ <div class="{if $js}table-responsive{/if}"> {* table-responsive class cuts off css drop-down menus *} <table class="table table-striped table-hover"> <tr> - <th> </th> + <td></td> {* th changed to td to prevent AIRA empty header error *} <th> <a href="tiki-directory_admin_sites.php?parent={$parent}&offset={$offset}&sort_mode={if $sort_mode eq 'name_desc'}name_asc{else}name_desc{/if}">{tr}Name{/tr}</a> </th> <th> <a href="tiki-directory_admin_sites.php?parent={$parent}&offset={$offset}&sort_mode={if $sort_mode eq 'url_desc'}url_asc{else}url_desc{/if}">{tr}URL{/tr}</a> </th> {if $prefs.directory_country_flag eq 'y'} @@ -104,12 +104,12 @@ {/if} <th class="text-center"> <a href="tiki-directory_admin_sites.php?parent={$parent}&offset={$offset}&sort_mode={if $sort_mode eq 'hits_desc'}hits_asc{else}hits_desc{/if}">{tr}Hits{/tr}</a> </th> <th class="text-center"> <a href="tiki-directory_admin_sites.php?parent={$parent}&offset={$offset}&sort_mode={if $sort_mode eq 'isValid_desc'}isValid_asc{else}isValid_desc{/if}">{tr}Valid{/tr}</a> </th> - <th></th> + <td></td> </tr> {section name=user loop=$items} <tr class="{cycle advance=false}"> - <td class="checkbox-cell"><div class="form-check"><input class="checkboxes" type="checkbox" name="remove[]" value="{$items[user].siteId}" required></div></td> + <td class="checkbox-cell"><input class="form-check-input" type="checkbox" name="remove[]" value="{$items[user].siteId}" required></td> <td class="text">{$items[user].name|escape}</td> <td class="text"><a href="{$items[user].url}" target="_new">{$items[user].url}</a></td> {if $prefs.directory_country_flag eq 'y'} Modified: trunk/templates/tiki-edit_blog.tpl =================================================================== --- trunk/templates/tiki-edit_blog.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-edit_blog.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -43,7 +43,7 @@ <div class="mb-3 row"> <label class="col-sm-3 col-form-label" for="creator">{tr}Creator{/tr}</label> <div class="col-sm-9"> - <select name="creator" class="form-control"> + <select name="creator" id="creator" class="form-control"> {if ($tiki_p_admin eq 'y' or $tiki_p_blog_admin eq 'y') and !empty($users)} {foreach from=$users key=userId item=u} <option value="{$u|escape}"{if $u eq $creator} selected="selected"{/if}>{$u|escape}</option> @@ -145,8 +145,8 @@ </label> </div> <div class="form-check"> - <input type="checkbox" class="form-check-input" name="show_avatar" id="blogs-avatar" {if $show_avatar eq 'y'}checked='checked'{/if} - <label for="blogs-avatar" class="form-check-label"> > + <input type="checkbox" class="form-check-input" name="show_avatar" id="blogs-avatar" {if $show_avatar eq 'y'}checked='checked'{/if}> + <label for="blogs-avatar" class="form-check-label"> {tr}Show user profile picture{/tr} </label> </div> Modified: trunk/templates/tiki-list_articles.tpl =================================================================== --- trunk/templates/tiki-list_articles.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-list_articles.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -42,11 +42,9 @@ <table class="table"> <tr> {if $listpages and $tiki_p_remove_article eq 'y'} - <th class="auto"> - <div class="form-check"> - {select_all checkbox_names='checked[]'} - </div> - </th> + <td class="auto"> {* Changed from th to prevent ARIA empty header error *} + {select_all checkbox_names='checked[]'} + </td> {/if} {if $prefs.art_list_title eq 'y'} {assign var=numbercol value=$numbercol+1} @@ -119,7 +117,7 @@ {/if} {if $tiki_p_edit_article eq 'y' or $tiki_p_remove_article eq 'y' or isset($oneEditPage) or $tiki_p_read_article} {assign var=numbercol value=$numbercol+1} - <th></th> + <td></td> {* Changed from th to prevent ARIA empty header error *} {/if} </tr> @@ -132,9 +130,7 @@ <tr> {if $listpages[changes].perms.tiki_p_remove_article eq 'y'} <td class="checkbox-cell"> - <div class="form-check"> - <input class="checkboxes" type="checkbox" name="checked[]" value="{$listpages[changes].articleId|escape}" {if $listpages[changes].checked eq 'y'}checked="checked" {/if} required> - </div> + <input class="form-check-input" aria-label="{tr}Select{/tr}" type="checkbox" name="checked[]" value="{$listpages[changes].articleId|escape}" {if $listpages[changes].checked eq 'y'}checked="checked" {/if} required> </td> {/if} {if $prefs.art_list_title eq 'y'} Modified: trunk/templates/tiki-list_posts.tpl =================================================================== --- trunk/templates/tiki-list_posts.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-list_posts.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -18,9 +18,9 @@ <table class="table"> <tr> {if $posts and $tiki_p_blog_admin eq 'y'} - <th> + <td> {* Changed from th to prevent ARIA empty header error *} {select_all checkbox_names='checked[]'} - </th> + </td> {/if} <th> <a href="tiki-list_posts.php?{if isset($blogId)}blogId={$blogId}&{/if}offset={$offset}&sort_mode={if $sort_mode eq 'title_asc'}title_desc{else}title_asc{/if}"> @@ -37,13 +37,13 @@ <th> <a href="tiki-list_posts.php?{if isset($blogId)}blogId={$blogId}&{/if}offset={$offset}&sort_mode={if $sort_mode eq 'user_desc'}user_asc{else}user_desc{/if}">{tr}Author{/tr}</a> </th> - <th></th> + <td></td> {* Changed from th to prevent ARIA empty header error *} </tr> {section name=changes loop=$posts}{assign var=id value=$posts[changes].postId} <tr> - <td class="checkbox-cell"><div class="form-check"><input type="checkbox" name="checked[]" value="{$id}"></div></td> + <td class="checkbox-cell"><input class="form-check-input" aria-label="{tr}Select{/tr}" type="checkbox" name="checked[]" value="{$id}"></td> <td class="text">{object_link type="blog post" id=$posts[changes].postId title=$posts[changes].title}</td> {if !isset($blogId)} <td class="text"> Modified: trunk/templates/tiki-listpages.tpl =================================================================== --- trunk/templates/tiki-listpages.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-listpages.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -42,7 +42,7 @@ <div> <form method="get" action="tiki-editpage.php"> <div class="mb-3 row"> - <label class="col-form-label col-sm-3">{tr}Insert name of the page you wish to create{/tr}</label> + <label class="col-form-label col-sm-3" for="pagename">{tr}Name of new page{/tr}</label> <div class="col-sm-9"> <input class="form-control" id="pagename" type="text" name="page"> {jq} Modified: trunk/templates/tiki-listpages_content.tpl =================================================================== --- trunk/templates/tiki-listpages_content.tpl 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/templates/tiki-listpages_content.tpl 2024-03-17 14:57:08 UTC (rev 85222) @@ -192,9 +192,7 @@ {if $checkboxes_on eq 'y'} <td class="checkbox-cell"> - <div class="form-check"> - <input type="checkbox" name="checked[]" value="{$listpages[changes].pageName|escape}"> - </div> + <input type="checkbox" class="form-check-input" aria-label="{tr}Select{/tr}" name="checked[]" value="{$listpages[changes].pageName|escape}"> </td> {/if} Modified: trunk/themes/base_files/scss/_tablesorter-tiki.scss =================================================================== --- trunk/themes/base_files/scss/_tablesorter-tiki.scss 2024-03-15 17:33:21 UTC (rev 85221) +++ trunk/themes/base_files/scss/_tablesorter-tiki.scss 2024-03-17 14:57:08 UTC (rev 85222) @@ -198,7 +198,7 @@ } select, input { font-size: smaller; - border: none; + border: var(--bs-border-width) solid var(--bs-border-color); } div.ts-pager { margin-top: 3px; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: ansimapersic@users.sourceforge.net - 2024-03-15 17:33:51
|
Revision: 85221 http://sourceforge.net/p/tikiwiki/code/85221 Author: "ansimapersic" Date: 2024-03-15 17:33:49 +0000 (Fri, 15 Mar 2024) Log Message: ----------- [NEW] add toast notification function to JQuery --- * [NEW] add toast notification function to JQuery See merge request tikiwiki/tiki!4685 Modified Paths: -------------- trunk/lib/jquery_tiki/tiki-jquery.js Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-03-15 16:39:24 UTC (rev 85220) +++ trunk 2024-03-15 17:33:49 UTC (rev 85221) Property changes on: trunk ___________________________________________________________________ Deleted: subgit:lock:5fbf200e31e2e88a96a3d1b5ebc130e0cb5141c9 ## -1 +0,0 ## -2024-03-15T16:39:40.912 \ No newline at end of property Added: subgit:lock:f2d9b1f6cf0e5663518c1e8096a96d80a7c29b4c ## -0,0 +1 ## +2024-03-15T17:33:46.914 \ No newline at end of property Modified: trunk/lib/jquery_tiki/tiki-jquery.js =================================================================== --- trunk/lib/jquery_tiki/tiki-jquery.js 2024-03-15 16:39:24 UTC (rev 85220) +++ trunk/lib/jquery_tiki/tiki-jquery.js 2024-03-15 17:33:49 UTC (rev 85221) @@ -4788,3 +4788,98 @@ }, function() { alert(tr("Press Ctrl+C to copy")); }); + +/** + * Display a toast notification with customizable options. + * + * @param {Object} options - The options for customizing the toast notification. + * Available options: + * - body: The content of the toast notification (default: ""). + * - title: The title of the toast notification (default: null). + * - position: The position of the toast notification (default: "top-end"). + * - delay: The delay before the toast notification disappears (default: "5000"). + * - autohide: Whether the toast notification should automatically disappear (default: true). + * - classes: Additional CSS classes for styling the toast notification (default: ""). + * - style: Inline CSS styles for styling the toast notification (default: ""). + * - onClose: Callback function to be invoked when the toast notification is closed (default: null). + */ + +$.fn.toastNotification = function (options) { + // Default options + const defaultOptions = { + body: "", + title: null, + position: "top-end", + delay: "5000", + autohide: true, + classes: "", + style: "", + onClose: null // Close callback function + }; + + // Merge user-provided options with default options + options = $.extend({}, defaultOptions, options); + + window.toast_notifications = window.toast_notifications || 0; + let positions_classes = { + "top-end": "top-0 end-0", + "top-start": "top-0 start-0", + "bottom-end": "bottom-0 end-0", + "bottom-start": "bottom-0 start-0" + }; + let current_position = positions_classes.hasOwnProperty(options.position) ? positions_classes[options.position] : "top-0 end-0"; + let classes_array = current_position.split(" "); + let toastwrapper = this.find(`.toast-wrapper .toast-container.${classes_array[0]}.${classes_array[1]}`); //this help us have different containers per position + if (!toastwrapper.length) { + this.append(`<div aria-live="polite" aria-atomic="true" class="position-relative toast-wrapper"><div class="toast-container position-fixed ${current_position} p-3"></div></div>`); + toastwrapper = this.find(`.toast-wrapper .toast-container.${classes_array[0]}.${classes_array[1]}`); + } + const currentid = `liveToast-${window.toast_notifications + 1}`; + const toastElement = $(`<div id="${currentid}" class="toast" data-bs-delay="${options.delay}" data-bs-autohide="${options.autohide ? 'true' : 'false'}" role="alert" aria-live="assertive" aria-atomic="true"></div>`); + if (options.title) { + if (options.classes) toastElement.addClass(options.classes); + if (options.style) toastElement.attr("style", options.style); + toastElement.html(` + <div class="toast-header"> + <i class="bi bi-info"></i> + <strong class="me-auto">${options.title}</strong> + <button type="button" onclick="window.delete_toast('${currentid}')" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button> + </div> + <div class="toast-body"> + ${options.body} + </div>`); + } + else { + if (options.classes) toastElement.addClass(options.classes); + if (options.style) toastElement.attr("style", options.style); + toastElement.addClass("align-items-center"); + toastElement.html(` + <div class="d-flex"> + <div class="toast-body"> + ${options.body} + </div> + <button type="button" onclick="window.delete_toast('${currentid}')" class="btn-close me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button> + </div>`); + } + toastwrapper.prepend(toastElement); + const toastBootstrap = bootstrap.Toast.getOrCreateInstance($(`#${currentid}`).get(0)); + toastBootstrap.show(); + window.toast_notifications += 1; + + window.delete_toast = (id) => { + // Call the close callback function if provided + if (options.onClose && typeof options.onClose === "function") { + options.onClose(); + } + + (function () { + setTimeout(function () { $(`#${id}`).remove(); }, 1000); + })(); + }; + + if (options.autohide) { + (function () { + setTimeout(function () { window.delete_toast(currentid); }, options.delay); + })(options.delay, currentid); + } +}; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Elvis A. (@ElvisAns) <gi...@mg...> - 2024-03-15 17:33:41
|
Elvis Ansima pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: f2d9b1f6 by Elvis Ansima at 2024-03-15T17:33:21+00:00 [NEW] add toast notification function to JQuery --- * [NEW] add toast notification function to JQuery See merge request tikiwiki/tiki!4685 - - - - - 1 changed file: - lib/jquery_tiki/tiki-jquery.js Changes: ===================================== lib/jquery_tiki/tiki-jquery.js ===================================== @@ -4788,3 +4788,98 @@ $(document).tiki('copy')('.icon_copy_code', null, function(element) { }, function() { alert(tr("Press Ctrl+C to copy")); }); + +/** + * Display a toast notification with customizable options. + * + * @param {Object} options - The options for customizing the toast notification. + * Available options: + * - body: The content of the toast notification (default: ""). + * - title: The title of the toast notification (default: null). + * - position: The position of the toast notification (default: "top-end"). + * - delay: The delay before the toast notification disappears (default: "5000"). + * - autohide: Whether the toast notification should automatically disappear (default: true). + * - classes: Additional CSS classes for styling the toast notification (default: ""). + * - style: Inline CSS styles for styling the toast notification (default: ""). + * - onClose: Callback function to be invoked when the toast notification is closed (default: null). + */ + +$.fn.toastNotification = function (options) { + // Default options + const defaultOptions = { + body: "", + title: null, + position: "top-end", + delay: "5000", + autohide: true, + classes: "", + style: "", + onClose: null // Close callback function + }; + + // Merge user-provided options with default options + options = $.extend({}, defaultOptions, options); + + window.toast_notifications = window.toast_notifications || 0; + let positions_classes = { + "top-end": "top-0 end-0", + "top-start": "top-0 start-0", + "bottom-end": "bottom-0 end-0", + "bottom-start": "bottom-0 start-0" + }; + let current_position = positions_classes.hasOwnProperty(options.position) ? positions_classes[options.position] : "top-0 end-0"; + let classes_array = current_position.split(" "); + let toastwrapper = this.find(`.toast-wrapper .toast-container.${classes_array[0]}.${classes_array[1]}`); //this help us have different containers per position + if (!toastwrapper.length) { + this.append(`<div aria-live="polite" aria-atomic="true" class="position-relative toast-wrapper"><div class="toast-container position-fixed ${current_position} p-3"></div></div>`); + toastwrapper = this.find(`.toast-wrapper .toast-container.${classes_array[0]}.${classes_array[1]}`); + } + const currentid = `liveToast-${window.toast_notifications + 1}`; + const toastElement = $(`<div id="${currentid}" class="toast" data-bs-delay="${options.delay}" data-bs-autohide="${options.autohide ? 'true' : 'false'}" role="alert" aria-live="assertive" aria-atomic="true"></div>`); + if (options.title) { + if (options.classes) toastElement.addClass(options.classes); + if (options.style) toastElement.attr("style", options.style); + toastElement.html(` + <div class="toast-header"> + <i class="bi bi-info"></i> + <strong class="me-auto">${options.title}</strong> + <button type="button" onclick="window.delete_toast('${currentid}')" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button> + </div> + <div class="toast-body"> + ${options.body} + </div>`); + } + else { + if (options.classes) toastElement.addClass(options.classes); + if (options.style) toastElement.attr("style", options.style); + toastElement.addClass("align-items-center"); + toastElement.html(` + <div class="d-flex"> + <div class="toast-body"> + ${options.body} + </div> + <button type="button" onclick="window.delete_toast('${currentid}')" class="btn-close me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button> + </div>`); + } + toastwrapper.prepend(toastElement); + const toastBootstrap = bootstrap.Toast.getOrCreateInstance($(`#${currentid}`).get(0)); + toastBootstrap.show(); + window.toast_notifications += 1; + + window.delete_toast = (id) => { + // Call the close callback function if provided + if (options.onClose && typeof options.onClose === "function") { + options.onClose(); + } + + (function () { + setTimeout(function () { $(`#${id}`).remove(); }, 1000); + })(); + }; + + if (options.autohide) { + (function () { + setTimeout(function () { window.delete_toast(currentid); }, options.delay); + })(options.delay, currentid); + } +}; View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/f2d9b1f6cf0e5663518c1e8096a96d80a7c29b4c -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/f2d9b1f6cf0e5663518c1e8096a96d80a7c29b4c You're receiving this email because of your account on gitlab.com. |
From: benoitg@users.sourceforge.net - 2024-03-15 16:41:00
|
Revision: 85220 http://sourceforge.net/p/tikiwiki/code/85220 Author: "benoitg" Date: 2024-03-15 16:40:57 +0000 (Fri, 15 Mar 2024) Log Message: ----------- [FIX] tiki-print.php: Fixing Undefined key page --- * [FIX] tiki-print.php: Fixing Undefined key page See merge request tikiwiki/tiki!4345 (cherry picked from commit 5923bbd855ae98c21391905baf5d1a875e18ae78) See merge request tikiwiki/tiki!4679 Modified Paths: -------------- branches/26.x/lib/pdflib.php branches/26.x/lib/tikilib.php branches/26.x/tiki-print.php Property Changed: ---------------- branches/26.x/ Index: branches/26.x =================================================================== --- branches/26.x 2024-03-15 16:39:12 UTC (rev 85219) +++ branches/26.x 2024-03-15 16:40:57 UTC (rev 85220) Property changes on: branches/26.x ___________________________________________________________________ Added: subgit:lock:9b31662b2dbca080537bc3d353f48c4d178275c9 ## -0,0 +1 ## +2024-03-15T16:40:54.348 \ No newline at end of property Deleted: subgit:lock:d4fa5183b85b7ae6443ed39d01e21b31ded5eb23 ## -1 +0,0 ## -2024-03-15T14:37:24.988 \ No newline at end of property Modified: branches/26.x/lib/pdflib.php =================================================================== --- branches/26.x/lib/pdflib.php 2024-03-15 16:39:12 UTC (rev 85219) +++ branches/26.x/lib/pdflib.php 2024-03-15 16:40:57 UTC (rev 85220) @@ -115,11 +115,14 @@ foreach ($params['pages'] as $page) { $pdata .= $page['parsed']; } - } elseif (empty($pdata) && ! empty($params['page'])) { - $tikilib = TikiLib::lib('tiki'); - $page_info = $tikilib->get_page_info($params['page']); - if ($page_info) { - $pdata = TikiLib::lib('parser')->parse_data($page_info['data'], ['is_html' => $page_info['is_html'], 'print' => 'y', 'namespace' => $page_info['namespace']]); + } else { + $page = $params['page'] ?? null; + if ($page) { + $tikilib = TikiLib::lib('tiki'); + $page_info = $tikilib->get_page_info($page); + if ($page_info) { + $pdata = TikiLib::lib('parser')->parse_data($page_info['data'], ['is_html' => $page_info['is_html'], 'print' => 'y', 'namespace' => $page_info['namespace']]); + } } } $url = $base_url . $file . '?' . http_build_query($params, '', '&'); Modified: branches/26.x/lib/tikilib.php =================================================================== --- branches/26.x/lib/tikilib.php 2024-03-15 16:39:12 UTC (rev 85219) +++ branches/26.x/lib/tikilib.php 2024-03-15 16:40:57 UTC (rev 85220) @@ -38,6 +38,8 @@ public $cache_page_info = []; public $sessionId = null; + public $is_slideshow = false; + /** * Collection of Tiki libraries. * Populated by TikiLib::lib() Modified: branches/26.x/tiki-print.php =================================================================== --- branches/26.x/tiki-print.php 2024-03-15 16:39:12 UTC (rev 85219) +++ branches/26.x/tiki-print.php 2024-03-15 16:40:57 UTC (rev 85220) @@ -75,7 +75,11 @@ // If a structure page has been requested $page_ref_id = $_REQUEST['page_ref_id']; } else { - $page_ref_id = $structlib->get_struct_ref_id($_REQUEST['page']); + if (isset($_REQUEST['page'])) { + $page_ref_id = $structlib->get_struct_ref_id($_REQUEST['page']); + } else { + $page_ref_id = null; + } } if ($page_ref_id) { $page_info = $structlib->s_get_page_info($page_ref_id); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: benoitg@users.sourceforge.net - 2024-03-15 16:39:45
|
Revision: 85219 http://sourceforge.net/p/tikiwiki/code/85219 Author: "benoitg" Date: 2024-03-15 16:39:42 +0000 (Fri, 15 Mar 2024) Log Message: ----------- [REF] Move animejs into the new build system: don't pollute the global object. --- See merge request tikiwiki/tiki!4684 Modified Paths: -------------- trunk/lib/wiki-plugins/wikiplugin_countup.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-03-15 14:35:44 UTC (rev 85218) +++ trunk 2024-03-15 16:39:42 UTC (rev 85219) Property changes on: trunk ___________________________________________________________________ Added: subgit:lock:5fbf200e31e2e88a96a3d1b5ebc130e0cb5141c9 ## -0,0 +1 ## +2024-03-15T16:39:40.912 \ No newline at end of property Deleted: subgit:lock:89b9cd83d64f654a7388f867a1b82bb50be7cf96 ## -1 +0,0 ## -2024-03-15T14:35:57.010 \ No newline at end of property Modified: trunk/lib/wiki-plugins/wikiplugin_countup.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_countup.php 2024-03-15 14:35:44 UTC (rev 85218) +++ trunk/lib/wiki-plugins/wikiplugin_countup.php 2024-03-15 16:39:42 UTC (rev 85219) @@ -337,8 +337,7 @@ function wikiplugin_countup($data, $params) { TikiLib::lib('header')->add_js_module( - 'import anime from "animejs"; - window.anime = anime;' + 'import anime from "animejs";' ); $smarty = TikiLib::lib('smarty'); @@ -386,7 +385,7 @@ const duration = ' . $speed * $endingNumber * 1000 . '; // As anime.js doesn\'t dispose a speed property, we use duration to adjust the speed of counting(animation). The duration is in milliseconds. // Call to animejs to animate the counter - window.anime({ + anime({ targets: counter, textContent: ' . $endingNumber . ', round: 1, @@ -421,7 +420,7 @@ $smarty->assign('descriptionStyle', $descriptionStyle); $smarty->assign('numberStyle', $numberStyle); - TikiLib::lib('header')->add_jq_onready($js); + TikiLib::lib('header')->add_js_module($js); return $smarty->fetch('wiki-plugins/wikiplugin_countup.tpl'); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Benoit G. (@b. <gi...@mg...> - 2024-03-15 16:39:44
|
Benoit Grégoire pushed to branch 26.x at Tiki Wiki CMS Groupware / Tiki Commits: 9b31662b by Alfred Syatsukwa at 2024-03-15T16:39:24+00:00 [FIX] tiki-print.php: Fixing Undefined key page --- * [FIX] tiki-print.php: Fixing Undefined key page See merge request tikiwiki/tiki!4345 (cherry picked from commit 5923bbd855ae98c21391905baf5d1a875e18ae78) See merge request tikiwiki/tiki!4679 - - - - - 3 changed files: - lib/pdflib.php - lib/tikilib.php - tiki-print.php Changes: ===================================== lib/pdflib.php ===================================== @@ -115,11 +115,14 @@ class PdfGenerator foreach ($params['pages'] as $page) { $pdata .= $page['parsed']; } - } elseif (empty($pdata) && ! empty($params['page'])) { - $tikilib = TikiLib::lib('tiki'); - $page_info = $tikilib->get_page_info($params['page']); - if ($page_info) { - $pdata = TikiLib::lib('parser')->parse_data($page_info['data'], ['is_html' => $page_info['is_html'], 'print' => 'y', 'namespace' => $page_info['namespace']]); + } else { + $page = $params['page'] ?? null; + if ($page) { + $tikilib = TikiLib::lib('tiki'); + $page_info = $tikilib->get_page_info($page); + if ($page_info) { + $pdata = TikiLib::lib('parser')->parse_data($page_info['data'], ['is_html' => $page_info['is_html'], 'print' => 'y', 'namespace' => $page_info['namespace']]); + } } } $url = $base_url . $file . '?' . http_build_query($params, '', '&'); ===================================== lib/tikilib.php ===================================== @@ -38,6 +38,8 @@ class TikiLib extends TikiDb_Bridge public $cache_page_info = []; public $sessionId = null; + public $is_slideshow = false; + /** * Collection of Tiki libraries. * Populated by TikiLib::lib() ===================================== tiki-print.php ===================================== @@ -75,7 +75,11 @@ if ($prefs['feature_wiki_structure'] == 'y') { // If a structure page has been requested $page_ref_id = $_REQUEST['page_ref_id']; } else { - $page_ref_id = $structlib->get_struct_ref_id($_REQUEST['page']); + if (isset($_REQUEST['page'])) { + $page_ref_id = $structlib->get_struct_ref_id($_REQUEST['page']); + } else { + $page_ref_id = null; + } } if ($page_ref_id) { $page_info = $structlib->s_get_page_info($page_ref_id); View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/9b31662b2dbca080537bc3d353f48c4d178275c9 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/9b31662b2dbca080537bc3d353f48c4d178275c9 You're receiving this email because of your account on gitlab.com. |
From: Benoit G. (@b. <gi...@mg...> - 2024-03-15 16:39:29
|
Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 5fbf200e by Philippe Tsongo Thkv at 2024-03-15T16:39:12+00:00 [REF] Move animejs into the new build system: don't pollute the global object. --- See merge request tikiwiki/tiki!4684 - - - - - 1 changed file: - lib/wiki-plugins/wikiplugin_countup.php Changes: ===================================== lib/wiki-plugins/wikiplugin_countup.php ===================================== @@ -337,8 +337,7 @@ function wikiplugin_countup_info() function wikiplugin_countup($data, $params) { TikiLib::lib('header')->add_js_module( - 'import anime from "animejs"; - window.anime = anime;' + 'import anime from "animejs";' ); $smarty = TikiLib::lib('smarty'); @@ -386,7 +385,7 @@ function wikiplugin_countup($data, $params) const duration = ' . $speed * $endingNumber * 1000 . '; // As anime.js doesn\'t dispose a speed property, we use duration to adjust the speed of counting(animation). The duration is in milliseconds. // Call to animejs to animate the counter - window.anime({ + anime({ targets: counter, textContent: ' . $endingNumber . ', round: 1, @@ -421,7 +420,7 @@ function wikiplugin_countup($data, $params) $smarty->assign('descriptionStyle', $descriptionStyle); $smarty->assign('numberStyle', $numberStyle); - TikiLib::lib('header')->add_jq_onready($js); + TikiLib::lib('header')->add_js_module($js); return $smarty->fetch('wiki-plugins/wikiplugin_countup.tpl'); } View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/5fbf200e31e2e88a96a3d1b5ebc130e0cb5141c9 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/5fbf200e31e2e88a96a3d1b5ebc130e0cb5141c9 You're receiving this email because of your account on gitlab.com. |
From: kroky6@users.sourceforge.net - 2024-03-15 14:37:29
|
Revision: 85218 http://sourceforge.net/p/tikiwiki/code/85218 Author: "kroky6" Date: 2024-03-15 14:37:25 +0000 (Fri, 15 Mar 2024) Log Message: ----------- [ENH] files field: add name filter error message option Modified Paths: -------------- branches/26.x/lib/core/Tracker/Field/Files.php branches/26.x/templates/trackerinput/files.tpl Property Changed: ---------------- branches/26.x/ Index: branches/26.x =================================================================== --- branches/26.x 2024-03-15 14:35:27 UTC (rev 85217) +++ branches/26.x 2024-03-15 14:37:25 UTC (rev 85218) Property changes on: branches/26.x ___________________________________________________________________ Deleted: subgit:lock:6bd967488318ba559cce00fa301df13d43e29511 ## -1 +0,0 ## -2024-03-15T12:59:29.321 \ No newline at end of property Added: subgit:lock:d4fa5183b85b7ae6443ed39d01e21b31ded5eb23 ## -0,0 +1 ## +2024-03-15T14:37:24.988 \ No newline at end of property Modified: branches/26.x/lib/core/Tracker/Field/Files.php =================================================================== --- branches/26.x/lib/core/Tracker/Field/Files.php 2024-03-15 14:35:27 UTC (rev 85217) +++ branches/26.x/lib/core/Tracker/Field/Files.php 2024-03-15 14:37:25 UTC (rev 85218) @@ -49,6 +49,14 @@ 'description' => tr('Regular expression that uploaded file name should match in order to be accepted for upload.'), 'filter' => 'text', ], + 'namefilterError' => [ + 'name' => tr('File Name Filter Error Message'), + 'description' => tr('Text of the error message when file name filter doesn\'t match.'), + 'filter' => 'text', + 'depends' => [ + 'field' => 'namefilter' + ], + ], 'count' => [ 'name' => tr('File Count'), 'description' => tr('Maximum number of files to be attached on the field.'), @@ -315,6 +323,7 @@ 'value' => $value, 'filter' => $this->getOption('filter'), 'namefilter' => $this->getOption('namefilter'), + 'namefilterError' => $this->getOption('namefilterError'), 'image_x' => $image_x, 'image_y' => $image_y, 'gallerySearch' => $gallery_list, Modified: branches/26.x/templates/trackerinput/files.tpl =================================================================== --- branches/26.x/templates/trackerinput/files.tpl 2024-03-15 14:35:27 UTC (rev 85217) +++ branches/26.x/templates/trackerinput/files.tpl 2024-03-15 14:37:25 UTC (rev 85218) @@ -1,4 +1,4 @@ -<div id="display_f{$field.fieldId|escape}" class="files-field display_f{$field.fieldId|escape} uninitialized {if !empty($data.replaceFile)}replace{/if}" data-galleryid="{$field.galleryId|escape}" data-firstfile="{$field.firstfile|escape}" data-filter="{$field.filter|escape}" data-limit="{$field.limit|escape}" data-item-id="{$item.itemId|escape}" data-field-id="{$field.fieldId|escape}" data-namefilter="{$field.namefilter|escape}"> +<div id="display_f{$field.fieldId|escape}" class="files-field display_f{$field.fieldId|escape} uninitialized {if !empty($data.replaceFile)}replace{/if}" data-galleryid="{$field.galleryId|escape}" data-firstfile="{$field.firstfile|escape}" data-filter="{$field.filter|escape}" data-limit="{$field.limit|escape}" data-item-id="{$item.itemId|escape}" data-field-id="{$field.fieldId|escape}" data-namefilter="{$field.namefilter|escape}" data-namefilter-error="{$field.namefilterError|escape}"> {if !empty($field.canUpload)} {if !empty($field.limit)} {if $field.limit == 1} @@ -149,7 +149,7 @@ return true; } if (! fileName.match(new RegExp($self.data('namefilter')))) { - feedback(tr("File names must begin with a date in the format YYYYMMDD"), 'error'); + feedback(tr($self.data('namefilter-error') || 'The uploaded file name doesn\'t match desired pattern.'), 'error'); $(this).val(""); $("input[type=file]", $form).val(""); $(".custom-file-label", $form).text(tr("Choose file")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Victor E. (@kroky) <gi...@mg...> - 2024-03-15 14:36:04
|
Victor Emanouilov pushed to branch 26.x at Tiki Wiki CMS Groupware / Tiki Commits: d4fa5183 by Victor Emanouilov at 2024-03-15T16:35:44+02:00 [ENH] files field: add name filter error message option - - - - - 2 changed files: - lib/core/Tracker/Field/Files.php - templates/trackerinput/files.tpl Changes: ===================================== lib/core/Tracker/Field/Files.php ===================================== @@ -49,6 +49,14 @@ class Tracker_Field_Files extends \Tracker\Field\AbstractField implements \Track 'description' => tr('Regular expression that uploaded file name should match in order to be accepted for upload.'), 'filter' => 'text', ], + 'namefilterError' => [ + 'name' => tr('File Name Filter Error Message'), + 'description' => tr('Text of the error message when file name filter doesn\'t match.'), + 'filter' => 'text', + 'depends' => [ + 'field' => 'namefilter' + ], + ], 'count' => [ 'name' => tr('File Count'), 'description' => tr('Maximum number of files to be attached on the field.'), @@ -315,6 +323,7 @@ class Tracker_Field_Files extends \Tracker\Field\AbstractField implements \Track 'value' => $value, 'filter' => $this->getOption('filter'), 'namefilter' => $this->getOption('namefilter'), + 'namefilterError' => $this->getOption('namefilterError'), 'image_x' => $image_x, 'image_y' => $image_y, 'gallerySearch' => $gallery_list, ===================================== templates/trackerinput/files.tpl ===================================== @@ -1,4 +1,4 @@ -<div id="display_f{$field.fieldId|escape}" class="files-field display_f{$field.fieldId|escape} uninitialized {if !empty($data.replaceFile)}replace{/if}" data-galleryid="{$field.galleryId|escape}" data-firstfile="{$field.firstfile|escape}" data-filter="{$field.filter|escape}" data-limit="{$field.limit|escape}" data-item-id="{$item.itemId|escape}" data-field-id="{$field.fieldId|escape}" data-namefilter="{$field.namefilter|escape}"> +<div id="display_f{$field.fieldId|escape}" class="files-field display_f{$field.fieldId|escape} uninitialized {if !empty($data.replaceFile)}replace{/if}" data-galleryid="{$field.galleryId|escape}" data-firstfile="{$field.firstfile|escape}" data-filter="{$field.filter|escape}" data-limit="{$field.limit|escape}" data-item-id="{$item.itemId|escape}" data-field-id="{$field.fieldId|escape}" data-namefilter="{$field.namefilter|escape}" data-namefilter-error="{$field.namefilterError|escape}"> {if !empty($field.canUpload)} {if !empty($field.limit)} {if $field.limit == 1} @@ -149,7 +149,7 @@ return true; } if (! fileName.match(new RegExp($self.data('namefilter')))) { - feedback(tr("File names must begin with a date in the format YYYYMMDD"), 'error'); + feedback(tr($self.data('namefilter-error') || 'The uploaded file name doesn\'t match desired pattern.'), 'error'); $(this).val(""); $("input[type=file]", $form).val(""); $(".custom-file-label", $form).text(tr("Choose file")); View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/d4fa5183b85b7ae6443ed39d01e21b31ded5eb23 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/d4fa5183b85b7ae6443ed39d01e21b31ded5eb23 You're receiving this email because of your account on gitlab.com. |