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:

https://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