WordPress: GIT usage with automatic database backups

It’s always difficult how to use git with wordpress the best way. First step should always be a global .gitignore file that ignores all core files and only adds plugins and themes to your repo. The core could always be restored by the wordpress github repo or direct download, so there is no need to add that overhead to your own repository.

I just wrote a small .gitignore file for my own projects. Thats a simple base you can extend for your own purposes.

An other typical problem is the backup of databases. WordPress theme options and of course content is always saved in the database, so we need every change in there, when we commit file changes. The easiest way to do so, is the git hook „pre-commit“. Just add this file to .git/hooks/ and edit your absolute paths. On every commit git will backup your database and add it to your repo.

 

 

SQL REPLACE() function

SQL allows you to simply replace parts of a string by using REPLACE(fieldname, „replace-this“, „replace-with-this“) and yes you can encapsulate REPLACE() within other REPLACE(). Thats easy to use and efficient because you don’t need to order and sort your results in PHP or any other language, but directly get the correct format and order of your data.

Our table:

… 

 

Enable bootstrap for wordpress backend plugins

In one of my recent plugins it was necessary to enable bootstrap for easy styling my plugin option pages. If you simply add bootstrap to the backend css, the whole backend gets the style, thats not really cool. With the use of less and a little wrapper class only for your plugin you can get rid of this circumstance.

First download the recent bootstrap distribution from getbootstrap.com

Move into the bootstrap directory and create a little less file:

Compile that file and you get a complete bootstrap css wrapped with your wrapper-class.
See http://lesscss.org/ for instructions.

Just add that file to the backend style of wordpress an there you go.

Every bootstrap component is available within wrapper-class.

 

Typo3 Viewhelper file exists

Um zu testen ob ein Datei existiert, habe ich mir diesen winzigen Viewhelper geschrieben. Dem Anschein nach kann Fluid das von sich aus noch nicht 🙁 (wird Zeit)

FileexistsViewHelper.php

template.html

 

Mein neues WordPress Plugin: Tooltip Crazy

Nach Jahren des Bastelns und Probierens habe ich mich dazu durchgerungen auch mal ein Plugin soweit fertig zu stellen um es zu publizieren. Mit Tooltip Crazy (WordPress Plugin Directory) können die CSS Tooltips von Codrops direkt in WordPress genutzt werden.

Das Plugin bietet einen neuen Button im RTE an oder man nutzt direkt den Weg über den Shortcode. Zukünftige Plugins werden definitiv noch nutzerfreundlicher entwickelt ;D

 

mPDF Styling

Wer Daten in Form einer PDF serverseitig generieren will wird sich zwangsweise mit fpdf auseinandersetzen. mPDF erweitert die Bibliothek und erzeugt PDFs aus einer HTML Struktur heraus. Die Generierung erfolgt unerwartet einfach, hat aber noch Verbesserungsbedarf in Sachen Styling. Wer mit mPDF arbeiten möchte sollte folgendes beachten:

– Floating funktioniert nur, wenn das zu floatende Element eine angegebene Breite hat.

– Vererbung in CSS funktioniert nur bedingt.

Ein Element mit class=“class1 class2″ würde in der PDF keinen roten Hintergrund bekommen, man müsste in diesem Fall class=“class2″ nutzen, damit sich die CSS Angaben auswirken.

– Der im Normalfall (fullwidth, Hochformat) sichtbare Bereich ist 680px breit

– Große Tabellen werden nicht(!) auf mehrere Seiten umgebrochen sondern verkleinert dargestellt.

– Tabellen in div Containern sind grundsätzlich nicht zu empfehlen, die Darstellung ist in vielerlei Hinsicht falsch.

 

PHP simplexml soll CDATA nicht ignorieren

Beim Import von externen XML Daten stand ich kürzlich vor dem Problem, dass beim Auslesen der Rückgabewerte einige Elemente CDATA Inhalte beinhalteten.

Das unter PHP mögliche parsen mit simplexml ignoriert bzw. überspringt diese Elemente standardmäßig. Dieses Überspringen lässt sich durch Angabe einer libxml function verhindern.

Die Funktion LIBXML_NOCDATA bringt den gewünschten Erfolg.

Der simplexml Aufruf lautet dann wie folgt:

 

WordPress Template Entwicklung – Fehlermeldung bei fehlenden Plugins

Im Laufe der Entwicklung eines Templates kann es immer mal wieder dazu kommen, dass man externe Plugins nutzt um seinem Template bestimmte Funktionen gleich mitzugeben.

Will man sein Template anschließend veröffentlichen, macht es Sinn auf diese Plugins hinzuweisen. Zu diesem Zwecke habe ich die Funktion is_plugin_active() genutzt.

Hier der komplette Code um eine Fehlermeldung im Backend auszugeben.

Wer noch einen Schritt weitergehen möchte, sollte sich tgmpluginactivation anschauen. Diese Bibliothek geht noch weiter und weist nicht nur auf fehlende Plugins hin, sondern kann diese auch gleich installieren und updaten.

 

HTML5 + CSS3 Cheat Sheet

Wer mit HTML5 und CSS3 anfangen möchte tut sich häufig schwer bei der Klärung der Begriffe. HTML5 umfasst viel mehr als die Ausdruckssprache HTML und CSS3 kann ebenfalls viel mehr als nur eine Style zuweisen.

Gerade unter Neueinsteigern empfehlen sich daher sogenannte Cheat Sheets, selbst nach meinen jahrelangen Erfahrungen mit beiden Sprachen nutze ich diese Sheets immer noch sehr gerne, denn sie sind übersichtlich und in ihrem Themenbereich allumfassend.

Ein bekanntes HTML5 Cheat Sheet (was die reine Semantik angeht) hat websitesetup.org zur Verfügung gestellt. Es eignet sich auch hervorragend als Poster oder Hintergrundbild und klärt die Begrifflichkeiten von HTML5 hervorragend.

Deutlich größer und unübersichtlicher als HTML5 ist CSS3, allerdings ist es dem SmashingMagazine gelungen auch für CSS3 eine vollständige und dennoch übersichtliche PDF Referenz zur Verfügung zu stellen.

Um sich einen Überblick über die beiden Sprachen zu verschaffen, kann ich diese alltäglichen Begleiter nur empfehlen!

 

Was taugt der Sicherheitstest vom BSI?

Die Medien berichten seit Tagen von gekaperten E-Mail Konten und gehakten Datenbanken, 18 Millionen deutsche Staatsbürger seien betroffen und niemand weiß wen es trifft und wieso. Was haben also diese 18 Millionen Nutzer falsch gemacht? Haben sie den falschen E-Mail Anbieter, den falschen Internetanbieter oder sind sie gar selbst an dem Problem Schuld indem sie sich auf den falschen Webseiten registriert haben? Wenn es diese 18 Millionen Betroffenen wirklich gibt, dann ist der Sicherheitstest vom BSI eine super Einrichtung um die Betroffenen ausfindig zu machen. Der Sicherheitstest braucht nur kurz die E-Mail Adresse des verängstigten Staatsbürgers und schon kann getestet werden ob die Adresse betroffen ist.

Das Verfahren sieht doch sehr nach Phishing aus! „Geben Sie hier ihre E-Mail Adresse ein und wir testen für sie“… und wenn die Adresse nicht befallen ist, was ist dann? Das System hat etwas von der „Selbstanzeige“ á la Steuer-CD, denn jeder verängstigte deutsche Mitbürger tippt ahnungslos seine E-Mail Adresse ein und hofft nicht betroffen zu sein, am anderen Ende der Leitung bekommt das BSI eine bestätigte E-Mail Adresse zu welcher nun nur noch die Person fehlt, allerdings kann man sich sicher sein dass die Adresse genutzt wird, ansonsten wäre sie wohl kaum so wichtig, dass jemand sie testen lässt. …