OSDN Git Service

Just a cleanup
[pukiwiki/pukiwiki.git] / plugin / memo.inc.php
1 <?php
2 // $Id: memo.inc.php,v 1.10 2004/07/24 14:16:32 henoheno Exp $
3
4 /////////////////////////////////////////////////
5 // ¥Æ¥­¥¹¥È¥¨¥ê¥¢¤Î¥«¥é¥à¿ô
6 define('MEMO_COLS', 80);
7
8 // ¥Æ¥­¥¹¥È¥¨¥ê¥¢¤Î¹Ô¿ô
9 define('MEMO_ROWS', 5);
10
11 /////////////////////////////////////////////////
12 function plugin_memo_action()
13 {
14         global $script, $vars, $cols, $rows;
15         global $_title_collided, $_msg_collided, $_title_updated;
16
17         if (! isset($vars['msg']) || $vars['msg'] == '') return;
18
19         $memo_body = preg_replace("/\r/", '', $vars['msg']);
20         $memo_body = str_replace("\n", "\\n", $memo_body);
21
22         $postdata_old  = get_source($vars['refer']);
23         $postdata = '';
24         $memo_no = 0;
25         foreach($postdata_old as $line)
26         {
27                 if (preg_match("/^#memo\(?.*\)?$/", $line))
28                 {
29                         if ($memo_no == $vars['memo_no'])
30                         {
31                                 $postdata .= "#memo($memo_body)\n";
32                                 $line = '';
33                         }
34                         ++$memo_no;
35                 }
36                 $postdata .= $line;
37         }
38
39         $postdata_input = "$memo_body\n";
40
41         if (md5(@join('', get_source($vars['refer']))) != $vars['digest'])
42         {
43                 $title = $_title_collided;
44
45                 $body = "$_msg_collided\n";
46
47                 $s_refer  = htmlspecialchars($vars['refer']);
48                 $s_digest = htmlspecialchars($vars['digest']);
49                 $s_postdata_input = htmlspecialchars($postdata_input);
50
51                 $body .= <<<EOD
52 <form action="$script?cmd=preview" method="post">
53  <div>
54   <input type="hidden" name="refer"  value="$s_refer" />
55   <input type="hidden" name="digest" value="$s_digest" />
56   <textarea name="msg" rows="$rows" cols="$cols" id="textarea">$s_postdata_input</textarea><br />
57  </div>
58 </form>
59 EOD;
60         }
61         else
62         {
63                 page_write($vars['refer'], $postdata);
64
65                 $title = $_title_updated;
66         }
67         $retvars['msg'] = $title;
68         $retvars['body'] = $body;
69
70         $vars['page'] = $vars['refer'];
71
72         return $retvars;
73 }
74
75 function plugin_memo_convert()
76 {
77         global $script, $vars, $digest;
78         global $_btn_memo_update;
79         static $numbers = array();
80
81         if (! isset($numbers[$vars['page']]))
82         {
83                 $numbers[$vars['page']] = 0;
84         }
85         $memo_no = $numbers[$vars['page']]++;
86
87         $data = '';
88         if (func_num_args()) {
89                 list($data) = func_get_args();
90         }
91
92         $data = htmlspecialchars(str_replace("\\n", "\n", $data));
93
94         $s_page   = htmlspecialchars($vars['page']);
95         $s_digest = htmlspecialchars($digest);
96         $s_cols = MEMO_COLS;
97         $s_rows = MEMO_ROWS;
98         $string = <<<EOD
99 <form action="$script" method="post" class="memo">
100  <div>
101   <input type="hidden" name="memo_no" value="$memo_no" />
102   <input type="hidden" name="refer"   value="$s_page" />
103   <input type="hidden" name="plugin"  value="memo" />
104   <input type="hidden" name="digest"  value="$s_digest" />
105   <textarea name="msg" rows="$s_rows" cols="$s_cols">$data</textarea><br />
106   <input type="submit" name="memo"    value="$_btn_memo_update" />
107  </div>
108 </form>
109 EOD;
110
111         return $string;
112 }
113 ?>