OSDN Git Service

Clear is_freeze() cache when freezed/unfreezed
[pukiwiki/pukiwiki.git] / plugin / freeze.inc.php
1 <?php
2 /////////////////////////////////////////////////
3 // PukiWiki - Yet another WikiWikiWeb clone.
4 //
5 // $Id: freeze.inc.php,v 1.8 2004/12/16 13:09:48 henoheno Exp $
6 //
7 // Åà·ë
8 function plugin_freeze_convert()
9 {
10         return '';
11 }
12
13 function plugin_freeze_action()
14 {
15         global $script, $vars, $function_freeze;
16         global $_title_isfreezed, $_title_freezed, $_title_freeze;
17         global $_msg_invalidpass, $_msg_freezing, $_btn_freeze;
18
19         $page = isset($vars['page']) ? $vars['page'] : '';
20
21         if (!$function_freeze or !is_page($page))
22                 return array('msg' => '', 'body' => '');
23
24         $pass = isset($vars['pass']) ? $vars['pass'] : NULL;
25         if (is_freeze($page)) {
26                 return array(
27                         'msg'  => $_title_isfreezed,
28                         'body' => str_replace('$1', htmlspecialchars(strip_bracket($page)), $_title_isfreezed)
29                 );
30         } else if ($pass !== NULL && pkwk_login($pass)) {
31                 $postdata = get_source($page);
32                 array_unshift($postdata, "#freeze\n");
33                 $postdata = join('', $postdata);
34
35                 file_write(DATA_DIR,$page, $postdata, TRUE);
36
37                 is_freeze($page, TRUE);
38                 $vars['cmd'] = 'read';
39                 return array('msg' => $_title_freezed, 'body' => '');
40         }
41         // Åà·ë¥Õ¥©¡¼¥à¤òɽ¼¨
42         $s_page = htmlspecialchars($page);
43
44         $body = ($pass === NULL) ? '' : "<p><strong>$_msg_invalidpass</strong></p>\n";
45         $body .= <<<EOD
46 <p>$_msg_freezing</p>
47 <form action="$script" method="post">
48  <div>
49   <input type="hidden"   name="cmd"  value="freeze" />
50   <input type="hidden"   name="page" value="$s_page" />
51   <input type="password" name="pass" size="12" />
52   <input type="submit"   name="ok"   value="$_btn_freeze" />
53  </div>
54 </form>
55 EOD;
56
57         return array('msg'=>$_title_freeze, 'body'=>$body);
58 }
59 ?>