[TikiWiki-commits] [Git][tikiwiki/tiki][master] [FIX] Fixed TypeError when importing emails from tracker in newsletter subscriptions

Benoit Grégoire (@benoitg) via TikiWiki-cvs <[email protected]>
Newsgroups gmane.comp.cms.tiki.cvs
Message-ID <698a62f19c948_3b184bb04953b@gitlab-sidekiq-low-urgency-cpu-bound-v2-5cb7fd8c95-zdcfb.mail>

Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki


Commits:
3b6eb763 by Espoir Baraka at 2026-02-09T22:34:10+00: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

- - - - -


2 changed files:

- lib/newsletters/nllib.php
- lib/trackers/trackerlib.php


Changes:

=====================================
lib/newsletters/nllib.php
=====================================
@@ -1401,7 +1401,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
=====================================
@@ -528,22 +528,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 (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 ";
@@ -560,15 +583,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) {
             $bindvars[] = $csort_mode;
             $query = "select tti.*, ttif.`value` from `tiki_tracker_items` tti, `tiki_tracker_item_fields` ttif, `tiki_tracker_fields` ttf ";



View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/3b6eb76325b35113073bdef784f5159cb502942c

-- 
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/3b6eb76325b35113073bdef784f5159cb502942c
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.