Gregwar\Formidable\PostIndicator::generateToken PHP Method

generateToken() protected method

Generate the token or get it from the session
protected generateToken ( )
    protected function generateToken()
    {
        if ($this->token === null) {
            $secret = array('install' => __DIR__, 'name' => $this->name);
            if (isset($_SESSION)) {
                $key = sha1(__DIR__ . '/' . 'formidable_secret');
                if (isset($_SESSION[$key])) {
                    $secret['csrf'] = $_SESSION[$key];
                } else {
                    $csrf = sha1(uniqid(mt_rand(), true) . '|' . gettimeofday(true));
                    $_SESSION[$key] = $csrf;
                    $secret['csrf'] = $csrf;
                }
            }
            $this->token = sha1(serialize($secret));
        }
    }