Google Login über OpenID

am Dienstag, 11. August, 2009 - 17:36 von Herbi

Ich habe eine kleine Klasse geschrieben, mit der einen Google Login über das OpenID Protokoll realisieren kann.

Die Klasse veröffentliche ich unter der Creative Commons Lizenz.

Creative Commons LicenseDownload

GoogleOpenID-1.0.0.class.php

Diese Klasse kann zur Entwicklung genutzt werden. Es wird kein echter OpenID Login durchgeführt, aber man kann diesen hiermit simulieren.
GoogleOpenID-development.class.php

Beispiel

// login.php auf dem Server www.example.com. Login wird nur auf www.example.com genutzt.
require_once 'GoogleOpenID.class.php';
$googleOpenID = new GoogleOpenID( 'http://www.example.com' );
if ( $googleOpenID->verifyLogin() )
    echo $googleOpenID->getUser();
else
    header( 'Location: '. $googleOpenID->getLoginUrl( 'http://www.example.com/login.php' ) );

Kategorien: Coding
Tags:

Lokale Entwicklungumgebung in einer VM unter Windows

am Montag, 23. Februar, 2009 - 14:19 von Herbi

Unter Windows entwickelt man Webanwendungen nur sehr träge, da es ein Krampf ist, dort einen Apachen zu betreiben. Selbst Lösungen wie XAMPP machen da auf Dauer keinen Spaß.
Zum Glück kann man mit einer VM und gesharten Ordnern Wunder bewirken, sodass die Entwicklung wieder Spaß macht und das lokale System frei von unnötigen Komponenten bleibt.

virtualbox-installation

Installation von VirtualBox

Zuerst brauchen wir Debian als Betriebssystem. Die Netzinstallation reicht hier völlig. Unter http://debian.org/CD/netinst/ laden wir das aktuelle Image runter (i386). Die VM lassen wir mit VirtualBox laufen. Unter http://www.virtualbox.org/wiki/Downloads laden wir uns die aktuelle Version für Windows Hosts herunter.

Die Installation von VirtualBox können wir einfach “durchklicken”, ob man den USB Controller braucht, kann man selbst entscheiden, für uns sind nur die Netzwerkdienste erforderlich. (weiterlesen…)


PHP: Dezimalzahl in beliebiges Zahlensystem umwandeln

am Donnerstag, 27. März, 2008 - 23:09 von Herbi

Ich habe eine kleine Funktion geschrieben, mit der man jede positive Dezimalzahl in ein anderes Zahlensystem umwandeln kann, sogar in ein komplett eigenes Zahlensystem mit eigenen Zeichen umwandeln kann. Im Anhang findet man den Code als PHP Datei.

Anwendungsbeispiel:

$dual = array( "0", "1" );
$hex = array( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
        "a", "b", "c", "d", "e", "f" );

echo transfer_into( 11, $dual );
echo transfer_into( 11, $hex );

Viel Spaß damit!

/**
 * Transfer any decimal number into any other numbering system.
 *
 * @author Sebastian Herbermann
 * @throws Exception if wrong type is given to function
 * @param integer $decimal positive decimal number to transfer
 * @param array of string $universe complete universe (ascending) to transfer into
 * @return string given decimal transfered into given universe
 */
function transfer_into( $decimal, $universe )
{
    if ( !is_integer( $decimal ) || $decimal < 0 ||
        !is_array( $universe ) || 0 === count( $universe ) )
    {
    	throw new Exception( "wrong type given for argument" );
    }

    $count = count( $universe );
    $result = "";

    if ( $decimal == 0 )
    {
        $result .= $universe[0];
    } else {
        while ( $decimal > 0 )
        {
            $balance = $decimal % $count;
            $result .= $universe[$balance];
            $decimal = (int) floor( $decimal / $count );
        }
    }

    return strrev( $result );
}

/* Example:
$dual = array( "0", "1" );
$hex = array( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
        "a", "b", "c", "d", "e", "f" );

echo transfer_into( 11, $dual );
echo transfer_into( 11, $hex );
*/

Die Tücken von PHP: echo und Funktionen

am Freitag, 14. März, 2008 - 16:37 von Herbi

Da ich gerade darauf angesprochen wurde, warum bei einem Funktionsaufruf in einem echo-Statement der Inhalt der Funktion vor die Ausgabe des echo geschrieben wird, habe ich dazu ein kleines Beispiel entworfen:

function func1() {
   echo "2";
}

echo "1" . func1() . "3" . "\n";
// Ausgabe: 213

echo "1"; func1(); echo "3" . "\n";
// Ausgabe: 123

function func2() {
   return "2";
}

echo "1" . func2() . "3" . "\n";
// Ausgabe: 123

Ich hoffe, nun ist jedem klar, warum man auf die Reihenfolge achten muss. Wenn nicht, ab in die Comments!


Kategorien: Coding
Tags:

Wordpress und domain*go

am Freitag, 30. März, 2007 - 18:46 von Herbi

Wenn man Wordpress auf seinen Webspace bei domain*go aufspielt, wird sich die Freude in Grenzen halten.
Der Upload von Dateien, besonders der Bilderupload über das mitgelieferte Script funktioniert nicht einwandtfrei. Das Problem liegt darin, dass das Bild nicht angezeigt wird.

Dies ist auf die native Setzung der Dateirechte bei domain*go zurück zu führen, die die Wordpresseigenen Methoden aushebelt. Daher muss man dort selbst zu Hand gehen und das Setzen der richtigen Dateirechte erzwingen.

Hier möchte ich kurz erklären, wie man diesen Fehler behebt, beispielhaft an der Version 2.1.2. (weiterlesen…)


Kategorien: IT
Tags:

Erste Schwierigkeiten und Spielereien am Code

am Montag, 24. Juli, 2006 - 00:36 von Herbi

Ich bin sehr zufrieden mit meinen Webhoster. Aber manchmal hat man dann doch Probleme.

Als ich einen Blogeintrag schreiben wollte und dazu Bilder hochgeladen habe, musste ich bemerken, dass die Bilder falsche bzw. unbrauchbare CHMOD Rechte hatten. Daraufhin wurden sie nicht angezeigt. Dazu klebte der Text am Bildrand, da kein Außenabstand für Bilder definiert war. (weiterlesen…)


Kategorien: IT
Tags: