7 * LICENSE: This source file is licensed under the terms of the GNU General Public License.
9 * @package Magic3 Framework
10 * @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
11 * @copyright Copyright 2006-2009 Magic3 Project.
12 * @license http://www.gnu.org/copyleft/gpl.html GPL License
13 * @version SVN: $Id: insert.inc.php 1601 2009-03-21 05:51:06Z fishbone $
14 * @link http://www.magic3.org
16 define('INSERT_COLS', 70); // Columns of textarea
17 define('INSERT_ROWS', 5); // Rows of textarea
18 define('INSERT_INS', 1); // Order of insertion (1:before the textarea, 0:after)
20 function plugin_insert_action()
22 //global $script, $vars, $cols, $rows;
23 global $script, $cols, $rows;
24 global $_title_collided, $_msg_collided, $_title_updated;
26 if (PKWK_READONLY) die_message('PKWK_READONLY prohibits editing');
27 //if (! isset($vars['msg']) || $vars['msg'] == '') return;
28 $msg = WikiParam::getMsg();
29 if ($msg == '') return;
31 /* $vars['msg'] = preg_replace('/' . "\r" . '/', '', $vars['msg']);
32 $insert = ($vars['msg'] != '') ? "\n" . $vars['msg'] . "\n" : '';*/
33 $msg = preg_replace('/' . "\r" . '/', '', $msg);
34 $insert = ($msg != '') ? "\n" . $msg . "\n" : '';
37 //$postdata_old = get_source($vars['refer']);
38 $refer = WikiParam::getRefer();
39 $postdata_old = get_source($refer);
42 foreach($postdata_old as $line) {
43 if (! INSERT_INS) $postdata .= $line;
44 if (preg_match('/^#insert$/i', $line)) {
45 //if ($insert_no == $vars['insert_no'])
46 if ($insert_no == WikiParam::getVar('insert_no'))
50 if (INSERT_INS) $postdata .= $line;
53 $postdata_input = $insert . "\n";
56 $digest = WikiParam::getVar('digest');
57 //if (md5(@join('', get_source($vars['refer']))) != $vars['digest']) {
58 if (md5(get_source($refer, true)) != $digest) {
59 $title = $_title_collided;
60 $body = $_msg_collided . "\n";
62 /* $s_refer = htmlspecialchars($vars['refer']);
63 $s_digest = htmlspecialchars($vars['digest']);*/
64 $s_refer = htmlspecialchars($refer);
65 $s_digest = htmlspecialchars($digest);
66 $s_postdata_input = htmlspecialchars($postdata_input);
67 $postScript = $script . WikiParam::convQuery("?cmd=preview");
69 <form action="$postScript" method="post" class="form">
71 <input type="hidden" name="refer" value="$s_refer" />
72 <input type="hidden" name="digest" value="$s_digest" />
73 <textarea name="msg" class="wiki_edit" rows="$rows" cols="$cols">$s_postdata_input</textarea><br />
78 <form action="$script?cmd=preview" method="post" class="form">
80 <input type="hidden" name="refer" value="$s_refer" />
81 <input type="hidden" name="digest" value="$s_digest" />
82 <textarea name="msg" rows="$rows" cols="$cols" id="textarea">$s_postdata_input</textarea><br />
87 //page_write($vars['refer'], $postdata);
88 page_write($refer, $postdata);
90 $title = $_title_updated;
92 $retvars['msg'] = $title;
93 $retvars['body'] = $body;
95 //$vars['page'] = $vars['refer'];
96 WikiParam::setPage($refer);
101 function plugin_insert_convert()
103 //global $script, $vars, $digest;
106 static $numbers = array();
108 if (PKWK_READONLY) return ''; // Show nothing
110 //if (! isset($numbers[$vars['page']])) $numbers[$vars['page']] = 0;
111 $page = WikiParam::getPage();
112 if (! isset($numbers[$page])) $numbers[$page] = 0;
114 //$insert_no = $numbers[$vars['page']]++;
115 $insert_no = $numbers[$page]++;
117 //$s_page = htmlspecialchars($vars['page']);
118 //$s_digest = htmlspecialchars($digest);
119 $s_page = htmlspecialchars($page);
120 $s_digest = htmlspecialchars(WikiParam::getDigest());
121 $postScript = $script . WikiParam::convQuery("?");
122 $s_cols = INSERT_COLS;
123 $s_rows = INSERT_ROWS;
125 <form action="$postScript" method="post" class="form">
127 <input type="hidden" name="insert_no" value="$insert_no" />
128 <input type="hidden" name="refer" value="$s_page" />
129 <input type="hidden" name="plugin" value="insert" />
130 <input type="hidden" name="digest" value="$s_digest" />
131 <textarea name="msg" class="wiki_edit" rows="$s_rows" cols="$s_cols"></textarea><br />
132 <input type="submit" name="insert" class="button" value="$_btn_insert" />