OSDN Git Service

make_heading()関数を使用するようにした
[pukiwiki/pukiwiki.git] / plugin / edit.inc.php
index b5eab06..1bf38e3 100644 (file)
@@ -2,7 +2,7 @@
 /////////////////////////////////////////////////
 // PukiWiki - Yet another WikiWikiWeb clone.
 //
-// $Id: edit.inc.php,v 1.1 2003/01/27 05:38:46 panda Exp $
+// $Id: edit.inc.php,v 1.8 2003/05/14 10:08:48 arino Exp $
 //
 // ÊÔ½¸
 // cmd=edit
@@ -10,6 +10,8 @@ function plugin_edit_action()
 {
        global $vars,$_title_edit;
        
+       check_editable($vars['page']);
+       
        if (array_key_exists('preview',$vars) or array_key_exists('template',$vars)) {
                return plugin_edit_preview();
        }
@@ -17,8 +19,6 @@ function plugin_edit_action()
                return plugin_edit_write();
        }
        
-       check_editable();
-       
        $postdata = @join('',get_source($vars['page']));
        if ($postdata == '') {
                $postdata = auto_template($vars['page']);
@@ -32,46 +32,52 @@ function plugin_edit_preview()
        global $script,$post;
        global $_title_preview,$_msg_preview,$_msg_preview_delete;
 
-       if (array_key_exists('template_page',$post) and is_page($post['template_page'])) {
+       if (array_key_exists('template_page',$post) and is_page($post['template_page']))
+       {
                $post['msg'] = join('',get_source($post['template_page']));
+               // ¸«½Ð¤·¤Î¸ÇÍ­IDÉô¤òºï½ü
+               $post['msg'] = preg_replace('/^(\*{1,3}.*)\[#[A-Za-z][\w-]+\](.*)$/m','$1$2',$post['msg']);
        }
        
-       $post['msg'] = preg_replace("/^#freeze\n/",'',$post['msg']);
-       $postdata_input = $post['msg'];
+       // ¼ê½ñ¤­¤Î#freeze¤òºï½ü
+       $post['msg'] = preg_replace('/^#freeze\s*$/m','',$post['msg']);
 
-       if (!empty($post['add'])) {
-               if ($post['add_top']) {
+       if (!empty($post['add']))
+       {
+               if ($post['add_top'])
+               {
                        $postdata  = $post['msg']."\n\n".@join('',get_source($post['page']));
                }
-               else {
+               else
+               {
                        $postdata  = @join('',get_source($post['page']))."\n\n".$post['msg'];
                }
        }
-       else {
+       else
+       {
                $postdata = $post['msg'];
        }
 
        $body = "$_msg_preview<br />\n";
-       if ($postdata == '') {
+       if ($postdata == '')
+       {
                $body .= "<strong>$_msg_preview_delete</strong>";
        }
        $body .= "<br />\n";
 
-       if ($postdata != '') {
+       if ($postdata != '')
+       {
+               $postdata = make_str_rules($postdata);
+               $postdata = explode("\n",$postdata);
                $postdata = drop_submit(convert_html($postdata));
                
-               if (!empty($post['viewtag'])) {
-                       $postdata = preg_replace("/(<[^\/][^>]*>)/e",'"$1".htmlspecialchars("$1")', $postdata);
-                       $postdata = preg_replace("/(<\/[^>]+>)/e",'htmlspecialchars("$1")."$1"', $postdata);
-               }
-               
                $body .= <<<EOD
 <div id="preview">
   $postdata
 </div>
 EOD;
        }
-       $body .= edit_form($post['page'],$postdata_input,$post['digest'],FALSE);
+       $body .= edit_form($post['page'],$post['msg'],$post['digest'],FALSE);
        
        return array('msg'=>$_title_preview,'body'=>$body);
 }
@@ -85,7 +91,7 @@ function plugin_edit_write()
        $retvars = array();
        
        // ¼ê½ñ¤­¤Î#freeze¤òºï½ü
-       $post['msg'] = preg_replace('/^#freeze\n/','',$post['msg']);
+       $post['msg'] = preg_replace('/^#freeze\s*$/m','',$post['msg']);
        
        $postdata_input = $post['msg'];