OSDN Git Service

RecentChanges: Update
[pukiwiki/pukiwiki.git] / plugin / unfreeze.inc.php
index b7b25f5..7b149e7 100644 (file)
@@ -2,78 +2,66 @@
 /////////////////////////////////////////////////
 // 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);
 }
 ?>