2 // $Id: insert.inc.php,v 1.12 2005/01/23 07:34:39 henoheno Exp $
4 // Text inserting box plugin
6 define('INSERT_COLS', 70); // Columns of textarea
7 define('INSERT_ROWS', 5); // Rows of textarea
8 define('INSERT_INS', 1); // Order of insertion (1:before the textarea, 0:after)
10 function plugin_insert_action()
12 global $script, $vars, $cols, $rows;
13 global $_title_collided, $_msg_collided, $_title_updated;
15 if (! isset($vars['msg']) || $vars['msg'] == '') return;
17 $vars['msg'] = preg_replace('/' . "\r" . '/', '', $vars['msg']);
18 $insert = ($vars['msg'] != '') ? "\n" . $vars['msg'] . "\n" : '';
21 $postdata_old = get_source($vars['refer']);
25 foreach($postdata_old as $line) {
26 if (! INSERT_INS) $postdata .= $line;
27 if (preg_match('/^#insert$/i', $line)) {
28 if ($insert_no == $vars['insert_no'])
32 if (INSERT_INS) $postdata .= $line;
35 $postdata_input = $insert . "\n";
38 if (md5(@join('', get_source($vars['refer']))) != $vars['digest']) {
39 $title = $_title_collided;
40 $body = $_msg_collided . "\n";
42 $s_refer = htmlspecialchars($vars['refer']);
43 $s_digest = htmlspecialchars($vars['digest']);
44 $s_postdata_input = htmlspecialchars($postdata_input);
47 <form action="$script?cmd=preview" method="post">
49 <input type="hidden" name="refer" value="$s_refer" />
50 <input type="hidden" name="digest" value="$s_digest" />
51 <textarea name="msg" rows="$rows" cols="$cols" id="textarea">$s_postdata_input</textarea><br />
56 page_write($vars['refer'], $postdata);
58 $title = $_title_updated;
60 $retvars['msg'] = $title;
61 $retvars['body'] = $body;
63 $vars['page'] = $vars['refer'];
68 function plugin_insert_convert()
70 global $script, $vars, $digest;
72 static $numbers = array();
74 if (! isset($numbers[$vars['page']])) $numbers[$vars['page']] = 0;
76 $insert_no = $numbers[$vars['page']]++;
78 $s_page = htmlspecialchars($vars['page']);
79 $s_digest = htmlspecialchars($digest);
80 $s_cols = INSERT_COLS;
81 $s_rows = INSERT_ROWS;
83 <form action="$script" method="post">
85 <input type="hidden" name="insert_no" value="$insert_no" />
86 <input type="hidden" name="refer" value="$s_page" />
87 <input type="hidden" name="plugin" value="insert" />
88 <input type="hidden" name="digest" value="$s_digest" />
89 <textarea name="msg" rows="$s_rows" cols="$s_cols"></textarea><br />
90 <input type="submit" name="insert" value="$_btn_insert" />