Page 1 of 4

serendipity_loadGlobalThemeOptions und Constants

Posted: Sun Jul 10, 2011 6:16 pm
by Timbalu
Serendipity 1.6-alpha3 und PHP 5.3.6

Im $template_config array habe ich folgendes merwürdige Verhalten.

Sobald ich dem $template_config array aus Spracherweiterungsgründen ein

Code: Select all

,
    array(
        'var'           => 'amount',
        'name'          => NAVLINK_AMOUNT,
        'description'   => NAVLINK_AMOUNT_BLAHBLAH,
        'type'          => 'string',
        'default'       => '5',
        'scope'         => 'global'
        )
anfüge, (wechselt/springt/bleibt) die Sprache im gesamten navbar zur englischen Default Einstellung und holt sich die deutschen Konstanten weder aus dem augenblicklichen, noch aus dem default bulletproof template. Bzw. die serendipity_loadGlobalThemeOptions() liest überhaupt nur dann Template eigene Sprachkonstanten ein, wenn man sie ein wenig ändert (siehe unten). Wie kann das sein? Die benötigten Konstanten sind soweit alle vorhanden.
Lasse ich das array weg, bleibt es auf default Englisch.
[EDIT] Zur Sicherheit habe ich mal diese englischen Konstanten im eigenen Template deaktiviert. Sie sind es nicht! [/Edit]

Beispieländerung in der serendipity_loadGlobalThemeOptions. Löst noch nicht mein Sprachkonstanten Problem.

Code: Select all

        if (!isset($template_loaded_config['amount'])) {
            $conf_amount = array(
                'var'           => 'amount',
                'name'          => NAVLINK_AMOUNT,
                'type'          => 'string',
                'default'       => '5',
                'scope'         => 'global'
            );
            $template_config[] = $conf_amount;
        }

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Mon Jul 11, 2011 10:46 am
by Timbalu
Ok ...

Die einfache Lösung liegt nun darin, die
Serendipity eigenen lang/non-<en>-lang Konstanten zu deaktivieren, oder mal zu übersetzen. Allerdings liegen sie in Bulletproof als Übersetzung schon vor, so dass eigentlich erst dann die Übernahme in die core langs folgen sollte, wenn bulletproof nicht mehr das default template ist.

Die Erweiterung mit isset in der serendipity_loadGlobalThemeOptions bitte ich trotzdem zu übernehmen, außer, wir können ein Standard NAVLINK_AMOUNT_BLAHBLAH als 'description' mit in die core-langs und in $conf_amount[] aufnehmen.

[*
Das bezog sich übrigens auf eine Frage hier im Forum, wie man denn nun den navigation navs Inhalte geben kann. Ich habe es so gelöst:
@define('NAVLINK_AMOUNT_BLAHBLAH', '(commonly use the Static Pages plugin - serendipity_event_staticpage - to create CMS like navigation pages, which you can link for here)');
@define('NAVLINK_AMOUNT_BLAHBLAH', '(Gemeinhin wird das Static Pages Plugin - serendipity_event_staticpage - dazu benutzt, um CMS ähnliche Seiten oder Navigationsseiten herzustellen, die hier durch einen Link verlinkt werden können.)');

]

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Tue Jul 19, 2011 12:44 pm
by garvinhicking
Hi!

Kannst du mir ein unified diff hierfür zukommen lassen?

Danke,
Garvin

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Tue Jul 19, 2011 1:27 pm
by Timbalu
Sorry, leider immer noch nicht.

Ich kann mich einfach nicht entscheiden.... und bin da auch in Ermangelung von Gelegenheiten noch immer nicht weiter gekommen. Aber eines Tages... :wink:

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Tue Jul 19, 2011 3:47 pm
by garvinhicking
Hi!

Hm, dann schick mir die kompletten Dateien abgeleitet vom aktuellen Blog. Aber ich hab keine Lust mehr immer manuelles editieren zu machen. :-)

Grüße,
Garvin

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Tue Jul 19, 2011 7:03 pm
by Timbalu
Verstehe völlig dass das nervt! ;-)

Also ich muss mich da erst mal reinfuchsen.

Sähe das dann in etwa so aus?

Code: Select all

Index: functions_config.inc.php
===================================================================
--- functions_config.inc.php	(Revision 2760)
+++ functions_config.inc.php	(Arbeitskopie)
@@ -2116,15 +2116,17 @@
     if ($supported['navigation']) {
         $navlinks = array();
 
-        $conf_amount = array(
+        if (!isset($template_loaded_config['amount'])) { 
+            $conf_amount = array(
                 'var'           => 'amount',
                 'name'          => NAVLINK_AMOUNT,
                 'type'          => 'string',
                 'default'       => '5',
                 'scope'         => 'global'
-        );
-        $template_config[] = $conf_amount;
-        
+            );
+            $template_config[] = $conf_amount;
+        }
+
         if (empty($template_loaded_config['amount'])) {
             $template_loaded_config['amount'] = $conf_amount['default'];
         }
und soll denn der NAVLINK_AMOUNT_BLAHBLAH (oder DESC) da eventuell auch mit rein incl. einem zusätzlichen diff auf die lang files?

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Thu Jul 21, 2011 11:45 am
by garvinhicking
Hi!

Ja, so sähe das aus! :)

Wg. "DESC" - hast Du mal ausprobiert ob das geht? Weiß garnicht ob das dann durchgeroutet wird. Wenn es klappt, natürlich gerne einbauen.

Grüße,
Garvin

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Thu Jul 21, 2011 12:24 pm
by Timbalu
Ich meinte statt NAVLINK_AMOUNT_BLAHBLAH natürlich NAVLINK_AMOUNT_DESC. Ich habe jetzt erstmal BLAHBLAH gelassen. Mir ist das eigentlich egal und es müsste ja beides funktionieren, solange es 'desc' => CONSTANT ist. Das 'desc' selber funktioniert. Damit habe ich zB die überlangen 'name' Konstanten in meiner PB Variante entschärft.

Code: Select all

Index: include/functions_config.inc.php
===================================================================
--- include/functions_config.inc.php	(Revision 2760)
+++ include/functions_config.inc.php	(Arbeitskopie)
@@ -2116,15 +2116,18 @@
     if ($supported['navigation']) {
         $navlinks = array();
 
-        $conf_amount = array(
+        if (!isset($template_loaded_config['amount'])) { 
+            $conf_amount = array(
                 'var'           => 'amount',
                 'name'          => NAVLINK_AMOUNT,
+                'desc'          => NAVLINK_AMOUNT_BLAHBLAH,
                 'type'          => 'string',
                 'default'       => '5',
                 'scope'         => 'global'
-        );
-        $template_config[] = $conf_amount;
-        
+            );
+            $template_config[] = $conf_amount;
+        }
+
         if (empty($template_loaded_config['amount'])) {
             $template_loaded_config['amount'] = $conf_amount['default'];
         }
#####################################################################################################################

Code: Select all

Index: lang/serendipity_lang_de.inc.php
===================================================================
--- lang/serendipity_lang_de.inc.php	(Revision 2760)
+++ lang/serendipity_lang_de.inc.php	(Arbeitskopie)
@@ -960,11 +960,15 @@
 @define('PERMISSION_HIDDENGROUP', 'Hidden group / Non-Author');
 
 @define('SEARCH_FULLENTRY', 'Show full entry');
+/* 20-07-2011 translate or deactivate, since already set in bulletproof
 @define('NAVLINK_AMOUNT', 'Enter number of links in the navbar (needs reload of the Manage Styles page)');
 @define('NAV_LINK_TEXT', 'Enter the navbar link text');
 @define('NAV_LINK_URL', 'Enter the full URL of your link');
+*/
 @define('MODERATE_SELECTED_COMMENTS', 'Markierte Kommentare freischalten');
 @define('WEBLOG', 'Weblog');
 @define('ACTIVE_COMMENT_SUBSCRIPTION', 'Subscribed');
 @define('PENDING_COMMENT_SUBSCRIPTION', 'Pending confirmation');
 @define('NO_COMMENT_SUBSCRIPTION', 'Not subscribed');
+
+@define('NAVLINK_AMOUNT_BLAHBLAH', '(Gemeinhin wird das Static Pages Plugin - serendipity_event_staticpage - dazu benutzt, um CMS ähnliche oder Navigationsseiten herzustellen, die hier durch einen Link verlinkt werden können.)');
###################################################################################################################

Code: Select all

Index: lang/serendipity_lang_en.inc.php
===================================================================
--- lang/serendipity_lang_en.inc.php	(Revision 2760)
+++ lang/serendipity_lang_en.inc.php	(Arbeitskopie)
@@ -966,3 +966,6 @@
 @define('ACTIVE_COMMENT_SUBSCRIPTION', 'Subscribed');
 @define('PENDING_COMMENT_SUBSCRIPTION', 'Pending confirmation');
 @define('NO_COMMENT_SUBSCRIPTION', 'Not subscribed');
+
+@define('NAVLINK_AMOUNT_BLAHBLAH', '(commonly use the Static Pages plugin - serendipity_event_staticpage - to create CMS like or navigation pages, which you can link for here)');
+
###################################################################################################################

Code: Select all

Index: lang/UTF-8/serendipity_lang_de.inc.php
===================================================================
--- lang/UTF-8/serendipity_lang_de.inc.php	(Revision 2760)
+++ lang/UTF-8/serendipity_lang_de.inc.php	(Arbeitskopie)
@@ -960,11 +960,15 @@
 @define('PERMISSION_HIDDENGROUP', 'Hidden group / Non-Author');
 
 @define('SEARCH_FULLENTRY', 'Show full entry');
+/* 20-07-2011 translate or deactivate, since already set in bulletproof
 @define('NAVLINK_AMOUNT', 'Enter number of links in the navbar (needs reload of the Manage Styles page)');
 @define('NAV_LINK_TEXT', 'Enter the navbar link text');
 @define('NAV_LINK_URL', 'Enter the full URL of your link');
+*/
 @define('MODERATE_SELECTED_COMMENTS', 'Markierte Kommentare freischalten');
 @define('WEBLOG', 'Weblog');
 @define('ACTIVE_COMMENT_SUBSCRIPTION', 'Subscribed');
 @define('PENDING_COMMENT_SUBSCRIPTION', 'Pending confirmation');
 @define('NO_COMMENT_SUBSCRIPTION', 'Not subscribed');
+
+@define('NAVLINK_AMOUNT_BLAHBLAH', '(Gemeinhin wird das Static Pages Plugin - serendipity_event_staticpage - dazu benutzt, um CMS ähnliche oder Navigationsseiten herzustellen, die hier durch einen Link verlinkt werden können.)');
####################################################################################################################

Code: Select all

Index: lang/UTF-8/serendipity_lang_en.inc.php
===================================================================
--- lang/UTF-8/serendipity_lang_en.inc.php	(Revision 2760)
+++ lang/UTF-8/serendipity_lang_en.inc.php	(Arbeitskopie)
@@ -966,3 +966,6 @@
 @define('ACTIVE_COMMENT_SUBSCRIPTION', 'Subscribed');
 @define('PENDING_COMMENT_SUBSCRIPTION', 'Pending confirmation');
 @define('NO_COMMENT_SUBSCRIPTION', 'Not subscribed');
+
+@define('NAVLINK_AMOUNT_BLAHBLAH', '(commonly use the Static Pages plugin - serendipity_event_staticpage - to create CMS like or navigation pages, which you can link for here)');
+
Entschuldige, dass du das jetzt so rausklauben musst, aber ich wußte nicht, ob ich sie, getrennt durch Was?, alle zusammen in ein *.txt file schmeißen könnte.

Warum haben eigentlich die Core und die templates (BP) lang files ein UTF-8/ <en> file, im Gegensatz zu all den Plugins? Ist das Historie ohne Grund, oder wird das dort anders behandelt als in /plugins/ ?

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Thu Jul 21, 2011 2:28 pm
by garvinhicking
Hi!

Hm, wenn ich mir die Beschreibung so durchlese, ist die wirklich relevant? Ich finde das macht den Menüpunkt eher unverständlicher als klarer. "Enter the number of links in the navbar" ist doch eigentlich recht klar, oder?

Habe den Patch daher erstmal ohne Lang-Änderung committed, danke!

Code: Select all

Warum haben eigentlich die Core und die templates (BP) lang files ein UTF-8/ <en> file, im Gegensatz zu all den Plugins? Ist das Historie ohne Grund, oder wird das dort anders behandelt als in /plugins/ ?[/quote]

Das ist nicht so, plugins haben auch UTF-8...

Grüße,
Garvin

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Thu Jul 21, 2011 3:13 pm
by Timbalu
Wie gesagt war das meine (interne) Antwort auf eine Frage, die hier im Forum gestellt wurde.
Aber nun kann ich sie ja trotzdem nutzen. Danke.

Obwohl dann wieder die englischen (NAVLINK_AMOUNT', 'NAV_LINK_TEXT', 'NAV_LINK_URL') in den deutschen lang files aktiv sind. BP hat die korrekte deutsche Übersetzung, wird aber erst hinterher eingelesen.

das mit den <en>glischen utf-8 files war mir neu.
Ich dachte immer dazu dient der Rückfall auf

Code: Select all

include dirname(__FILE__) . '/lang_en.inc.php';
und das Englisch sowieso gar kein utf-8 benötigt

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Thu Jul 21, 2011 3:15 pm
by yellowled
Die globale Navigation zickt übrigens in meiner lokalen Installation immer noch (hatte ich im englischen Forum schon mal beschrieben), ich habe aber im Moment absolut keine Zeit, das näher zu erforschen. Ich wüsste auch nicht, dass das hier schon jemand reproduziert hätte – trotzdem release-kritisch?

YL

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Thu Jul 21, 2011 3:58 pm
by Timbalu
garvinhicking wrote:Habe den Patch daher erstmal ohne Lang-Änderung committed, danke!
Ohne lang aber den falschen. Dafür wäre dann mein erster Versuch besser gewesen, der kein neues desc => NAVLINK_AMOUNT_BLAHBLAH hat.

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Thu Jul 21, 2011 5:07 pm
by Timbalu
@YL
was zickte da genau? Solange man nicht an den info.txt Werten rumspielt, und beim template wechseln, macht es eigentlich was es soll, abgesehen von den englischen Beschreibungen in den core <de> lang files.

Obwohl....
Verändere ich die Anzahl der Nav links von 5 auf 8 beispielsweise und poste, werden diese erst nach einem weiteren reload (bzw click auf 'Styles verwalten') in der template config angezeigt. Der table serendipity_options hat zu diesem Zeitpunkt die Änderung im 'amount' Feld zwar erfolgreich upgedated, nicht aber weitere Felder für die erweiterten Navlinks angelegt. Dies geschieht erst, wenn ich mein "reload'etes" template config noch einmal submit'te.

Rückgängig:
1. Anzahl Änderung auf 5 und POST = serendipity_options amount 5, keine Änderung der 8 navlink** Felder in der config Anzeige und im options table.
2. Erneutes Klick auf 'Styles verwalten' löst dies Problem im der config Anzeige des Templates, nicht aber im options table.
3. Diese zusätzlichen navlink*text und navlink*url verbleiben dort, selbst wenn ich die styles config erneut POSTE.

Daraus würde ich rückschließen, dass die t_global zwar grundsätzlich funktioniert, aber vom unvollständigen reload der styles config page abhängig ist und sicherheitshalber vor dem Schreiben noch ein zusätzliches truncate table bräuchte.

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Thu Jul 21, 2011 6:24 pm
by yellowled
Siehe http://board.s9y.org/viewtopic.php?p=10422037#p10422037 und ff.

Wie gesagt: Ich kann nicht ausschließen, dass das nur bei mir im lokalen dev-Blog so ist, evtl. liegt es an der Konfiguration oder dem Server-Setup, keine Ahnung. Und keine Zeit, im Moment irgendetwas daran zu testen. :?

YL

Re: serendipity_loadGlobalThemeOptions und Constants

Posted: Thu Jul 21, 2011 7:22 pm
by Timbalu
hmm, bei mir werden sie nur als t_global gespeichert. Alles im Lot soweit. Linktext ändern geht auch bei allen! Und das im Gegensatz zur 'amount' Änderung sofort! Sowohl in der template config als auch im options table.