WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 23.03.2026 21:35:56

Slugger
Developer

NWI Anywhere — Bugfix 0.3.8

NWI Anywhere — Bugfix 0.3.7
include.php · Stand: 23. März 2026


Fehlermeldung

Unknown column 'Array' in 'WHERE'
SELECT `section_id` FROM `wcek_sections` WHERE `page_id`=Array AND `module`="news_img"

Exception: mysqli_fetch_array(): Argument #1 ($result) must be of type mysqli_result, null given

Ursache

Seit NWI 5.x haben News-Einträge kein eigenes page_id Feld mehr.
NWI Anywhere hat dafür einen Fallback-Code der die page_id in eine section_id umwandelt.
Dieser Fallback war nicht Array-sicher — $group_id kam als Array an,
wurde aber direkt in die SQL-Query eingebaut → WHERE page_id=Array.


Fix — include.php

// vorher
$pid = $database->query('SELECT `section_id` FROM `{TP}sections`
    WHERE `page_id`='.$group_id.' AND `module`="news_img"');
while(null!==($row=$pid->fetchRow())) {
    $group_id = $row['section_id'];
}
$group_id_type = 'section_id';

// nachher
$page_ids = is_array($group_id) ? $group_id : array($group_id);
$group_id = array();
foreach ($page_ids as $pid_val) {
    $pid_val = (int)$pid_val;
    $pid = $database->query('SELECT `section_id` FROM `{TP}sections`
        WHERE `page_id`='.$pid_val.' AND `module`="news_img"');
    while(null!==($row=$pid->fetchRow())) {
        $group_id[] = $row['section_id'];
    }
}
$group_id_type = 'section_id';

Ergebnis

Kein Eintrag im Errorlog nach dem Fix.
Mehrere page_id Werte werden jetzt korrekt verarbeitet.


Umgebung

  • NWI Anywhere Version: 0.3.7

  • NWI Version: 5.0.30

  • WBCE: 1.6.5

  • PHP: 8.5.2

Last edited by Slugger (28.03.2026 10:08:55)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

Liked by:

stefanek, giz

#2 23.03.2026 22:12:16

stefanek
Core-Team

Re: NWI Anywhere — Bugfix 0.3.8

Ich habe die Entwicklung von NWI gar nicht mitverfolgt und es ist mir entgangen, aber das ...

Slugger wrote:

Seit NWI 5.x haben News-Einträge kein eigenes page_id Feld mehr.

... ist sehr vorbildlich!

Christian

Last edited by stefanek (23.03.2026 22:12:49)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#3 24.03.2026 09:41:04

giz
Member

Re: NWI Anywhere — Bugfix 0.3.8

Hallo,

muss ich dann den Aufruf des Droplets auch ändern?
Denn nach dieser Änderung werden bei mir keine Beiträge mehr angezeigt. (Keine Beiträge vorhanden)

So sieht der bei mir aus

[[fetchNewsItems?group_id=7&display_mode=1&max_news_items=5&sort_by=4]]

Oder sollte die Änderung erst nach Umstellung auf php 8.5.x erfolgen?

WBCE Version: 1.6.5
PHP Version: 8.3.29
NWI: 5.0.30 fixed Ver.
NWI Anywhere: 0.3.7


WBCE 1.6.5 - PHP 8.3.29- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos
#Akkusativ ist kein Verbrechen

Online

#4 24.03.2026 10:20:43

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

Wie sieht der Inhalt der Droplets bei dir aus?

Ich rufe nur das nia_droplet.php im Ordner auf zum test.

[== PHP ==]
if (!file_exists(WB_PATH . '/modules/news_img_anywhere/droplet/nia_droplet.php')) return;
include(WB_PATH . '/modules/news_img_anywhere/droplet/nia_droplet.php');
return $output;

Last edited by Slugger (24.03.2026 10:23:17)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

#5 24.03.2026 10:28:18

giz
Member

Re: NWI Anywhere — Bugfix 0.3.8

include_once WB_PATH . '/modules/news_img/functions.inc.php';
if (! file_exists(WB_PATH . '/modules/news_img_anywhere/droplet/nia_droplet.php')) return;
include(WB_PATH . '/modules/news_img_anywhere/droplet/nia_droplet.php');
return $output;
$options = array(
    'group_id_type' => 'group_id',    // type used by group_id to extract news entries (supported: 'group_id', 'page_id', 'section_id', 'post_id')
    'group_id' => 0,                  // IDs of news to show, matching defined $group_id_type (default:=0, all news, 0..N, or array(2,4,5,N) to limit news to IDs matching $group_id_type)
    'start_news_item' => 0,           // start showing news from the Nth news item onwards (default:= 0, min:=-999, max:= 999); Note: -1: last item, -2: 2nd last etc.
    'max_news_items' => 10,           // maximum number of news shown (default:= 10, min:=1, max:= 999)
    'max_news_length' => -1,          // maximum length of the short news text shown (default:=-1 => full news length)
    'strip_tags' => true,             // true:=remove tags from short and long text (default:=true); false:=don?t strip tags
    'allowed_tags' => '<p><a><img>',  // tags not striped off (default:='<p><a><img>')
    'custom_placeholder' => false,    // false:= none (default), array('MY_VAR_1' => '%TAG%#', ... 'MY_VAR_N' => '#regex_N#' ...)
    'sort_by' => 1,                   // 1:=position (default), 2:=posted_when, 3:=published_when, 4:=random order, 5:=number of comments
    'sort_order' => 1,                // 1:=descending (default), 2:=ascending
    'is_not_older_than' => 0,         // alias for not_older_than (CKE problem, see issue #78)
    'not_older_than' => 0,            // 0:=disabled (default), 0-999 (only show news `published_when` date <=x days; 12 hours:=0.5)
    'lang_id' => 'AUTO',              // language file to load and lang_id used if $lang_filer = true (default:= auto, examples: AUTO, DE, EN)
    'lang_filter' => false,           // flag to enable language filter (default:= false, show only news from a news page, which language fits $lang_id)
    'skip' => null,                   // filter by tags (blacklist)
    'tags' => null,                   // filter by tags (whitelist)
    'view' => null,                   // use CSS from view (default, faq)
    'aslist' => false,                // only titles (<ul>)
    'groups_on_tags' => 1
);

// update options with user defined values
foreach($options as $key => $value) {
	// remove options not defined via [[displayNewsItems?supported_option=VALUE]]
	if (! isset(${$key})) {
		unset($options[$key]);
		continue;
	}

	// update options with user defined values (will be sanitized in getImageNewsItems later on)
	if ($key == 'group_id') {
		$options[$key] = explode(',', ${$key});
	} else {
		if (in_array($key, array('allowed_tags'))) {
			// deal with fact that Droplets don't yet support urldecode by itself
			${$key} = str_replace(array('<', '%3C', '>', '%3E'), array('<', '<', '>', '>'), ${$key});
		}
		if (in_array($key, array('strip_tags', 'lang_filter'))) {
			// deal with boolean types ('false', 'true' are both True if converted to Boolean)
			${$key} = str_replace(array('false', 'true'), array('0', '1'), strtolower(${$key}));
		}
		// strip leading and trailing single and double quotes
		$options[$key] = trim(${$key}, '"\'');
	}
}

$output = mod_nwi_get_news_items($options);
return $output;

WBCE 1.6.5 - PHP 8.3.29- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos
#Akkusativ ist kein Verbrechen

Online

#6 24.03.2026 12:19:00

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

NWI Anywhere 0.3.7 — Droplet Konzept erklärt


Hallo giz,

danke für deine Rückmeldung und den kompletten Droplet-Code — das hat die Analyse erleichtert!

Du bist auf dem richtigen Weg, nur ist da leider etwas durcheinandergeraten.

Hier die Erklärung:

Zwei Wege — nicht mischen!

NWI Anywhere bietet zwei Möglichkeiten ein Droplet einzurichten.
Das Problem in deinem Fall: beide Wege wurden gemischt — das führt dazu
dass nichts angezeigt wird.


Option A — Default Droplet (einfach, empfohlen)

Droplet-Inhalt:

if (!file_exists(WB_PATH . '/modules/news_img_anywhere/droplet/nia_droplet.php')) return;
include(WB_PATH . '/modules/news_img_anywhere/droplet/nia_droplet.php');
return $output;

Parameter werden direkt im Droplet-Aufruf auf der Seite übergeben:

[[getImageNewsItems?group_id=7&display_mode=1&max_news_items=5&sort_by=4]]

Vorteil: Droplet-Code bleibt schlank — Parameter je Seite flexibel anpassbar.


Option B — Eigenes Droplet (für feste Konfiguration)

Droplet-Inhalt mit eigenen Optionen — ohne nia_droplet.php einzubinden:

require_once(WB_PATH . '/modules/news_img_anywhere/include.php');
if (!function_exists('getImageNewsItems')) return;

$options = array(
    'group_id_type' => 'group_id',
    'group_id'      => array(7),
    'display_mode'  => 1,
    'max_news_items' => 5,
    'sort_by'       => 4,
);

return getImageNewsItems($options);

Vorteil: Optionen fest im Droplet definiert — kein langer Aufruf nötig.


Was in deinem Droplet falsch war

  • Fehler 1: return $output stand vor dem $options Array — der Rest wurde nie ausgeführt

  • Fehler 2: mod_nwi_get_news_items() existiert nicht — richtig ist getImageNewsItems()

  • Fehler 3: nia_droplet.php eingebunden UND eigene $options definiert — das sind zwei verschiedene Wege die nicht kombiniert werden


Empfehlung

Nimm Option A — schlank, flexibel, funktioniert sofort.
Die nia_droplet.php im Modulordner ist genau dafür da.


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

Liked by:

giz

#7 24.03.2026 13:20:11

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

Inhalt gelöscht, falsches Thema

-> Wer kann Löschen?

Last edited by Slugger (24.03.2026 15:28:36)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

#8 24.03.2026 14:39:10

giz
Member

Re: NWI Anywhere — Bugfix 0.3.8

Danke für die ausführliche Erklärung,
die mir auch einleuchtet;
nur: bis zu der Änderung in der include.php hat es ja ohne Probleme funktioniert, auch wenn mein Droplet "falsch" war.
und: egal, wie ich das Droplet jetzt aufbaue, Option A oder B, wird nichts angezeigt. (bzw. keine Beiträge vorhanden)

Irgendwo ist da wohl noch ein anderer Wurm unterwegs....
Habe die include.php jetzt wieder in den vorigen Zustand gebracht.


WBCE 1.6.5 - PHP 8.3.29- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos
#Akkusativ ist kein Verbrechen

Online

#9 24.03.2026 15:29:08

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

Hallo giz,
bitte mal testen.


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

#10 24.03.2026 20:19:10

giz
Member

Re: NWI Anywhere — Bugfix 0.3.8

Test mit fixed2 (also ich habe jetzt nur die include.php getauscht):
Option A (keine Beiträge vorhanden)
Option B (keine Beiträge vorhanden)

auch habe ich das droplet mal komplett neu erstellt, was aber auch nichts änderte.
Wäre es möglich, dass es daran liegt, dass ich das Droplet per sectionpicker einbinde?


WBCE 1.6.5 - PHP 8.3.29- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos
#Akkusativ ist kein Verbrechen

Online

#11 24.03.2026 20:29:36

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

NWI Anywhere — SectionPicker Kompatibilität

Hallo giz,

Gute Frage, dein Verdacht ist berechtigt!
Der SectionPicker lädt Abschnitte in einem anderen Kontext — das kann bei NWI Anywhere zu Problemen führen.

Mögliche Ursache

NWI Anywhere nutzt in include.php relative Pfade:

require_once ('code/nia_functions.php');

Wenn NWI Anywhere via SectionPicker eingebunden wird, stimmt das
Arbeitsverzeichnis möglicherweise nicht mehr — der relative Pfad
zeigt dann ins Leere.

Test 1 — Direkt ohne SectionPicker

Lege einen Code2-Abschnitt direkt auf der Seite an und rufe NIA dort auf:

if (!file_exists(WB_PATH . '/modules/news_img_anywhere/droplet/nia_droplet.php')) return;
include(WB_PATH . '/modules/news_img_anywhere/droplet/nia_droplet.php');
return $output;

Aufruf: [[getImageNewsItems?group_id_type=page_id&group_id=4]]

Wenn das funktioniert ist der SectionPicker die Ursache.

Test 2 — Droplet direkt auf der Seite

Das Droplet [[getImageNewsItems?...]] direkt im WYSIWYG einer Seite
einbinden — ohne SectionPicker Umweg.

Was können wir tun wenn SectionPicker die Ursache ist?

Den relativen Pfad in include.php auf absoluten Pfad umstellen:

// vorher
require_once ('code/nia_functions.php');

// nachher
require_once (WB_PATH . '/modules/news_img_anywhere/code/nia_functions.php');

Kannst du Test 1 durchführen und das Ergebnis melden?

Das wird uns dann vermutlich weiterhelfen.

Vielen Dank


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

#12 25.03.2026 09:59:56

giz
Member

Re: NWI Anywhere — Bugfix 0.3.8

Hallo Slugger,

nur nochmal zur Abklärung: es werden "nur" keine Inhalte, also die "News" angezeigt, <"keine Beiträge vorhanden">, die Überschrift, dass da was ist oder sein kann ist vorhanden.
Zu Test 1 und 2: "keine Beiträge vorhanden"; ob mit oder ohne code2-Abschnitt.
Sobald ich die Änderungen in der include.php mache zeigt sich dieses Verhalten, ohne Änderungen funktioniert das mit SectionPicker und auch Test1 und 2.

Wenn es für dich zum Testen leichter wäre, kann ich die vorhandene Seite (die eine Produktivseite ist und laufen muss) auf eine Test-subdomain spiegeln und dir da Zugang geben.
Danke für's Grübeln.


WBCE 1.6.5 - PHP 8.3.29- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos
#Akkusativ ist kein Verbrechen

Online

#13 25.03.2026 11:00:24

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

NWI Anywhere 0.3.7 — Bugfix Rev. 3
include.php · Stand: 24. März 2026


Hintergrund

Nach Rev. 1 und Rev. 2 hat giz gemeldet dass mit dem Fix
zwar die Überschrift erscheint aber keine Beiträge angezeigt werden. Danke giz! mit deiner Geduld.

Zeit ist relativ, einfach schnell NIA fixen für eine neue Instanz ist einfach.

Aber die Realität sieht anders aus, besonders wenn unsere Community Rückmeldung gibt. cool

Dann kommt man ins grübeln.
So ist das im Leben, Wir alle profitieren davon.

Also wenn es danach nicht klappt nehme ich dein Vorschlag an.
Dankeschön.

Der echte Wurm

sanitizeUserInputs($group_id_type, 'l{group_id;group_id;page_id;section_id;post_id}');

Der List-Filter hat als Default-Wert group_id.
Unser Fix hat $group_id_type auf section_id gesetzt —
aber sanitizeUserInputs hat es danach wieder auf group_id zurückgesetzt.

Ergebnis: Die SQL-Query suchte nach group_id statt section_id — keine Treffer.


Fix — include.php

// page_id Fallback VOR sanitizeUserInputs
$mdv_page_id_fallback = ($group_id_type == 'page_id');
if ($mdv_page_id_fallback) {
    // group_id Array aufbauen aus section_ids
    // group_id_type HIER NOCH NICHT setzen!
}

// sanitizeUserInputs läuft durch — überschreibt group_id_type nicht mehr
sanitizeUserInputs($group_id_type, 'l{group_id;group_id;...}');

// JETZT group_id_type setzen — nach sanitizeUserInputs
if ($mdv_page_id_fallback) {
    $group_id_type = 'section_id';
}

Verlauf der Fixes

  • Rev. 1 — Array direkt in SQL → Unknown column 'Array' behoben

  • Rev. 2 — group_id_type zu spät gesetzt → vor sanitizeUserInputs verschoben

  • Rev. 3 — sanitizeUserInputs setzt group_id_type zurück → nach sanitizeUserInputs setzen


Umgebung

  • NWI Anywhere Version: 0.3.7

  • NWI Version: 5.0.30

  • WBCE: 1.6.5

  • PHP: 8.5.2

Last edited by Slugger (25.03.2026 11:01:15)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

#14 25.03.2026 18:33:02

giz
Member

Re: NWI Anywhere — Bugfix 0.3.8

Ich würde Dir gerne postives Feedback geben....
aber leider fixed Fix 3 auch nicht.

the worm's still crawling

Schicke Dir, sobald die Mirrorseite steht die passenden Zugangsdaten.
Danke für deine Mühe und meine Geduld ist fast unendlich wink , außerdem eilt's mir auch nicht; Seite läuft ja.
cheers


WBCE 1.6.5 - PHP 8.3.29- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos
#Akkusativ ist kein Verbrechen

Online

Liked by:

Slugger

#15 25.03.2026 22:34:24

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

NWI Anywhere 0.3.7 — Bugfix Rev. 4 (final)
include.php · Stand: 25. März 2026


Hallo giz,

wir haben den echten Wurm gefunden! Danke für deine Geduld und den Mirror —
ohne den direkten Blick ins Droplet wären wir noch lange am Grübeln gewesen. ?


Was der Wurm wirklich war

Dein Droplet ruft NIA mit group_id=0 auf (= alle News anzeigen).
Unser Fix hat group_id_type=page_id + group_id=0 kombiniert
und daraus eine SQL-Query gebaut mit WHERE page_id=0 — die natürlich
keine Ergebnisse liefert.

Ohne unseren Fix wurde group_id=0 direkt als "alle News" interpretiert —
das hat immer funktioniert.


Fix Rev. 4 — include.php

Der page_id Fallback wird jetzt nur ausgeführt wenn:

  • group_id_type = page_id UND

  • group_id > 0 (eine echte Seiten-ID)

Bei group_id=0 (alle News) wird der Fallback übersprungen — wie vorher.
Zusätzlich: Fallback auf alle News wenn keine section_id gefunden wird.


Verlauf der Fixes

  • Rev. 1 — Array direkt in SQL → Unknown column 'Array' behoben

  • Rev. 2 — group_id_type zu spät gesetzt → vor sanitizeUserInputs verschoben

  • Rev. 3 — sanitizeUserInputs setzt group_id_type zurück → nach sanitizeUserInputs setzen

  • Rev. 4 — group_id=0 wurde als page_id=0 behandelt → Fallback nur bei group_id > 0


Frage an giz

Beim Blick in deine Original include.php ist uns aufgefallen dass du
group_id_type = 'section_id' als Default gesetzt hast — nicht group_id wie im offiziellen 0.3.7.

Nutzt du irgendwo group_id_type=page_id in einem Droplet-Aufruf?
Oder immer nur section_id oder group_id?

Das hilft uns zu verstehen ob unser Fix bei dir überhaupt greift —
oder ob der Wurm vielleicht noch woanders sitzt. ?


Umgebung

  • NWI Anywhere Version: 0.3.7

  • NWI Version: 5.0.30

  • WBCE: 1.6.5

  • PHP: 8.3 / 8.5

Last edited by Slugger (26.03.2026 00:27:07)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

Liked by:

mk70

#16 26.03.2026 09:31:16

giz
Member

Re: NWI Anywhere — Bugfix 0.3.8

Danke für's testen; leider fixt es das noch nicht.

Zu deiner Frage: mit dieser Einstellung habe ich das Ganze überhaupt erst so zum Laufen bekommen, wie ich es wollte und seitdem nicht mehr angefasst.
Und das auch nur über Try&Error.
Du kannst auf der test-Domain gerne die dateien ändern, um zu schauen, ob es das problem fixt. dafür ist sie ja da.


WBCE 1.6.5 - PHP 8.3.29- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos
#Akkusativ ist kein Verbrechen

Online

#17 26.03.2026 13:36:35

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

NWI Anywhere — Lösung für giz
Stand: 26. März 2026


Hallo giz,

wir haben den Wurm endlich gefunden — und er saß im Droplet-Aufruf, nicht in der include.php! ?


Was passiert ist

Du rufst NIA so auf:

[[getNewsItems?group_id=7&display_mode=1&max_news_items=5&sort_by=4]]

Die 7 ist dabei die Section-ID deines NWI-Abschnitts — also brauchst du group_id_type=section_id.

Das Droplet hat aber seinen eigenen Default:

'group_id_type' => 'group_id'  // ← Default im nia_droplet.php

Wenn du group_id_type nicht explizit mitgibst, sucht NIA nach einer
group_id=7 — also einer Nachrichtengruppe mit ID 7.
Die gibt es bei dir nicht → keine Beiträge.


Die Lösung

Einfach group_id_type=section_id im Aufruf ergänzen:

[[getNewsItems?group_id_type=section_id&group_id=7&display_mode=1&max_news_items=5&sort_by=4]]

Warum hat es vorher funktioniert?

Du hattest in deiner include.php den Default auf section_id geändert:

'group_id_type' => 'section_id'  // giz hatte das angepasst

Das hat funktioniert — bis sanitizeUserInputs ins Spiel kam.
Diese Funktion hat den Default-Wert aus der Liste genommen (group_id)
und deinen Wert section_id stillschweigend überschrieben.

Das war ein versteckter Bug der nur durch Zufall funktioniert hat.


Fazit

  • include.php → Original wiederherstellen (unser Fix für PHP 8.5 bleibt gültig)

  • Droplet-Aufruf → group_id_type=section_id explizit angeben

  • Kein weiterer Fix an include.php nötig


Unsere Fixes Rev 1-4

Die waren für den PHP 8.5 Array-Bug korrekt und bleiben gültig —
hatten aber mit deinem Problem nichts zu tun.
Entschuldigung für die lange Suche! ?

Auf deiner "NWI SectionPicker" habe ich den Dropletcode stehen gelassen.

Umgebung

  • NWI Anywhere Version: 0.3.7

  • NWI Version: 5.0.30

  • WBCE: 1.6.5

  • PHP: 8.3.29

Last edited by Slugger (26.03.2026 13:39:51)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

#18 26.03.2026 14:57:40

giz
Member

Re: NWI Anywhere — Bugfix 0.3.8

Was für ein böser Wurm.....

Slugger wrote:

Entschuldigung für die lange Suche! ?

Auf gar keinen Fall ist das etwas, um sich entschuldigen zu müssen....
Das müsste eher ich, da ich solche Umstände gemacht habe...
Und mein erster Verdacht in #3 war gar nicht so verkehrt smile

Ich bin froh, dass der "Fehler" gefunden wurde und ich hoffe, auch andere profitieren davon.
Ein großes Danke  thumb_up an Slugger für die unermüdliche Arbeit!!


WBCE 1.6.5 - PHP 8.3.29- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos
#Akkusativ ist kein Verbrechen

Online

Liked by:

Slugger

#19 26.03.2026 15:08:32

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

Gerne doch,

Kleinvieh macht halt auch Mist.

Und wieder ein paar Ideen und To-Do's für die nächste Zeit.

Viel Spaß noch. smile


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

Liked by:

giz

#20 27.03.2026 19:57:03

florian
Administrator

Re: NWI Anywhere — Bugfix 0.3.8

tl;dr, sry
Ist 0.3.7 Fix4 für den Allgemeingebrauch/-test?


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#21 28.03.2026 10:06:27

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

NWI Anywhere 0.3.8 — group_id_type=page_id Fix
Stand: 28. März 2026

Hallo,
damit es eindeutig wird für den gebrauch:

NWI Anywhere hat ein Bugfix-Update bekommen.

Problem

Beim Aufruf mit group_id_type=page_id und group_id > 0
wurden keine News angezeigt.

Ursache

Der page_id Fallback lag NACH sanitizeUserInputs() — dabei wurde
group_id bereits zu Integer konvertiert bevor der Fallback ausgeführt
werden konnte. Bei group_id=0 (Default) wurde fälschlicherweise
kein Fallback ausgeführt.

Fix

Fallback VOR sanitizeUserInputs verschoben:

  • Prüfung: group_id_type=page_id UND group_id > 0

  • page_id → section_id Umrechnung erfolgt jetzt korrekt

  • Nullwerte in group_id werden herausgefiltert

  • group_id_type wird erst NACH sanitizeUserInputs auf section_id gesetzt

  • Fallback auf alle News wenn keine section_id gefunden

Last edited by Slugger (28.03.2026 10:08:23)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

Liked by:

giz

#22 08.04.2026 11:22:43

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

NWI Anywhere 0.4.0 — Planung

Hallo zusammen,

nach dem Bugfix-Release 0.3.8 möchte ich kurz vorstellen, was für 0.4.0 geplant ist.

Modultyp-Wechsel
NIA wird vom reinen Snippet zum vollwertigen Page-Modul:

$module_function = 'page,snippet'

Einbindung — alle bisherigen Wege bleiben erhalten

  • Als Page-Modul → Abschnitt auf Seite, Einstellungen direkt in modify.php

  • Als Droplet → [NIA?group_id=7&group_id_type=section_id]

  • Als Code2 → direkter PHP-Aufruf

  • Als Sectionpicker → Snippet-Auswahl

Neue Verwaltung in modify.php
Statt Droplet-Parameter manuell einzugeben, gibt es künftig Dropdowns direkt im Backend:

  • group_id_type (group_id / section_id / page_id / post_id)

  • group_id (aus DB befüllt)

  • display_mode (Liste / Grid / Slider)

  • max_news

  • sort_by / sort_order

  • Filter-Vorschau: wieviele News werden angezeigt?

Neuer Anzeigemodus: Slider
Inspiriert durch das HowTo von webbird (viewtopic.php?id=5832) wird display_mode=3 einen Bootstrap 5 Carousel Slider unterstützen. Templates sind austauschbar.

  • display_mode=1 → Liste (Standard)

  • display_mode=2 → Grid

  • display_mode=3 → Bootstrap 5 Slider

DB-Erweiterung

ALTER TABLE wbce_mod_news_img_anywhere ADD COLUMN
    `group_id`      INT(11)      NOT NULL DEFAULT 0,
    `group_id_type` VARCHAR(20)  NOT NULL DEFAULT 'group_id',
    `display_mode`  INT(11)      NOT NULL DEFAULT 1,
    `max_news`      INT(11)      NOT NULL DEFAULT 10,
    `sort_by`       INT(11)      NOT NULL DEFAULT 1,
    `sort_order`    INT(11)      NOT NULL DEFAULT 1;

Rückwärtskompatibilität
Bestehende Droplet-Aufrufe funktionieren weiter. Die neuen DB-Spalten ergänzen — sie ersetzen nichts.

Tester gesucht
giz — magst du wieder als Tester dabei sein?

Feedback und Ideen willkommen!

Grüße


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

Liked by:

mk70, giz

#23 08.04.2026 12:27:11

webbird
Administrator

Re: NWI Anywhere — Bugfix 0.3.8

Bootstrap Slider finde ich zu kurz gedacht. Mein Plan war es, beliebige Slider zu unterstützen.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

Liked by:

Slugger

#24 08.04.2026 12:37:53

Slugger
Developer

Re: NWI Anywhere — Bugfix 0.3.8

Dann Zähle bitte auf welche das sind  devil


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.x * Alle • BE: Argos
Status Projekt 1-4:  OK

Online

#25 08.04.2026 12:53:17

webbird
Administrator

Re: NWI Anywhere — Bugfix 0.3.8

Wie jetzt... alle die in Frage kommen? Wohl kaum... Es soll beliebig erweiterbar sein.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

Board footer

up