2 // $Id: vote.inc.php,v 1.6 2002/07/02 04:20:20 masui Exp $
4 function plugin_vote_action()
6 global $post,$vars,$script,$cols,$rows,$del_backup,$do_backup;
7 global $_title_collided,$_msg_collided,$_title_updated;
9 $postdata_old = file(get_filename(encode($post["refer"])));
12 foreach($postdata_old as $line)
14 if(preg_match("/^#vote\((.*)\)$/",$line,$arg))
16 if($vote_no == $post["vote_no"])
18 $args = explode(",",$arg[1]);
20 foreach($args as $arg)
22 if(preg_match("/^(.+)\[(\d+)\]$/",$arg,$match))
32 if($post["vote"][preg_replace("/\]\]$/","",$arg)]) $cnt++;
34 $votes[] = $arg.'['.$cnt.']';
37 $vote_str = "#vote(" . @join(",",$votes) . ")\n";
39 $postdata_input = $vote_str;
40 $postdata .= $vote_str;
48 if(md5(@join("",@file(get_filename(encode($post["refer"]))))) != $post["digest"])
50 $title = $_title_collided;
52 $body = "$_msg_collided\n";
54 $body .= "<form action=\"$script?cmd=preview\" method=\"post\">\n"
56 ."<input type=\"hidden\" name=\"refer\" value=\"".htmlspecialchars($post["refer"])."\" />\n"
57 ."<input type=\"hidden\" name=\"digest\" value=\"".htmlspecialchars($post["digest"])."\" />\n"
58 ."<textarea name=\"msg\" rows=\"$rows\" cols=\"$cols\" wrap=\"virtual\" id=\"textarea\">".htmlspecialchars($postdata_input)."</textarea><br />\n"
64 // ?¡¦?a?t?@?C???I?i?¢Ì
65 if(is_page($post["refer"]))
66 $oldpostdata = join("",file(get_filename(encode($post["refer"]))));
70 $diffdata = do_diff($oldpostdata,$postdata);
71 file_write(DIFF_DIR,$post["refer"],$diffdata);
73 // ?o?b?N?A?b?v?I?i?¢Ì
74 if(is_page($post["refer"]))
75 $oldposttime = filemtime(get_filename(encode($post["refer"])));
77 $oldposttime = time();
79 // ?O?W¡Èa?e?a¢ó??a?¡Æ?c?e?A?¡ñ?E?¡ñ?A?o?b?N?A?b?v?a?i???¡¦?e??¦Ì?E?¡ñ?A?¡¦?a?E?B
80 if(!$postdata && $del_backup)
81 backup_delete(BACKUP_DIR.encode($post["refer"]).".txt");
82 else if($do_backup && is_page($post["refer"]))
83 make_backup(encode($post["refer"]).".txt",$oldpostdata,$oldposttime);
85 // ?t?@?C???I?¡Æ?¢ã???Y
86 file_write(DATA_DIR,$post["refer"],$postdata);
88 // is_page?I?L???b?V?¡Ä?d?N???A?¡¦?e?B
89 is_page($post["refer"],true);
91 $title = $_title_updated;
94 $retvars["msg"] = $title;
95 $retvars["body"] = $body;
97 $post["page"] = $post["refer"];
98 $vars["page"] = $post["refer"];
102 function plugin_vote_convert()
104 global $script,$vars,$vote_no,$digest;
106 $args = func_get_args();
108 if(!func_num_args()) return FALSE;
111 . "<form action=\"$script\" method=\"post\">\n"
112 . "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\">\n"
114 . "<td align=\"left\" class=\"vote_label\"><strong>The choices</strong>"
115 . "<input type=\"hidden\" name=\"plugin\" value=\"vote\" />\n"
116 . "<input type=\"hidden\" name=\"refer\" value=\"".htmlspecialchars($vars["page"])."\" />\n"
117 . "<input type=\"hidden\" name=\"vote_no\" value=\"".htmlspecialchars($vote_no)."\" />\n"
118 . "<input type=\"hidden\" name=\"digest\" value=\"".htmlspecialchars($digest)."\" />\n"
120 . "<td align=\"center\" class=\"vote_label\"><strong>Votes</strong></td>\n"
124 foreach($args as $arg)
128 if(preg_match("/^(.+)\[(\d+)\]$/",$arg,$match))
134 $link = make_link($arg);
136 if($tdcnt++ % 2) $cls = "vote_td1";
137 else $cls = "vote_td2";
140 . "<td width=\"80%\" class=\"$cls\" nowrap>$link</td>"
141 . "<td class=\"$cls\" nowrap=\"nowrap\">$cnt <input type=\"submit\" name=\"vote[".htmlspecialchars($arg)."]\" value=\"Vote\" /></td>"
145 $string .= "</table></form>\n";