[TikiWiki-commits] [Git][tikiwiki/tiki][29.x] [BP][FIX] Fixed TypeError when importing emails from tracker in newsletter subscriptions
"luci \(@luciash\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <698d4346c69b0_3b1852cc93164@gitlab-sidekiq-low-urgency-cpu-bound-v2-67bf4dcc4f-cj6hj.mail> |
luci pushed to branch 29.x at Tiki Wiki CMS Groupware / Tiki
Commits:
1ed21acc by Espoir Baraka at 2026-02-12T02:56:45+00:00
[BP][FIX] Fixed TypeError when importing emails from tracker in newsletter subscriptions
---
* [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)
See merge request tikiwiki/tiki!9532
- - - - -
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/1ed21acc0cbc9aceb2f5604cdd79230e2343afee
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/1ed21acc0cbc9aceb2f5604cdd79230e2343afee
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