Zend_Filter PregReplace in ini-Config

Heute hatte ich das Problem, dass die Config für ein Zend_Form-Formular in einer ini-Datei stehen musste. Dabei sollte auch PregReplace zum Einsatz kommen, um nichtgewollte Worte gegen Sternchen auszutauschen. Es gibt aber scheinbar kein Tutorial oder Beispiel für die Einbindung von Filtern per ini-Datei, bei denen man dem Filter Optionen hinzufügen kann. Man findet immer nur einfache Filter-Einbindungen ohne Optionen wie

[code lang=”bash” inline=”yes”]elements.nachricht.options.filters.bigger.filter = “StringToUpper”[/code]

zum Vergrößern aller Buchstaben.

Durch einiges Probieren mit den Kollegen und Durchforsten der Zend_Filter-Library, kamen wir dann auf folgendes:

[code lang=”bash” inline=”yes”]elements.nachricht.options.filters.badword.filter = “PregReplace”
elements.nachricht.options.filters.badword.options.match = “/(\bpoo\b|\bfuck\b|\bsuck\b)/i”
elements.nachricht.options.filters.badword.options.replace = “*****”[/code]

Man muss also nach dem selbstgewählten Namen des Filters, in meinem Fall “badword”, den verwendeten Filter mit “.filter” einbinden. Die Optionen werden mit “.options” ebenfalls direkt nach “badword” eingebracht. In der Option “match” steht dabei ein regulärer Ausdruck mit dem zu filternden Format und in “replace” die dafür vorgesehene Zeichenkette als Ersatz für die gefundenen Worte. “\b” markiert Wortanfänge und -enden. “i” steht dabei als caseinsensitive, also werden Groß- und Kleinschreibung ignoriert. Die Trennung der bösen Worte erfolgt per “|”.

CamelCase mit Bindestrich und umgekehrt in Zend Framework

Ich hatte gestern das Problem, dass in unserem Zend Framework Projekt die Actions in CamelCase geschrieben sind, also zum Beispiel:

[code lang=”php” inline=”no”]public function editUserAccountAction()[/code]

In der Navigation, im Routing und in der ACL stehen diese aber ohne CamelCase und mit Bindestrich drin, also nach obigen Beispiel:

[code parse=”no” inline=”no”]http://www.domain.com/irgendwas/edit-user-account/[/code]

In der ACL wie folgt.

[code lang=”php” inline=”no”]$acl->deny(‘guest’, array(‘irgendwas’), array(‘edit-user-account’));[/code]

Nun hab ich eine Rechteverwaltung geschrieben, welche die Actions anhand der Controller aus der Datei ausliest und bei Erlaubnis des Users vergleicht. Das Problem dabei ist, dass edit-user-account, wie es in der ACL steht, und editUserAccount, wie es aus dem Controller ausgelesen wird, im Vergleich immer false, also ungültig bzw falsch,  zurückgeben. Das Problem habe ich dadurch umgangen, indem ich einen Filter auf den ausgelesenen Actionnamen angewendet habe. Genauer den Zend_Filter_Word_CamelCaseToDash(). Darüber habe ich noch einen strtolower() laufen lassen, um auch vorhandene Großbuchstaben in kleine ändern zu lassen.

[code lang=”php” inline=”no”][…]
$ausgelesenerName = ‘editUserAccount’;
$filter = new Zend_Filter_Word_CamelCaseToDash();
$bereinigterName = strtolower($filter->filter($ausgelesenerName));
[…][/code]

[via /dev/notes ]

Im Banne der Rouladenkönigin – ein Liebesfilm!?

“So, ihr Brummer… Wir sinn de letzen Monate ma abjedräht – fer fünf Mark – unn hamm de Dräharweiten färn Film endlich abjeschlossen, alles fertch jeschnippelt unn juht durchjerührt! Heißt: Der Film is fertch! Es erwartet euch ä Feuerwärk aus Schachtelsätzen, Rundstrickware unn jeder Menge Ägdschen… ;)”

So lautet das offizielle Statement zum Film. Nach nun etwa grob einem Jahr harter Arbeit bekommen die Fans des Eislebener Duos Elsterglanz einen Film vorgesetzt, der seines Gleichen sucht. Premiere war am Freitag, den 13. April 2012 in Eisleben. Seit wenigen Stunden gibt es Karten für die bisher wenigen Vorführungen (mawi-concert.de) und auch einen offiziellen Trailer. Ich freu mich schon die Jungs live zu sehen. Continue reading “Im Banne der Rouladenkönigin – ein Liebesfilm!?”

Caschy feiert 7. Geburtstag

Besser gesagt sein Blog stadt-bremerhaven.de. Der besteht nun bereits seit sieben Jahren und in typischer Caschymanier haut er wieder Geschenke raus. Ganz nach dem Motto er feiert und ihr kassiert. Diesmal sind die Geschenke so ordentlich, dass er sie in zwei Parts teilt. Den ersten nennt er Mobility, darunter fallen unter anderem Phones (Sony, Nokia, RIM, HTC), Tablets (Samsung, Motorola, Dell) und weitere Mobility Gadgets. Wie der zweite Part ausfallen wird, weiss sicherlich nur er. Aber garantiert geekig, wie ich ihn kenne.

Mitmachen kann jeder bis zum 19. März 2012. Nun viel Spass.

[via Caschy]

Bada 2.0 in Deutschland offiziell verfügbar

Vorhin habe ich gelesen, dass nach einigen anderen europäischen Staaten nun auch Deutschland Samsungs eigenes Betriebssystem Bada in der Version 2.0 für das Samsung Wave S8500 ausgeliefert bekommt. Die Auslieferung erfolgt an ungebrandete, also freie Waves. Ebenso bekommen die Waves der ersten Generation mit Vodafone gebrandeter Firmware das Update auf Bada 2.0. Für ungeflashte Waves kann das Update per Kies durchgeführt werden. Geflashte Waves bleiben entweder auf ihrer Version oder sie werden auf die letzte offizielle Bada 1.2 geflasht mit der dann wieder das offizielle Bada 2.0 per Kies geladen werden kann.

Die Wave-Nutzer haben seit der ersten Bada-Ankündigung im letzten Jahr lange warten müssen. Aber wie sagt man so schön? Was lange währt wird endlich gut.
[via]

ABE KBA 43229 (Ford / Borbet H95SXBA)

Vor langer Zeit, genauer am 07.04.2006, habe ich im fiesta-tuning.de-Forum einen Post geschrieben, dass ich einige Gutachten und ABE (Allgemeine Betriebserlaubnis) von meinen bisherigen Fahrzeugen habe. Oft erhalte ich Anfragen über dieses Forum und auch per Email Anfragen, ob ich diese noch nach wie vor besitze. Heute erreichte mich die Anfrage wegen Ford RS-Felgen 5,5 J x 14 (4×2-Speichen-Felgen) H95SXBA (Hersteller Borbet). Diese haben die KBA-Nummer 43229. KBA steht für Kraftfahrtbundesamt. Damit die Suchenden nicht den Weg über das Forum machen und sich erst anmelden müssen, hab ich sie mal hier hochgeladen. Diese ABE ist 17 Seiten umfangreich.

ABE – KBA 43229 (22,3 MB)

Zend Framework mit XAMPP und vhosts unter Windows

Heute will ich euch zeigen, wie ihr unter Windows das Zend Framework, den XAMPP und verschiedene vhosts (Virtual Hosts) einrichtet. Das hat den Hintergrund, dass ich mehrere Test-Projekte auf Windows-Maschinen laufen habe und normalerweise bei einem einzelnen Projekt auf localhost arbeiten würde. Um nicht Unterverzeichnisse nutzen zu müssen, ist es sinnig verschiedene vhosts zu verwenden. So kann jedes Projekt unter seiner eigenen ‘Domain’ aufgerufen werden. Das Ganze funktioniert nur lokal!

Ich selbst nutze für dieses Tutorial hier Windows 7 Professional 64 bit, XAMPP 1.7.7 VC-9 Win32 und das Minimal-Package des Zend Frameworks in der Version 1.11.11. Ich gebe der Vollständigkeit halber auch das mit an, was ich selbst geändert und geschrieben habe, um dieses Tutorial zu erstellen.  Continue reading “Zend Framework mit XAMPP und vhosts unter Windows”

Aufregung über ÖPNV in Leipzig

Ich fahre nun fast täglich mit den ­LVB (Leipziger Verkehrsbetriebe) in Leipzig. Was mir dabei schon oft auffiel – und nebenbei heute wieder passierte -, dass nach einem Wochenende der Ticketautomat an meiner Haltestelle nicht geleert oder keine Scheine mehr annimmt. Das Problem war heute eben jenes, dass ein neuer Monat begann und ich ein neues Monatsticket benötigte. Da zeigte mir der Automat an, dass ich nur passend zahlen könne. Damit wäre der erste Fail eingetreten.Ich habe zu Monatsanfang echt keine Muse dazu und nehme nur Scheine mit. Damit kommen wir zum zweiten Fail. Der Schlitz für die Scheine blinkte weder grün noch rot und nahm keine Scheine an. Ich nehme doch nicht für ein Monatsticket das Geld in kleinen Münzen mit.Damit versaut man mir echt meinen Montagmorgen.

Ab hier kommen nun einige Vermutungen, die nicht der Realität entsprechen müssen, aber durchaus plausibel wären. Das Schlimme an der Sache ist eigentlich, dass ich sicher nicht der Einzige war, dem dieses Problem zum Montagmorgen entgegensprang. So war ich gezwungen von meinen wenigen Münzen, die ich noch hatte und anders als für ein Ticket eingesetzt werden sollten, ein Einzelticket in der Bahn zu kaufen. Schwarzfahren liegt mir ja auch fern, daher habe ich dieses Übel gewählt. Tolle Sache was? Über zwei Euro dafür, dass der Automat nicht geleert wurde. Das spült natürlich mehr Geld in die Kasse des Betreibers. Was natürlich sehr im Sinne des Betreibers ist, aber sicher nicht in dem des Kunden oder des Fahrgastes, ein Monatsticket und einen Einzelfahrschein zu kaufen zu müssen statt nur das eigentlich benötigte Monatsticket. Man kann ja auch nicht von jedem Fahrgast erwarten, dass er sein neues Monatsticket den Tag zuvor kauft oder zu Zeiten, wenn er noch schläft.

Liebe LVB, ich empfehle Euch, dass ihr Eure Ticketautomaten nach einem Wochenende zeitig, am besten vielleicht montags um fünf Uhr, leert, sonst verärgert das sicher noch andere Fahrgäste außer meiner Wenigkeit. Darüber hinaus freu ich mich, dass Frühling und Sommer wieder näher rücken und ich wieder mit dem Fahrrad fahren kann und nicht auf unnötigerweise zu kaufende Tickets angewiesen bin.