[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