WP-ImmoMakler: WordPress OpenImmo Immobilien-Makler Plugin

knoes-immobilien.de

In Kooperation mit der Agentur Siket & Heser, Gießen, habe ich den OpenImmo Immobilen-Import und die Darstellung der Objekte für die Website von Knös Immobilien, Eltville am Rhein mit dem eigens entwickelten WordPress OpenImmo Importer Immobilien-Makler Plugin WP-ImmoMakler umgesetzt.

Das Plugin integriert sich nahtlos in jede WordPress-Installation und kann bei mir angefordert werden. Als Dienstleistung biete ich die Installation, wunschgemäße Anpassung oder auch Erstellung einer kompletten Immobilienmakler-Website an.
Füllen Sie bei Interesse bitte das Kontaktformular auf der Plugin-Seite aus.

WordPress filter hook: log and debug WP_Http requests

This WordPress filter hooks into WP_Http::_dispatch_request() to write all request and response details into a logfile.
It logs all HTTP requests (GET, POST, HEAD) that are sent and received by the WP_Http class, e.g. explicitly via $wp_http_object->request() or via wp_remote_request() or wp_remote_get() or wp_remote_post() or wp_remote_head().
The hook is useful for logging while debugging WordPress plugins that connect to other servers.

See also:
WordPress Plugin API Documentation: Filters
WordPress Function Reference: add_filter

Perl: Handle malformed UTF-8 strings with Encode::encode

Having the error message “Malformed UTF-8 character (fatal)” in my log files, I tried to handle this properly without letting the process die nor throwing away the whole string.
Having some research on Google I came up with following solution:

See also:
http://perldoc.perl.org/Encode.html#Handling-Malformed-Data
http://www.perlmonks.org/?node_id=839519

Set a custom HTTP User-Agent in Perl with WWW::Mechanize

This is how you can dynamically set a custom HTTP User-Agent for your Perl requests to fake a device or browser for testing purpose or getting a device-specific version of a website.
WWW::Mechanize supports setting a custom user-agent with the constructor and after this gives a choice of 6 pre-defined basic user-agents ( $mech->agent_alias() ), only.

The following code demonstrates how to dynamically change the user-agent on a Mechanize object.

Strip all HTML tags with Perl like PHP’s strip_tags() does

The Perl regular expression (regexp/regex) equivalent to PHP’s strip_tags() is:

while ($string =~ s/<\S[^<>]*(?:>|$)//gs) {};

Please note that it also denotes an opening “<” (followed by a non-whitespace character) as a tag and strips all characters behind, even it is not closed by a “>”. This is the same behavior as PHP’s strip_tags().

Update: This regexp is only satisfying my test against PHP 4.x, but 5.x is pretty smarter when it comes to edge cases. It will be a challenge to build a Perl equivalent as all the different approaches in CPAN also fail the test.

Update 2010-07-07: I’m currently porting strip_tags() from the C source code of PHP 5.3.2 to a CPAN Module. Stay tuned.

Update 2011-05-25: Today I finally uploaded my Perl port to CPAN: http://search.cpan.org/~hinnerk/HTML-StripTags-1.00/
New home of this module is http://www.hinnerk-altenburg.de/perl-strip_tags/

PerlIDS-Artikel im deutschen Perl-Magazin $foo erschienen

Mein vierseitiger Artikel zum Perl-CPAN-Modul CGI::IDS ist in der aktuellen Ausgabe 1/2009 des deutschen Perl-Magazins $foo erschienen.
Ich gebe darin einen Überblick Über die Funktion und den Einsatz von PerlIDS zur frühzeitigen Erkennung von CrossSite-Scripting, SQL-Injections und Ähnlichen Angriffen auf Webapplikationen.

I just published a four pages long article in the German Perl magazine $foo about my Perl CPAN module CGI::IDS, a Website Intrusion Detection System.

OpenSource Perl Website Intrusion Detection System PerlIDS (CGI::IDS) released

Today, we at epublica have officially released my work of the last months – a Perl port of PHPIDS, a tool for detection of Cross-Site-Scripting (XSS), Cross-Site-Request-Forgery (CSRF), SQL-Injections (SQLI), Local-File-Inclusions (LFI) etc. in website requests.
The tool is released as CGI::IDS Perl module “PerlIDS” on CPAN.org under the OpenSource “Lesser GNU Public License” (LGPL).

Weiterlesen →

Einsatz von Google Analytics nun mit Datenschutzhinweis rechtmäßig

Update: Zur aktuellen Lage lest bitte den Artikel “Webanalyse datenschutzkonform betreiben: Google Analytics anonymisieren“ in der T3N zu diesem Thema! Mein folgender Artikel (aus dem Oktober 2008) entspricht nicht mehr dem aktuellen Stand!

Laut einem Artikel auf heise.de ist nun nach einer Aussage des Bundesverband Digitale Wirtschaft (BVDW) endlich die seit einiger Zeit durch Datenschützer entdeckte Unsicherheit bzgl. des Einsatzes des populären und kostenfreien Website Analyse- und Statistiktools Google Analytics auf deutschen Websites ausgeräumt. Als kritisch wurde u.a. die Übermittlung der Nutzungsdaten und vor allem der IP-Adressen der Websitebesucher zu Google Inc. in die USA – also außerhalb der strengeren deutschen und europäischen Datenschutzbestimmungen – erachtet.

Google hat nun auf dieses Problem reagiert und seine Google Analytics AGB im Punkt “8. DATENSCHUTZ” angepasst:

Weiterlesen →

Relaunch of Derix Glasstudios website finally online

The relaunch of the corporate website of Derix Glasstudios, Taunusstein/Germany and Derix Art Glass Consultants, Portland/USA is now finally online!

I have already concepted and developed it in 2005 and I am happy to see it online now! The website is developed in PHP/MySQL with a custom-made admin interface.

Derix Glasstudios have been founded in 1866 and are today making art glass for prominent projects all over the world.

[Update] The website is now available in Russian and Spanish, too.

[Update] I am now also doing search engine optimization and Google AdWords campaigns for them.

[Update] Redesign now online with a new color theme and lightbox project viewer and AJAX projects preview using Prototype JS and Scriptaculous.