2 // $Id: insert.inc.php,v 1.16 2011/01/25 15:01:01 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 (PKWK_READONLY) die_message('PKWK_READONLY prohibits editing');
16 if (! isset($vars['msg']) || $vars['msg'] == '') return;
18 $vars['msg'] = preg_replace('/' . "\r" . '/', '', $vars['msg']);
19 $insert = ($vars['msg'] != '') ? "\n" . $vars['msg'] . "\n" : '';
22 $postdata_old = get_source($vars['refer']);
26 foreach($postdata_old as $line) {
27 if (! INSERT_INS) $postdata .= $line;
28 if (preg_match('/^#insert$/i', $line)) {
29 if ($insert_no == $vars['insert_no'])
33 if (INSERT_INS) $postdata .= $line;
36 $postdata_input = $insert . "\n";
39 if (md5(get_source($vars['refer'], TRUE, TRUE)) !== $vars['digest']) {
40 $title = $_title_collided;
41 $body = $_msg_collided . "\n";
43 $s_refer = htmlsc($vars['refer']);
44 $s_digest = htmlsc($vars['digest']);
45 $s_postdata_input = htmlsc($postdata_input);
48 <form action="$script?cmd=preview" method="post">
50 <input type="hidden" name="refer" value="$s_refer" />
51 <input type="hidden" name="digest" value="$s_digest" />
52 <textarea name="msg" rows="$rows" cols="$cols" id="textarea">$s_postdata_input</textarea><br />
57 page_write($vars['refer'], $postdata);
59 $title = $_title_updated;
61 $retvars['msg'] = $title;
62 $retvars['body'] = $body;
64 $vars['page'] = $vars['refer'];
69 function plugin_insert_convert()
71 global $script, $vars, $digest;
73 static $numbers = array();
75 if (PKWK_READONLY) return ''; // Show nothing
77 if (! isset($numbers[$vars['page']])) $numbers[$vars['page']] = 0;
79 $insert_no = $numbers[$vars['page']]++;
81 $s_page = htmlsc($vars['page']);
82 $s_digest = htmlsc($digest);
83 $s_cols = INSERT_COLS;
84 $s_rows = INSERT_ROWS;
86 <form action="$script" method="post">
88 <input type="hidden" name="insert_no" value="$insert_no" />
89 <input type="hidden" name="refer" value="$s_page" />
90 <input type="hidden" name="plugin" value="insert" />
91 <input type="hidden" name="digest" value="$s_digest" />
92 <textarea name="msg" rows="$s_rows" cols="$s_cols"></textarea><br />
93 <input type="submit" name="insert" value="$_btn_insert" />