Zend Framework Cycle View Helper

Ich bin begeistert:

<tr class="<?php echo $this->cycle(array("bg1", "bg2"))->next()?>">

Lesen Sie weiter »

Zend_Tag_Cloud Spielereien

Trotz des sonnigen Wetters habe ich mir heute endlich einmal die Zeit genommen mir Zend_Tag_Cloud etwas genauer anzuschauen, spontan finde ich die Idee wirklich ganz gut und habe kurzerhand die Tag cloud auf Wie-mache-ich.de umgebaut, samt einer kleinen Filterfunktion (nur Tags beginnend mit A, B, C, … usw.).

Lesen Sie weiter »

Nette print_r Erweiterung

Eine wirklich nette, schick gemachte Erweiterung zur normalen Ansicht von print_r bietet krumo.

via devtimes

Erweiterung meiner Zeiterfassung

Heute direkt nach dem Aufstehen habe ich mal wieder etwas an meiner Zeiterfassung, basierend auf PHP-GTK2, geändert bzw. verbessert. Wurden bisher nur eingehende Telefonate von Kunden automatisch erfasst und ggf. abgerechnet werden jetzt auch ausgehende Telefonate in einer Datenbank festgehalten und auch hier wieder, sofern nötig direkt dem Kundenaccount zugeordnet und fakturiert.

Das ganze habe ich so weit erweitert das ich nun auch feststellen kann wieviel Prozent meiner Telefonate geschäftlich und wieviel Prozent privat sind, wobei ich jetzt schon weiß das der private Anteil sehr sehr gering sein wird. Dennoch erhoffe ich mir ein paar interessante Daten/Zahlen die ich dann auch hier im Blog veröffentlichen werde.

Mitlerweile wächst be|work (der Name der Zeiterfassung) immer weiter, ich hoffe das wenn alle Kinderkrankheiten die das ganze System leider noch hat geheilt sind das ganze auch im Rahmen eines OpenSource Projektes öffentlich zu machen.

15 coole Sachen die PHP bietet, viele aber übersehen

Heute über Planet PHP entdeckt – 15 Cool Things About PHP That Most People Overlook

HBCI Schnittstelle

Neben der Telefon Verifizierung haben wir vor kurzem für einen großen Online-Shop eine Schnittstelle zum automatisierten Abfragen von Kontobewegungen entwickelt.

Mit Hilfe dieser Schnittstelle ist es möglich, über z.B. PHP, Daten wie

  • aktueller Kontostand
  • Buchungsposten
  • vorhandene Konten

abzufragen. Durch die angebotenen Funktionen ist es möglich Buchungseingänge direkt Rechnungen zuzordnen. Eine wirkliche Zeitersparnis im Gegensatz zur manuellen Bearbeitung.

Die Schnittstelle basiert auf dem HBCI Standard (Homebanking Computer Interface) und kann mittels XML Abfragen abgefragt werden.

Happy Birthday PHP

Wie ich gerade auf Planet PHP gelesen habe feiert PHP4 heute seinen siebenten Geburtstag, wow das waren noch Zeiten, PHP4… *träum* Alles alles Gute liebes PHP! Wann hat denn PHP5 Geburtstag?

PHP GTK Spielereien

Um die Zeiten zu archivieren die ich für meine Kunden arbeite habe ich bisher ein selbst geschriebenes PHP Script das ich immer in einer Shell gestartet habe benutzt.

Am Wochenende habe ich mir als Ersatz eine grafische Oberfläche mit Hilfe von PHP-GTK2 entwickelt. Das ganze hat zum Vorteil das ich jetzt genau sehe wie lange ich schon an einer Sache arbeite und es sieht einfach schöner aus als ein Shellscript. ;)

Das ganze sieht wie folgt aus:

php-gtk.png

Es besteht neben der Eingabemöglichkeit einer Beschreibung was erledigt worden ist auch die Möglichkeit auszuwählen ob es sich um ein Telefonat, die Lösung eines Bugs oder einer Todo oder um etwas anderes gehandelt hat. Diese Auswahl war nötig da nicht sämtliche Telefonate und/oder Arbeiten berechnet werden sofern diese pauschal abgerechnet werden. Wichtig ist eine solche Zeiterfassung für einen Selbständigen m.E. nach auf jeden Fall, so behält man den Überblick darüber wann man was geschafft hat und kann so auch bei genauerer Auswertung sehen zu welchen Zeiten man vielleicht unproduktiv war.

Neben einer Ausgabemöglichkeit für einen Admin bietet das Script auch einen Login für den entsprechenden Kunden, so kann er immer den Überblick behalten was erledigt worden ist und vor allem was wieviel gekostet hat bzw. wieviel Kosten momentan schon entstanden sind.

Neben der Ausgabe der ganzen Daten gibt es noch eine angeschlossene automatisierte Rechnungsgenerierung.

Die Software ist leider noch nicht soweit ausgereift das ich Sie veröffentlichen könnte, sobald sie aber reif genug ist werde ich sämtliche Scripte und Datenbanken unter einer OpenSource Lizenz veröffentlichen.

Bisher basiert das Script auf PHP, MySQL (adodb_lite), Smarty und eben PHP-GTK2.

Smarty Tipp – Ausgaben abfangen und erneut ausgeben

Vor kurzem hat mich mein Kollege auf eine interessante Smarty Funktionalität hingewiesen und zwar auf {capture}.

Mittels {capture} können Ausgaben die unter Umständen mehrfach im Template Verwendung finden (Beispiel: Seitenzahlen jeweils am Anfang und am Ende der Seite) abgefangen werden und ohne Ausführung des Template Codes (foreach, usw.) erneut ausgegeben werden.

Beispiel 1 (Abfangen der Ausgabe):

{capture name=pagenav}
Seite: 1 2 3 4 5
{/capture}

Beispiel 2 (Ausgeben der abgefangenen Daten):

{$smarty.capture.pagenav}

Weitere Informationen zu {capture} finden sich selbstverständlicherweise im Smarty Manual.

PHP Scripte werden mobil

Es ist schon des öfteren vorgekommen, okay ich will ehrlich sein, bisher nur zwei Mal, das ein Kunde eine Software lediglich auf einem lokalen Firmenrechner laufen lassen möchte, aus welchen Gründen auch immer. Dem Kunden sämtliche Software (Apache, MySQL, PHP) zu installieren ist nicht immer möglich z.B. auf Grund dessen wenn der Kunde im Ausland sitzt. Es gibt aber dennoch eine Möglichkeit ein solches Problem zu lösen und zwar mit einer Software namens Server2Go.

Mit Hilfe von Server2Go können PHP/MySQL Projekte auf USB-Sticks, CD’s oder auch portable Festplatten gepackt werden und dann von über all aus gestartet werden ohne das die Installation eines Webservers oder Datenbankservers von Nöten ist. Die Software startet das Projekt in einem Browser und startet bei Bedarf auch den Datenbankserver. Enthalten ist bei der ganzen Geschichte ein Webserver, PHP, MySQL, SQLite und auch Perl, wobei ich über die Funktionsfähigkeit in Sachen Perl nichts sagen kann, PHP Software und auch zusätzliche PHP Module laufen jedoch ohne Probleme.

Da die Software vollkommen kostenlos ist (Donationware) lohnt es sich sicherlich bei Bedarf einfach mal in die Sache reinzuschauen.