Letztes Wochenende war ich in Hamburg um an der diesjährigen PHP Unconference teilzunehmen und ich muss sagen: Die Fahrt dort hin hat sich auf jeden Fall gelohnt. Ich bin zunächst Mittwochs nach Bonn gefahren um dort zwei Tage zu arbeiten. Am Freitag gings dann mit einem lieben Kollegen nach Hamburg.
Die Konferenz an sich war, wie im letzten Jahr auch, hochwertig und kaum zu toppen. Diese nicht kommerzielle Konferenz steht im Stellenwert für mich bereits höher als z.B. die IPC. Die Vorträge und Diskussionen waren sehr interessant und mitreißend. Ich habe viele Anregungen bekommen für Dinge, die ich mir (mal wieder) ansehen will, oder schon immer ansehen wollte.
Ein weiteres Pro dieser Konfernz ist natürlich ihr Austragungsort. Hamburg ist eine tolle Stadt und gehört jetzt schon zu meinen Lieblingsausflugszielen
. Ich hatte eine Menge Spaß an diesem Wochenende und konnte viel mitnehmen. Ich versuche, nächstes Jahr auch wieder einer der 300 Glücklichen zu sein, die ein Ticket ergattern konnten
.
Auch an dieser Stelle noch mal ein fettes Dankeschön an die Orga, die dieses Event jetzt zum fünften Mal ausgerichtet haben. Ich hoffe, dass ihr mit den von @Ulf_Wendel eingesammelten Spenden eine schöne Zeit verbringen könnt
.
Hier noch ein paar Impressionen vom Wochenende:
written by Alexander
\\ tags: bilder, fotos, hamburg, konferenz, Konferenzen, PHP, phpuchh, phpunconf
Ich stand heute vor dem Problem, dass Daten in ein RTF exportiert werden müssen. So weit ist das kein Problem, RTF ist ja ein offenes Format. Dazu kam aber noch, dass ein Bild, welches vorher vom User hochgeladen werden kann, in das RTF eingefügt werden muss. Eine schnelle Google-Umfrage zeigte, dass dies kein großer Deal ist. Es gibt viele verschiedene Implementierungen / Beispiele für alle möglichen Sprachen.
Für PHP bin ich bei diesem Beispiel hängen geblieben. Im Prinzip definiert man im Quell-RTF nur einen Platzhalter, welchen man später dann ersetzt. Anschließend muss man das Bild als Binär-String einlesen, diesen String in Hex umwandeln und dann in einen RTF spezifischen String einfügen. Anschließend den Platzhalter ersetzen und fertig
.
Hier das abgekürzte Beispiel (aus der o.g. Quelle entnommen):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| // Datei als Binaerstring einlesen
$b=fopen("upl_bild.jpg","rb");
$imgData=getimagesize("upl_bild.jpg");
// RTF Format-String vorbereiten
$newImagePre="{\\*\\shppict{\\pict \\jpegblip \\picw".$imgData[0]." ";
$newImagePre="\\pich".$imgData[1]." \\wbmbitspixel24 ";
// Bild binär in eine Variable einlesen
while (!feof($b)) {
$newImage.= fgets($b);
}
// In Hex umwandeln
$hex=bin2hex($newImage);
// RTF-Format-String und Bilddaten zusammenfügen
$imgDat=$newImagePre.$hex."}}";
// [...] |
Ich habe den o.g. Code mehr oder weniger auf meine Bedürfnisse angepasst und dann in meine Klasse eingefügt, funktionierte wunderbar
. Glücklicherweise hatte ich auch nur JPG, die verarbeitet werden mußten. Wenn hier andere Formate ergänzt werden müssen, muss der RTF-Format-String angepasst werden.
written by Alexander
\\ tags: bilder, PHP, rtf

Endlich war es soweit, die PHP Unconference 2010 öffnete ihre Tore. Nach einer nicht enden wollenden Autofahrt und einer kurzen Nacht kamen wir im Geomatrikum in Hamburg an. Für mich war es die erste Unconference und da ich auch vorher noch nie auf einem Barcamp war (*schäm*), war ich besonders auf das Procedere gespannt. Die Organisation war straff — wir kamen beim Checkin nahezu direkt dran und bekamen unser Namensschild auf dem gleichzeitig auch die Zugangsdaten für den personalisierten WLAN Zugang zu finden waren. Zusätzlich gabs vier rote und blaue Aufkleber für das spätere Voting der Sessions. Das WLAN war erste Sahne und genau aus diesem Grund gab es auch einen regen Informationsfluss auf Twitter, das war klasse!
Zunächst war nach einer kurzen Einführung in die Veranstaltung die Vorstellung der vorgeschlagenen Sessions und der Interessen angesagt. Anschließend wurde gevoted. Eine Tafel mit Stimmen (diese hier von Sonntag mit zwei Wahlrunden) sah so aus:

Continue reading »
written by Alexander
\\ tags: hamburg, Konferenzen, PHP, php unconference hamburg 2010, unconference
Die Entwickler haben die vierte ALPHA Version von Doctrine 2.0 zum Testen freigegeben. Sie beinhaltet mehr als 60 Bugfixes.
Zusammenfassung:
- DBAL Refactorings
- CLI Refactoring and Enhancements
- Support for customizing the DDL of column definitions
- XML Mapping Driver Improvements
Das Changelog befindet sich hier; der Release kann hier bezogen werden.
Die Beta ist für März 2010 geplant – ich kann’s kaum erwarten die stable Version zu testen
.
written by Alexander
\\ tags: alpha release, doctrine 2, doctrine 2.x, PHP, php5
Da ich mich in der letzten Zeit mit Drupal auseinandersetzen muss, kommt man natürlich nicht drum rum eigene Module zu entwickeln. Das geht in Drupal eigentlich recht simpel. Tutorials dazu finden sich im Netz zuhauf. Letzte Woche begann ich wieder damit ein Modul zu entwerfen, kam auch recht gut vorwärts und machte dann einige Änderungen an diesem bestehenden Modul Code. Anschließend mußte ich zu einer anderen Baustelle wechseln.
Als ich dann wieder zurück kam, habe ich das Modul testweise de- und aktiviert und auf einmal ging nichts mehr. Ich war aus meinem eigenen Modul ausgesperrt “403 Access denied”. Stunden langes Suchen war die Folge, das will ich anderen ersparen
. Die Lösung war, dass ich im Irrglauben in meinem Menu Hook des Moduls die “access arguments” entfernt habe. Das sollte man also niemals tun
. Diese Funktion wird nur beim aktivieren eingelesen und kann so Effekte produzieren, die man nicht will, also Änderungen an dieser Funktion am besten direkt durch de- und aktivieren des Moduls testen
.
Stattdessen funktioniert der Code nun wieder mit einer Default Permission.
1
2
3
4
5
6
7
8
9
10
11
12
13
| function mymodule_menu()
{
$items = array();
$items['mymodule'] = array(
'title' => 'Moduletitle',
'page callback' => 'mymodule_all',
'access arguments' => array('access content'),
);
return $items;
} |
written by Alexander
\\ tags: 403, access denied, drupal, modules, permission, PHP
Kommentare