[TikiWiki-commits] [Git][tikiwiki/tiki][tiki-newls29] [FIX] Fixed TypeError when importing emails from tracker in newsletter subscriptions
"Espoir Baraka \(@esbarakabigega\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <698ae8ccc22b5_3b184ea824765@gitlab-sidekiq-low-urgency-cpu-bound-v2-7c66b7f6c6-jzzdr.mail> |
Espoir Baraka pushed to branch tiki-newls29 at Tiki Wiki CMS Groupware / Tiki
Commits:
c6140cba by Espoir Baraka at 2026-02-10T09:13:30+01:00
[FIX] Fixed TypeError when importing emails from tracker in newsletter subscriptions
---
* [FIX] Fixed TypeError when importing emails from tracker in newsletter subscriptions
See merge request tikiwiki/tiki!9400
(cherry picked from commit 3b6eb76325b35113073bdef784f5159cb502942c)
- - - - -
2 changed files:
- lib/newsletters/nllib.php
- lib/trackers/trackerlib.php
Changes:
=====================================
lib/newsletters/nllib.php
=====================================
@@ -1362,7 +1362,7 @@ class NlLib extends TikiLib
{
$emails = false;
$trklib = TikiLib::lib('trk');
- $listItems = $trklib->list_tracker_items($trackerId, 0, -1, '', '');
+ $listItems = $trklib->list_tracker_items($trackerId, 0, -1, '', null);
if (empty($listItems['data'])) {
return false;
=====================================
lib/trackers/trackerlib.php
=====================================
@@ -522,22 +522,45 @@ class TrackerLib extends TikiLib
return $status;
}
+ /**
+ * List tracker items with optional field filtering and sorting
+ *
+ * @param int $trackerId The tracker ID (-1 for all trackers)
+ * @param int $offset Offset for pagination
+ * @param int $maxRecords Maximum number of records to return (-1 for all)
+ * @param string $sort_mode Sort mode (e.g., 'itemId_asc', 'lastModif_desc', or 'f_fieldname_asc')
+ * @param array|null $fields Array with 'data' key containing field definitions from list_tracker_fields(), or null
+ * @param string $status Filter by item status (empty string for all)
+ * @param string $initial Filter items starting with this initial character
+ * @return array Array with 'data' key containing items and 'count' key with total count
+ */
/*shared*/
public function list_tracker_items($trackerId, $offset, $maxRecords, $sort_mode, $fields, $status = '', $initial = '')
{
-
$filters = [];
- if ($fields) {
+ $csort_mode = '';
+
+ if ($fields && is_array($fields) && isset($fields["data"])) {
$temp_max = count($fields["data"]);
for ($i = 0; $i < $temp_max; $i++) {
$fieldId = $fields["data"][$i]["fieldId"];
$filters[$fieldId] = $fields["data"][$i];
}
+
+ if (! $sort_mode) {
+ for ($i = 0; $i < $temp_max; $i++) {
+ if ($fields['data'][$i]['isMain'] == 'y') {
+ $csort_mode = $fields['data'][$i]['name'];
+ break;
+ }
+ }
+ }
}
- $csort_mode = '';
- if (substr($sort_mode, 0, 2) == "f_") {
+
+ if (str_starts_with($sort_mode, "f_")) {
list($a,$csort_mode,$corder) = explode('_', $sort_mode, 3);
}
+
$trackerId = (int) $trackerId;
if ($trackerId == -1) {
$mid = " where 1=1 ";
@@ -554,15 +577,6 @@ class TrackerLib extends TikiLib
$mid .= "and ttif.`value` like ?";
$bindvars[] = $initial . '%';
}
- if (! $sort_mode) {
- $temp_max = count($fields["data"]);
- for ($i = 0; $i < $temp_max; $i++) {
- if ($fields['data'][$i]['isMain'] == 'y') {
- $csort_mode = $fields['data'][$i]['name'];
- break;
- }
- }
- }
if ($csort_mode) {
$sort_mode = $csort_mode . "_desc";
$bindvars[] = $csort_mode;
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/c6140cba945ca9a6ece387c7b893f1c7f4563a3d
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/c6140cba945ca9a6ece387c7b893f1c7f4563a3d
You're receiving this email because of your account on gitlab.com.
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs