From 616f61eb7a3695dc145e7d40a7084d9389437d56 Mon Sep 17 00:00:00 2001 From: Levi Date: Sat, 30 Jan 2016 15:15:18 -0500 Subject: [PATCH] Add function for twig to generate a token --- .../User/Controller/UserController.class.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/psm/Module/User/Controller/UserController.class.php b/src/psm/Module/User/Controller/UserController.class.php index f29fa6c9..548f95ca 100644 --- a/src/psm/Module/User/Controller/UserController.class.php +++ b/src/psm/Module/User/Controller/UserController.class.php @@ -51,6 +51,23 @@ class UserController extends AbstractController { 'index', 'edit', 'delete', 'save', ), 'index'); $this->twig->addGlobal('subtitle', psm_get_lang('menu', 'user')); + $this->twig->addFunction( + new \Twig_SimpleFunction( + 'form_token', + function($lock_to = null) { + if (empty($_SESSION['token'])) { + $_SESSION['token'] = bin2hex(random_bytes(32)); + } + if (empty($_SESSION['token2'])) { + $_SESSION['token2'] = random_bytes(32); + } + if (empty($lock_to)) { + return $_SESSION['token']; + } + return hash_hmac('sha256', $lock_to, $_SESSION['token2']); + } + ) + ); } public function initialize() {