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));
}
}