Super neue lightweight lightbox … ohne jquery oder andere frameworks

Das müsst ihr euch anschauen, auf xopt.de wurde soeben eine JS Klasse für eine Lightbox / Thickbox veröffentlicht, welche grandiose vorteile bietet und vorallem sehr klein (<2KB) ist und dazu noch ohne ein Framework wie JQuery oder ähnlichem auskommt.

 

lightbox - slim lightweight - non framework, just JS

NON Jquery usement

xOpt.de – Lightweightbox

AGB für einen eBay-Shop – Meine Erfahrungen

Heute mal ein kleiner Beitrag ausserhalb der Reihe, da ich genaugenommen äußerst beeindruckt bin vom Service Safeterms.de!

Ich habe vor einigen Tagen meinen eigenen kleinen eBay Shop mit dem Verkauf einiger weniger Produkte eröffnet, welche ich über meine Partner sehr kostengünstig beziehe. Für mich war die Frage nach der Konzeptfindung vorallem die rechtliche Absicherung des Shops. Auch ich habe über meine Partner die Änderungen innerhalb des Widerrufrechts 2014 mit erlebt und wollte ganz auf Nummer sicher gehen.

Da wurde mir von einem Partner der Service von Safeterms.de emfohlen, welche auch einen guten Blog Artikel zum Thema „AGB für eBay Shops„, veröffentlicht haben. Ok, dachte ich mir, der Service kostete 9,90 Euro im Monat und ist monatlich kündbar… Kann man ja nichts falsch machen!

Also habe ich mich registriert und prompt auch innerhalb von 1 Minute meine Zugangsdaten erhalten. Nach dem LogIn wurde ich aufgefordert meine Rechtstexte zu konfigurieren. Safeterms stellt dafür eine Konfigurations-Tool bereit, welches in mehreren einfachen Schritten die Erstellung der passenden Rechtstexte für eBay Shops erläutert. Nach noch nichtmal 15 Minuten war ich fertig und konnte dann auch schon AGB und Co für meinen eBay Shop herunterladen! TOP!

Also, wer mit der Suche nach Allgemeinen Geschäftsbedingungen oder einer rechtsgültigen Widerrufsbelehrung ab 2014 ist, dem kann ich nur Safeterms.de empfehlen. Einfach, schnell und vorallem transparent und ohne Risiko!

Weiter so Safeterms!

FinTS und HBCI mit PHP als Klasse oder Funktion

Mal eine kleine Info an alle Leser,

derzeit plane und entwickle ich eine FinTS und HBCI Schnittstelle als PHP-Klasse. Die Fortschritte sind schon sehr gut, folgende Möglichkeiten sind bereits implementiert und können auch genutzt werden:

  • LogIn in den Online Banking Zugang bei der Bank
  • Sessions Speicherung zum sicheren arbeiten nach dem LogIn
  • Auslesen der Kontoinformationen (Kontostände & Kreditlinie)
  • Auslesen der Kontoumsätze
  • erweitertes auslesen der Umsätze (bis zu 1 Jahr)

Bevor ich meine Arbeit veröffentliche hätte ich gern ein Feedback von euch, was weiter noch benötigt wird.

Ebenfalls suche ich auf diesem Weg einige BETA-Tester, welche die Klasse ausprobieren um ein besseres BUG-Tracking zu erreichen, da die Banken doch unterschiede innerhalb der Standarts aufweisen.

Also, daher nehmt bitte an der Umfrage teil und kontaktiert mich bei interesse als BETA-Tester oder für die mit Entwicklung.

Grüße

phpWebFox

 

– UPDATE 25.05.2014 –

Nach langer Zeit melde ich mich mal wieder zurück und bedanke mich schonmal für die zahlreichen Interessenten an dem Projekt. Der Stand ist wie folgt:

HBCI 2.1 – funktioniert Grundlegend
HBCI 3 / FINTS 3.0 – funktioniert noch nicht, jedoch entwickelt spacejumper schon fleißig.

Ich werde im laufe der nächsten Woche auf jeden einzelnen Interessenten nochmals zurück kommen um einen „Entwicklungsplan“ sowie
eine Aufgabenverteilung zu erstellen.

 

Grüße

phpWebFox

Windows 7 Installationsservice für Toshiba C70 / C70D / C70D-A-11D

So, hier nochmal offiziell, aufgrund der hohen Nachfragen per Mail, comments & Co:

Solltet Ihr es nicht schaffen Windows 8 zu „kicken“ und Windows 7  sauber auf eurem Toshiba oder anderen Notebooks zu installieren, dann helfe ich euch gerne. Jedoch ist eine „Fernberatung“ für mich enorm schwierig und anstrengend.

Daher biete ich euch an, dass Ich euer Notebook mit einer sauberen und funktionalen Windows 7 Version (inkl. aller Treiber) versehe… Gerade die Toshiba C70 Reihe ist hierbei mein „Spezialgebiet“. 

Für diesen Service verlange ich lediglich ein Taschengeld und die Versandkosten.

Wenn Ihr interesse habt, nutzt bitte das folgende Kontaktformular.

Viel Spass

PhpWebFox

Toshiba C70 / C70D / C70D-A-11D Windows 7 x 64 Treiber (win7)

Mal ein kurzer short Tag von mir…

Ich habe mir ein neues Notebook von Toshiba (C70D-A11D) zugelegt. Gerade dieses Model mit der Modellnummer PSCENE ist derzeit ein Topseller in Deutschland. Die Gründe hierfür liegen vorallem im günstigen Preis (399,00 Euro) bei Otto und bei der realtiv guten Hardware (bemessen am Preis).

Problem für mich war bloss, das dass allseits beliebte Windows 8 vorinstalliert ist!… was für ein Schrott!!! Ich habe 3 Stunden meines Lebens investiert, dieses System zu verstehen/zu benutzen/ein chance zu geben und erkannte danach: Acht ist misst, Sieben muss her!

Nun kam das Problem, Toshiba stellt für dieses Notebook keine Windows 7  Treiber bereit. Lediglich Windows 8, welche auch nicht (oder nur Schwer) abwärtskompatibel sind.

Nach Stunden der Konfiguration und Treiber suche möchte ich meinen Erfolg mit euch teilen, anbei erhaltet Ihr als Download, die kompletten Windows 7 x64 Treiber für das Toshiba C70D-A11D Notebook / Laptop.

Somit steht einen Umstieg auf Windows 7 bzw. einem sogenannten Downgrade nichts mehr im Weg!

Viel Spass Damit, Komentare sind willkommen.

Download:
Toshiba C70D-A-11D Windows 7×64 Treiber / Driver Win7 Download [short] (~85 MB)
Toshiba C70D-A-11D Windows 7×64 Treiber / Driver Win7 Download [full] (~100 MB)

Grüße

FoX

P.S.
Short: beinhaltet alle Windows fremden Treiber
FULL: ein komplette Treiber Dump des fertigen Systems.

UPDATE:Solltet Ihr an der Installation scheitern, dann lest hier weiter: Windows 7 Installationsservice für Windows 8 Notebooks

Bilder skalieren und Proportionen behalten mit PHP – image_resample()

Heute möchte ich euch eine kleine Funktion vorstellen, welche ich bereits seit Jahren nutze. Die Funktion taufte ich image_resample().

Mit image_resample seit Ihr in der Lage ein Bild von beliebigen Maßen ohne Porportionsverluste in neue Maße zu skalieren. Dies ist äußerst hilfreich wenn man z.B. Thumbnails von unterschiedlich großen Grafiken erstellen muss. Die Grfik wir immer im neuen Maß zentriert, egal ob image_resample die Grafk hoch oder runter skalieren muss.

Es folgt die Funktion:

<?

function image_resample($im, $nw, $nh, $bg_type = "color", $bg_value="FFFFFF") {

    // FUNCTION image_resample (C) phpwebfox.wordpress.com

    // Step 1 - Getting actual image size
    $ow = imagesx($im);
    $oh = imagesy($im);

    // Step 2 - Create ne Image with new Width and Height
    $nim = imagecreatetruecolor($nw,$nh);

    // Step 3 - Define the Background
    switch ($bg_type) {
        case "color":
            $bg = imagecolorallocate($nim,hexdec(substr($bg_value,0,2)),hexdec(substr($bg_value,2,2)),hexdec(substr($bg_value,4,2)));
            imagefill($nim,1,1,$bg);
            break;
        case "get":
            $bg = imagecolorat($im,0,0);
            imagefill($nim,1,1,$bg);
            break;
    }

    // Step 4 Check for Job Type (Scale UP or DOWN)
    if ($nw < $ow || $nh < $oh) {
        $scale = "DOWN";
    } else {
        $scale = "UP";
    }

    // Step 5 Calculate Scaling
    if ($scale == "UP") {
        $nx = $ow;
        $ny = $oh;
        while ($nx<$nw && $ny<$nh) {
            $nx = $nx + ($ow/100);
            $ny = $ny + ($oh/100);
        }
        $nx = $nx - ($ow/100);
        $ny = $ny - ($oh/100);    
        echo $nx." ".$ny;
    } else {
        $nx = $ow;
        $ny = $oh;
        while ($nx>$nw || $ny>$nh) {
            $nx = $nx - ($ow/100);
            $ny = $ny - ($oh/100);
        }
    }
    $nx = round($nx,0);
    $ny = round($ny,0);

    // Step 6 Calculate center
    $startx = ($nw-$nx)/2;
    $starty = ($nh-$ny)/2;

    // Step 7 Process Resampling
    imagecopyresampled($nim, $im, $startx, $starty, 0, 0, $nx, $ny, $ow, $oh);

    // Step 8 Clear Memory and return Image
    imagedestroy($im);
    return($nim);
}

?>

Wie Ihr seht, alles recht „schlank“ gehalten…

Die Funktion image_resample() erwartet mindestens 3 Parameter…

  • $im – Das bereits in den Memory geladene Bild
  • $nw – Die neue Breite
  • $nh – Die neue Höhe

Optional können folgende Parameter für die Gestaltung des Hintergrundes mit angegeben werden…

  • $bg_type – entweder „color“ oder „get“ Mit der Angabe color wird der kann auch der Parameter $bg_value mit angegeben werden. Dieser Parameter legt dann die Hintergrungfarbe fest. Mit der Angabe get wählt die Funktion automatisch die Hintergrundfarbe des Original Bildes

Es folgt ein Beispiel wie die Funktion aufgerufen werden kann:

<?php
include("image_resample.php");
$im = imagecreatefromjpeg("testbild.jpg");
$im = image_resample($im, 200, 200, "color", "000000");
imagejpeg($im);
?>

Dieser Aufruf würde aus folgendem Original Bild:

testbild

die folgende verkleinerte Version auf 200×200 Pixel erstellen:

image_resample

ICH WÜNSCHE EUCH VIEL SPASS MIT DIESER WICHTIGEN UND AUCH MÄCHTIGE PHP GD LIB FUNKTION!

PHP Funktion: number_format() – Zahlen in PHP formatieren

Ich denke mal, jeder kennt das Problem, man benutzt eine Datenbank zum speichern von Fließkomma Zahlen und möchten nun diese Zahlen vernünftig formatiert mit PHP ausgeben. Dafür schenkten uns die Entwickler die Funktion number_format()! Aber auch hier gibt es eine kleine Tücke, welche zu beachten ist…

Zuerst einmal der Syntax der Funktion:

string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )

Wie wir sehen ist die Funktion recht einfach gehalten.

  • Als ersten Parameter wird die Fließkommazahl (in unserem Beispiel $number) verlangt.
  • Der zweite Parameter ist ein Integer, welcher die Anzahl der Dezimalstellen darstellt (in unserem Beispiel $decimals).
  • Der dritte Parameter ist ein String, welcher als dezimales Trennzeichen genutzt werden soll (in unserem Beispiel $dec_point).
  • Der vierte Parameter ist ebenfalls ein String, welcher als 1000er Trennzeichen genutzt werden soll (in unserem Beispiel $thousands_sep)

Wie gesagt, recht einfach, ABER es verbürgt sich hier noch eine kleine Tücke…

Jeder gute Coder hält den Code so schlank wie möglich. Ich gehe jetzt mal davon aus, dass ich einen Preis vorliegen habe, welchen ich formatiert ausgeben möchte. Dazu brauche ich ja lediglich die Anzahl der Dezimalstellen (in den meisten Fällen somit 2) und dass Dezimaltrennzeichen (Kaufmännisch üblich das Komma „,“).

Also würde meine Funktion dann Beispielsweise so aus:

<?php
$number = 12.57;  // Der Preis 12,57 EUR
$decimals = 2;    // Anzahl der Nachkommastellen
$dec_point = ","; // Gewünschtes Dezimal-Trennzeichen (Komma)
// Ausgabe der formatierten Zahl als String
echo number_format($number, $decimals, $dec_point); 
?>

Und das Ergebniss des Skriptes sieht dann so aus:

ERROR: Wrong parameter count for number_format()

Wie wir sehen, sehen wir nichts😦

Um die Funktion number_format() zu benutzen müssen immer alle Parameter angegeben werden, egal wie nervig das halt ist. Sprich auch wenn ich kein 1000er-Trennzeichen für meine formatierte Zahl benötige, muss ich dieses dennoch beim Aufruf der Funktion mit angeben.

Es folgt der Funkionsfähige Code für mein Beispiel:

<?php
$number = 12.57;     // Der Preis 12,57 EUR
$decimals = 2;       // Anzahl der Nachkommastellen
$dec_point = ",";    // Gewünschtes Dezimal-Trennzeichen (Komma)
$thousands_sep = ""; // Ich verzichte auf ein Tausender Trennzeichen
// Ausgabe der formatierten Zahl als String
echo number_format($number, $decimals, $dec_point, $thousands_sep); 
?>

Und das Ergebniss des Skriptes sieht dann so aus:

12,57

Wie wir sehen… es hat funktioniert, unsere Fließkommazahl wird nun mit 2 Dezimalstellen und einem Komma als Dezimal-Trennzeichen dargestellt.

Um den Code dennoch gering zu halten empfiehlt es sich eine kleine Funktion zur Darsetllung von Kommazahlen innerhalb des Projektes anzulegen, vorallem weil man dann Global die Einstellung ändern kann…

Hier ein Beispiel meiner Funktion für Preise, welche ich üblicherweise benutze:

<?php
// Funktion
function fprice($number, $decimals=2, $dec_point=",",$thousands_sep="") {
return number_format($number, $decimals, $dec_point, $thousands_sep);
}

// Aufruf der Funktion
$preis_formatiert = fprice(127.93);
?>

Ich wünsche euch viel Spass mit dieser mehr als brauchbaren Funktion in PHP und hoffe ich konnte zumindestens bei einigen ein wenig Licht in Dunkel zu dieser Funktion number_format().