blob: da666318d37422db5246f2d597d9eaf579045b9a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?php
/**
* Create a form for data submission.
* Use this view for forms rather than creating a form tag in the wild as it provides
* extra security which help prevent CSRF attacks.
*
* @package Elgg
* @subpackage Core
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
* @author Curverider Ltd
* @copyright Curverider Ltd 2008-2009
* @link http://elgg.org/
*
* @uses $vars['body'] The body of the form (made up of other input/xxx views and html
* @uses $vars['method'] Method (default POST)
* @uses $vars['enctype'] How the form is encoded, default blank
* @uses $vars['action'] URL of the action being called
*
*/
if (isset($vars['internalid'])) { $id = $vars['internalid']; } else { $id = ''; }
if (isset($vars['internalname'])) { $name = $vars['internalname']; } else { $name = ''; }
$body = $vars['body'];
$action = $vars['action'];
if (isset($vars['enctype'])) { $enctype = $vars['enctype']; } else { $enctype = ''; }
if (isset($vars['method'])) { $method = $vars['method']; } else { $method = 'POST'; }
// Generate a security header
$security_header = "";
if ($vars['disable_security']!=true)
{
$ts = time();
$token = generate_action_token($ts);
$security_header = elgg_view('input/hidden', array('internalname' => '__elgg_token', 'value' => $token));
$security_header .= elgg_view('input/hidden', array('internalname' => '__elgg_ts', 'value' => $ts));
}
?>
<form <?php if ($id) { ?>id="<?php echo $id; ?>" <?php } ?> <?php if ($name) { ?>name="<?php echo $name; ?>" <?php } ?> action="<?php echo $action; ?>" method="<?php echo $method; ?>" <?php if ($enctype!="") echo "enctype=\"$enctype\""; ?>>
<?php echo $security_header; ?>
<?php echo $body; ?>
</form>
|