WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 14.09.2023 11:31:08

byteworker
Member

Dirlist Errormeldung

Bei einer Seite mit mehreren Abschnitten mit dem Modul "Dirlist" laufen die Warnings voll:

2023-09-14T08:09:52+00:00 [Deprecated] /modules/dirlist/class.dirlist.php:[675] from /modules/dirlist/class.dirlist.php:[736] dirlist->sortDateDescending "usort(): Returning bool from comparison function is deprecated, return an integer less than, equal to, or greater than zero"

Jemand eine Idee, wo ich da schrauben muss, damit das aufhört?

WBCE 1.6.1
PHP 8.1.23
DirList Version 0.3.1

Grüße Norbert

Last edited by byteworker (14.09.2023 11:32:19)

Offline

#2 14.09.2023 12:00:28

florian
Administrator

Re: Dirlist Errormeldung

Gemäß https://stackoverflow.com/a/65383660
Versuch mal, in class.dirlist.php Zeile 242

return ($a['date'] < $b['date']); 	}

zu ändern in

return ($a['date'] <=> $b['date']); 	}

(nicht getestet)


Nicht ärgern. Nur wundern.

Offline

Liked by:

byteworker

#3 14.09.2023 14:22:44

byteworker
Member

Re: Dirlist Errormeldung

Danke, aber das hat nicht gewirkt. Wenn ich die Seite öffne, die Downloads nach Datum oder Dateigröße srtiere, kommt es wieder zu Einträgen.

2023-09-14T12:21:09+00:00 [Deprecated] /modules/dirlist/class.dirlist.php:[664] from /modules/dirlist/class.dirlist.php:[732] dirlist->sortDateAscending "usort(): Returning bool from comparison function is deprecated, return an integer less than, equal to, or greater than zero"

Offline

#4 14.09.2023 14:32:52

florian
Administrator

Re: Dirlist Errormeldung

Ahja, das hatte ich übersehen, das muss dann wohl bei allen Funktionen so angepasst werden:

function cmpSA($a,$b) {
	return ($a['size'] <=> $b['size']); 	}

function cmpSD($a,$b) {
	return ($a['size'] <=>  $b['size']); 	}

function cmpDA($a,$b) {
	return ($a['date'] <=>  $b['date']); 	}

function cmpDD($a,$b) {
	return ($a['date'] <=>  $b['date']); 	}

Nicht ärgern. Nur wundern.

Offline

Liked by:

byteworker

#5 14.09.2023 14:38:51

byteworker
Member

Re: Dirlist Errormeldung

Ja, hat geklappt, Fehler sind keine mehr da!
Danke

smile

Offline

#6 14.09.2023 14:48:08

florian
Administrator

Re: Dirlist Errormeldung

Hm, aber die Umsortierung funktioniert dann wahrscheinlich nicht mehr, oder? Weil die ...A / ...D-Funktionen ja nun jeweils identische Werte zurückgeben dürften.


Nicht ärgern. Nur wundern.

Offline

#7 14.09.2023 14:55:20

byteworker
Member

Re: Dirlist Errormeldung

die nach Datum funktioniert noch, die nach Dateigröße ist eh nicht so wichtig:

https://www.korloyeurope.eu/pages/de/download.php

Offline

#8 14.09.2023 14:58:00

byteworker
Member

Re: Dirlist Errormeldung

Ja hast recht, die Sortierung geht nicht mehr. Ich irre mich, da es mehrere Abschnitte untereinander sind, habe ich es nicht gleich bemerkt.

Ist aber im Grund egal, die Besucher sehen auch so, wo sich etwas Neues ergeben hat.

Last edited by byteworker (14.09.2023 14:59:20)

Offline

#9 14.09.2023 15:10:38

florian
Administrator

Re: Dirlist Errormeldung

Grässlicher Fix:

function cmpSA($a,$b) {
	$r=0;
	if ($a['size'] > $b['size']) {
		$r = 1;
	} else {
		$r = -1;
	}
	return $r;
}

function cmpSD($a,$b) {
	$r=0;
	if ($a['size'] > $b['size']) {
		$r = -1;
	} else {
		$r = 1;
	}
	return $r;
}

function cmpDA($a,$b) {
	$r=0;
	if ($a['date'] > $b['date']) {
		$r = 1;
	} else {
		$r = -1;
	}
	return $r;
}

function cmpDD($a,$b) {
	$r=0;
	if ($a['date'] > $b['date']) {
		$r = -1;
	} else {
		$r = 1;
	}
	return $r;
}

Nicht ärgern. Nur wundern.

Offline

Liked by:

byteworker

#10 14.09.2023 15:23:34

byteworker
Member

Re: Dirlist Errormeldung

Eingebaut und funktioniert, keine Errors, aber die Sotierung tut es wieder. Danke Florian!  hmm

Offline

Board footer

up