WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 19.02.2019 16:11:32

florian
Administrator

[gelöst] Problem mit Colorpicker und WBCE 1.3.3

Wie es scheint, funktioniert der Colorpicker, der bei Vertal, Hortal und noch einigen anderen Templates dabei ist, mit WBCE 1.3.3 nicht mehr richtig. Man kann zwar lokal die Farben ändern, beim Versuch, die geänderten Farben dann zu veröffentlichen bzw. auf den Server zu schreiben, tut sich jedoch nichts.
Es tritt kein JavaScript-Fehler auf, deshalb weiß ich so auf Anhieb nicht, woran das scheitert.

Lösung hier

Last edited by florian (23.02.2019 08:23:36)

Offline

#2 19.02.2019 22:04:21

grindbatzn
Guest

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Keine Schreibrechte im Template-Verzeichnis?

#3 20.02.2019 09:51:59

florian
Administrator

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Nein, hat damit nichts zu tun, klappt auch mit 0777 nicht.

Offline

#4 20.02.2019 11:00:16

grindbatzn
Guest

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Der Colorpicker hat mit WBCE nur wenig zu tun. Ich hab gerade gestern eine neue Site mit WBCE 1.3.3 angelegt und derColorChoser funktioniert problemlos. Template Verklap


Einzig der Bereich, in dem die Werte auf den Server gespeichert werden, braucht Admin-Berechtigungen:

[== PHP ==]
       if (is_numeric($wb->get_session('USER_ID'))) {
		if ($wb->ami_group_member('1')) {
			$p =  __DIR__.'/param.txt';
			file_put_contents ($p, $css_param);
		}
	}

Wird die Datei [TEMPLATE]/colorset/param.txt gespeichert?
Kann in das Verzeichnis gespeichert werden?

#5 20.02.2019 11:16:54

florian
Administrator

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Eine param.txt gab es nicht, aber auch wenn ich die anlege, werden Änderungen nicht gespeichert.
Das Problem tritt nicht nur bei mir auf, siehe Kommentar von "Marco" auf wbce.at/tpls, und ich hatte auch von einem anderen Benutzer eine Anfrage per Mail dazu erhalten.

Offline

#6 21.02.2019 20:50:00

grindmobil
Guest

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Naja: du kannst mich reinschauen lassen. Admin und FTP, dann gehe ich der Sache nach.

#7 22.02.2019 12:22:40

grindbatzn
Guest

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Jepp, da gibt es einen Haufen Notices, mit denen ich aber nichts anfangen kann:

<b>Warning</b>:  session_set_save_handler() [<a href='http://de.php.net/function.session-set-save-handler'>function.session-set-save-handler</a>]: Cannot change save handler when headers already sent in <b>../framework/dbsession.php</b> on line <b>70</b><br />
<br />
<b>Warning</b>:  ini_set() [<a href='http://de.php.net/function.ini-set'>function.ini-set</a>]: Headers already sent. You cannot change the session module's ini settings at this time in <b>.../framework/wsession.php</b> on line <b>42</b><br />
<br />
<b>Warning</b>:  ini_set() [<a href='http://de.php.net/function.ini-set'>function.ini-set</a>]: Headers already sent. You cannot change the session module's ini settings at this time in <b>.../framework/wsession.php</b> on line <b>47</b><br />
<br />
<b>Warning</b>:  ini_set() [<a href='http://de.php.net/function.ini-set'>function.ini-set</a>]: Headers already sent. You cannot change the session module's ini settings at this time in <b>.../framework/wsession.php</b> on line <b>56</b><br />
<br />
<b>Warning</b>:  session_name() [<a href='http://de.php.net/function.session-name'>function.session-name</a>]: Cannot change session name when headers already sent in <b>.../framework/wsession.php</b> on line <b>66</b><br />
<br />
<b>Warning</b>:  session_set_cookie_params() [<a href='http://de.php.net/function.session-set-cookie-params'>function.session-set-cookie-params</a>]: Cannot change session cookie parameters when headers already sent in <b>.../framework/wsession.php</b> on line <b>67</b><br />
<br />
<b>Warning</b>:  session_start() [<a href='http://de.php.net/function.session-start'>function.session-start</a>]: Cannot start session when headers already sent in <b>.../framework/wsession.php</b> on line <b>69</b><br />


Die betroffene Stelle im Script (templates/wbce_hortal/colorset/colorset.php sieh so aus:

[== PHP ==]
if (isset($_GET['do']) AND $_GET['do'] == "save" ) {
	require('../../../config.php');
	if (defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
	require_once WB_PATH . '/framework/class.frontend.php';
	$wb = new frontend(); //hier kracht es
	if (is_numeric($wb->get_session('USER_ID'))) {
		if ($wb->ami_group_member('1')) {
			$p =  __DIR__.'/param.txt';
			file_put_contents ($p, $css_param);
		}
	}
}

also: $wb = new frontend(); spuckt die Fehler aus,
$wb->get_session('USER_ID') liefert nix mehr.

Die Fehler sind hier zu sehen:
/templates/wbce_hortal/colorset/colorset.php?f=444444,1b868b,24b1b9,a80004,ff171d,5eb51e,006871,b81418,eff6f6&do=save

Last edited by grindbatzn (22.02.2019 12:24:15)

#8 22.02.2019 19:24:59

grindbatzn
Guest

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

So, duschen hats gebracht:
Es geht darum, dass colorset.php bereits einen Header ( header("Content-type: text/css", true); ) gesendet hat, $wb aber nochmal einen senden will - was scheitert.
Ich habe jetzt die Reihenfolge im Script geändert, dann funktioniert es.

Ich muss aber sagen:
Da sind viele Module davon betroffen, die irgendwas mit AJAX machen.

Last edited by grindbatzn (22.02.2019 19:27:01)

Liked by:

florian

#9 22.02.2019 19:38:48

bernd
Developer

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Ich hab da die letzten Tage versucht den Fehler zu reproduzieren und es um's verrecken nicht geschafft.
Auch scheint der Fehler ja nicht immer und überall aufzutreten ?!?
Wo "zu Hölle" ist da der Unterschied zwichen z.B. meiner lokalen Test-Installation (PHP7.2) und der Installation vom Florian?


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#10 22.02.2019 20:09:54

grindmobil
Guest

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Vielleicht die Art, wie PHP im Server angebunden ist?

Immerhin: bei Florian ist das Problem 100% reproduzierbar und die notices zeigen den Weg.

#11 22.02.2019 20:25:22

grindmobil
Guest

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Nachtrag:
Wie viele Module betroffen wären, ist schwer zu sagen. Die meisten überprüfen Berechtigungen gleich zu Beginn und nicht - wie hier - erst am Ende.

Trotzdem: wbce sollte da unempfindlicher werden. Ein nicht gesendeter Header sollte nicht gleich alles abwürgen.

#12 22.02.2019 20:48:48

stefanek
Developer

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Ich weiß nicht richtig, worum es geht, bzw. woraus der Fehler besteht, aber wenn Header mehrmals gesendet werden und es dazu zum headers already sent Problem kommt, kann vielleicht die $wb Property $DirectOutput helfen, die NorHei damals grade für solche Sachen mit Ajax und Co. reingebracht hat.
Ich weiß nicht genau, ob das weiter hilft oder nicht, aber vielleicht ja doch.

Gruß,
Christian


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#13 22.02.2019 21:49:37

florian
Administrator

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

kann das evtl. mit den WBCE-Einstellungen bzw. der serverseitigen Vorgabe für die Anzeige von PHP-Fehlern zusammen hängen? Sprich dass das Problem nur auftritt, wenn Notices und Warnings ausgegeben werden?

Offline

#14 22.02.2019 21:54:22

grindmobil
Guest

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Nein, wie es aussieht, spielt das keine Rolle.
In hortal hab ich das Problem (auf deiner Seite) gefixt, aber in vertal sollte es weiterhin auftreten.

#15 22.02.2019 22:02:07

florian
Administrator

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Danke dafür. Ich schaue es mir gleich morgen an.

Offline

#16 23.02.2019 08:21:28

florian
Administrator

Re: [gelöst] Problem mit Colorpicker und WBCE 1.3.3

Die gefundene Lösung (nochmals Danke dafür):
In der templates/[templatename]/colorset/colorset.php
Zeile 2

header("Content-type: text/css", true);

löschen

Zeile 39

echo $css;

löschen

und beide Zeilen am Ende vor ?> einfügen, also so:

header("Content-type: text/css", true);
echo $css;
?>

Offline

Liked by:

stefanek, thanks, rudi222

Board footer

up