2 // PukiWiki - Yet another WikiWikiWeb clone.
3 // $Id: unfreeze.inc.php,v 1.10 2004/12/18 01:24:21 henoheno Exp $
5 // Unfreeze(Unlock) plugin
7 // Show edit form when unfreezed
8 define('PLUGIN_UNFREEZE_EDIT', TRUE);
10 function plugin_unfreeze_action()
12 global $script, $vars, $function_freeze;
13 global $_title_isunfreezed, $_title_unfreezed, $_title_unfreeze;
14 global $_msg_invalidpass, $_msg_unfreezing, $_btn_unfreeze;
16 $page = isset($vars['page']) ? $vars['page'] : '';
17 if (! $function_freeze || ! is_page($page))
18 return array('msg' => '', 'body' => '');
20 $pass = isset($vars['pass']) ? $vars['pass'] : NULL;
22 if (! is_freeze($page)) {
24 $msg = & $_title_isunfreezed;
25 $body = str_replace('$1', htmlspecialchars(strip_bracket($page)),
28 } else if ($pass !== NULL && pkwk_login($pass)) {
30 $postdata = get_source($page);
31 array_shift($postdata);
32 $postdata = join('', $postdata);
33 file_write(DATA_DIR, $page, $postdata, TRUE);
36 is_freeze($page, TRUE);
37 if (PLUGIN_UNFREEZE_EDIT) {
38 $vars['cmd'] = 'read'; // To show 'Freeze' link
39 $msg = & $_title_unfreezed;
40 $body = edit_form($page, $postdata);
42 $vars['cmd'] = 'read';
43 $msg = & $_title_unfreezed;
49 $msg = & $_title_unfreeze;
50 $s_page = htmlspecialchars($page);
51 $body = ($pass === NULL) ? '' : "<p><strong>$_msg_invalidpass</strong></p>\n";
53 <p>$_msg_unfreezing</p>
54 <form action="$script" method="post">
56 <input type="hidden" name="cmd" value="unfreeze" />
57 <input type="hidden" name="page" value="$s_page" />
58 <input type="password" name="pass" size="12" />
59 <input type="submit" name="ok" value="$_btn_unfreeze" />
65 return array('msg'=>$msg, 'body'=>$body);