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
(434) |
Apr
(370) |
May
(514) |
Jun
(690) |
Jul
(409) |
Aug
(484) |
Sep
(491) |
Oct
(47) |
Nov
|
Dec
|
From: gary_c@users.sourceforge.net - 2024-10-02 11:33:51
|
Revision: 86718 http://sourceforge.net/p/tikiwiki/code/86718 Author: "gary_c" Date: 2024-10-02 11:33:48 +0000 (Wed, 02 Oct 2024) Log Message: ----------- [FIX][UI] Fixed background color in datepicker modal by assigning Bootstrap... --- * [FIX][UI] Fixed background color in datepicker modal by assigning Bootstrap body background CSS variable. Thanks, Merci Jacob. See merge request tikiwiki/tiki!5953 Modified Paths: -------------- trunk/src/js/vue-widgets/datetime-picker/src/custom.scss Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-10-02 11:06:24 UTC (rev 86717) +++ trunk 2024-10-02 11:33:48 UTC (rev 86718) Property changes on: trunk ___________________________________________________________________ Added: subgit:lock:057de6bb97e75bc162b2349d15e0834c3d838e24 ## -0,0 +1 ## +2024-10-02T11:33:47.858 \ No newline at end of property Deleted: subgit:lock:2fa39a779a429ee50ddeb1ca5c0ee8d03f2b6a4b ## -1 +0,0 ## -2024-10-02T11:06:49.052 \ No newline at end of property Modified: trunk/src/js/vue-widgets/datetime-picker/src/custom.scss =================================================================== --- trunk/src/js/vue-widgets/datetime-picker/src/custom.scss 2024-10-02 11:06:24 UTC (rev 86717) +++ trunk/src/js/vue-widgets/datetime-picker/src/custom.scss 2024-10-02 11:33:48 UTC (rev 86718) @@ -10,6 +10,7 @@ --dp-secondary-color: var(--bs-secondary); --dp-border-color: var(--bs-border-color); --dp-menu-border-color: var(--bs-border-color); + --dp-background-color: var(--bs-body-bg) } :host { 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-10-02 11:33:38
|
Gary Cunningham-Lee pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 057de6bb by Gary Cunningham-Lee at 2024-10-02T11:33:26+00:00 [FIX][UI] Fixed background color in datepicker modal by assigning Bootstrap... --- * [FIX][UI] Fixed background color in datepicker modal by assigning Bootstrap body background CSS variable. Thanks, Merci Jacob. See merge request tikiwiki/tiki!5953 - - - - - 1 changed file: - src/js/vue-widgets/datetime-picker/src/custom.scss Changes: ===================================== src/js/vue-widgets/datetime-picker/src/custom.scss ===================================== @@ -10,6 +10,7 @@ --dp-secondary-color: var(--bs-secondary); --dp-border-color: var(--bs-border-color); --dp-menu-border-color: var(--bs-border-color); + --dp-background-color: var(--bs-body-bg) } :host { View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/057de6bb97e75bc162b2349d15e0834c3d838e24 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/057de6bb97e75bc162b2349d15e0834c3d838e24 You're receiving this email because of your account on gitlab.com. |
From: kroky6@users.sourceforge.net - 2024-10-02 11:08:23
|
Revision: 86717 http://sourceforge.net/p/tikiwiki/code/86717 Author: "kroky6" Date: 2024-10-02 11:08:21 +0000 (Wed, 02 Oct 2024) Log Message: ----------- [FIX] manticore/mysql index optimization: include object_id/type and partially revert this change in search lookup controller as it needs field types like _text and _paths Modified Paths: -------------- branches/27.x/lib/core/Search/MySql/Index.php branches/27.x/lib/core/Search/Query.php branches/27.x/lib/core/Services/Search/Controller.php Property Changed: ---------------- branches/27.x/ Index: branches/27.x =================================================================== --- branches/27.x 2024-10-02 11:06:24 UTC (rev 86716) +++ branches/27.x 2024-10-02 11:08:21 UTC (rev 86717) Property changes on: branches/27.x ___________________________________________________________________ Deleted: subgit:lock:56a9c1d3d734ebd6c27e68ad23d2c31d2ce0e7e2 ## -1 +0,0 ## -2024-10-02T11:08:06.539 \ No newline at end of property Added: subgit:lock:cf8fe3cc7577612ab81ec32e9a877ba58f82877b ## -0,0 +1 ## +2024-10-02T11:08:20.061 \ No newline at end of property Modified: branches/27.x/lib/core/Search/MySql/Index.php =================================================================== --- branches/27.x/lib/core/Search/MySql/Index.php 2024-10-02 11:06:24 UTC (rev 86716) +++ branches/27.x/lib/core/Search/MySql/Index.php 2024-10-02 11:08:21 UTC (rev 86717) @@ -133,10 +133,10 @@ $order = $this->getOrderClause($query, (bool) $scoreFields); if ($selectFields = $query->getSelectionFields()) { - $selectFields = array_map(function($field) { + $selectFields = array_map(function ($field) { return $this->tfTranslator->shortenize($field); }, $selectFields); - } else { + } else { $selectFields = $this->table->all(); } Modified: branches/27.x/lib/core/Search/Query.php =================================================================== --- branches/27.x/lib/core/Search/Query.php 2024-10-02 11:06:24 UTC (rev 86716) +++ branches/27.x/lib/core/Search/Query.php 2024-10-02 11:08:21 UTC (rev 86717) @@ -47,6 +47,12 @@ public function setSelectionFields(array $fields) { + if (! in_array('object_type', $fields)) { + $fields[] = 'object_type'; + } + if (! in_array('object_id', $fields)) { + $fields[] = 'object_id'; + } $this->selectionFields = $fields; } Modified: branches/27.x/lib/core/Services/Search/Controller.php =================================================================== --- branches/27.x/lib/core/Services/Search/Controller.php 2024-10-02 11:06:24 UTC (rev 86716) +++ branches/27.x/lib/core/Services/Search/Controller.php 2024-10-02 11:08:21 UTC (rev 86717) @@ -185,9 +185,7 @@ /** @var UnifiedSearchLib $lib */ $lib = TikiLib::lib('unifiedsearch'); - $format_pattern = '/\{([\w\.]+)\}/'; - - if (! empty($filter['title']) && preg_match_all($format_pattern, $format, $matches)) { + if (! empty($filter['title']) && preg_match_all('/\{(\w+)\}/', $format, $matches)) { // formatted object_selector search results should also search in formatted fields besides the title $titleFilter = $filter['title']; unset($filter['title']); @@ -215,18 +213,14 @@ $query->setOrder($input->sort_order->text() ?: 'title_asc'); $query->setRange($input->offset->int(), $input->maxRecords->int() ?: $prefs['maxRecords']); - if (preg_match_all($format_pattern, $format, $m)) { - $query->setSelectionFields($m[1]); - } - $result = $query->search($lib->getIndex()); - $result->applyTransform(function ($item) use ($format, $format_pattern, $smarty, $titleFilter, $highlightHelper, $use_permname) { + $result->applyTransform(function ($item) use ($format, $smarty, $titleFilter, $highlightHelper, $use_permname) { $transformed = [ 'object_type' => $item['object_type'], 'object_id' => $use_permname != 'y' ? $item['object_id'] : (TikiLib::lib('trk')->get_field_info($item['object_id'])['permName'] ?? $item['object_id']), 'parent_id' => $item['gallery_id'], - 'title' => preg_replace_callback($format_pattern, function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { + 'title' => preg_replace_callback('/\{([\w\.]+)\}/', function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { $key = $matches[1]; if (isset($item[$key])) { // if this is a trackeritem we do not want only the name but also the trackerid listed when setting up a field This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: kroky6@users.sourceforge.net - 2024-10-02 11:08:10
|
Revision: 86716 http://sourceforge.net/p/tikiwiki/code/86716 Author: "kroky6" Date: 2024-10-02 11:08:08 +0000 (Wed, 02 Oct 2024) Log Message: ----------- [ENH] manticore/mysql index optimization: allow queries to specify only a subset of the fields to be returned; use this in objectlib getFormattedTitle (used extensively by Relation field) and search lookup formatted results Modified Paths: -------------- branches/27.x/lib/core/Search/Manticore/Index.php branches/27.x/lib/core/Search/MySql/Index.php branches/27.x/lib/core/Search/Query.php branches/27.x/lib/core/Services/Search/Controller.php branches/27.x/lib/objectlib.php Property Changed: ---------------- branches/27.x/ Index: branches/27.x =================================================================== --- branches/27.x 2024-10-02 11:06:24 UTC (rev 86715) +++ branches/27.x 2024-10-02 11:08:08 UTC (rev 86716) Property changes on: branches/27.x ___________________________________________________________________ Deleted: subgit:lock:1068a1e40cb941d35f12bf302cb8bf161640ce8c ## -1 +0,0 ## -2024-10-01T21:05:25.831 \ No newline at end of property Added: subgit:lock:56a9c1d3d734ebd6c27e68ad23d2c31d2ce0e7e2 ## -0,0 +1 ## +2024-10-02T11:08:06.539 \ No newline at end of property Modified: branches/27.x/lib/core/Search/Manticore/Index.php =================================================================== --- branches/27.x/lib/core/Search/Manticore/Index.php 2024-10-02 11:06:24 UTC (rev 86715) +++ branches/27.x/lib/core/Search/Manticore/Index.php 2024-10-02 11:08:08 UTC (rev 86716) @@ -402,7 +402,15 @@ $builder->setPossibleFields($this->pdo_client->possibleFacetFields($table)); $facets = $builder->build($query->getFacets()); - $sql = "SELECT *"; + if ($selectionFields = $query->getSelectionFields()) { + foreach ($selectionFields as $key => $field) { + $this->ensureHasField($field); + $selectionFields[$key] = strtolower($field); + } + $sql = "SELECT " . implode(',', $selectionFields); + } else { + $sql = "SELECT *"; + } foreach ($select as $key => $expr) { $sql .= ", $expr as $key"; Modified: branches/27.x/lib/core/Search/MySql/Index.php =================================================================== --- branches/27.x/lib/core/Search/MySql/Index.php 2024-10-02 11:06:24 UTC (rev 86715) +++ branches/27.x/lib/core/Search/MySql/Index.php 2024-10-02 11:08:08 UTC (rev 86716) @@ -132,7 +132,13 @@ $order = $this->getOrderClause($query, (bool) $scoreFields); - $selectFields = $this->table->all(); + if ($selectFields = $query->getSelectionFields()) { + $selectFields = array_map(function($field) { + return $this->tfTranslator->shortenize($field); + }, $selectFields); + } else { + $selectFields = $this->table->all(); + } if ($scoreFields) { $str = $this->db->qstr(implode(' ', $words)); Modified: branches/27.x/lib/core/Search/Query.php =================================================================== --- branches/27.x/lib/core/Search/Query.php 2024-10-02 11:06:24 UTC (rev 86715) +++ branches/27.x/lib/core/Search/Query.php 2024-10-02 11:08:08 UTC (rev 86716) @@ -13,6 +13,7 @@ private $count = 50; private $weightCalculator = null; private $identifierFields = null; + private $selectionFields = null; private $postFilter; private $subQueries = []; @@ -44,6 +45,16 @@ $this->identifierFields = $fields; } + public function setSelectionFields(array $fields) + { + $this->selectionFields = $fields; + } + + public function getSelectionFields() + { + return $this->selectionFields; + } + public function addObject($type, $objectId) { if (is_null($this->objectList)) { Modified: branches/27.x/lib/core/Services/Search/Controller.php =================================================================== --- branches/27.x/lib/core/Services/Search/Controller.php 2024-10-02 11:06:24 UTC (rev 86715) +++ branches/27.x/lib/core/Services/Search/Controller.php 2024-10-02 11:08:08 UTC (rev 86716) @@ -185,7 +185,9 @@ /** @var UnifiedSearchLib $lib */ $lib = TikiLib::lib('unifiedsearch'); - if (! empty($filter['title']) && preg_match_all('/\{(\w+)\}/', $format, $matches)) { + $format_pattern = '/\{([\w\.]+)\}/'; + + if (! empty($filter['title']) && preg_match_all($format_pattern, $format, $matches)) { // formatted object_selector search results should also search in formatted fields besides the title $titleFilter = $filter['title']; unset($filter['title']); @@ -213,14 +215,18 @@ $query->setOrder($input->sort_order->text() ?: 'title_asc'); $query->setRange($input->offset->int(), $input->maxRecords->int() ?: $prefs['maxRecords']); + if (preg_match_all($format_pattern, $format, $m)) { + $query->setSelectionFields($m[1]); + } + $result = $query->search($lib->getIndex()); - $result->applyTransform(function ($item) use ($format, $smarty, $titleFilter, $highlightHelper, $use_permname) { + $result->applyTransform(function ($item) use ($format, $format_pattern, $smarty, $titleFilter, $highlightHelper, $use_permname) { $transformed = [ 'object_type' => $item['object_type'], 'object_id' => $use_permname != 'y' ? $item['object_id'] : (TikiLib::lib('trk')->get_field_info($item['object_id'])['permName'] ?? $item['object_id']), 'parent_id' => $item['gallery_id'], - 'title' => preg_replace_callback('/\{([\w\.]+)\}/', function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { + 'title' => preg_replace_callback($format_pattern, function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { $key = $matches[1]; if (isset($item[$key])) { // if this is a trackeritem we do not want only the name but also the trackerid listed when setting up a field Modified: branches/27.x/lib/objectlib.php =================================================================== --- branches/27.x/lib/objectlib.php 2024-10-02 11:06:24 UTC (rev 86715) +++ branches/27.x/lib/objectlib.php 2024-10-02 11:08:08 UTC (rev 86716) @@ -808,9 +808,13 @@ 'object_type' => $type, 'object_id' => $id ]); + $format_pattern = '/\{([\w\.]+)\}/'; + if (preg_match_all($format_pattern, $format, $m)) { + $query->setSelectionFields($m[1]); + } $result = $query->search($lib->getIndex()); - $result->applyTransform(function ($item) use ($format, $metadata) { - return preg_replace_callback('/\{([\w\.]+)\}/', function ($matches) use ($item, $format, $metadata) { + $result->applyTransform(function ($item) use ($format, $format_pattern, $metadata) { + return preg_replace_callback($format_pattern, function ($matches) use ($item, $format, $metadata) { $key = $matches[1]; if (isset($item[$key])) { return $item[$key]; 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-10-02 11:06:56
|
Victor Emanouilov pushed to branch 27.x at Tiki Wiki CMS Groupware / Tiki Commits: 56a9c1d3 by Victor Emanouilov at 2024-10-02T13:55:37+03:00 [ENH] manticore/mysql index optimization: allow queries to specify only a subset of the fields to be returned; use this in objectlib getFormattedTitle (used extensively by Relation field) and search lookup formatted results - - - - - cf8fe3cc by Victor Emanouilov at 2024-10-02T14:00:37+03:00 [FIX] manticore/mysql index optimization: include object_id/type and partially revert this change in search lookup controller as it needs field types like _text and _paths - - - - - 4 changed files: - lib/core/Search/Manticore/Index.php - lib/core/Search/MySql/Index.php - lib/core/Search/Query.php - lib/objectlib.php Changes: ===================================== lib/core/Search/Manticore/Index.php ===================================== @@ -402,7 +402,15 @@ class Index implements \Search_Index_Interface, \Search_Index_QueryRepository $builder->setPossibleFields($this->pdo_client->possibleFacetFields($table)); $facets = $builder->build($query->getFacets()); - $sql = "SELECT *"; + if ($selectionFields = $query->getSelectionFields()) { + foreach ($selectionFields as $key => $field) { + $this->ensureHasField($field); + $selectionFields[$key] = strtolower($field); + } + $sql = "SELECT " . implode(',', $selectionFields); + } else { + $sql = "SELECT *"; + } foreach ($select as $key => $expr) { $sql .= ", $expr as $key"; ===================================== lib/core/Search/MySql/Index.php ===================================== @@ -132,7 +132,13 @@ class Search_MySql_Index implements Search_Index_Interface $order = $this->getOrderClause($query, (bool) $scoreFields); - $selectFields = $this->table->all(); + if ($selectFields = $query->getSelectionFields()) { + $selectFields = array_map(function ($field) { + return $this->tfTranslator->shortenize($field); + }, $selectFields); + } else { + $selectFields = $this->table->all(); + } if ($scoreFields) { $str = $this->db->qstr(implode(' ', $words)); ===================================== lib/core/Search/Query.php ===================================== @@ -13,6 +13,7 @@ class Search_Query implements Search_Query_Interface private $count = 50; private $weightCalculator = null; private $identifierFields = null; + private $selectionFields = null; private $postFilter; private $subQueries = []; @@ -44,6 +45,22 @@ class Search_Query implements Search_Query_Interface $this->identifierFields = $fields; } + public function setSelectionFields(array $fields) + { + if (! in_array('object_type', $fields)) { + $fields[] = 'object_type'; + } + if (! in_array('object_id', $fields)) { + $fields[] = 'object_id'; + } + $this->selectionFields = $fields; + } + + public function getSelectionFields() + { + return $this->selectionFields; + } + public function addObject($type, $objectId) { if (is_null($this->objectList)) { ===================================== lib/objectlib.php ===================================== @@ -808,9 +808,13 @@ class ObjectLib extends TikiLib 'object_type' => $type, 'object_id' => $id ]); + $format_pattern = '/\{([\w\.]+)\}/'; + if (preg_match_all($format_pattern, $format, $m)) { + $query->setSelectionFields($m[1]); + } $result = $query->search($lib->getIndex()); - $result->applyTransform(function ($item) use ($format, $metadata) { - return preg_replace_callback('/\{([\w\.]+)\}/', function ($matches) use ($item, $format, $metadata) { + $result->applyTransform(function ($item) use ($format, $format_pattern, $metadata) { + return preg_replace_callback($format_pattern, function ($matches) use ($item, $format, $metadata) { $key = $matches[1]; if (isset($item[$key])) { return $item[$key]; View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/compare/1068a1e40cb941d35f12bf302cb8bf161640ce8c...cf8fe3cc7577612ab81ec32e9a877ba58f82877b -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/compare/1068a1e40cb941d35f12bf302cb8bf161640ce8c...cf8fe3cc7577612ab81ec32e9a877ba58f82877b You're receiving this email because of your account on gitlab.com. |
From: kroky6@users.sourceforge.net - 2024-10-02 11:06:52
|
Revision: 86715 http://sourceforge.net/p/tikiwiki/code/86715 Author: "kroky6" Date: 2024-10-02 11:06:49 +0000 (Wed, 02 Oct 2024) Log Message: ----------- [FIX] phpcs pipeline Modified Paths: -------------- trunk/lib/core/Search/Manticore/PdoClient.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-10-02 10:48:08 UTC (rev 86714) +++ trunk 2024-10-02 11:06:49 UTC (rev 86715) Property changes on: trunk ___________________________________________________________________ Added: subgit:lock:2fa39a779a429ee50ddeb1ca5c0ee8d03f2b6a4b ## -0,0 +1 ## +2024-10-02T11:06:49.052 \ No newline at end of property Deleted: subgit:lock:7e052f14adefd25ac4ca442a4c3b006376d833ef ## -1 +0,0 ## -2024-10-02T10:48:50.903 \ No newline at end of property Modified: trunk/lib/core/Search/Manticore/PdoClient.php =================================================================== --- trunk/lib/core/Search/Manticore/PdoClient.php 2024-10-02 10:48:08 UTC (rev 86714) +++ trunk/lib/core/Search/Manticore/PdoClient.php 2024-10-02 11:06:49 UTC (rev 86715) @@ -353,8 +353,7 @@ while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { if ($hasCustomSelect) { $fields = []; - } - elseif ($row['object_type'] == 'trackeritem') { + } elseif ($row['object_type'] == 'trackeritem') { $fields = $available_fields['object_types']['trackeritem' . $row['tracker_id']] ?? []; } else { $fields = $available_fields['object_types'][$row['object_type']] ?? []; 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-10-02 11:06:47
|
Victor Emanouilov pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 2fa39a77 by Victor Emanouilov at 2024-10-02T14:06:24+03:00 [FIX] phpcs pipeline - - - - - 1 changed file: - lib/core/Search/Manticore/PdoClient.php Changes: ===================================== lib/core/Search/Manticore/PdoClient.php ===================================== @@ -353,8 +353,7 @@ class PdoClient while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { if ($hasCustomSelect) { $fields = []; - } - elseif ($row['object_type'] == 'trackeritem') { + } elseif ($row['object_type'] == 'trackeritem') { $fields = $available_fields['object_types']['trackeritem' . $row['tracker_id']] ?? []; } else { $fields = $available_fields['object_types'][$row['object_type']] ?? []; View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/2fa39a779a429ee50ddeb1ca5c0ee8d03f2b6a4b -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/2fa39a779a429ee50ddeb1ca5c0ee8d03f2b6a4b You're receiving this email because of your account on gitlab.com. |
From: kroky6@users.sourceforge.net - 2024-10-02 10:48:54
|
Revision: 86714 http://sourceforge.net/p/tikiwiki/code/86714 Author: "kroky6" Date: 2024-10-02 10:48:51 +0000 (Wed, 02 Oct 2024) Log Message: ----------- [FIX] manticore index optimization: do field cleanup only when selecting all the fields from the table Modified Paths: -------------- trunk/lib/core/Search/Manticore/Index.php trunk/lib/core/Search/Manticore/PdoClient.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-10-02 10:43:05 UTC (rev 86713) +++ trunk 2024-10-02 10:48:51 UTC (rev 86714) Property changes on: trunk ___________________________________________________________________ Deleted: subgit:lock:273c9b90b308e78be5d60a9ff849e90ea1d5dbc8 ## -1 +0,0 ## -2024-10-02T10:43:41.773 \ No newline at end of property Added: subgit:lock:7e052f14adefd25ac4ca442a4c3b006376d833ef ## -0,0 +1 ## +2024-10-02T10:48:50.903 \ No newline at end of property Modified: trunk/lib/core/Search/Manticore/Index.php =================================================================== --- trunk/lib/core/Search/Manticore/Index.php 2024-10-02 10:43:05 UTC (rev 86713) +++ trunk/lib/core/Search/Manticore/Index.php 2024-10-02 10:48:51 UTC (rev 86714) @@ -432,7 +432,7 @@ $sql .= ' ' . $facets; } - $results = $this->pdo_client->fetchAllRowsets($sql); + $results = $this->pdo_client->fetchAllRowsets($sql, false, ! empty($selectionFields)); $result = $results[0]; $meta = $this->pdo_client->fetchAll('SHOW META'); Modified: trunk/lib/core/Search/Manticore/PdoClient.php =================================================================== --- trunk/lib/core/Search/Manticore/PdoClient.php 2024-10-02 10:43:05 UTC (rev 86713) +++ trunk/lib/core/Search/Manticore/PdoClient.php 2024-10-02 10:48:51 UTC (rev 86714) @@ -344,7 +344,7 @@ * @param boolean $retry * @return array of associative arrays */ - public function fetchAllRowsets($query, $retry = true) + public function fetchAllRowsets($query, $retry = true, $hasCustomSelect = false) { $available_fields = \TikiLib::lib('unifiedsearch')->getAvailableFields(); try { @@ -351,7 +351,10 @@ $result = []; $stmt = $this->query($query); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { - if ($row['object_type'] == 'trackeritem') { + if ($hasCustomSelect) { + $fields = []; + } + elseif ($row['object_type'] == 'trackeritem') { $fields = $available_fields['object_types']['trackeritem' . $row['tracker_id']] ?? []; } else { $fields = $available_fields['object_types'][$row['object_type']] ?? []; 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-10-02 10:48:38
|
Victor Emanouilov pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 7e052f14 by Victor Emanouilov at 2024-10-02T13:48:08+03:00 [FIX] manticore index optimization: do field cleanup only when selecting all the fields from the table - - - - - 2 changed files: - lib/core/Search/Manticore/Index.php - lib/core/Search/Manticore/PdoClient.php Changes: ===================================== lib/core/Search/Manticore/Index.php ===================================== @@ -432,7 +432,7 @@ class Index implements \Search_Index_Interface, \Search_Index_QueryRepository $sql .= ' ' . $facets; } - $results = $this->pdo_client->fetchAllRowsets($sql); + $results = $this->pdo_client->fetchAllRowsets($sql, false, ! empty($selectionFields)); $result = $results[0]; $meta = $this->pdo_client->fetchAll('SHOW META'); ===================================== lib/core/Search/Manticore/PdoClient.php ===================================== @@ -344,14 +344,17 @@ class PdoClient * @param boolean $retry * @return array of associative arrays */ - public function fetchAllRowsets($query, $retry = true) + public function fetchAllRowsets($query, $retry = true, $hasCustomSelect = false) { $available_fields = \TikiLib::lib('unifiedsearch')->getAvailableFields(); try { $result = []; $stmt = $this->query($query); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { - if ($row['object_type'] == 'trackeritem') { + if ($hasCustomSelect) { + $fields = []; + } + elseif ($row['object_type'] == 'trackeritem') { $fields = $available_fields['object_types']['trackeritem' . $row['tracker_id']] ?? []; } else { $fields = $available_fields['object_types'][$row['object_type']] ?? []; View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/7e052f14adefd25ac4ca442a4c3b006376d833ef -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/7e052f14adefd25ac4ca442a4c3b006376d833ef You're receiving this email because of your account on gitlab.com. |
From: kroky6@users.sourceforge.net - 2024-10-02 10:43:45
|
Revision: 86713 http://sourceforge.net/p/tikiwiki/code/86713 Author: "kroky6" Date: 2024-10-02 10:43:42 +0000 (Wed, 02 Oct 2024) Log Message: ----------- [FIX] manticore/mysql index optimization: include object_id/type and partially revert this change in search lookup controller as it needs field types like _text and _paths Modified Paths: -------------- trunk/lib/core/Search/MySql/Index.php trunk/lib/core/Search/Query.php trunk/lib/core/Services/Search/Controller.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-10-02 10:28:39 UTC (rev 86712) +++ trunk 2024-10-02 10:43:42 UTC (rev 86713) Property changes on: trunk ___________________________________________________________________ Deleted: subgit:lock:161ebe46d7175f9a9e5c3972220767dd8669c715 ## -1 +0,0 ## -2024-10-02T10:32:11.216 \ No newline at end of property Added: subgit:lock:273c9b90b308e78be5d60a9ff849e90ea1d5dbc8 ## -0,0 +1 ## +2024-10-02T10:43:41.773 \ No newline at end of property Modified: trunk/lib/core/Search/MySql/Index.php =================================================================== --- trunk/lib/core/Search/MySql/Index.php 2024-10-02 10:28:39 UTC (rev 86712) +++ trunk/lib/core/Search/MySql/Index.php 2024-10-02 10:43:42 UTC (rev 86713) @@ -133,10 +133,10 @@ $order = $this->getOrderClause($query, (bool) $scoreFields); if ($selectFields = $query->getSelectionFields()) { - $selectFields = array_map(function($field) { + $selectFields = array_map(function ($field) { return $this->tfTranslator->shortenize($field); }, $selectFields); - } else { + } else { $selectFields = $this->table->all(); } Modified: trunk/lib/core/Search/Query.php =================================================================== --- trunk/lib/core/Search/Query.php 2024-10-02 10:28:39 UTC (rev 86712) +++ trunk/lib/core/Search/Query.php 2024-10-02 10:43:42 UTC (rev 86713) @@ -52,6 +52,12 @@ public function setSelectionFields(array $fields) { + if (! in_array('object_type', $fields)) { + $fields[] = 'object_type'; + } + if (! in_array('object_id', $fields)) { + $fields[] = 'object_id'; + } $this->selectionFields = $fields; } Modified: trunk/lib/core/Services/Search/Controller.php =================================================================== --- trunk/lib/core/Services/Search/Controller.php 2024-10-02 10:28:39 UTC (rev 86712) +++ trunk/lib/core/Services/Search/Controller.php 2024-10-02 10:43:42 UTC (rev 86713) @@ -187,9 +187,7 @@ /** @var UnifiedSearchLib $lib */ $lib = TikiLib::lib('unifiedsearch'); - $format_pattern = '/\{([\w\.]+)\}/'; - - if (! empty($filter['title']) && preg_match_all($format_pattern, $format, $matches)) { + if (! empty($filter['title']) && preg_match_all('/\{(\w+)\}/', $format, $matches)) { // formatted object_selector search results should also search in formatted fields besides the title $titleFilter = $filter['title']; unset($filter['title']); @@ -217,18 +215,14 @@ $query->setOrder($input->sort_order->text() ?: 'title_asc'); $query->setRange($input->offset->int(), $input->maxRecords->int() ?: $prefs['maxRecords']); - if (preg_match_all($format_pattern, $format, $m)) { - $query->setSelectionFields($m[1]); - } - $result = $query->search($lib->getIndex()); - $result->applyTransform(function ($item) use ($format, $format_pattern, $smarty, $titleFilter, $highlightHelper, $use_permname) { + $result->applyTransform(function ($item) use ($format, $smarty, $titleFilter, $highlightHelper, $use_permname) { $transformed = [ 'object_type' => $item['object_type'], 'object_id' => $use_permname != 'y' ? $item['object_id'] : (TikiLib::lib('trk')->get_field_info($item['object_id'])['permName'] ?? $item['object_id']), 'parent_id' => $item['gallery_id'], - 'title' => preg_replace_callback($format_pattern, function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { + 'title' => preg_replace_callback('/\{([\w\.]+)\}/', function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { $key = $matches[1]; if (isset($item[$key])) { // if this is a trackeritem we do not want only the name but also the trackerid listed when setting up a field 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-10-02 10:43:29
|
Victor Emanouilov pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 273c9b90 by Victor Emanouilov at 2024-10-02T13:43:05+03:00 [FIX] manticore/mysql index optimization: include object_id/type and partially revert this change in search lookup controller as it needs field types like _text and _paths - - - - - 3 changed files: - lib/core/Search/MySql/Index.php - lib/core/Search/Query.php - lib/core/Services/Search/Controller.php Changes: ===================================== lib/core/Search/MySql/Index.php ===================================== @@ -133,10 +133,10 @@ class Search_MySql_Index implements Search_Index_Interface $order = $this->getOrderClause($query, (bool) $scoreFields); if ($selectFields = $query->getSelectionFields()) { - $selectFields = array_map(function($field) { + $selectFields = array_map(function ($field) { return $this->tfTranslator->shortenize($field); }, $selectFields); - } else { + } else { $selectFields = $this->table->all(); } ===================================== lib/core/Search/Query.php ===================================== @@ -52,6 +52,12 @@ class Search_Query implements Search_Query_Interface public function setSelectionFields(array $fields) { + if (! in_array('object_type', $fields)) { + $fields[] = 'object_type'; + } + if (! in_array('object_id', $fields)) { + $fields[] = 'object_id'; + } $this->selectionFields = $fields; } ===================================== lib/core/Services/Search/Controller.php ===================================== @@ -187,9 +187,7 @@ class Services_Search_Controller /** @var UnifiedSearchLib $lib */ $lib = TikiLib::lib('unifiedsearch'); - $format_pattern = '/\{([\w\.]+)\}/'; - - if (! empty($filter['title']) && preg_match_all($format_pattern, $format, $matches)) { + if (! empty($filter['title']) && preg_match_all('/\{(\w+)\}/', $format, $matches)) { // formatted object_selector search results should also search in formatted fields besides the title $titleFilter = $filter['title']; unset($filter['title']); @@ -217,18 +215,14 @@ class Services_Search_Controller $query->setOrder($input->sort_order->text() ?: 'title_asc'); $query->setRange($input->offset->int(), $input->maxRecords->int() ?: $prefs['maxRecords']); - if (preg_match_all($format_pattern, $format, $m)) { - $query->setSelectionFields($m[1]); - } - $result = $query->search($lib->getIndex()); - $result->applyTransform(function ($item) use ($format, $format_pattern, $smarty, $titleFilter, $highlightHelper, $use_permname) { + $result->applyTransform(function ($item) use ($format, $smarty, $titleFilter, $highlightHelper, $use_permname) { $transformed = [ 'object_type' => $item['object_type'], 'object_id' => $use_permname != 'y' ? $item['object_id'] : (TikiLib::lib('trk')->get_field_info($item['object_id'])['permName'] ?? $item['object_id']), 'parent_id' => $item['gallery_id'], - 'title' => preg_replace_callback($format_pattern, function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { + 'title' => preg_replace_callback('/\{([\w\.]+)\}/', function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { $key = $matches[1]; if (isset($item[$key])) { // if this is a trackeritem we do not want only the name but also the trackerid listed when setting up a field View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/273c9b90b308e78be5d60a9ff849e90ea1d5dbc8 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/273c9b90b308e78be5d60a9ff849e90ea1d5dbc8 You're receiving this email because of your account on gitlab.com. |
From: kroky6@users.sourceforge.net - 2024-10-02 10:32:15
|
Revision: 86712 http://sourceforge.net/p/tikiwiki/code/86712 Author: "kroky6" Date: 2024-10-02 10:32:12 +0000 (Wed, 02 Oct 2024) Log Message: ----------- [ENH] manticore/mysql index optimization: allow queries to specify only a subset of the fields to be returned; use this in objectlib getFormattedTitle (used extensively by Relation field) and search lookup formatted results Modified Paths: -------------- trunk/lib/core/Search/Manticore/Index.php trunk/lib/core/Search/MySql/Index.php trunk/lib/core/Search/Query.php trunk/lib/core/Services/Search/Controller.php trunk/lib/objectlib.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-10-01 22:42:28 UTC (rev 86711) +++ trunk 2024-10-02 10:32:12 UTC (rev 86712) Property changes on: trunk ___________________________________________________________________ Added: subgit:lock:161ebe46d7175f9a9e5c3972220767dd8669c715 ## -0,0 +1 ## +2024-10-02T10:32:11.216 \ No newline at end of property Deleted: subgit:lock:261347f27f21385a8ef8f1e1055438593aecf05a ## -1 +0,0 ## -2024-10-01T22:42:53.004 \ No newline at end of property Modified: trunk/lib/core/Search/Manticore/Index.php =================================================================== --- trunk/lib/core/Search/Manticore/Index.php 2024-10-01 22:42:28 UTC (rev 86711) +++ trunk/lib/core/Search/Manticore/Index.php 2024-10-02 10:32:12 UTC (rev 86712) @@ -402,7 +402,15 @@ $builder->setPossibleFields($this->pdo_client->possibleFacetFields($table)); $facets = $builder->build($query->getFacets()); - $sql = "SELECT *"; + if ($selectionFields = $query->getSelectionFields()) { + foreach ($selectionFields as $key => $field) { + $this->ensureHasField($field); + $selectionFields[$key] = strtolower($field); + } + $sql = "SELECT " . implode(',', $selectionFields); + } else { + $sql = "SELECT *"; + } foreach ($select as $key => $expr) { $sql .= ", $expr as $key"; Modified: trunk/lib/core/Search/MySql/Index.php =================================================================== --- trunk/lib/core/Search/MySql/Index.php 2024-10-01 22:42:28 UTC (rev 86711) +++ trunk/lib/core/Search/MySql/Index.php 2024-10-02 10:32:12 UTC (rev 86712) @@ -132,7 +132,13 @@ $order = $this->getOrderClause($query, (bool) $scoreFields); - $selectFields = $this->table->all(); + if ($selectFields = $query->getSelectionFields()) { + $selectFields = array_map(function($field) { + return $this->tfTranslator->shortenize($field); + }, $selectFields); + } else { + $selectFields = $this->table->all(); + } if ($scoreFields) { $str = $this->db->qstr(implode(' ', $words)); Modified: trunk/lib/core/Search/Query.php =================================================================== --- trunk/lib/core/Search/Query.php 2024-10-01 22:42:28 UTC (rev 86711) +++ trunk/lib/core/Search/Query.php 2024-10-02 10:32:12 UTC (rev 86712) @@ -13,6 +13,7 @@ private $count = 50; private $weightCalculator = null; private $identifierFields = null; + private $selectionFields = null; private $postFilter; private $processDidYouMean = false; @@ -49,6 +50,16 @@ $this->identifierFields = $fields; } + public function setSelectionFields(array $fields) + { + $this->selectionFields = $fields; + } + + public function getSelectionFields() + { + return $this->selectionFields; + } + public function getCyphtSearch() { return $this->cyphtSearch; Modified: trunk/lib/core/Services/Search/Controller.php =================================================================== --- trunk/lib/core/Services/Search/Controller.php 2024-10-01 22:42:28 UTC (rev 86711) +++ trunk/lib/core/Services/Search/Controller.php 2024-10-02 10:32:12 UTC (rev 86712) @@ -187,7 +187,9 @@ /** @var UnifiedSearchLib $lib */ $lib = TikiLib::lib('unifiedsearch'); - if (! empty($filter['title']) && preg_match_all('/\{(\w+)\}/', $format, $matches)) { + $format_pattern = '/\{([\w\.]+)\}/'; + + if (! empty($filter['title']) && preg_match_all($format_pattern, $format, $matches)) { // formatted object_selector search results should also search in formatted fields besides the title $titleFilter = $filter['title']; unset($filter['title']); @@ -215,14 +217,18 @@ $query->setOrder($input->sort_order->text() ?: 'title_asc'); $query->setRange($input->offset->int(), $input->maxRecords->int() ?: $prefs['maxRecords']); + if (preg_match_all($format_pattern, $format, $m)) { + $query->setSelectionFields($m[1]); + } + $result = $query->search($lib->getIndex()); - $result->applyTransform(function ($item) use ($format, $smarty, $titleFilter, $highlightHelper, $use_permname) { + $result->applyTransform(function ($item) use ($format, $format_pattern, $smarty, $titleFilter, $highlightHelper, $use_permname) { $transformed = [ 'object_type' => $item['object_type'], 'object_id' => $use_permname != 'y' ? $item['object_id'] : (TikiLib::lib('trk')->get_field_info($item['object_id'])['permName'] ?? $item['object_id']), 'parent_id' => $item['gallery_id'], - 'title' => preg_replace_callback('/\{([\w\.]+)\}/', function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { + 'title' => preg_replace_callback($format_pattern, function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { $key = $matches[1]; if (isset($item[$key])) { // if this is a trackeritem we do not want only the name but also the trackerid listed when setting up a field Modified: trunk/lib/objectlib.php =================================================================== --- trunk/lib/objectlib.php 2024-10-01 22:42:28 UTC (rev 86711) +++ trunk/lib/objectlib.php 2024-10-02 10:32:12 UTC (rev 86712) @@ -867,9 +867,13 @@ 'object_type' => $type, 'object_id' => $id ]); + $format_pattern = '/\{([\w\.]+)\}/'; + if (preg_match_all($format_pattern, $format, $m)) { + $query->setSelectionFields($m[1]); + } $result = $query->search($lib->getIndex()); - $result->applyTransform(function ($item) use ($format, $metadata) { - return preg_replace_callback('/\{([\w\.]+)\}/', function ($matches) use ($item, $format, $metadata) { + $result->applyTransform(function ($item) use ($format, $format_pattern, $metadata) { + return preg_replace_callback($format_pattern, function ($matches) use ($item, $format, $metadata) { $key = $matches[1]; if (isset($item[$key])) { return $item[$key]; 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-10-02 10:32:02
|
Victor Emanouilov pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 161ebe46 by Victor Emanouilov at 2024-10-02T13:28:39+03:00 [ENH] manticore/mysql index optimization: allow queries to specify only a subset of the fields to be returned; use this in objectlib getFormattedTitle (used extensively by Relation field) and search lookup formatted results - - - - - 5 changed files: - lib/core/Search/Manticore/Index.php - lib/core/Search/MySql/Index.php - lib/core/Search/Query.php - lib/core/Services/Search/Controller.php - lib/objectlib.php Changes: ===================================== lib/core/Search/Manticore/Index.php ===================================== @@ -402,7 +402,15 @@ class Index implements \Search_Index_Interface, \Search_Index_QueryRepository $builder->setPossibleFields($this->pdo_client->possibleFacetFields($table)); $facets = $builder->build($query->getFacets()); - $sql = "SELECT *"; + if ($selectionFields = $query->getSelectionFields()) { + foreach ($selectionFields as $key => $field) { + $this->ensureHasField($field); + $selectionFields[$key] = strtolower($field); + } + $sql = "SELECT " . implode(',', $selectionFields); + } else { + $sql = "SELECT *"; + } foreach ($select as $key => $expr) { $sql .= ", $expr as $key"; ===================================== lib/core/Search/MySql/Index.php ===================================== @@ -132,7 +132,13 @@ class Search_MySql_Index implements Search_Index_Interface $order = $this->getOrderClause($query, (bool) $scoreFields); - $selectFields = $this->table->all(); + if ($selectFields = $query->getSelectionFields()) { + $selectFields = array_map(function($field) { + return $this->tfTranslator->shortenize($field); + }, $selectFields); + } else { + $selectFields = $this->table->all(); + } if ($scoreFields) { $str = $this->db->qstr(implode(' ', $words)); ===================================== lib/core/Search/Query.php ===================================== @@ -13,6 +13,7 @@ class Search_Query implements Search_Query_Interface private $count = 50; private $weightCalculator = null; private $identifierFields = null; + private $selectionFields = null; private $postFilter; private $processDidYouMean = false; @@ -49,6 +50,16 @@ class Search_Query implements Search_Query_Interface $this->identifierFields = $fields; } + public function setSelectionFields(array $fields) + { + $this->selectionFields = $fields; + } + + public function getSelectionFields() + { + return $this->selectionFields; + } + public function getCyphtSearch() { return $this->cyphtSearch; ===================================== lib/core/Services/Search/Controller.php ===================================== @@ -187,7 +187,9 @@ class Services_Search_Controller /** @var UnifiedSearchLib $lib */ $lib = TikiLib::lib('unifiedsearch'); - if (! empty($filter['title']) && preg_match_all('/\{(\w+)\}/', $format, $matches)) { + $format_pattern = '/\{([\w\.]+)\}/'; + + if (! empty($filter['title']) && preg_match_all($format_pattern, $format, $matches)) { // formatted object_selector search results should also search in formatted fields besides the title $titleFilter = $filter['title']; unset($filter['title']); @@ -215,14 +217,18 @@ class Services_Search_Controller $query->setOrder($input->sort_order->text() ?: 'title_asc'); $query->setRange($input->offset->int(), $input->maxRecords->int() ?: $prefs['maxRecords']); + if (preg_match_all($format_pattern, $format, $m)) { + $query->setSelectionFields($m[1]); + } + $result = $query->search($lib->getIndex()); - $result->applyTransform(function ($item) use ($format, $smarty, $titleFilter, $highlightHelper, $use_permname) { + $result->applyTransform(function ($item) use ($format, $format_pattern, $smarty, $titleFilter, $highlightHelper, $use_permname) { $transformed = [ 'object_type' => $item['object_type'], 'object_id' => $use_permname != 'y' ? $item['object_id'] : (TikiLib::lib('trk')->get_field_info($item['object_id'])['permName'] ?? $item['object_id']), 'parent_id' => $item['gallery_id'], - 'title' => preg_replace_callback('/\{([\w\.]+)\}/', function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { + 'title' => preg_replace_callback($format_pattern, function ($matches) use ($item, $format, $titleFilter, $highlightHelper) { $key = $matches[1]; if (isset($item[$key])) { // if this is a trackeritem we do not want only the name but also the trackerid listed when setting up a field ===================================== lib/objectlib.php ===================================== @@ -867,9 +867,13 @@ class ObjectLib extends TikiLib 'object_type' => $type, 'object_id' => $id ]); + $format_pattern = '/\{([\w\.]+)\}/'; + if (preg_match_all($format_pattern, $format, $m)) { + $query->setSelectionFields($m[1]); + } $result = $query->search($lib->getIndex()); - $result->applyTransform(function ($item) use ($format, $metadata) { - return preg_replace_callback('/\{([\w\.]+)\}/', function ($matches) use ($item, $format, $metadata) { + $result->applyTransform(function ($item) use ($format, $format_pattern, $metadata) { + return preg_replace_callback($format_pattern, function ($matches) use ($item, $format, $metadata) { $key = $matches[1]; if (isset($item[$key])) { return $item[$key]; View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/161ebe46d7175f9a9e5c3972220767dd8669c715 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/161ebe46d7175f9a9e5c3972220767dd8669c715 You're receiving this email because of your account on gitlab.com. |
From: benoitg@users.sourceforge.net - 2024-10-01 22:42:56
|
Revision: 86711 http://sourceforge.net/p/tikiwiki/code/86711 Author: "benoitg" Date: 2024-10-01 22:42:53 +0000 (Tue, 01 Oct 2024) Log Message: ----------- [ENH] Adds number of requests to requests table on tiki performance stats page --- * [ENH] Adds number of requests to requests table on tiki performance stats page See merge request tikiwiki/tiki!5530 Modified Paths: -------------- trunk/lib/performance/performancestatslib.php trunk/templates/tiki-performance_stats.tpl trunk/tiki-performance_stats.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-10-01 22:30:50 UTC (rev 86710) +++ trunk 2024-10-01 22:42:53 UTC (rev 86711) Property changes on: trunk ___________________________________________________________________ Deleted: subgit:lock:1ca22c506c7160fc756e8648d9100476c1c363f5 ## -1 +0,0 ## -2024-10-01T22:12:48.401 \ No newline at end of property Added: subgit:lock:261347f27f21385a8ef8f1e1055438593aecf05a ## -0,0 +1 ## +2024-10-01T22:42:53.004 \ No newline at end of property Modified: trunk/lib/performance/performancestatslib.php =================================================================== --- trunk/lib/performance/performancestatslib.php 2024-10-01 22:30:50 UTC (rev 86710) +++ trunk/lib/performance/performancestatslib.php 2024-10-01 22:42:53 UTC (rev 86711) @@ -46,9 +46,13 @@ * @param string $order * @return TikiDb_Pdo_Result */ - public function getRequestsBasedOnAverageRequestTime(int $amount = 25, int $offset = 0, string $find = '', string $order = 'DESC') + public function getRequestsBasedOnAverageRequestTime(int $amount = 25, int $offset = 0, string $find = '', string $order = 'DESC', string $orderType = '') { - return $this->query("SELECT url, round(AVG(time_taken)) AS average_time_taken FROM tiki_performance WHERE url LIKE ? GROUP BY url ORDER BY average_time_taken $order LIMIT $amount OFFSET $offset", ["%$find%"]); + if ($orderType == 'no_of_requests') { + return $this->query("SELECT url, round(AVG(time_taken)) AS average_time_taken, COUNT(url) AS number_of_requests FROM tiki_performance WHERE url LIKE ? GROUP BY url ORDER BY number_of_requests $order LIMIT $amount OFFSET $offset", ["%$find%"]); + } else { + return $this->query("SELECT url, round(AVG(time_taken)) AS average_time_taken, COUNT(url) AS number_of_requests FROM tiki_performance WHERE url LIKE ? GROUP BY url ORDER BY average_time_taken $order LIMIT $amount OFFSET $offset", ["%$find%"]); + } } /** Modified: trunk/templates/tiki-performance_stats.tpl =================================================================== --- trunk/templates/tiki-performance_stats.tpl 2024-10-01 22:30:50 UTC (rev 86710) +++ trunk/templates/tiki-performance_stats.tpl 2024-10-01 22:42:53 UTC (rev 86711) @@ -11,12 +11,15 @@ <table class="table"> <tr> <th>{tr}URL{/tr}</th> - <th> - <a href="tiki-performance_stats.php?offset={$average_stat_offset}&average_stat_order={if $average_stat_order eq 'DESC'}ASC{else}DESC{/if}">{tr}Time taken (seconds){/tr}</a></th> + <th class="text-end"><a href="tiki-performance_stats.php?offset={$average_stat_offset}&no_of_requests={if $average_stat_order eq 'DESC'}ASC{else}DESC{/if}">{tr}Number of requests{/tr}</a></th> + <th class="text-end"> + <a href="tiki-performance_stats.php?offset={$average_stat_offset}&average_stat_order={if $average_stat_order eq 'DESC'}ASC{else}DESC{/if}">{tr}Time taken (seconds){/tr}</a> + </th> </tr> {foreach from=$average_load_time_stats item=stat} <tr> <td class="text"><a href="{$stat.url}">{$performance_stats_lib->simplifyURL($stat.url)}</a></td> + <td class="integer">{$stat.number_of_requests}</td> <td class="integer">{$stat.average_time_taken / 1000}</td> </tr> {/foreach} @@ -29,8 +32,9 @@ <table class="table"> <tr> <th>{tr}URL{/tr}</th> - <th> - <a href="tiki-performance_stats.php?offset={$maximum_stat_offset}&maximum_stat_order={if $maximum_stat_order eq 'DESC'}ASC{else}DESC{/if}">{tr}Time taken (seconds){/tr}</a></th> + <th class="text-end"> + <a href="tiki-performance_stats.php?offset={$maximum_stat_offset}&maximum_stat_order={if $maximum_stat_order eq 'DESC'}ASC{else}DESC{/if}">{tr}Time taken (seconds){/tr}</a> + </th> </tr> {foreach from=$maximum_load_time_stats item=stat} Modified: trunk/tiki-performance_stats.php =================================================================== --- trunk/tiki-performance_stats.php 2024-10-01 22:30:50 UTC (rev 86710) +++ trunk/tiki-performance_stats.php 2024-10-01 22:42:53 UTC (rev 86711) @@ -28,9 +28,15 @@ $find = $_REQUEST['find'] ?? ''; $averageStatOffset = $_REQUEST['average_stat_offset'] ?? 0; -$averageStatOrder = $_REQUEST['average_stat_order'] ?? 'DESC'; $maximumStatOffset = $_REQUEST['maximum_stat_offset'] ?? 0; $maximumStatOrder = $_REQUEST['maximum_stat_order'] ?? 'DESC'; +if ($_REQUEST['no_of_requests']) { + $averageStatOrder = $_REQUEST['no_of_requests'] ?? 'DESC'; + $orderType = 'no_of_requests'; +} else { + $averageStatOrder = $_REQUEST['average_stat_order'] ?? 'DESC'; + $orderType = 'average_stat_order'; +} $smarty->assign('performance_stats_lib', $performanceLib); $smarty->assign('find', $find); @@ -39,7 +45,7 @@ $smarty->assign_by_ref('average_stat_order', $averageStatOrder); $smarty->assign_by_ref('maximum_stat_offset', $maximumStatOffset); $smarty->assign_by_ref('maximum_stat_order', $maximumStatOrder); -$smarty->assign_by_ref('average_load_time_stats', $performanceLib->getRequestsBasedOnAverageRequestTime(25, $averageStatOffset, $find, $averageStatOrder)->result); +$smarty->assign_by_ref('average_load_time_stats', $performanceLib->getRequestsBasedOnAverageRequestTime(25, $averageStatOffset, $find, $averageStatOrder, $orderType)->result); $smarty->assign_by_ref('maximum_load_time_stats', $performanceLib->getRequestsBasedOnMaximumProcessingTime(25, $maximumStatOffset, $find, $maximumStatOrder)->result); $smarty->assign('mid', 'tiki-performance_stats.tpl'); $smarty->display("tiki.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-10-01 22:42:44
|
Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 261347f2 by Micael José de Sousa Farinha at 2024-10-01T22:42:28+00:00 [ENH] Adds number of requests to requests table on tiki performance stats page --- * [ENH] Adds number of requests to requests table on tiki performance stats page See merge request tikiwiki/tiki!5530 - - - - - 3 changed files: - lib/performance/performancestatslib.php - templates/tiki-performance_stats.tpl - tiki-performance_stats.php Changes: ===================================== lib/performance/performancestatslib.php ===================================== @@ -46,9 +46,13 @@ class PerformanceStatsLib extends TikiLib * @param string $order * @return TikiDb_Pdo_Result */ - public function getRequestsBasedOnAverageRequestTime(int $amount = 25, int $offset = 0, string $find = '', string $order = 'DESC') + public function getRequestsBasedOnAverageRequestTime(int $amount = 25, int $offset = 0, string $find = '', string $order = 'DESC', string $orderType = '') { - return $this->query("SELECT url, round(AVG(time_taken)) AS average_time_taken FROM tiki_performance WHERE url LIKE ? GROUP BY url ORDER BY average_time_taken $order LIMIT $amount OFFSET $offset", ["%$find%"]); + if ($orderType == 'no_of_requests') { + return $this->query("SELECT url, round(AVG(time_taken)) AS average_time_taken, COUNT(url) AS number_of_requests FROM tiki_performance WHERE url LIKE ? GROUP BY url ORDER BY number_of_requests $order LIMIT $amount OFFSET $offset", ["%$find%"]); + } else { + return $this->query("SELECT url, round(AVG(time_taken)) AS average_time_taken, COUNT(url) AS number_of_requests FROM tiki_performance WHERE url LIKE ? GROUP BY url ORDER BY average_time_taken $order LIMIT $amount OFFSET $offset", ["%$find%"]); + } } /** ===================================== templates/tiki-performance_stats.tpl ===================================== @@ -11,12 +11,15 @@ <table class="table"> <tr> <th>{tr}URL{/tr}</th> - <th> - <a href="tiki-performance_stats.php?offset={$average_stat_offset}&average_stat_order={if $average_stat_order eq 'DESC'}ASC{else}DESC{/if}">{tr}Time taken (seconds){/tr}</a></th> + <th class="text-end"><a href="tiki-performance_stats.php?offset={$average_stat_offset}&no_of_requests={if $average_stat_order eq 'DESC'}ASC{else}DESC{/if}">{tr}Number of requests{/tr}</a></th> + <th class="text-end"> + <a href="tiki-performance_stats.php?offset={$average_stat_offset}&average_stat_order={if $average_stat_order eq 'DESC'}ASC{else}DESC{/if}">{tr}Time taken (seconds){/tr}</a> + </th> </tr> {foreach from=$average_load_time_stats item=stat} <tr> <td class="text"><a href="{$stat.url}">{$performance_stats_lib->simplifyURL($stat.url)}</a></td> + <td class="integer">{$stat.number_of_requests}</td> <td class="integer">{$stat.average_time_taken / 1000}</td> </tr> {/foreach} @@ -29,8 +32,9 @@ <table class="table"> <tr> <th>{tr}URL{/tr}</th> - <th> - <a href="tiki-performance_stats.php?offset={$maximum_stat_offset}&maximum_stat_order={if $maximum_stat_order eq 'DESC'}ASC{else}DESC{/if}">{tr}Time taken (seconds){/tr}</a></th> + <th class="text-end"> + <a href="tiki-performance_stats.php?offset={$maximum_stat_offset}&maximum_stat_order={if $maximum_stat_order eq 'DESC'}ASC{else}DESC{/if}">{tr}Time taken (seconds){/tr}</a> + </th> </tr> {foreach from=$maximum_load_time_stats item=stat} ===================================== tiki-performance_stats.php ===================================== @@ -28,9 +28,15 @@ if (! empty($_REQUEST['clear']) && $access->checkCsrf()) { $find = $_REQUEST['find'] ?? ''; $averageStatOffset = $_REQUEST['average_stat_offset'] ?? 0; -$averageStatOrder = $_REQUEST['average_stat_order'] ?? 'DESC'; $maximumStatOffset = $_REQUEST['maximum_stat_offset'] ?? 0; $maximumStatOrder = $_REQUEST['maximum_stat_order'] ?? 'DESC'; +if ($_REQUEST['no_of_requests']) { + $averageStatOrder = $_REQUEST['no_of_requests'] ?? 'DESC'; + $orderType = 'no_of_requests'; +} else { + $averageStatOrder = $_REQUEST['average_stat_order'] ?? 'DESC'; + $orderType = 'average_stat_order'; +} $smarty->assign('performance_stats_lib', $performanceLib); $smarty->assign('find', $find); @@ -39,7 +45,7 @@ $smarty->assign_by_ref('average_stat_offset', $averageStatOffset); $smarty->assign_by_ref('average_stat_order', $averageStatOrder); $smarty->assign_by_ref('maximum_stat_offset', $maximumStatOffset); $smarty->assign_by_ref('maximum_stat_order', $maximumStatOrder); -$smarty->assign_by_ref('average_load_time_stats', $performanceLib->getRequestsBasedOnAverageRequestTime(25, $averageStatOffset, $find, $averageStatOrder)->result); +$smarty->assign_by_ref('average_load_time_stats', $performanceLib->getRequestsBasedOnAverageRequestTime(25, $averageStatOffset, $find, $averageStatOrder, $orderType)->result); $smarty->assign_by_ref('maximum_load_time_stats', $performanceLib->getRequestsBasedOnMaximumProcessingTime(25, $maximumStatOffset, $find, $maximumStatOrder)->result); $smarty->assign('mid', 'tiki-performance_stats.tpl'); $smarty->display("tiki.tpl"); View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/261347f27f21385a8ef8f1e1055438593aecf05a -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/261347f27f21385a8ef8f1e1055438593aecf05a You're receiving this email because of your account on gitlab.com. |
From: benoitg@users.sourceforge.net - 2024-10-01 22:31:22
|
Revision: 86710 http://sourceforge.net/p/tikiwiki/code/86710 Author: "benoitg" Date: 2024-10-01 22:31:21 +0000 (Tue, 01 Oct 2024) Log Message: ----------- [FIX] Import users to group (CSV file) gave a PHP Fatal error: Uncaught ValueError: Path cannot be empty in tiki-admingroups.php on line 363 --- * [FIX] Import users to group (CSV file) gave a PHP Fatal error: Uncaught ValueError: Path cannot be empty in tiki-admingroups.php on line 363 --- See merge request tikiwiki/tiki!5417 See merge request tikiwiki/tiki!5427 See merge request tikiwiki/tiki!5887 Modified Paths: -------------- branches/26.x/tiki-admingroups.php Property Changed: ---------------- branches/26.x/ Index: branches/26.x =================================================================== --- branches/26.x 2024-10-01 22:12:22 UTC (rev 86709) +++ branches/26.x 2024-10-01 22:31:21 UTC (rev 86710) Property changes on: branches/26.x ___________________________________________________________________ Added: subgit:lock:9f6ccfe0448a03d66c3a23f49b12fd4961acc7cd ## -0,0 +1 ## +2024-10-01T22:31:21.009 \ No newline at end of property Deleted: subgit:lock:ebad6a16724955937baf01e130a11a7882594d7b ## -1 +0,0 ## -2024-09-30T14:18:03.093 \ No newline at end of property Modified: branches/26.x/tiki-admingroups.php =================================================================== --- branches/26.x/tiki-admingroups.php 2024-10-01 22:12:22 UTC (rev 86709) +++ branches/26.x/tiki-admingroups.php 2024-10-01 22:31:21 UTC (rev 86710) @@ -358,7 +358,7 @@ echo $data; die; } -if (! empty($_REQUEST['group']) && isset($_REQUEST['import']) && $access->checkCsrf()) { +if (! empty($_REQUEST['group']) && isset($_REQUEST['import']) && ! empty($_FILES['csvlist']['tmp_name']) && $access->checkCsrf()) { $fname = $_FILES['csvlist']['tmp_name']; $fhandle = fopen($fname, 'r'); $fields = fgetcsv($fhandle, 1000); 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-10-01 22:31:10
|
Benoit Grégoire pushed to branch 26.x at Tiki Wiki CMS Groupware / Tiki Commits: 9f6ccfe0 by Adrien Mbuya Maloba at 2024-10-01T22:30:50+00:00 [FIX] Import users to group (CSV file) gave a PHP Fatal error: Uncaught ValueError: Path cannot be empty in tiki-admingroups.php on line 363 --- * [FIX] Import users to group (CSV file) gave a PHP Fatal error: Uncaught ValueError: Path cannot be empty in tiki-admingroups.php on line 363 --- See merge request tikiwiki/tiki!5417 See merge request tikiwiki/tiki!5427 See merge request tikiwiki/tiki!5887 - - - - - 1 changed file: - tiki-admingroups.php Changes: ===================================== tiki-admingroups.php ===================================== @@ -358,7 +358,7 @@ if (! empty($_REQUEST['group']) && isset($_REQUEST['export'])) { echo $data; die; } -if (! empty($_REQUEST['group']) && isset($_REQUEST['import']) && $access->checkCsrf()) { +if (! empty($_REQUEST['group']) && isset($_REQUEST['import']) && ! empty($_FILES['csvlist']['tmp_name']) && $access->checkCsrf()) { $fname = $_FILES['csvlist']['tmp_name']; $fhandle = fopen($fname, 'r'); $fields = fgetcsv($fhandle, 1000); View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/9f6ccfe0448a03d66c3a23f49b12fd4961acc7cd -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/9f6ccfe0448a03d66c3a23f49b12fd4961acc7cd You're receiving this email because of your account on gitlab.com. |
From: benoitg@users.sourceforge.net - 2024-10-01 22:12:51
|
Revision: 86709 http://sourceforge.net/p/tikiwiki/code/86709 Author: "benoitg" Date: 2024-10-01 22:12:48 +0000 (Tue, 01 Oct 2024) Log Message: ----------- [FIX] tiki-admin_menu_options.tpl: Trying to access array offset on value of type null. --- * [FIX] Trying to access array offset on value of type null See merge request tikiwiki/tiki!5892 Modified Paths: -------------- trunk/templates/tiki-admin_menu_options.tpl Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-10-01 21:14:09 UTC (rev 86708) +++ trunk 2024-10-01 22:12:48 UTC (rev 86709) Property changes on: trunk ___________________________________________________________________ Added: subgit:lock:1ca22c506c7160fc756e8648d9100476c1c363f5 ## -0,0 +1 ## +2024-10-01T22:12:48.401 \ No newline at end of property Deleted: subgit:lock:c81065180be2bb2c001b93bde23ac9ee0559452a ## -1 +0,0 ## -2024-10-01T21:15:37.747 \ No newline at end of property Modified: trunk/templates/tiki-admin_menu_options.tpl =================================================================== --- trunk/templates/tiki-admin_menu_options.tpl 2024-10-01 21:14:09 UTC (rev 86708) +++ trunk/templates/tiki-admin_menu_options.tpl 2024-10-01 22:12:48 UTC (rev 86709) @@ -36,7 +36,11 @@ <input type="text" class="field-label form-control" value="" placeholder="{tr}New option{/tr}" readonly="readonly"> <span class="tips input-group-text option-edit" title="|{tr}Check this if the option is an alternative to the previous one.{/tr}"> <input type="checkbox" class="samepos"> - {$prevpos = $option.position} + {if isset($option.position)} + {$prevpos = $option.position} + {else} + {$prevpos = null} + {/if} </span> <a href="javascript:void(0)" class="tips input-group-text " title="{tr}New option{/tr}|{tr}Drag this on to the menu area below{/tr}"> {icon name='info'} 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-10-01 22:12:42
|
Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 1ca22c50 by Olivier Kango at 2024-10-01T22:12:22+00:00 [FIX] tiki-admin_menu_options.tpl: Trying to access array offset on value of type null. --- * [FIX] Trying to access array offset on value of type null See merge request tikiwiki/tiki!5892 - - - - - 1 changed file: - templates/tiki-admin_menu_options.tpl Changes: ===================================== templates/tiki-admin_menu_options.tpl ===================================== @@ -36,7 +36,11 @@ <input type="text" class="field-label form-control" value="" placeholder="{tr}New option{/tr}" readonly="readonly"> <span class="tips input-group-text option-edit" title="|{tr}Check this if the option is an alternative to the previous one.{/tr}"> <input type="checkbox" class="samepos"> - {$prevpos = $option.position} + {if isset($option.position)} + {$prevpos = $option.position} + {else} + {$prevpos = null} + {/if} </span> <a href="javascript:void(0)" class="tips input-group-text " title="{tr}New option{/tr}|{tr}Drag this on to the menu area below{/tr}"> {icon name='info'} View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/1ca22c506c7160fc756e8648d9100476c1c363f5 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/1ca22c506c7160fc756e8648d9100476c1c363f5 You're receiving this email because of your account on gitlab.com. |
From: benoitg@users.sourceforge.net - 2024-10-01 21:15:41
|
Revision: 86708 http://sourceforge.net/p/tikiwiki/code/86708 Author: "benoitg" Date: 2024-10-01 21:15:38 +0000 (Tue, 01 Oct 2024) Log Message: ----------- [FIX] tiki-theme_control_objects.php: Prevent fatal error when no objects are selected for deletion in theme control --- * [FIX] Prevent fatal error when no objects are selected for deletion in theme control See merge request tikiwiki/tiki!5911 Modified Paths: -------------- trunk/tiki-theme_control_objects.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-10-01 21:13:23 UTC (rev 86707) +++ trunk 2024-10-01 21:15:38 UTC (rev 86708) Property changes on: trunk ___________________________________________________________________ Added: subgit:lock:c81065180be2bb2c001b93bde23ac9ee0559452a ## -0,0 +1 ## +2024-10-01T21:15:37.747 \ No newline at end of property Deleted: subgit:lock:dff20032762a6b5736fcaa446fddff4020980f61 ## -1 +0,0 ## -2024-10-01T21:13:46.792 \ No newline at end of property Modified: trunk/tiki-theme_control_objects.php =================================================================== --- trunk/tiki-theme_control_objects.php 2024-10-01 21:13:23 UTC (rev 86707) +++ trunk/tiki-theme_control_objects.php 2024-10-01 21:15:38 UTC (rev 86708) @@ -129,8 +129,12 @@ } if (isset($_REQUEST["delete"])) { $access->checkCsrf(); - foreach (array_keys($_REQUEST["obj"]) as $obj) { - $themecontrollib->tc_remove_object($obj); + if (isset($_REQUEST["obj"]) && is_array($_REQUEST["obj"])) { + foreach (array_keys($_REQUEST["obj"]) as $obj) { + $themecontrollib->tc_remove_object($obj); + } + } else { + Feedback::error(tr('No object selected.')); } } if (! isset($_REQUEST["sort_mode"])) { 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-10-01 21:14:27
|
Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: c8106518 by Olivier Kango at 2024-10-01T21:14:09+00:00 [FIX] tiki-theme_control_objects.php: Prevent fatal error when no objects are selected for deletion in theme control --- * [FIX] Prevent fatal error when no objects are selected for deletion in theme control See merge request tikiwiki/tiki!5911 - - - - - 1 changed file: - tiki-theme_control_objects.php Changes: ===================================== tiki-theme_control_objects.php ===================================== @@ -129,8 +129,12 @@ if (isset($_REQUEST['assign'])) { } if (isset($_REQUEST["delete"])) { $access->checkCsrf(); - foreach (array_keys($_REQUEST["obj"]) as $obj) { - $themecontrollib->tc_remove_object($obj); + if (isset($_REQUEST["obj"]) && is_array($_REQUEST["obj"])) { + foreach (array_keys($_REQUEST["obj"]) as $obj) { + $themecontrollib->tc_remove_object($obj); + } + } else { + Feedback::error(tr('No object selected.')); } } if (! isset($_REQUEST["sort_mode"])) { View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/c81065180be2bb2c001b93bde23ac9ee0559452a -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/c81065180be2bb2c001b93bde23ac9ee0559452a You're receiving this email because of your account on gitlab.com. |
From: benoitg@users.sourceforge.net - 2024-10-01 21:13:49
|
Revision: 86707 http://sourceforge.net/p/tikiwiki/code/86707 Author: "benoitg" Date: 2024-10-01 21:13:47 +0000 (Tue, 01 Oct 2024) Log Message: ----------- [FIX] Tiki Theme Control: Handle no category or section selected on delete in theme control --- * [FIX] handle no category selected on delete in theme control See merge request tikiwiki/tiki!5910 Modified Paths: -------------- trunk/tiki-theme_control.php trunk/tiki-theme_control_sections.php Property Changed: ---------------- trunk/ Index: trunk =================================================================== --- trunk 2024-10-01 21:04:57 UTC (rev 86706) +++ trunk 2024-10-01 21:13:47 UTC (rev 86707) Property changes on: trunk ___________________________________________________________________ Deleted: subgit:lock:9d8e7fcd63d7086ae06d997a7445ba799b566d15 ## -1 +0,0 ## -2024-10-01T20:36:44.537 \ No newline at end of property Added: subgit:lock:dff20032762a6b5736fcaa446fddff4020980f61 ## -0,0 +1 ## +2024-10-01T21:13:46.792 \ No newline at end of property Modified: trunk/tiki-theme_control.php =================================================================== --- trunk/tiki-theme_control.php 2024-10-01 21:04:57 UTC (rev 86706) +++ trunk/tiki-theme_control.php 2024-10-01 21:13:47 UTC (rev 86707) @@ -63,8 +63,12 @@ } if (isset($_REQUEST['delete'])) { $access->checkCsrf(); - foreach (array_keys($_REQUEST['categoryIds']) as $cat) { - $themecontrollib->tc_remove_cat($cat); + if (isset($_REQUEST['categoryIds']) && is_array($_REQUEST['categoryIds'])) { + foreach (array_keys($_REQUEST['categoryIds']) as $cat) { + $themecontrollib->tc_remove_cat($cat); + } + } else { + Feedback::error(tr('No category selected.')); } } Modified: trunk/tiki-theme_control_sections.php =================================================================== --- trunk/tiki-theme_control_sections.php 2024-10-01 21:04:57 UTC (rev 86706) +++ trunk/tiki-theme_control_sections.php 2024-10-01 21:13:47 UTC (rev 86707) @@ -40,8 +40,12 @@ } if (isset($_REQUEST['delete'])) { $access->checkCsrf(); - foreach (array_keys($_REQUEST["sec"]) as $sec) { - $themecontrollib->tc_remove_section($sec); + if (isset($_REQUEST["sec"]) && is_array($_REQUEST["sec"])) { + foreach (array_keys($_REQUEST["sec"]) as $sec) { + $themecontrollib->tc_remove_section($sec); + } + } else { + Feedback::error(tr('No section selected.')); } } $channels = $themecontrollib->tc_list_sections(0, -1, 'section_asc', ''); 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-10-01 21:13:35
|
Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: dff20032 by Olivier Kango at 2024-10-01T21:13:23+00:00 [FIX] Tiki Theme Control: Handle no category or section selected on delete in theme control --- * [FIX] handle no category selected on delete in theme control See merge request tikiwiki/tiki!5910 - - - - - 2 changed files: - tiki-theme_control.php - tiki-theme_control_sections.php Changes: ===================================== tiki-theme_control.php ===================================== @@ -63,8 +63,12 @@ if (isset($_REQUEST['assign'])) { } if (isset($_REQUEST['delete'])) { $access->checkCsrf(); - foreach (array_keys($_REQUEST['categoryIds']) as $cat) { - $themecontrollib->tc_remove_cat($cat); + if (isset($_REQUEST['categoryIds']) && is_array($_REQUEST['categoryIds'])) { + foreach (array_keys($_REQUEST['categoryIds']) as $cat) { + $themecontrollib->tc_remove_cat($cat); + } + } else { + Feedback::error(tr('No category selected.')); } } ===================================== tiki-theme_control_sections.php ===================================== @@ -40,8 +40,12 @@ if (isset($_REQUEST['assign'])) { } if (isset($_REQUEST['delete'])) { $access->checkCsrf(); - foreach (array_keys($_REQUEST["sec"]) as $sec) { - $themecontrollib->tc_remove_section($sec); + if (isset($_REQUEST["sec"]) && is_array($_REQUEST["sec"])) { + foreach (array_keys($_REQUEST["sec"]) as $sec) { + $themecontrollib->tc_remove_section($sec); + } + } else { + Feedback::error(tr('No section selected.')); } } $channels = $themecontrollib->tc_list_sections(0, -1, 'section_asc', ''); View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/dff20032762a6b5736fcaa446fddff4020980f61 -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/dff20032762a6b5736fcaa446fddff4020980f61 You're receiving this email because of your account on gitlab.com. |
From: benoitg@users.sourceforge.net - 2024-10-01 21:05:31
|
Revision: 86706 http://sourceforge.net/p/tikiwiki/code/86706 Author: "benoitg" Date: 2024-10-01 21:05:26 +0000 (Tue, 01 Oct 2024) Log Message: ----------- [FIX] Structures: breadcrumbs only showing current page --- * [FIX] Structures: breadcrumbs only showing current page --- See merge request tikiwiki/tiki!5934 See merge request tikiwiki/tiki!5938 Modified Paths: -------------- branches/27.x/lib/structures/structlib.php Property Changed: ---------------- branches/27.x/ Index: branches/27.x =================================================================== --- branches/27.x 2024-10-01 20:36:08 UTC (rev 86705) +++ branches/27.x 2024-10-01 21:05:26 UTC (rev 86706) Property changes on: branches/27.x ___________________________________________________________________ Added: subgit:lock:1068a1e40cb941d35f12bf302cb8bf161640ce8c ## -0,0 +1 ## +2024-10-01T21:05:25.831 \ No newline at end of property Deleted: subgit:lock:a018b27613da02ccac4ac6b706c97e210e96becc ## -1 +0,0 ## -2024-10-01T19:59:22.847 \ No newline at end of property Modified: branches/27.x/lib/structures/structlib.php =================================================================== --- branches/27.x/lib/structures/structlib.php 2024-10-01 20:36:08 UTC (rev 86705) +++ branches/27.x/lib/structures/structlib.php 2024-10-01 21:05:26 UTC (rev 86706) @@ -506,7 +506,7 @@ global $prefs; $structure_path = []; $page_info = $this->s_get_page_info($page_ref_id); - if (isset($parent_info) && $parent_info["parent_id"]) { + if (isset($page_info) && $page_info["parent_id"]) { $structure_path = $this->get_structure_path($page_info['parent_id']); } $structure_path[] = $page_info; 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-10-01 21:05:17
|
Benoit Grégoire pushed to branch 27.x at Tiki Wiki CMS Groupware / Tiki Commits: 1068a1e4 by franck franck kalunga at 2024-10-01T21:04:57+00:00 [FIX] Structures: breadcrumbs only showing current page --- * [FIX] Structures: breadcrumbs only showing current page --- See merge request tikiwiki/tiki!5934 See merge request tikiwiki/tiki!5938 - - - - - 1 changed file: - lib/structures/structlib.php Changes: ===================================== lib/structures/structlib.php ===================================== @@ -506,7 +506,7 @@ class StructLib extends TikiLib global $prefs; $structure_path = []; $page_info = $this->s_get_page_info($page_ref_id); - if (isset($parent_info) && $parent_info["parent_id"]) { + if (isset($page_info) && $page_info["parent_id"]) { $structure_path = $this->get_structure_path($page_info['parent_id']); } $structure_path[] = $page_info; View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/1068a1e40cb941d35f12bf302cb8bf161640ce8c -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/1068a1e40cb941d35f12bf302cb8bf161640ce8c You're receiving this email because of your account on gitlab.com. |