/////////////////////////////////////////////////
// PukiWiki - Yet another WikiWikiWeb clone.
//
-// $Id: unfreeze.inc.php,v 1.2 2003/05/14 10:07:38 arino Exp $
+// $Id: unfreeze.inc.php,v 1.7 2004/07/31 03:09:20 henoheno Exp $
//
// Åà·ë²ò½ü
// Åà·ë²ò½ü»þ¤Ë¥Ú¡¼¥¸¤ÎÊÔ½¸¥Õ¥©¡¼¥à¤òɽ¼¨¤¹¤ë¤«
-define('UNFREEZE_EDIT',FALSE);
+define('UNFREEZE_EDIT', FALSE);
function plugin_unfreeze_action()
{
- global $script,$post,$vars,$function_freeze,$adminpass;
- global $_title_isunfreezed,$_title_unfreezed,$_title_unfreeze;
- global $_msg_invalidpass,$_msg_unfreezing,$_btn_unfreeze;
-
- $msg = $body = '';
-
- if (!$function_freeze or !is_page($vars['page']))
- {
- return array('msg'=>$msg,'body'=>$body);
- }
-
- $pass = array_key_exists('pass',$post) ? $post['pass'] : NULL;
-
- if (!is_freeze($vars['page']))
- {
- $msg = $_title_isunfreezed;
- $body = str_replace('$1',htmlspecialchars(strip_bracket($vars['page'])),$_title_isunfreezed);
- }
- else if (md5($pass) == $adminpass)
- {
- $postdata = get_source($post['page']);
+ global $script, $vars, $function_freeze;
+ global $_title_isunfreezed, $_title_unfreezed, $_title_unfreeze;
+ global $_msg_invalidpass, $_msg_unfreezing, $_btn_unfreeze;
+
+ $page = isset($vars['page']) ? $vars['page'] : '';
+
+ if (!$function_freeze or !is_page($page))
+ return array('msg' => '', 'body' => '');
+
+ $pass = isset($vars['pass']) ? $vars['pass'] : NULL;
+
+ if (!is_freeze($page)) {
+ return array(
+ 'msg' => $_title_isunfreezed,
+ 'body' => str_replace('$1', htmlspecialchars(strip_bracket($page)), $_title_isunfreezed)
+ );
+ } else if ($pass !== NULL && pkwk_login($pass)) {
+ $postdata = get_source($page);
array_shift($postdata);
- $postdata = join('',$postdata);
-
- $file = get_filename($vars['page']);
- $time = get_filetime($vars['page']);
- file_write(DATA_DIR,$vars['page'],$postdata);
- touch($file,$time + LOCALZONE);
-
- $vars['cmd'] = 'read';
- $msg = $_title_unfreezed;
- $body = '';
-
- if (UNFREEZE_EDIT)
- {
+ $postdata = join('', $postdata);
+
+ file_write(DATA_DIR, $page, $postdata, TRUE);
+
+ if (UNFREEZE_EDIT) {
$vars['cmd'] = 'edit';
- $body = edit_form($vars['page'],$postdata);
+ return array('msg' => $_title_unfreezed, 'body' => '');
+ } else {
+ $vars['cmd'] = 'read';
+ return array(
+ 'msg' => $_title_unfreezed,
+ 'body' => edit_form($page, $postdata)
+ );
}
}
- else
- {
- $msg = $_title_unfreeze;
- $body = "<br />\n";
-
- if ($pass !== NULL)
- $body .= "<strong>$_msg_invalidpass</strong><br />\n";
-
- $body.= "$_msg_unfreezing<br />\n";
-
- $s_page = htmlspecialchars($vars['page']);
- $body .= <<<EOD
+ // Åà·ë²ò½ü¥Õ¥©¡¼¥à¤òɽ¼¨
+ $s_page = htmlspecialchars($page);
+
+ $body = ($pass === NULL) ? '' : "<p><strong>$_msg_invalidpass</strong></p>\n";
+ $body .= <<<EOD
+<p>$_msg_unfreezing</p>
<form action="$script" method="post">
<div>
- <input type="hidden" name="cmd" value="unfreeze" />
- <input type="hidden" name="page" value="$s_page" />
+ <input type="hidden" name="cmd" value="unfreeze" />
+ <input type="hidden" name="page" value="$s_page" />
<input type="password" name="pass" size="12" />
- <input type="submit" name="ok" value="$_btn_unfreeze" />
+ <input type="submit" name="ok" value="$_btn_unfreeze" />
</div>
</form>
EOD;
- }
-
- return array('msg'=>$msg,'body'=>$body);
+
+ return array('msg' => $_title_unfreeze, 'body' => $body);
}
?>