Zumindest laut W³C – da kann man sich ja freuen, dass das Objekt der AJAX/S-Begierde 10 Jahre nach der Implementation im IE5 endgültig spezifiziert wurde — wenn der Last Call des W³Cs unbeantwortet bleibt .-)
[ via ]
…dev, tech problems and solutions.
Kauft man einen vServer kommt in der Grundausstattung erstmal viel Spam ungefiltert durch, es sei denn man tut was dagegen.
Alles umleiten auf Gmail ist eine Lösung, aber Google muss nicht alle meine Mails haben, daher mal schauen was Plesk einem so bietet.
Unter Server -> Mail gibt es eine “SPF spam protection”, also die mal ausprobiert:
– SPF Filter angeschaltet
– folgende Einstellungen gemacht:
SPF checking Mode: Only create Received-SPF headers, never block
(war doch etwas mißtrauisch, deswegen erstmal gucken was dabei raus kommt)
Nun werden die Mails mit einem zusätzlichem Header ausgestattet, den man local dann filtern kann.
Dazu mehr hier
– SPF local rules: include:spf.trusted-forwarder.org
– SPF guess rules: a/24 mx/24 ptr
Alles von hier übernommen: http://www.saout.de/misc/spf/
… und gespeichert
Continue reading “vServer SPF Spamfilter von Plesk und Thunderbird”
Heute mal ein webtip:
http://symfony-check.org/
Eine sehr nützliche Seite, die eigentlich nur eine Checklist ist.
Check if your symfony application is ready for deployment
Aber schön gemacht und sehr nützlich.
Wie oft hab ich schon vergessen die ErrorPages zu customizen.
Oder schön ist auch wenn man ne Email kriegt “Du benutzt symfony, richtig?”, weil man vergessen hat die Cookie Names anzupassen.
… und hier gibt’s ein Changelog: http://propel.phpdb.org/trac/wiki/Users/Documentation/1.4/WhatsNew
Continue reading “Etwas untergegangen: Propel 1.4 is raus”
Um “duplicate content” Missverständnissen vorzubeugen hat ja WordPress diese canonical URL redirects.
Klingt komplizierter als es ist. Im einfachsten Fall wird jemand der
http://www.domain.com
aufruft, auf
http://domain.com
umgeleitet. Klappt auch ganz hervorragend.
Manchmal sollte man multiple Inserts machen, ist doch performanter als in jedem Schleifendurchlauf die Database Engine zu bemühen.
Falls man sich mal fragt wie man multiple Inserts mit symfony hinkriegt, fängt man an zu googlen und stößt schnell auf dieses Snippet.
Und bevor man da rumeiert und das auf zB Sqlite umschreibt, einfach mal Propel Transaktionen anschauen:
Ist doch schön wenn einen die Lieblings Programmiersprache nach all den Jahren noch überraschen kann.
…nein, die Rede ist nicht von JS.
Dass PHP Sonnenauf- bzw. untergangszeiten ausgeben kann wusste ich bisher nicht.
date_sunrise und date_sunset heissen die beiden Funktionen.
/* calculate the sunset time for Lisbon, Portugal Latitude: 38.4 North Longitude: 9 West Zenith ~= 90 offset: +1 GMT */ echo date("D M d Y"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
coole Sache, wie ich finde. Continue reading “sunrise, sunset, sunrise, sunset, sunrise, sunset”
Ich schlage mich im Moment mit Tags & Behaviors herum. Eigentlich soll das BETA Plugin sfPropelActAsTaggableBehaviorPlugin auch unter symfony 1.2 laufen:
symfony propel-build-all
>> propel generating form classes
Cannot fetch TableMap for undefined table: sf_tag. Make sure you have the static MapBuilder registration code after your peer stub class definition.
Das Problem ist in den Foren bekannt.
– Des Rätsels Lösung nach 3 Std. Arbeit: Ein Klassenname aus meinem Projekt glich einer Klassenbezeichnung aus dem Plugin.
Also erstens, damit man die Doku versteht: Mutatoren sind natürlich “Setter” (setFirstname(string name)), Accessoren “Getter” (getFirstname()). Doctrine ermöglicht es auf vielfältige Weise, Attribute eines OR-Objekts programmatisch zu erfragen bzw. zu verändern. Da jede Instanz von Doctrine_Record letztlich die abstrakte Elternklasse Doctrine_Access implementiert, wird der Zugriff und alle Änderungen durch die (magischen) PHP-Methoden __get(), __set() und __call() koordiniert. Zusätzlich bietet Doctrine eine Konfiguration, die es ermöglicht, jede Änderung an einem Objekt einem optionalen, zentralen Methodenaufruf zuzuleiten, der dann als eine Art Interzeptor fungiert.