1: <?php
2: /**
3: * XOOPS securityToken Smarty compiler plug-in
4: *
5: * @copyright (c) 2016-2022 XOOPS Project (https://xoops.org)
6: * @license GNU GPL 2 or later (https://www.gnu.org/licenses/gpl-2.0.html)
7: * @author Richard Griffith <richard@geekwright.com>
8: */
9:
10: /**
11: * Inserts a XOOPS security token
12: *
13: * Examples: <{securityToken}>
14: * <{securityToken name="XOOPS_TOKEN"}>
15: *
16: * Create and render a XoopsFormHiddenToken element. If no 'name' argument is specified
17: * the default value will be used.
18: *
19: * This is intended to replace token generations done in {php} tags which are removed
20: * in Smarty 3 and beyond
21: *
22: * @param string[] $params optional 'name' parameter for token
23: * @param Smarty $smarty
24: *
25: * @return void
26: */
27: function smarty_function_securityToken($params, $smarty)
28: {
29: if (!empty($params['name'])) {
30: $name = $params['name'];
31: $name = trim($name, "' \t\n\r\0");
32: echo $GLOBALS['xoopsSecurity']->getTokenHTML($name);
33: } else {
34: echo $GLOBALS['xoopsSecurity']->getTokenHTML();
35: }
36: }
37: