i18nInit und Backend-Plugins

joergsart
Beiträge: 34
Registriert: Do 19. Mai 2005, 23:48
Wohnort: Hamburg
Kontaktdaten:

Beitrag von joergsart » Mi 28. Nov 2007, 21:51

ich entschuldige mich, es funktioniert nun.

es lag daran, dass ich in der contenido/index.php

Code: Alles auswählen

i18nInit($cfg["path"]["contenido"].$cfg["path"]["locale"], $belang);
includePluginConf();
versehentlich doppelt nach Zeile 18

Code: Alles auswählen

 
cInclude ("includes", 'functions.i18n.php');
, also vor dem page_open eingesetzt habe.

Es geht.

holger.librenz_4fb

[gefixed] im CVS

Beitrag von holger.librenz_4fb » Fr 7. Dez 2007, 14:46

Danke an Alle!

Der Bugfix von Oldperl funktioniert hervorragend. Die Änderung ist nun im CVS eingecheckt und wird im Bugtracker mit der ID 499 geführt.

Gruß, Holger

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus » Do 13. Dez 2007, 17:18

Der Bugfix von Oldperl funktioniert hervorragend. Die Änderung ist nun im CVS eingecheckt und wird im Bugtracker mit der ID 499 geführt.
Das bedeutet, in der aktuellen Version 4.6.23, die man bei 4fb runterladen kann, ist es immer noch nicht drin?

Kommt dies dort noch rein, oder erst wieder in der 4.6.24?

PS: Ich würde es sehr begrüßen, wenn dies noch in die 4.6.23 einfließt, um das Upgraden der weit verbreiteten Version 4.6.15 zu erleichtern.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Do 13. Dez 2007, 17:29

rethus hat geschrieben:Kommt dies dort noch rein, oder erst wieder in der 4.6.24?

PS: Ich würde es sehr begrüßen, wenn dies noch in die 4.6.23 einfließt, um das Upgraden der weit verbreiteten Version 4.6.15 zu erleichtern.
Wie soll das denn gehen? Die 4.6.23 ist schon seit geraumer Zeit draußen. Die nun einfach zu ändern, würde nur zu Durcheinander führen. Auf eine 4.6.24 (wenn die rauskommt) lässt sich doch genauso umgraden.

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Beitrag von Oldperl » Mi 19. Dez 2007, 08:39

Mein Vorschlag ist, falls Holger noch keine 4.6.24 bereitstellen will, zumindest die Änderungen als Patch auf den DL-Seiten von Contenido zur Verfügung zu stellen. Ohne sie ist IMO ein Arbeiten mit Contenido in der Version 4.6.23 mit Plugins und FrontendLogin nicht möglich und ein vermehrtes Aufkommen von Fragen dazu im Forum zu erwarten.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

holger.librenz_4fb

Beitrag von holger.librenz_4fb » Fr 21. Dez 2007, 21:36

Hi.

Natürlich ist die 4.6.23 so, wie sie ist und dort werden keine anderen Sachen "eingepflegt". Die 4.6.24 wird es leider dieses Jahr nicht mehr geben. Es war auch gut das wir nicht sofort eine neue Version herausgegeben haben. Es gibt nämlich bei der ursprünglichen Lösung ein Problem mit dem Variablen Scope. Damit käme es zu Problemen mit Plugins, die plugin-weit Variablen in der Konfiguration speichern. Um das zu Umgehen habe ich noch einmal eine neue Version eingespielt. Einen Patch kann ich noch fertig machen, die Frage ist bloss ob die Mehrzahl der Nutzer damit umgehen können ;) Ich würde daher vorschlagen, das ich versuche im Januar eine neue Version taggen zu lassen und bei Bedarf kann ich den Patch gern zur Verfügung stellen.

So long.
Holger

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Beitrag von Oldperl » Sa 22. Dez 2007, 09:27

holger.librenz_4fb hat geschrieben:Es gibt nämlich bei der ursprünglichen Lösung ein Problem mit dem Variablen Scope. Damit käme es zu Problemen mit Plugins, die plugin-weit Variablen in der Konfiguration speichern.
Geht das bitte etwas genauer, wenn ich schon daran arbeite, würde mich zumindest interessieren warum etwas nicht funktioniert.
holger.librenz_4fb hat geschrieben:Einen Patch kann ich noch fertig machen, die Frage ist bloss ob die Mehrzahl der Nutzer damit umgehen können ;)
Nun, du darfst den Nutzer hier im Forum schon ein wenig zutrauen. Immer noch besser ein patch, als eine Version zum DL, die nicht funktioniert.
Auch wäre eine Möglichkeit, die geänderten Dateien mit Pfadangaben in ein ZIP-File zu packen, so daß man diese einfach über eine vorhandene Installation entpackt.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

holger.librenz_4fb

Beitrag von holger.librenz_4fb » Sa 22. Dez 2007, 17:22

Hi Oldperl.

Natürlich kann ich da genauer werden.

Das Problem besteht darin, das die Variablen in der geposteten Lösung innerhalb einer Funktion deklariert werden. Damit sind die Variablen aus den Plugin Konfigurationen aber nur innerhalb dieser Funktion sichtbar. Es müssten also sämtliche Variablen als global definiert werden - sowohl in der Konfiguration als auch in sämtlichen Skripten die diese Variablen dann benutzen wollen. War mir aber bei meinen Tests auch net aufgefallen...

Als Lösung haben wir jetzt folgende, zugegeben schmutzige Variante gefunden:
Die Funktion wird nicht als Funktion gekapselt sondern als "Script". Das ergibt folgenden Code in der Datei functions.includePluginConf.php

Code: Alles auswählen

$conpluginpath = $cfg['path']['contenido'].$cfg["path"]['plugins'];

    $dh = opendir($conpluginpath);

    while (($plugin = readdir($dh)) !== false)
    {
       if (is_dir($conpluginpath.$plugin)  && $plugin != ".." && $plugin != ".")
          {
            $configfile = $conpluginpath.$plugin. "/includes/config.plugin.php";
         $langfile   = $conpluginpath.$plugin. "/includes/language.plugin.php";
         $localedir  = $conpluginpath.$plugin. "/locale/";

            if (file_exists($localedir))
           {
               i18nRegisterDomain($plugin, $localedir);
           }

           if (file_exists($langfile))
           {
               include_once($langfile);
           }
           if (file_exists($configfile))
           {
               include_once($configfile);
           }
       }
	}

	closedir($dh);
Anschliessend wird in den Dateien, die schon im Originalpatch gepostet wurden, nicht die Funktion aufgerufen, sondern per Include diese Datei eingehangen:

Code: Alles auswählen

require_once $cfg['path']['contenido'] . $cfg['path']['includes'] . 'functions.includePluginConf.php
Nun wird jeweils direkt an dieser Stelle die Schleife durchgeführt und zwar im globalen Scriptscope. Die bestehenden Plugins müssen so nicht angefasst werden und das Problem mit der $belang sollte damit auch behoben sein.

Gruß, Holger
Zuletzt geändert von holger.librenz_4fb am So 23. Dez 2007, 19:48, insgesamt 1-mal geändert.

_Marc
Beiträge: 76
Registriert: Di 12. Sep 2006, 11:38
Kontaktdaten:

Beitrag von _Marc » So 23. Dez 2007, 13:29

Da man ja Sonntags, einen Tag vor Heiligabend, nichts besseres zu tun hat, hab ich mal meine Contenido-Bastel-Installation aufgesetzt.

Holger, kann es sein, dass Du im letzten Beitrag was verdreht hast?

Du erstellst eine includes.includePluginConf.php, rufst dann aber die functions.includePluginConf.php auf. Ich vermute die zu erstellende Datei heißt include.includePluginConf.php?

EDIT: Für die, die ohne nachzudenken copy&paste machen wollen (so wie ich), muss es natürlich heißen:

Code: Alles auswählen

require_once $cfg['path']['contenido'] . $cfg['path']['includes'] . 'functions.includePluginConf.php';
Ist diese Lösung jetzt als "endgültig" anzusehen, wenn auch schmutzig?

Ich versuch das mal so zu implementieren.

Grüße
Marc

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Beitrag von Oldperl » So 23. Dez 2007, 14:12

Also ich denke nicht, daß das eine endgültige Lösung sein sollte, wie Holger schon sagte "dirty".

Ich muss das erst mal in Ruhe nachvollziehen und in einer Installation testen, da fällt mir sicher noch was ein. 8)

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

holger.librenz_4fb

Beitrag von holger.librenz_4fb » So 23. Dez 2007, 19:49

Ähm, sorry. Das sollte natürlich functions.includePluginConf.php heißen. Hab ich auch grad korrigiert.

Es ist eine verdammt dreckige Lösung, wer also eine Alternative hat, immer her damit ;)

Jetzt aber alle ab an den Baum!

Frohes Fest
Holger

djw
Beiträge: 129
Registriert: Di 6. Apr 2004, 21:27
Wohnort: Baden
Kontaktdaten:

Lösung

Beitrag von djw » So 27. Jan 2008, 21:00

Gibt es in der Zwischenzeit eine Lösung?
ich habe die oberen Schritte durchgeführt, dann kommt bei mir die Meldung
Fatal error: Call to a member function addChainFunction() on a non-object in ...../contenido/plugins/chains/includes/config.plugin.php on line 9

oder gibt es eine Version zum Downloaden wo man noch Plugins benutzen kann (wenn ja wo)?

holger.librenz_4fb

Beitrag von holger.librenz_4fb » Mo 28. Jan 2008, 08:17

Guten Morgen djw.

Welche Contenido-Version nutzt Du und welchen Lösungsansatz hast Du gewählt? Die Fehlermeldung lässt darauf schliessen, das die $_cecRegistry Variable nicht im Scope liegt. Das sollte nur passieren, wenn die Plugin-Config innerhalb einer Funktion geladen wird.

Ich kann gern einen Patch für die aktuelle Contenido-Version zur Verfügung stellen, da kann allerdings noch bis heute Abend bzw. morgen Vormittag dauern.

So long
Holger

djw
Beiträge: 129
Registriert: Di 6. Apr 2004, 21:27
Wohnort: Baden
Kontaktdaten:

Beitrag von djw » Mo 28. Jan 2008, 11:35

Morgen Holger
ich benutze die aktuellste 4.6.23 ist ne Neuinstallation. Ich habe alles mal in diesem Thread ausprobiert - wobei ich denke ich habe nur etwas nicht richtig verstanden.
Ein Patch wäre klasse (es reicht ja einer zum von Hand drüberkopieren.)


Gruß
Markus

djw
Beiträge: 129
Registriert: Di 6. Apr 2004, 21:27
Wohnort: Baden
Kontaktdaten:

Beitrag von djw » Di 29. Jan 2008, 13:56

Hallo Holger,
und ist schon ein Patch in Aussicht?

Gruß
Markus

Gesperrt