ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/branches/2.8.x/webapp/lib/smarty_plugins/function.t_form.php @ 2923

Last change on this file since 2923 was 2923, checked in by ogawa, 13 years ago

#761:ファイルアップロード機能に拡張子制限機能を入れる
#741:0byteのファイルをアップロードできない

File size: 1.6 KB
Line 
1<?php
2/**
3 * @copyright 2005-2007 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7function smarty_function_t_form($params, &$smarty)
8{
9    $method = 'post';
10    if (isset($params['_method'])) {
11        if ($params['_method'] == 'get') {
12            $method = 'get';
13        }
14        unset($params['_method']);
15    }
16
17    $enctype = '';
18    if (isset($params['_enctype'])) {
19        if ($params['_enctype'] == 'file' || $params['_enctype'] == 'multipart') {
20            $enctype = 'multipart/form-data';
21            $params['MAX_FILE_SIZE'] = max(IMAGE_MAX_FILESIZE * 1024, FILE_MAX_FILESIZE * 1024);
22        }
23        unset($params['_enctype']);
24    }
25
26    $attr = '';
27    if (isset($params['_attr'])) {
28        $attr = $params['_attr'];
29        unset($params['_attr']);
30    }
31
32    $form_action = openpne_gen_url_head($params['m'], $params['a'], false);
33
34    if (isset($params['_form_action'])) {
35        $form_action .= $params['_form_action'];
36        unset($params['_form_action']);
37    }
38
39
40    if (need_ssl_param($params['m'], $params['a'])) {
41        $params['ssl_param'] = 1;
42    }
43
44    $html = sprintf('<form action="%s" method="%s"', $form_action, $method);
45    if ($enctype) {
46        $html .= sprintf(' enctype="%s"', $enctype);
47    }
48    if ($attr) {
49        $html .= sprintf(' %s', $attr);
50    }
51    $html .= '>';
52    foreach ($params as $key => $value) {
53        $html .= "\n";
54        $html .= sprintf('<input type="hidden" name="%s" value="%s">',
55                         htmlspecialchars($key, ENT_QUOTES, 'UTF-8'),
56                         htmlspecialchars($value, ENT_QUOTES, 'UTF-8'));
57    }
58    return $html;
59}
60
61?>
Note: See TracBrowser for help on using the repository browser.