[TYPO3-german] Formhandler - eigener Finisher für ActivationCode

dirk_studivz at web.de dirk_studivz at web.de
Mon Jul 11 23:25:04 CEST 2011


Hallo zusammen,

ich habe mir einen eigenen Finisher für den Formhandler erstellt. Vielleicht kann diesen auch noch jemand anders gebrauchen (über Ideen/Verbesserungsvorschläge freue ich mich natürlich auch).

Und zwar wird vor dem Speichern in die Datenbank ein Aktivierungscode generiert (aus einer Zufallszahl und der aktuellen Zeit in Millisekunden). Dieser ist kann über mapping = activation_code in die Datenbank gespeichert werden.

Diesen Code verschicke ich per Email und nach einem Klick auf den Link habe ich ein Skript am Laufen das schaut, welche Daten zu dem Account gehören und eben den Account auf aktiviert setzen (wie man es von den gängigen Foren,.. kennt).

Hier mal der Quelltext der Klasse:


<?php

class Tx_Formhandler_Finisher_ActivationCodeDB extends Tx_Formhandler_AbstractFinisher {

    /**
     * The main method called by the controller
     *
     * @return array The probably modified GET/POST parameters
     */
    public function process() {
    
        session_start();
        // First of all get the values from the session to update them
        $sessionValues = Tx_Formhandler_Session::get('values');
        
        if(!is_array($sessionValues)) {
            throw new Exception('No values found in the session');
        }

        // Generate activationCode
        $activationCode = $this->createActivationCode();

        $this->gp['activation_code'] = $activationCode;
        
//        $sessionValues[1]['activation_code'] = $activationCode;
//
//        // Set modified values to session
//        Tx_Formhandler_Session::set('values', $sessionValues);    
        
        return $this->gp;
    }
    /**
     * Generate random activation code with a random number and the timeestamp
     */
    protected function createActivationCode() {
    
        $rand = rand(0, 100000);
    
        $activationCode = md5($rand . '_' . time());
    
        return $activationCode;
    }
}

?>

VIele Grüße,

Dirk
___________________________________________________________
Schon gehört? WEB.DE hat einen genialen Phishing-Filter in die
Toolbar eingebaut! http://produkte.web.de/go/toolbar


More information about the TYPO3-german mailing list