OSDN Git Service

FIX: アイテムの追加・編集・移動・削除ができないバグの修正
authorsakamocchi <o-takashi@sakamocchi.jp>
Fri, 4 May 2012 12:00:27 +0000 (21:00 +0900)
committersakamocchi <o-takashi@sakamocchi.jp>
Fri, 4 May 2012 12:00:27 +0000 (21:00 +0900)
処理後のリスト画面へのフォールバックとバッチ処理はまだ。

nucleus/libs/ADMIN.php
nucleus/libs/AdminActions.php
nucleus/libs/ITEM.php
skins/admin/defaultadmin/skinbackup.xml

index 8e13107..746985b 100644 (file)
@@ -996,7 +996,9 @@ class Admin
                {\r
                        // TODO: set start item correctly for itemlist\r
                        $item = Item::getItem($itemid, 0, 0);\r
-                       $cnt  = quickQuery('SELECT COUNT(*) FROM ' . sql_table('item') . ' WHERE unix_timestamp(itime) <= ' . $item['timestamp']);\r
+                       $query = "SELECT COUNT(*) FROM %s WHERE unix_timestamp(itime) <= '%s';";\r
+                       $query = sprintf($query, sql_table('item'), $item['timestamp']);\r
+                       $cnt  = quickQuery($query);\r
                        $_REQUEST['start'] = $cnt + 1;\r
                        self::action_itemlist(getBlogIDFromItemID($itemid));\r
                }\r
@@ -1230,20 +1232,19 @@ class Admin
                        self::error($result['message']);\r
                }\r
                \r
-               $blogid         =  getBlogIDFromItemID($result['itemid']);\r
-               $blog           =& $manager->getBlog($blogid);\r
-               $btimestamp     =  $blog->getCorrectTime();\r
-               $item           =  $manager->getItem(intval($result['itemid']), 1, 1);\r
+               $itemid = (integer) $result['itemid'];\r
+               \r
+               $blogid         =  (integer) getBlogIDFromItemID($itemid);\r
                \r
                if ( $result['status'] == 'newcategory' )\r
                {\r
-                       $distURI = $manager->addTicketToUrl($CONF['AdminURL'] . 'index.php?action=itemList&blogid=' . intval($blogid));\r
+                       $distURI = $manager->addTicketToUrl($CONF['AdminURL'] . 'index.php?action=itemList&blogid=' . $blogid);\r
                        self::action_categoryedit($result['catid'], $blogid, $distURI);\r
                }\r
                else\r
                {\r
-                       $methodName = 'action_itemList';\r
-                       call_user_func(array(&$this, $methodName), $blogid);\r
+                       $methodName = 'action_itemlist';\r
+                       self::action_itemlist($blogid);\r
                }\r
                return;\r
        }\r
index 6ac045c..ee4deda 100644 (file)
@@ -1967,11 +1967,21 @@ class AdminActions extends BaseActions
        {
                global $manager;
                
-               $item = false;
-               $itemid = intRequestVar('itemid');
+               $item = FALSE;
+               $itemid =  intRequestVar('itemid');
+               $item   = &$manager->getItem($itemid, 1, 1);
                
-               $item =& $manager->getItem($itemid, 1, 1);
-               $blog =& $manager->getBlog(getBlogIDFromItemID($itemid));
+               $blog = FALSE;
+               if ( !$item )
+               {
+                       $blogid =  intRequestVar('blogid');
+               }
+               else
+               {
+                       $blogid =  $item['blogid'];
+               }
+               
+               $blog   = &$manager->getBlog($blogid);
                
                if ( $item && $blog->convertBreaks() && requestVar('action') == 'itemedit' )
                {
@@ -1984,15 +1994,20 @@ class AdminActions extends BaseActions
                {
                        $contents = $item;
                }
-               if ( isset($contents['catid']) && $contents['catid'] )
+               
+               if ( !array_key_exists('catid', $contents) || empty($contents['catid']) )
                {
-                       $catid = $contents['catid'];    // on edit item
+                       // on add item
+                       $catid = $blog->getDefaultCategory();
                }
                else
                {
-                       $catid = $blog->getDefaultCategory();   // on add item
+                       // on edit item
+                       $catid = $contents['catid'];
                }
+               
                Admin::selectBlogCategory('catid', $catid, $startidx, 1, $blog->getID());
+               
                return;
        }
        
index 62e6e7e..4df0789 100644 (file)
@@ -552,7 +552,7 @@ class Item
                $i_closed               = intPostVar('closed');\r
                $i_catid                = postVar('catid');\r
                $i_draft                = 1;\r
-               $type                           = postVar('type');\r
+               $type                   = postVar('type');\r
                $i_draftid      = intPostVar('draftid');\r
                \r
                if ( $type == 'edit' )\r
index e338aed..9fec4e2 100644 (file)
@@ -921,6 +921,7 @@ selector();
        <tr>\r
                <td><%text(_ADD_TITLE)%></td>\r
                <td><input id="inputtitle" onkeyup="storeCaret(this); updPreview(title); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
+                       name="title"\r
                        tabindex="10"\r
                        size="60" \r
                        maxlength="160" \r
@@ -992,6 +993,7 @@ selector();
 <![endif]-->\r
                </div>\r
                        <textarea id="inputbody" onkeyup="storeCaret(this); updPreview(body); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
+                               name="body"\r
                                tabindex="20"\r
                                cols="60"\r
                                rows="20"><%contents(body)%></textarea>\r
@@ -1119,6 +1121,7 @@ selector();
 <![endif]-->\r
                </div>\r
                        <textarea id="inputmore" onkeyup="storeCaret(this); updPreview(more); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
+                               name="more"\r
                                tabindex="70"\r
                                cols="60"\r
                                rows="20"\r
@@ -1334,7 +1337,8 @@ selector();
 </tr><tr>\r
        <td><%text(_ADD_TITLE)%></td>\r
        <td><input id="inputtitle" onkeyup="storeCaret(this); updPreview(title); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
-                       tabindex="10" \r
+                       name="title"\r
+                       tabindex="10"\r
                        size="60" \r
                        maxlength="160" \r
                        value="<%contents(title)%>" />\r
@@ -1405,6 +1409,7 @@ selector();
 <![endif]-->\r
                </div>\r
                <textarea id="inputbody" onkeyup="storeCaret(this); updPreview(body); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
+                       name="body"\r
                        tabindex="20"\r
                        cols="60"\r
                        rows="20"><%contents(body)%></textarea>\r
@@ -1560,7 +1565,8 @@ selector();
 <![endif]-->\r
                </div>\r
                <textarea id="inputmore" onkeyup="storeCaret(this); updPreview(more); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
-                       tabindex="90" \r
+                       name="more"\r
+                       tabindex="90"\r
                        cols="60" \r
                        rows="20"><%contents(more)%></textarea>\r
        </td>\r