Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

Forum Sefrengo.org _ Alpha, Beta, ...... _ Smartypants v01.02.00

Geschrieben von: MaZderMind Thu. 11. January 2007, 00:13

Pluginname:
---------------------------------------------------------------------------
Smartypants

Status:
---------------------------------------------------------------------------
beta - das Plugin ist weitgehend fertig und getestet. Bis zu einer stabilen
Version wird es nur noch kleinere Änderungen / Bugfixes geben. Das
Plugin ist unter vorbehalt produktiv einsetzbar.

Bechreibung:
---------------------------------------------------------------------------
SmartyPants übersetzt Standard-ASCII Interpunktionen zu "smarten" typographisch
korrekten Interpunktionen und gibt diese, Zeichensatzabhängig als UTF-8-Zeichen
oder HTML-Entitäten aus.

Features:
---------------------------------------------------------------------------
Stichpunktartige Listung der wichtigsten Merkmale des Moduls
- Transparente übersetzung von Interpunktionszeichen aus ALLEN Modulen und Plugins
- Ausgabe als "echte" UTF-8-Zeichen oder HTML-Entitäten, je nach eingestelltem
Zeichensatz
- Keine veränderung der Daten der Datenbank -- Nach dinstallieren des Plugins ist
alles wieder wie vorher
- Ersetzungszeichen können in der Projektkonfiguraion geändert werden

Autor(en):
---------------------------------------------------------------------------
- MaZderMind

Lizenz:
---------------------------------------------------------------------------
GPL

Benötigte Sefrengo Version:
---------------------------------------------------------------------------
Bisher keine abhängigkeiten bekannt

Installation:
---------------------------------------------------------------------------
Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Administration -> Plugins".
Klicken Sie oben rechts auf "Plugin importieren". Am unteren Ende des Bereichs
befindet sich ein Uploadfeld. Wählen Sie hier die gewünschte "*.cmsplug"- Datei
aus. Mit einem Klick auf das Diskettensymbol wird das Plugin in das CMS importiert.
Das Plugin ist nun innerhalb des CMS nutzbar. Installieren Sie das Plugin mit einem
klick auf das Plugin-Importieren-Symbol in der Pluginzeile.


Update / Migration:
---------------------------------------------------------------------------
Aufgrund der beschränkten Möglichkeiten für Pluginupdates gehen bei jedem
Update die Einstellungen verloren.

Dokumentation:
---------------------------------------------------------------------------
http://daringfireball.net/projects/smartypants/

CODE
Changelog legend:
# -> Bug Fix
+ -> Addition
^ -> Change
- -> Removed
! -> Note

Current versionnumber is 01.02.00 - released 10.01.2007
------------------------------------------------------------------------------------------------
^ Einstellungen werden nun je Sprache statt je Projekt definiert
+ Leerzeichen vor/nach/um Sonderzeichen können Erzwungen oder Entfernt werden
+ Ersetzung von Entitäten durch UTF-8-Zeichen kann an-/abgestellt werden

Current versionnumber is 01.01.00 - released 10.12.2006
------------------------------------------------------------------------------------------------
# Autostarteinträge werden nichtmehr in der Konfiguration angezeigt
+ Ersetzungszeichen können in der Projektkonfiguraion geändert werden

Current versionnumber is 01.00.00 - released 03.12.2006
------------------------------------------------------------------------------------------------
! Erste veröffentlichung


Download entfernt weil er einen SF-Crash verursachen kann. Gibt bald ne neue Version.

Geschrieben von: MaZderMind Thu. 11. January 2007, 00:20

Hi
Nun also die neue Smartypants-Version. Ich habe eine neue Ableitung der plugin_meta entworfen, die die Metadateien language_install.meta und language_uninstall.meta auswertet und entsprechend beim anlegen einer neuen Sprache reagieren kann. Verwendet wird dass, um die Konfigurationseinstellungen aus der Projektkonfiguration in die sprachkonfiguration zu verschieben.
Damit können für jede sprache unterschiedliche Typographien konfiguriert werden und es kann z.b. bei Französisch "xx" zu «xx» und bei deutsch zu „xx” konvertiert werden. Hinzugekommen sind hier auch weitere Konfigurationsmöglichkeiten, was genau ersetzt wird, wo leerzeichen erzwungen und wo entfernt werden sollen. Bei Fragen was genau die einzelnen Einstellungen machen bitte einfach konkret hier nachfragen.
In der Clientkonfiguration steht nurnoch die Option, das ersetzen der numerischen Entitäten durch UTF-8-Zeichen bei aktiviertem UTF-8-Zeichensatz zu deaktiveren, um ungewollte interaktionen mit anderen Plugins wie z.B. dem eMail-Kodierer zu vermeiden.

So ich hoffe dass alles klappt, vorallem auch das Update. Ich hoffe auf rückmeldung bzw. Links auf Seiten auf denen ihr das Plugin einsetzt.
Gruß, Peter

Geschrieben von: gunwalt Thu. 11. January 2007, 08:53

Da gibts ein Problem mit dem Update. Beim Import werde ich nach dem Update gefragt, i.O. Dann Import. Dann funktioniert allerdings nichts mehr. Egal wohin ich klicke, eine weisse Seite entspricht nicht meinen Vorstellungen eines CMS.

Geschrieben von: feniweb Thu. 11. January 2007, 11:32

@MaZderMind

Ich erhalt ebenfals eine Fehlermeldung.

QUELLTEXT
Fatal error: Call to a member function on a non-object in /home/web/www.feniweb.ch/htdocs/cms-sf/backend/plugins/smartypants/class.plugin_langconf_meta.php on line 29

und im Backend wird nichtsmehr engezeigt.

Frontend wird angezeigt.

Gruss

Edit: OK. Das war ein Update von Smartypants 1.00.00

Geschrieben von: gunwalt Thu. 11. January 2007, 13:07

Ich weiss nicht ob feniweb eine Neuinstallation oder ein Update meint. Neuinstallation geht ebenfalls nicht

Geschrieben von: MaZderMind Thu. 11. January 2007, 19:15

Hmm sehr merkwürdig. Einstweilen könnt ihr einfach die Einträge aus der cms_plug löschen dann sollte es wieder gehen. Ich teste noch ein bisschen rum. Der gequotete Fehler ist mir wirklich unerklärlich.. Ich gucks mir nochmal an..

Gruß, Peter

Geschrieben von: gunwalt Fri. 12. January 2007, 08:44

Stichwort cms_plug: Alle Plugins müssen hier doppelt drin sein - die Smartpants aber nur einmal, folglich muss nach der Installation irgendetwas mit dem Import schief laufen.
In der Spalte index_file ist nicht angegeben, müsste doch heissen -> process.php. Hier sollten wir uns eigentlich einigen, das alle Plugins über einen einheitlichen Dateinnamen aufgerufen werden.
Habe gerade die Zeile in der DB analog zu den anderen Plugins verdoppelt, geht allerdings trotzdem nicht.

Cat-Name: Ausgabeparser: hier sollte vielleicht System oder Tools stehen.

Geschrieben von: MaZderMind Fri. 12. January 2007, 09:17

index_file ist egal da das Plugin im Backend keine Seite anbietet. Die "doppelte Zeile" wird erst angelegt wenn das Plugin in ein Projekt installiert wird. Das hat mit dem Import nix zu tun.

Gruß, Peter

Geschrieben von: MaZderMind Fri. 12. January 2007, 09:54

So ich habs getestet. Sowohl ein Update als auch ein Reinstall laufen auf einer frischen SF-Testinstallation mit zwei Projekten problemlos. Kann mir einer mit Problemen mal einen Backendzugang geben damit ich gucken kann worans liegt? Weil eigentlich hab ich das install/uninstall/update-Prozedere ein halbes duzend mal getestet...

Gruß, Peter

Geschrieben von: gunwalt Fri. 12. January 2007, 12:38

ZITAT(MaZderMind @ Fri. 12. January 2007, 09:54) *
So ich habs getestet. Sowohl ein Update als auch ein Reinstall laufen auf einer frischen SF-Testinstallation mit zwei Projekten problemlos. Kann mir einer mit Problemen mal einen Backendzugang geben damit ich gucken kann worans liegt? Weil eigentlich hab ich das install/uninstall/update-Prozedere ein halbes duzend mal getestet...


Rätsel über Rätsel. Habe probeweise alle Plugins deinstalliert und komplett gelöscht und dann das Plugin neu hochgeladen - mit dem gleichen Ergebnis.
PM ist unterwegs.

Geschrieben von: MaZderMind Fri. 12. January 2007, 15:52

So ich hab einen Fehler, dem anderen bin ich grad auf der Spur. Zuersteinmal habt ihr beide den gleichen Fehler, nur dass bei dem einen ne Fehlermeldung angezeigt wird und bei dem anderen nicht.

Mir sind zwei Fehler unterlaufen:
1. Hab ich in einem query hart cms_ reingecodet.
2. Benutze ich eine andere MySQL-Version. Eure wirft bei folgendem Query den Fehler "Column 'idlang' in field list is ambiguous" raus, mein jedoch nicht.

SQL
SELECT idlang, idclient FROM cms_***_lang JOIN cms_***_clients_lang USING (idlang);


Warum das so ist, weiß ich nicht. Logischerweise /müssen/ die beiden idlang-Spalten ja den selben Wert haben, sonst würde ja kein Join stattfinden. Trotzdem beschwert sich MySQL bei euch dass die Spaltenbezeichnung nicht eindeutig sei. Meine Version 5.0.22 sortiert das scheinbar aus.

Ich hab das Query auf
SQL
SELECT clientlang.idlang, clientlang.idclient FROM $cms_db[lang] lang JOIN $cms_db[clients_lang] clientlang USING(idlang);

geändert und schon fluppts.

Ein weiteres Problem hab ich auch nicht bedacht, nämlich das $db -> Execute($sql) bei einem defekten Query false zurückgibt und kein leeres record-Set-Objekt. Da muss ich unbedingt noch ne Behandlung einbauen, damit beim nächsten mal keine Weiße Seite erscheint sondern ne ordentliche Fehlermeldung.

Bei gunwalt hab ichs direkt korrigiert, für alle anderen hier die geänderte class.plugin_langconfig_meta.php. Die muss nach /backend/plugins/smartypants/ kopiert werden. Ich nehm oben den Download raus und veröffentliche eine Fehlerbereinigte Version.

Danke für den einfachen zungang zu euren Systemen, hätte sonst ewig dauern können mim finden des Fehlers.
Gruß, Peter

 class.plugin_langconf_meta.php ( 3.03KB ) : 3
 

Geschrieben von: gunwalt Fri. 12. January 2007, 16:29

Danke für die Reparatur.

ZITAT(MaZderMind @ Fri. 12. January 2007, 15:52) *
Warum das so ist, weiß ich nicht. Logischerweise /müssen/ die beiden idlang-Spalten ja den selben Wert haben, sonst würde ja kein Join stattfinden. Trotzdem beschwert sich MySQL bei euch dass die Spaltenbezeichnung nicht eindeutig sei. Meine Version 5.0.22 sortiert das scheinbar aus.

Hängt das mit 4er und 5er PHP zusammen? Offiziell wird die 4er empfohlen?

Geschrieben von: MaZderMind Fri. 12. January 2007, 16:41

Nein das liegt an unterschiedlichen MySQL-Versionen.

ZITAT
[...]in cases when MySQL formerly issued an error that some
column is ambiguous, the query now is handled correctly. This is due to the fact
that MySQL now treats the common columns of NATURAL or USING joins as a single
column, so when a query refers to such columns, the query compiler does not
consider them as ambiguous.


Gruß, Peter

Geschrieben von: gunwalt Fri. 12. January 2007, 16:44

Kannst Du das noch verbessern?

Öffnene Anführungszeichen
Schließende Anführungszeichen

Geschrieben von: MaZderMind Fri. 12. January 2007, 16:47

Klaro smile.gif

Gruß, Peter

Geschrieben von: feniweb Fri. 12. January 2007, 17:26

@MaZderMind

Danke für deine Bemühungen, leider immer noch gleicher Fehler!

Ich habe die neue class.plugin_langconf_meta.php ins entsprechende Verzeichnis abgelegt jedoch hilf das nicht wink.gif

QUELLTEXT
Fatal error: Call to a member function on a non-object in /home/web/www.feniweb.ch/htdocs/cms-sf/backend/plugins/smartypants/class.plugin_langconf_meta.php on line 30

gleicher Fehler kann mich ins Backend nicht mehr einlogen, nur wenn ich das über FTP Smartypants deaktiviere.

Gruss

Geschrieben von: MaZderMind Fri. 12. January 2007, 17:28

Bitte schick mir FTP-Zugangsdaten damir ich mal gucken kann. Das Query wird anscheinend nicht ordentlich ausgeführt, ich weiß nur nich wieso...

Gruß, Peter

Geschrieben von: STam Fri. 12. January 2007, 17:32

ZITAT(MaZderMind @ Fri. 12. January 2007, 17:28) *
Das Query wird anscheinend nicht ordentlich ausgeführt, ich weiß nur nich wieso...

Gruß, Peter
...
Ein Schuß ins blaue:
QUELLTEXT
SELECT idlang, idclient FROM (cms_***_lang) JOIN cms_***_clients_lang USING (idlang);
... wichtig sind dabei die '...(cms_***_lang)...' Klammern!

Gruß

Geschrieben von: MaZderMind Fri. 12. January 2007, 17:39

Hmmm also das hab ich noch nie gesehen..
Mehrere Source-Tables werden normalerweise mit kommas separiert -- Klammern hab ich noch nie gesetzt.

Gruß, Peter

Geschrieben von: MaZderMind Mon. 15. January 2007, 23:38

@feniweb Ich würd gern die neue Version rausbringen aber da ich immer noch nicht weiß wo genau bei dir der Fehlr liegt kann ich das auch nich fixen -- und ich bring ungern ne Version mit (mehr oder wniger) known bugs raus.
Ist es möglich, dass du mir FTP-Zugang zu deinem System gibst?

Gruß, Peter

Geschrieben von: feniweb Tue. 16. January 2007, 16:29

@MaZderMind

Habe dir FTP-Zugangsdaten in einem PM gesendet.

Gruss

Geschrieben von: STam Tue. 16. January 2007, 16:54

ZITAT(MaZderMind @ Mon. 15. January 2007, 23:38) *
@feniweb Ich würd gern die neue Version rausbringen aber da ich immer noch nicht weiß wo genau bei dir der Fehlr liegt kann ich das auch nich fixen -- und ich bring ungern ne Version mit (mehr oder wniger) known bugs raus.
Ist es möglich, dass du mir FTP-Zugang zu deinem System gibst?

Gruß, Peter

... ähmmm, hast du meinen Fix nun ausprobiert? Oder kannst du dir nicht vorstellen das das so geht und testest das deswegen nicht?

Geschrieben von: feniweb Tue. 16. January 2007, 16:59

@STam

Sorry, ich bin davon ausgegangen das dein Fix für MaZderMind ist.

Gruss

Geschrieben von: MaZderMind Tue. 16. January 2007, 21:18

@STam doch - ich hatte nur bis heute keine Möglichkeit auf felix' Server auch nur irgendwas zu testen. Da ich jetz die Zugangsdaten hab werde ich glei drangehen und mit deinem vorschlag anfangen smile.gif

Gruß, Peter

Geschrieben von: MaZderMind Tue. 16. January 2007, 23:30

Hi
Soo felix fährt ein MySQL 3.23.58, welches folgedes Query ablehnt:

SQL
SELECT cms_clients_lang.idlang, cms_clients_lang.idclient FROM cms_lang JOIN cms_clients_lang USING (idlang)

#1064 - You have an error in your SQL syntax near 'USING idlang' at line 1
auch wenn ich die USING-Klausel gegen eine entsprechende ON-Klausel austausche. Ich hab keine ahnung wieso. Das Query scheint korrekt.

auch STams Tip mit den Klammern hab ich befolgt -- gleiches Ergebnis. Ich peils einfach nicht -- warum beschwehrt sich MySQL über die Syntax? Wenn jemand ne Idee hat.. Ich werde mal in ienem speziellen SQL-Forum nachfragen.

Gruß, Peter

Geschrieben von: MaZderMind Tue. 16. January 2007, 23:36

Ohh ich habs *g*
MySQL3 kommt mit JOIN nicht klar, wenn kein INNER oder OUTER oder CROSS angegeben ist. Ab MySQL4 wird INNER als default angenommen. Ich werde es mir für die Zukunft merken.. Release ist auf dem Weg und bei felix fluppt wieder alles.

Gruß, Peter

Geschrieben von: feniweb Wed. 17. January 2007, 15:24

@MaZderMind

Danke für deine bemühungen. tongue.gif
MySQL 3.23.58 ich weiss, ist schon eine ältere DB-Version, werde auch nächstens auf einen neueren Server beim Provider umsiedeln mit PHP5 usw.

Gruss

Edit: natürlich auch ein Danke an Stam tongue.gif

Geschrieben von: STam Wed. 17. January 2007, 15:34

... ebenso, danke für die Aufklärung.

Gruß

Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)