Seite 72 von 88
Re:
Verfasst: Do 23. Sep 2010, 18:57
von rethus
DiMiZu hat geschrieben:Ich hänge mich an _wiewo_ an, gleiches Problem:
Neue Installation Contenido V 4.8.9
plugin_advanced_mod_rewrite_0.5.1
Sobald ich die Datei config.misc.php im include Ordner mit der des plugins überschreibe erhalte ich im Frontend eine leere weiße Seite auch wenn das Plugin im Backend noch gar nicht aktiviert ist. Ersetzte ich besagte Datei wieder durch die Orginaldatei dann funktioniert Contenido wieder, natürlich ohne mod_rewrite
Contenido 4.8.13
(Installierte PHP-Version 5.2.6)
Problem:
Unter Content >> AMR bleibt alles weiß - wird also nichts angezeigt.
Im Backend und auf der Ausgabeseite erhalte ich die Meldung:
Code: Alles auswählen
[23-Sep-2010 19:42:42] PHP Fatal error: Error: Can't include ......./classes/class.modrewrite.php in ........../contenido/includes/api/functions.api.general.php on line 181
Der Clou dabei, in dem AMR-Plugin ist gar keine derartige Klasse, die ich dort hinüber kopieren könnte.
Hat jemand einen Tipp für mich, woran das leigen könnte?
Re: Re:
Verfasst: Do 23. Sep 2010, 21:14
von xmurrix
rethus hat geschrieben:
Contenido 4.8.13
(Installierte PHP-Version 5.2.6)
Problem:
Unter Content >> AMR bleibt alles weiß - wird also nichts angezeigt.
Im Backend und auf der Ausgabeseite erhalte ich die Meldung:
Code: Alles auswählen
[23-Sep-2010 19:42:42] PHP Fatal error: Error: Can't include ......./classes/class.modrewrite.php in ........../contenido/includes/api/functions.api.general.php on line 181
Der Clou dabei, in dem AMR-Plugin ist gar keine derartige Klasse, die ich dort hinüber kopieren könnte.
Die Datei "class.modrewrite.php" gibt es schon seit Ewigkeiten nicht im Verzeichnis "contenido/classes/", das gab es mal früher im Bundle Contenido + AMR (wenn ich mich nicht irre, in der 4.6.x er Reihe).
Wie kann es sein, dass diese Datei in eine Contenido 4.8.13 er Installation hinein kommt? Gab es etwa vorher ein Contenido Update und/oder ein Update des Plugins? Falls ja, welche Versionen liefen vorher?
Du kannst auch in der Funktion contenido_include() ine debug_backtrace() einbauen, um herauszufinden, von wo aus die class.modrewrite.php eingebunden wird.
Gruß
xmurrix
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Fr 24. Sep 2010, 10:35
von rethus
Also zuvor war das eine 4.6.15er installation. Die hab ich komplett mit backup gesichert, und das Verzeichnis gelöscht. Dann 4.8.13 PLAIN drauf gespielt, und via Setup >> Migration, dann installiert.
Eine class.mod_rewrite.php ist ja gerade nicht drin. Die Sucht er ja, und die ist nicht dort.
Runtergeladen hab ich mir das AMR in der letzten Version von hier
http://www.purc.de/playground-coding-co ... a.109.html
Seit der installatoin des Plugins (mitlerweile hab ich es wieder deinstalliert und gelöscht, erhalte ich auch einen Fehler auf der Ausgabeseite, der nach dem Aktualisieren wieder verschwindet:
unser-horrem.de
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Fr 24. Sep 2010, 11:08
von xmurrix
rethus hat geschrieben:Also zuvor war das eine 4.6.15er installation. Die hab ich komplett mit backup gesichert, und das Verzeichnis gelöscht. Dann 4.8.13 PLAIN drauf gespielt, und via Setup >> Migration, dann installiert.
Eine class.mod_rewrite.php ist ja gerade nicht drin. Die Sucht er ja, und die ist nicht dort...
War das etwas ein Bundle 4.6.15mr, also mit den mod_rewrite Anpassungen?
Falls ja, hat die Suche bei mir nach einem include der "class.mod.rewrite.php" (Contenido 4.6.15mr) folgende Ergebnisse geliefert:
Code: Alles auswählen
contenido/external/frontend/front_content.php/
Line 70: cInclude("classes", 'class.modrewrite.php');
contenido/external/frontend/front_crcloginform.inc.php/
Line 19: cInclude("classes","class.modrewrite.php");
contenido/includes/functions.con.php/
Line 22: cInclude("classes", "class.modrewrite.php");
contenido/includes/functions.str.php/
Line 36: cInclude("classes", "class.modrewrite.php");
contenido/includes/include.str_aliases.php/
Line 8: cInclude("classes", "class.modrewrite.php");
cms/front_content.php/
Line 70: cInclude("classes", 'class.modrewrite.php');
cms/front_crcloginform.inc.php/
Line 19: cInclude("classes","class.modrewrite.php");
Schau mal nach, ob auch wirklich das Vorkommen von cInclude("classes","class.modrewrite.php"); auch wirklich überall entfernt wurde.
Wie schon vorher gesagt, würde der Einbau von debug_backtrace() in der Funktion contenido_include() dir aufzeigen, wo der Aufruf von cInclude("classes","class.modrewrite.php"); genau stattfindet.
Öffne die Datei contenido/includes/api/functions.api.general.php und schreibe am Anfang der Funktion contenido_include() (aber nach der Zeile global $client...) folgende Zeilen hinein
Code: Alles auswählen
if ($where == 'classes' && $what == 'class.modrewrite.php') {
$trace = debug_backtrace();
file_put_contents(
$cfg['path']['contenido'] . 'logs/wer_will_class.modrewrite.php_includieren.txt',
print_r($tace, true),
FILE_APPEND
);
}
Dann kannst du in der Datei contenido/logs/wer_will_class.modrewrite.php_includieren.txt nachsehen, woher der Aufruf von cInclude("classes","class.modrewrite.php"); kommt...
Gruß
xmurrix
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Fr 24. Sep 2010, 11:53
von rethus
Ok, danke für die INfo. Dein Code hat kein Ergebnis gebracht. Die Logdateibleibt leer. Daher hab ich den backtrace weiter unten eingesetzt, wo der error ausgegeben wird.
Jetzt hab ich herausgefunden, dass Capits-SimpleBlog mod_rewrite inkludieren will, wenn die Variable $cfg['mod_rewrite'] gesetzt ist.
Bisher konnte ich aber noch nicht finden, wo die gesetzt wird. Ein print_r($cfg) gibt definitiv aus, dass Sie gesetzt wird.
Demnach müsste ich dann wohl erst mal den Simple-Blog abschalten, und später ggf. umschreiben, damit AMR genutzt wird ?!
Die Andere Frage die bestehen bleibt... wenn ich im Backend Content >> AMR aufrufe, bleibt eine leere weiße Seite.
Werde das Modul jetzt gleich nochmal komplett neu installieren und sehen, ob es dann geht, aber ich befürchte, dass die Seite weiterhin weiß bleibt.
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Fr 24. Sep 2010, 13:01
von xmurrix
rethus hat geschrieben:...Die Andere Frage die bestehen bleibt... wenn ich im Backend Content >> AMR aufrufe, bleibt eine leere weiße Seite.
Werde das Modul jetzt gleich nochmal komplett neu installieren und sehen, ob es dann geht, aber ich befürchte, dass die Seite weiterhin weiß bleibt...
Kannst du herausfinden, wo genau PHP da aussteigt?
Einfach in der Datei "contenido/plugins/mod_rewrite/includes/include.mod_rewrite_content.php" ganz oben die('foobar'); einbauen, und dies solange Zeile für Zeile runterschieben und im Backend die AMR-Seite aufrufen, bis die weiße Seite ohne die Ausgabe "foobar" kommt - Dann ist hoffentlich auch das Problem eingegrenzt. Vielleicht steht ja auch etwas in der errorlog.txt drin.
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Mi 6. Okt 2010, 21:04
von homtata
Ich habe in der 4.8.13 ein Problem, von dem ich nicht sicher weiß, ob es in alten Versionen auch schon aufgetaucht ist:
- Ich habe AMR 0.5.5 intalliert, und in der htaccess sind die pdf-Dateien vom Umschreiben ausgenommen, ebenso wie der upload-Ordner.
- Die PDF-Links programmiere ich meist als Popups über die Karteikarte der Dateieigenschaften des Links im TinyMCE.
- Alle diese javascriptbasierten Links, die ja den normalen HTML-Link erstmal ausbremsen, werden im IE leider doch zu völligem Unsinn umschrieben, also anstatt /upload/pdf/xyz.pdf wird versucht, im Popup /pfad-zum-artikel-in-dem-die-pdf-steht/xyz.pdf anzuzeigen. Der reine HTML-Link wird nicht umschrieben, das ist ok.
Dieses Verhalten habe ich in allen Installationen - im Firefox gibt es dieses Problem übrigens nicht.
Muss ich damit leben oder gibts noch einen mir unbekannten Trick, den IE zur Zusammenarbeit zu bewegen?
LG
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Do 7. Okt 2010, 19:37
von xmurrix
homtata hat geschrieben:...- Ich habe AMR 0.5.5 intalliert, und in der htaccess sind die pdf-Dateien vom Umschreiben ausgenommen, ebenso wie der upload-Ordner.
- Die PDF-Links programmiere ich meist als Popups über die Karteikarte der Dateieigenschaften des Links im TinyMCE.
- Alle diese javascriptbasierten Links, die ja den normalen HTML-Link erstmal ausbremsen, werden im IE leider doch zu völligem Unsinn umschrieben, also anstatt /upload/pdf/xyz.pdf wird versucht, im Popup /pfad-zum-artikel-in-dem-die-pdf-steht/xyz.pdf anzuzeigen. Der reine HTML-Link wird nicht umschrieben, das ist ok....
Kannst du mir bitte ein paar Beispiele geben, wie die Links (Quellcode, nicht Statuszeile des Browsers) vor dem Umschreiben und nach dem Umschreiben genau aussehen und was bei dir der Wert im href-Attribut des base-Tags ist?
Gruß
xmurrix
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Do 7. Okt 2010, 20:01
von homtata
hallo xmurrix,
ei sicher gern doch

ich bin ja froh, dass du dich meiner sache annimmst!
also:
hier ein beispiel:
contenido ist standardmäßig installiert, frontend in /cms, backend in /contenido. keine subdomains o.ä., htaccess liegt im root.
die zu öffnende datei steht im artikel
http://www.open-mrt-heidelberg.de/de/th ... e-mrt.html
der unumschriebene link zur pdf heißt
http://www.open-mrt-heidelberg.de/cms/u ... MRT_3A.pdf
im href des links trage ich im tinymce als "adresse" folgendes ein: upload/pdf/Aufklb_MRT_3A.pdf. der gleiche wert steht auch in der adresse der karteikarte "popup".
dies führt zu folgendem quelltext im browser: href="upload/pdf/Aufklb_MRT_3A.pdf" onclick="window.open('upload/pdf/Aufklb_MRT_3A.pdf','pdf','scrollbars=yes,resizable=yes,width=500,height=700,left='+(screen.availWidth/2-250)+',top='+(screen.availHeight/2-350)+'');return false;" id="pdf" title="Aufklärungsbogen MRT" target="_blank">Aufklärungsbogen Kernspintomographie</a>
im header der datei steht: <base href="
http://www.open-mrt-heidelberg.de/cms/">
in der statuszeile sehe ich den html-href-link korrekt (nicht umschrieben) als
http://www.open-mrt-heidelberg.de/cms/u ... MRT_3A.pdf
das popupfenster zeigt oben in seiner grauen adressleiste an, dass es versucht, folgenden link zu öffnen:
http://www.open-mrt-heidelberg.de/de/th ... MRT_3A.pdf
wie gesagt, fehler NUR im internet explorer - der firefox schreibt den javascriptlink korrekt um... !
brauchst du noch weitere angaben? dann liefere ich die gern.
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Do 7. Okt 2010, 21:46
von xmurrix
Vermute, dass das Problem die falsche Interpretation der URLs ist.
Wenn du mit window.open('upload/path_to_file.pdf') arbeitest, und die Adresse der aktuellen Seite z. B.
http://host/category/article.html ist, wird die URL in window.open als
http://host/category/upload/path_to_file.pdf interpretiert. Anscheinend kommt der IE hier trotz der Angabe im base-Tag durcheinander.
Deshalb gibt es im Plugin auch die Funktion, die vorhandene Pfade zum Upload-Ordner anpasst, indem es den URLs die Web-Adresse des Mandanten voranstellt (also das, was auch im base-Tag) ist. Dann aus Links wie href="upload/path_to_file.pdf" umgewandelt zu href="
http://host/cms/upload/path_to_file.pdf". Das funktioniert aber nicht mit onclick="window.open('upload/path_to_file.pdf')".
Vorschlag:
Füge den Links nur die URL hinzu und eine Kennzeichnung, wie z. B. eine CSS-Klasse "jsPopup".
Code: Alles auswählen
<a href="upload/path_to_file.pdf" target="_blank" class="jsPopup">PDF</a>
Das Plugin sollte diese Links umwandeln zu
Code: Alles auswählen
<a href="http://host/cms/upload/path_to_file.pdf" target="_blank" class="jsPopup">PDF</a>
Beim domready-Event kannst du mit JS die Seite nach Links mit der CSS-Klasse "jsPopup" parsen und die Popupfunktion "on the fly" hinzufügen. Mit jQuery wäre das z. B.:
Code: Alles auswählen
$(document).ready(function() {
$("a.jsPopup").click(function() {
window.open(this.href,'pdf');
return false;
});
});
So sollte es eigentlich funktionieren.
Clients mit JS-Unterstützung öffnen dann die Datei in einem vorgegebenen Popup, andere einfach in einem neuen Fenster. Du kannst auch die CSS-Klasse "jsPopup" ganz weg lassen und die JS-Funktionalität allen Links mit target="_blank" zuweisen.
Gruß
xmurrix
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Fr 8. Okt 2010, 08:24
von homtata
hallo xmurrix,
danke für deine hilfen und ideen!
ich bin jetzt doch einen leicht anderen weg gegangen, den ich auf anderen seiten schon eingesetzt habe, auch wenn das heißt, dass die contenido-eigene funktion für popups damit erstmal für amr nicht in frage kommt...
ich habe ein externes javascript erstellt mit den funktionen:
Code: Alles auswählen
var win = null;
function popdown() {
if (win && !win.closed) win.close();
}
function showpdf(formtext)
{
attr = "scrollbars=yes, width=500, height=700, resizable=yes, left="+(screen.availWidth/2-250)+", top="+(screen.availHeight/2-350);
win = window.open(formtext,"PDFDatei",attr);
if (win) return false;
else return true;
}
function showurl(formtext)
{
attr = "location=yes,menubar=yes,toolbar=yes,status=yes,scrollbars=yes, width=700, height=500, resizable=yes, left="+(screen.availWidth/2-250)+", top="+(screen.availHeight/2-350);
win = window.open(formtext,"URL",attr);
if (win) return false;
else return true;
}
window.onunload = popdown;
window.onfocus = popdown;
und schreibe in die karteikarte "Ereignisse" des links ins feld "onclick" entweder
(für PDF-Dateien) bzw.
(für externe Links)
damit kommt der internet explorer dann endlich auch zurecht, und wenn man will, kann man durch intensiveres skripting und parameterübergabe innerhalb von () ja auch die popups noch genauer steuern.
trotzdem danke, deine vorschläge haben mich erst auf die idee gebracht, diese skripte zu reaktivieren!
für die zukunft bliebe die frage, ob sich das nicht dennoch mit dem amr irgendwie lösen ließe, durch eine plugin-chain oder sowas, die auch die in der karteikarte "popup" eingetragenen links nochmal umschießt, so dass auch der ie damit klar kommt (falls das überhaupt geht).
lg
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Mo 11. Okt 2010, 22:48
von homtata
noch eine Variante zur Lösung des Problems, da ich jetzt nicht auf allen Installationen alle Popup-Links ohne Not umschießen wollte:
Das Problem löst sich, wenn statt des relativen Pfads der absolute Pfad nach hinter "window.open" folgt....
Daher reicht es eigentlich, wenn man die Modulausgabe trickst, das trifft fast 100 Prozent aller Vorkommen:
statt
schießt man nach folgender Form um:
Code: Alles auswählen
$text = "CMS_HTML[1]";
$text = str_replace("window.open('upload/","window.open('http://[domain]/cms/upload/",$text);
echo "<p>".$text."</p>";
Damit tuts der IE dann auch wieder, und man hat weiterhin die Kontrolle für jedes einzelnen Popupfenster, falls das nötig ist.
LG
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Di 26. Okt 2010, 19:40
von micro2001
Hallo zusammen,
hat schon jemand das AMR 0.5.5 unter Contenido 4.8.14 am Laufen? Gibts da Probleme, so dass man noch warten sollte bis eine neue Version rauskommt?
Grüße, Ralph
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Di 26. Okt 2010, 19:43
von techie
Habe AMR und die 4.8.14 versucht. Hat aber nicht funktioniert. Ich warte auf die AMR 0.5.6
Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x
Verfasst: Di 26. Okt 2010, 19:45
von micro2001
Hallo technie,
danke für die Info. Dann erspare ich mir lieber eine mühsame Migration.