OSDN Git Service

reimyさんによるHTML適正化
[pukiwiki/pukiwiki.git] / plugin / insert.inc.php
1 <?
2 // $Id: insert.inc.php,v 1.3 2002/07/01 07:08:57 masui Exp $
3
4 /////////////////////////////////////////////////
5 // ¥Æ¥­¥¹¥È¥¨¥ê¥¢¤Î¥«¥é¥à¿ô
6 define("INSERT_COLS",70);
7 /////////////////////////////////////////////////
8 // ¥Æ¥­¥¹¥È¥¨¥ê¥¢¤Î¹Ô¿ô
9 define("INSERT_ROWS",5);
10 /////////////////////////////////////////////////
11 // ÁÞÆþ¤¹¤ë°ÌÃÖ 1:Íó¤ÎÁ° 0:Íó¤Î¸å
12 define("INSERT_INS",1);
13
14 function plugin_insert_action()
15 {
16         global $post,$vars,$script,$cols,$rows,$del_backup,$do_backup;
17         global $_title_collided,$_msg_collided,$_title_updated;
18
19         if($post["msg"])
20         {
21                 $postdata = "";
22                 $postdata_old  = file(get_filename(encode($post["refer"])));
23                 $insert_no = 0;
24
25                 if($post[msg])
26                 {
27                         $insert = $post[msg];
28                 }
29
30                 foreach($postdata_old as $line)
31                 {
32                         if(!INSERT_INS) $postdata .= $line;
33                         if(preg_match("/^#insert$/",$line))
34                         {
35                                 if($insert_no == $post["insert_no"] && $post[msg]!="")
36                                 {
37                                         $postdata .= "$insert\n";
38                                 }
39                                 $insert_no++;
40                         }
41                         if(INSERT_INS) $postdata .= $line;
42                 }
43
44                 $postdata_input = "$insert\n";
45         }
46         else
47                 return;
48
49         if(md5(@join("",@file(get_filename(encode($post["refer"]))))) != $post["digest"])
50         {
51                 $title = $_title_collided;
52
53                 $body = "$_msg_collided\n";
54
55                 $body .= "<form action=\"$script?cmd=preview\" method=\"post\">\n"
56                         ,"<div>\n"
57                         ."<input type=\"hidden\" name=\"refer\" value=\"".$post["refer"]."\" />\n"
58                         ."<input type=\"hidden\" name=\"digest\" value=\"".$post["digest"]."\" />\n"
59                         ."<textarea name=\"msg\" rows=\"$rows\" cols=\"$cols\" wrap=\"virtual\" id=\"textarea\">$postdata_input</textarea><br />\n"
60                         ,"</div>\n"
61                         ."</form>\n";
62         }
63         else
64         {
65                 $postdata = user_rules_str($postdata);
66
67                 // º¹Ê¬¥Õ¥¡¥¤¥ë¤ÎºîÀ®
68                 if(is_page($post["refer"]))
69                         $oldpostdata = join("",file(get_filename(encode($post["refer"]))));
70                 else
71                         $oldpostdata = "\n";
72                 if($postdata)
73                         $diffdata = do_diff($oldpostdata,$postdata);
74                 file_write(DIFF_DIR,$post["refer"],$diffdata);
75
76                 // ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÎºîÀ®
77                 if(is_page($post["refer"]))
78                         $oldposttime = filemtime(get_filename(encode($post["refer"])));
79                 else
80                         $oldposttime = time();
81
82                 // ÊÔ½¸ÆâÍƤ¬²¿¤â½ñ¤«¤ì¤Æ¤¤¤Ê¤¤¤È¥Ð¥Ã¥¯¥¢¥Ã¥×¤âºï½ü¤¹¤ë?¤·¤Ê¤¤¤Ç¤¹¤è¤Í¡£
83                 if(!$postdata && $del_backup)
84                         backup_delete(BACKUP_DIR.encode($post["refer"]).".txt");
85                 else if($do_backup && is_page($post["refer"]))
86                         make_backup(encode($post["refer"]).".txt",$oldpostdata,$oldposttime);
87
88                 // ¥Õ¥¡¥¤¥ë¤Î½ñ¤­¹þ¤ß
89                 file_write(DATA_DIR,$post["refer"],$postdata);
90
91                 // is_page¤Î¥­¥ã¥Ã¥·¥å¤ò¥¯¥ê¥¢¤¹¤ë¡£
92                 is_page($post["refer"],true);
93
94                 $title = $_title_updated;
95         }
96         $retvars["msg"] = $title;
97         $retvars["body"] = $body;
98
99         $post["page"] = $post["refer"];
100         $vars["page"] = $post["refer"];
101
102         return $retvars;
103 }
104 function plugin_insert_convert()
105 {
106         global $script,$insert_no,$vars,$digest;
107         global $_btn_insert,$vars;
108
109         if((arg_check("read")||$vars["cmd"] == ""||arg_check("unfreeze")||arg_check("freeze")||$vars["write"]||$vars["insert"]))
110                 $button = "<input type=\"submit\" name=\"insert\" value=\"$_btn_insert\" />\n";
111
112         $string = "<form action=\"$script\" method=\"post\">\n"
113                  ."<div>\n"
114                  ."<input type=\"hidden\" name=\"insert_no\" value=\"$insert_no\" />\n"
115                  ."<input type=\"hidden\" name=\"refer\" value=\"$vars[page]\" />\n"
116                  ."<input type=\"hidden\" name=\"plugin\" value=\"insert\" />\n"
117                  ."<input type=\"hidden\" name=\"digest\" value=\"$digest\" />\n"
118                  ."<textarea name=\"msg\" rows=\"".INSERT_ROWS."\" cols=\"".INSERT_COLS."\">\n</textarea><br />\n"
119                  .$button
120                  ."</div>\n"
121                  ."</form>";
122
123         $insert_no++;
124
125         return $string;
126 }
127 ?>