Layout kann nicht abgespeichert werden
Layout kann nicht abgespeichert werden
Anbei die Fehlermeldung. Wir sind neu hier und arbeiten erst seit kurzem mit Contenido. Wir würden uns über eine Hilfestellung freuen.
Warning: mkdir() [function.mkdir]: Unable to access /srv/www/vhosts/domain/httpdocs/cms/version/layout/1/ in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 319
Warning: chmod() [function.chmod]: Unable to access /srv/www/vhosts/domain/httpdocs/cms/version/layout/1/ in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 320
Warning: chmod() [function.chmod]: Datei oder Verzeichnis nicht gefunden in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 320
Warning: fopen() [function.fopen]: Unable to access /srv/www/vhosts/ domain/httpdocs/cms/version/layout/1/1_1231343656.xml in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 323
Warning: fopen(/srv/www/vhosts/domain/httpdocs/cms/version/layout/1/1_1231343656.xml) [function.fopen]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 323
Warning: fputs(): supplied argument is not a valid stream resource in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 325
Warning: fclose(): supplied argument is not a valid stream resource in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 326
Some error occured: Couldnt Create New Version: /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php at line 329 (#0 /srv/www/vhosts/domain/httpdocs/contenido/includes/functions.lay.php(73): Version->createNewVersion() #1 /srv/www/vhosts/domain/httpdocs/contenido/main.php(272) : eval()'d code(1): layEditLayout('1', 'Standard', '', '
Warning: mkdir() [function.mkdir]: Unable to access /srv/www/vhosts/domain/httpdocs/cms/version/layout/1/ in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 319
Warning: chmod() [function.chmod]: Unable to access /srv/www/vhosts/domain/httpdocs/cms/version/layout/1/ in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 320
Warning: chmod() [function.chmod]: Datei oder Verzeichnis nicht gefunden in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 320
Warning: fopen() [function.fopen]: Unable to access /srv/www/vhosts/ domain/httpdocs/cms/version/layout/1/1_1231343656.xml in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 323
Warning: fopen(/srv/www/vhosts/domain/httpdocs/cms/version/layout/1/1_1231343656.xml) [function.fopen]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 323
Warning: fputs(): supplied argument is not a valid stream resource in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 325
Warning: fclose(): supplied argument is not a valid stream resource in /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php on line 326
Some error occured: Couldnt Create New Version: /srv/www/vhosts/domain/httpdocs/contenido/classes/class.version.php at line 329 (#0 /srv/www/vhosts/domain/httpdocs/contenido/includes/functions.lay.php(73): Version->createNewVersion() #1 /srv/www/vhosts/domain/httpdocs/contenido/main.php(272) : eval()'d code(1): layEditLayout('1', 'Standard', '', '
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten:
Wurde gemacht und auf 777 gestellt beim ordner version und den unterordnern.
--> keine änderung
--> kann es an den php oder xml-writer einstellungen liegen?
Bevor der xml-writer im nachhinein installiert wurde kam nur eine Fehlermeldung.
Diese Fehlermeldung wurde durch einen Artikel im Forum auch beschrieben und durch diesen Lösungsvorschlag behoben durch die nachinstallation des xml-writer:
--> http://forum.contenido.org/viewtopic.ph ... =xmlwriter
woher kommt der ordner /1/ ? im pfad: version/layout/1/ im ordner version und layout gibt es den ordner 1 nicht.
--> keine änderung
--> kann es an den php oder xml-writer einstellungen liegen?
Bevor der xml-writer im nachhinein installiert wurde kam nur eine Fehlermeldung.
Diese Fehlermeldung wurde durch einen Artikel im Forum auch beschrieben und durch diesen Lösungsvorschlag behoben durch die nachinstallation des xml-writer:
--> http://forum.contenido.org/viewtopic.ph ... =xmlwriter
woher kommt der ordner /1/ ? im pfad: version/layout/1/ im ordner version und layout gibt es den ordner 1 nicht.
Da ich aufgrund des gleichen Problems selbst gerade am schauen bin ist mir folgendes aufgefallen:
In der functions.lay.php in der funktion layEditLayout() (Zeile 50) wird zwar die idlay als parameter übergeben, aber zwei zeilen weiter wird die idlay aus den globals gezogen und so überschrieben. dascheint bei mir der Grund zu sein warum beim package import das layout nicht geschrieben wird: idlay ist einfach immer NULL.
Ich habe noch nicht ausreichend getestet wie sich das auswirkt, aber so ist es ja mit Sicherheit falsch.
Contenido 4.8.8, file includes/functions.lay.php, Zeile 50 ff:
Gruß,
Z
In der functions.lay.php in der funktion layEditLayout() (Zeile 50) wird zwar die idlay als parameter übergeben, aber zwei zeilen weiter wird die idlay aus den globals gezogen und so überschrieben. dascheint bei mir der Grund zu sein warum beim package import das layout nicht geschrieben wird: idlay ist einfach immer NULL.
Ich habe noch nicht ausreichend getestet wie sich das auswirkt, aber so ist es ja mit Sicherheit falsch.
Contenido 4.8.8, file includes/functions.lay.php, Zeile 50 ff:
Code: Alles auswählen
<?php
/**
* Edit or Create a new layout
*
* @param int $idlay Id of the Layout
* @param string $name Name of the Layout
* @param string $description Description of the Layout
* @param string $code Layout HTML Code
* @return int $idlay Id of the new or edited Layout
*
* @author Olaf Niemann <olaf.niemann@4fb.de>
* @copryright four for business AG <www.4fb.de>
*/
function layEditLayout($idlay, $name, $description, $code) {
global $client, $auth, $cfg, $sess, $area_tree, $perm, $cfgClient, $idlay;
Z
An eye for an eye will make the whole world blind...
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten:
Ordnerrechte müssen '0777' haben hast du das auch beachtet?
Manache FTP Programme stoßen sich, wenn man die führende 0 nicht angibt.
Die globals Definition ist eine Unschönheit, werde ich mir nochmal anschauen. Im Normalfall sollte die globale Variable aber den gleichen Wert wie der Parameter haben.
Ich kann in meiner Neustallation Layouts speichern daher vermute ich ein serverspezifisches Problem.
Manache FTP Programme stoßen sich, wenn man die führende 0 nicht angibt.
Die globals Definition ist eine Unschönheit, werde ich mir nochmal anschauen. Im Normalfall sollte die globale Variable aber den gleichen Wert wie der Parameter haben.
Ich kann in meiner Neustallation Layouts speichern daher vermute ich ein serverspezifisches Problem.
Ich habe es jetzt getestet.
Nachdem ich in Zeile 52 die $idlay aus dem global statement herausgenommen habe, läuft zumindest mein package import samt Layout problemlos durch!
Die $idlay in den globals hat bei mir wärend dem package import den Wert NULL.
Ich wüßte eigentlich auch gar nicht so recht welche idlay da zu diesem Zeitpunkt drin stehen könnte, weil nach meinem Verständnis in diesem Moment gar kein spezielle(r/s) Artikel/Modul ausgeführt, und von daher auch keines von den Layouts benutzt wird, oder verstehe ich da was falsch?
Naja wie dem auch sei - bei mir funzt es jetzt
Gruß,
Z
Nachdem ich in Zeile 52 die $idlay aus dem global statement herausgenommen habe, läuft zumindest mein package import samt Layout problemlos durch!
Die $idlay in den globals hat bei mir wärend dem package import den Wert NULL.
Ich wüßte eigentlich auch gar nicht so recht welche idlay da zu diesem Zeitpunkt drin stehen könnte, weil nach meinem Verständnis in diesem Moment gar kein spezielle(r/s) Artikel/Modul ausgeführt, und von daher auch keines von den Layouts benutzt wird, oder verstehe ich da was falsch?
Naja wie dem auch sei - bei mir funzt es jetzt

Gruß,
Z
Zuletzt geändert von Der Z am Fr 9. Jan 2009, 16:22, insgesamt 1-mal geändert.
An eye for an eye will make the whole world blind...
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten:
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten:
Als Fix würde ich erst mal folgendes vorschlagen:
ersetzen durch
Code: Alles auswählen
global $client, $auth, $cfg, $sess, $area_tree, $perm, $cfgClient, $idlay;
Code: Alles auswählen
global $client, $auth, $cfg, $sess, $area_tree, $perm, $cfgClient;
if ((int) $idlay == 0) {
global $idlay;
}
Also ich fürchte das gibt ein Problem wenn man die layEditLayout() dazu benutzt ein neues Layout anzulegen. (noch nicht getestet).
In diesem Fall wird ja bewusst FALSE für die idlay übergeben (z.B. class.module.php, Zeilen 651/664). Das intval davon ist 0, somit greift die if Bedingung aus Deinem fix und die idlay würde aus den globals ersetzt.
-> Das wäre aber doch falsch, denn in Zeile 80 wird mit
zwischen UPDATE und INSERT unterschieden.
Das neu Anlegen eines Layouts würde dann also nicht mehr funktionieren wie geplant, es sei denn, die globale $idlay hätte selbst einen Wert der FALSE ausgewertet wird (womit dann aber widerum die Ersetzung überflüssig würde). Habe ich etwas übersehen?
Ich würde jedenfalls das global $idlay komplett rauslassen.
Ich habe keine Stelle im contenido code finden können, an der die layEditLayout() ohne idlay aufgerufen wird obwohl das Layout nicht neu angelegt werden soll. (und ich sehe auch nicht wirklich weshalb man das tun wollte).
Ich wüsste auch gar nicht, welche Layout ID ich in der globalen $idlay erwarten könnte/sollte, wenn ich z.B. dabei bin ein package einzulesen.
Gruß,
Z
In diesem Fall wird ja bewusst FALSE für die idlay übergeben (z.B. class.module.php, Zeilen 651/664). Das intval davon ist 0, somit greift die if Bedingung aus Deinem fix und die idlay würde aus den globals ersetzt.
-> Das wäre aber doch falsch, denn in Zeile 80 wird mit
Code: Alles auswählen
if (!$idlay)
$tmp_newid = $db->nextid($cfg["tab"]["lay"]);
$idlay = $tmp_newid;
$sql = "INSERT INTO ...
} else {
$sql = "UPDATE ...
zwischen UPDATE und INSERT unterschieden.
Das neu Anlegen eines Layouts würde dann also nicht mehr funktionieren wie geplant, es sei denn, die globale $idlay hätte selbst einen Wert der FALSE ausgewertet wird (womit dann aber widerum die Ersetzung überflüssig würde). Habe ich etwas übersehen?
Ich würde jedenfalls das global $idlay komplett rauslassen.
Ich habe keine Stelle im contenido code finden können, an der die layEditLayout() ohne idlay aufgerufen wird obwohl das Layout nicht neu angelegt werden soll. (und ich sehe auch nicht wirklich weshalb man das tun wollte).
Ich wüsste auch gar nicht, welche Layout ID ich in der globalen $idlay erwarten könnte/sollte, wenn ich z.B. dabei bin ein package einzulesen.
Gruß,
Z
An eye for an eye will make the whole world blind...
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten: