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
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an