Tag Archives: php

EBICS Client ( ebics_client.class.php)

[update 27.01.2016]

Nun also doch kommerzielle Version – Infos etc. findet Ihr hier: PHP EBICS Client

[/update]

endlich hab ich es fertiggebracht.. nach 11 langen Tagen coding, debugging und studieren der überaus umfangreichen und noch dazu auch fehlerhaften EBICS Dokumentation konnte ich nun endlich einen EBICS Client in php fertigstellen, der zumindest mit meiner Sparkasse einwandfrei funktioniert 😉 Im Moment kann der Client die folgenden Auftragsarten: INI, HIA, HPB, HKD, HTD, CDD (Sepa Lastschrift), CCT (Sepa Überweisung), CDB (Sepa B2B Lastschrift), IZL, IZV, STA, PTK. Eine Klasse zum Erzeugen der SEPA PAIN Nachrichten habe ich auch schon gebaut.

Aktuell bin ich noch am überlegen, ob ich den Client unter der GPL veröffentlichen soll oder nicht… Da es kommerzielle Anbieter gibt, die relativ simple EBICS Tools (z.b. nur für Upload, nur für Signatur) für enormes Geld anbieten (EBICS Tool für Upload und Signatur für 7.000 €!!!) muss ich da jetzt erst mal ein paar Nächte drüber schlafen…

PHP IPv6 ip2long und long2ip Funktionen

php bietet aktuell ip2long() und long2ip() nur für IPv4 an, für IPv6 gibt es aktuell soweit ich weiss noch keine native Funktionen, deshalb hier meine zwei Funktionen um ip2long und long2ip auch für IPv6 zu verwenden – diese Funktionen benötigen die php gmp-lib, unter Debian: apt-get install php5-gmp:

$ipv6 = “2001:4860:a005::68”;
function ip2long6($ipv6) {
$ip_n = inet_pton($ipv6);
$bits = 15; // 16 x 8 bit = 128bit
while ($bits >= 0) {
$bin = sprintf(“%08b”,(ord($ip_n[$bits])));
$ipv6long = $bin.$ipv6long;
$bits–;
}
return gmp_strval(gmp_init($ipv6long,2),10);
}

function long2ip6($ipv6long) {

$bin = gmp_strval(gmp_init($ipv6long,10),2);
if (strlen($bin) < 128) {
$pad = 128 – strlen($bin);
for ($i = 1; $i <= $pad; $i++) {
$bin = “0”.$bin;
}
}
$bits = 0;
while ($bits <= 7) {
$bin_part = substr($bin,($bits*16),16);
$ipv6 .= dechex(bindec($bin_part)).”:”;
$bits++;
}
// compress

return inet_ntop(inet_pton(substr($ipv6,0,-1)));
}

print $ipv6long =  ip2long6($ipv6).”\n”;
print $ipv6 = long2ip6($ipv6long).”\n”;

Ergebnis:

42541956150894553250710573749450571880
2001:4860:a005::68

Typo3 4.2.8 und PHP5.3 Kompatibilitäts-Patch

Heute hatte ich mal etwas Zeit über, und konnte mich einem weiteren kleinen Problem welches aus dem Upgrade auf PHP5.3 resultiert widmen. Einige Funktionen sind bei PHP5.3 nicht mehr verfügbar, oder werden mit PHP6.0 nicht mehr unterstüzt. Auf der php Webseite gibt es eine Liste aller veralteten Funktionen.

In Typo3 4.3.0alpha3 ist davon zwar Einiges, wenn nicht sogar Alles behoben, im aktuellen Stable 4.2.8 gibt es jedoch eine Menge Probleme, wenn man auf PHP5.3 umstellt. Deshalb hier der von mir erstellte Patch für typo3 4.2.8 mit PHP5.3

typo3-4.2.8-php5.3-compat-patch

Falls jemand wider Erwarten einen Fehler findet und mir mitteilt, so werde ich den neuen Patch ebenfalls hier veröffentlichen.

Einen komplett gepatchten source gibt es hier zum download, da viele User nicht wissen wie man mit patch umgeht:

http://www.netz-guru.de/wp-content/uploads/2009/07/typo3_src-4.2.8-compat-patched-php5.3.tgz

PHP Klasse für www.online-mahnantrag.de

Mahnbescheide automatisiert erstellen

Heute habe ich eine PHP-Klasse für www.online-mahnantrag.de geschrieben. Mit dieser Klasse ist es möglich, die Barcode PDF Anträge direkt aus einem PHP Skript heraus zu erstellen, und so zum Beispiel ein automatisiertes Mahnwesen zu erweitern, so dass nach Ablauf der letzten Mahnung automatisch das gerichtliche Mahnverfahren eröffnet werden kann.

Welche Verfahren werden angeboten?

Unter www.online-mahnantrag.de gibt es derzeit zwei Möglichkeiten, ein Mahnverfahren zu starten. Zum einen gibt es die schriftliche Version, d.h. man füllt online alle benötigten Felder aus, und erstellt abschließend einen Mahnbescheid mit maschinenlesbarem Barcode. Die zweite Alternative ist die Übermittlung der Daten mittels elektronischer Signatur. Die Klasse unterstüzt derzeit nur das Barcode Verfahren, da dies mir persönlich ausreicht und ich selbst nicht über eine digitale Signatur und entsprechendes Equipment verfüge. Wenn man die Funktion gen_pdf() der Klasse aufruft, übermittelt diese alle erforderlichen Daten an www.online-mahnantrag.de und liefert als Ergebnis das fertige Barcode-PDF zurück.

Einen neuen Mahnbescheid mit der Klasse erstellen

mit der Klasse lässt sich dann relativ einfach so ein Barcode-Antrag erstellen, hier mal ein Code-Beispiel:

Continue reading PHP Klasse für www.online-mahnantrag.de

Howto convert mp3-Streams to aac+ Streams in Linux

Was ist der Unterschied zwischen aac+ und mp3?

MPEG-4 High Efficiency Advanced Audio Coding (kurz HE-AAC), auch AAC+ v1 genannt, ist ein lizenzpflichtiger Audio-Codec, der Moving Picture Experts Group (MPEG). Der Standard liefert bei niedrigen Bitraten vergleichsweise gute Ergebnisse und eignet sich daher besonders für Live-Streams.

Continue reading Howto convert mp3-Streams to aac+ Streams in Linux

Kritische Sicherheitslücke in Joomla 1.0.15 behoben

Seit gestern ist die Version 1.0.15 von joomla veröffentlicht worden, welche eine kritische Schwachstelle behebt die bis einschliesslich 1.0.14 funktioniert, mit der remote eingeschleuster PHP Code ausgeführt werden konnte.

Es wird daher dringend empfohlen, ein Backup des CMS anzufertigen und umgehend die neue Version einzuspielen, um Angreifern kein Ziel mehr zu bieten.

Weitere Informationen und Patch-Pakete gibt es direkt auf www.joomla.org