OSDN Git Service

CHANGE: form用テンプレートに使えるタグ種の変更。
authorsakamocchi <o-takashi@sakamocchi.jp>
Wed, 18 Apr 2012 13:40:50 +0000 (22:40 +0900)
committersakamocchi <o-takashi@sakamocchi.jp>
Wed, 18 Apr 2012 13:40:50 +0000 (22:40 +0900)
ifauto/ifblogsetting/ifitempropertyタグを、if/else/elseif/ifnot/ifnotelse/endifを利用して置き換える修正。これにより、PageFactoryクラスが親となるBaseActionsクラスのプライベートメンバーに直接アクセスする必要がなくなった。

以下で投稿されたパッチの適用。
http://sourceforge.jp/projects/nucleus-jp/lists/archive/developers/2012-April/000874.html

nucleus/libs/PAGEFACTORY.php
nucleus/libs/include/admin-add.template
nucleus/libs/include/admin-edit.template
nucleus/libs/include/bookmarklet-add.template
nucleus/libs/include/bookmarklet-edit.template

index 7d133e2..e91e16d 100644 (file)
@@ -69,9 +69,6 @@ class PageFactory extends BaseActions
                'extrahead',
                'helplink',
                'init',
-               'ifautosave',
-               'ifblogsetting',
-               'ifitemproperty',
                'itemoptions',
                'itemtime',
                'jsbuttonbar',
@@ -315,45 +312,37 @@ class PageFactory extends BaseActions
        }
        
        /**
-        * PageFactory::parse_ifblogsetting()
-        * Indicates the start of a conditional block of data. It will be added to
-        * the output only if the blogsetting with the given name equals the
-        * given value (default for value = 1 = true)
-        * the name of the blogsetting is the column name in the nucleus_blog table
-        * the conditional block ends with an <endif> var
-        * 
-        * @param       string  $name
-        * @return      void
-        */
-       public function parse_ifblogsetting($name, $value=1)
-       {
-               $this->addIfCondition(($this->blog->getSetting($name) == $value));
-               return;
-       }
-       
-       /**
-        * PageFactory::parse_ifitemproperty()
-        * 
-        * @param       string  $namge
-        * @return      void
-        */
-       public function parse_ifitemproperty($name,$value=1)
-       {
-               $this->addIfCondition(($this->variables[$name] == $value));
-               return;
-       }
-       
-       /**
-        * PageFactory::parse_ifautosave()
-        * 
-        * @param       string  $name
-        * @return      void
+        * PageFactory::checkCondition()
+        * Checks conditions for if statements
+        *
+        * @param       string  $field  type of <%if%>
+        * @param       string  $name   property of field
+        * @param       string  $value  value of property
+        * @return      boolean
         */
-       function parse_ifautosave($name,$value=1)
+       protected function checkCondition($field, $name = '', $value = 1)
        {
                global $member;
-               $this->addIfCondition($member->getAutosave() == $value);
-               return;
+               
+               $condition = 0;
+               switch ( $field )
+               {
+                       case 'blogsetting':
+                               $condition = (boolean) ($this->blog->getSetting($name) == $value);
+                               break;
+                       case 'autosave':
+                               $condition = (boolean) ($member->getAutosave() == $value);
+                               break;
+                       case 'itemproperty':
+                               if ( array_key_exists($name, $this->variables) )
+                               {
+                                       $condition = (boolean) ($this->variables[$name] == $value);
+                               }
+                               break;
+                       default:
+                               break;
+               }
+               return $condition;
        }
        
        /**
index 1c73c55..d41f54f 100644 (file)
@@ -2,7 +2,7 @@
 \r
 <%init%>\r
 <script type="text/javascript" src="javascript/numbercheck.js"></script>\r
-<%ifautosave()%><script type="text/javascript" src="javascript/xmlhttprequest.js"></script><%endif%>\r
+<%if(autosave)%><script type="text/javascript" src="javascript/xmlhttprequest.js"></script><%endif%>\r
 \r
 <form id="addform" method="post" action="index.php" >\r
 \r
@@ -17,7 +17,7 @@
        <tr>\r
                <th colspan="2"><%text(_ADD_CREATENEW)%></th>\r
        </tr>\r
-       <%ifautosave()%><tr>\r
+       <%if(autosave)%><tr>\r
                <td><%text(_AUTOSAVEDRAFT)%></td>\r
                <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>\r
        </tr><%endif%>\r
@@ -50,7 +50,7 @@
                </td>\r
        </tr><tr>\r
        \r
-<%ifblogsetting(bcomments)%>\r
+<%if(blogsetting, bcomments)%>\r
                <td><%text(_ADD_DISABLE_COMMENTS)%></td>\r
                <td>\r
                        <input name="closed" type="radio" tabindex="30" value="1" id="closed_yes" /><label for="closed_yes"><%text(_YES)%></label>\r
@@ -83,7 +83,7 @@
                                <input id="inputminutes" name="minutes" tabindex="67" size="2" value="<%currenttime(minutes)%>" onchange="document.forms[0].act_future.checked=true;" />\r
                                (dd/mm/yyyy hh:mm)\r
                                \r
-                               <%ifblogsetting(ballowpast,0)%>\r
+                               <%if(blogsetting, ballowpast,0)%>\r
                                        <br />\r
                                        <%text(_ADD_NOPASTDATES)%>\r
                                <%endif%>\r
                <td>\r
                        <input tabindex="60" type="submit" value="<%text(_ADD_ADDITEM)%>" \r
                                onclick="return checkSubmit();" />\r
-                       <%ifautosave()%>\r
+                       <%if(autosave)%>\r
                        <input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>"\r
                                onclick="autoSaveDraft();" />\r
                        <%endif%>\r
 \r
 </div>\r
 </form>\r
-<%ifautosave()%>\r
+<%if(autosave)%>\r
 <script type="text/javascript">\r
        var xmlhttprequest = new Array();\r
        xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler\r
index 4b8c17c..a4959dc 100644 (file)
@@ -2,7 +2,7 @@
 \r
 <%init%>\r
 <script type="text/javascript" src="javascript/numbercheck.js"></script>\r
-<%ifautosave()%><script type="text/javascript" src="javascript/xmlhttprequest.js"></script><%endif%>\r
+<%if(autosave)%><script type="text/javascript" src="javascript/xmlhttprequest.js"></script><%endif%>\r
 \r
 <form id="editform" method="post" action="index.php">\r
 <div>\r
@@ -15,7 +15,7 @@
 <table><tr>\r
        <th colspan="2"><%text(_EDIT_ITEM)%></th>\r
 </tr>\r
-<%ifautosave()%><tr>\r
+<%if(autosave)%><tr>\r
        <td><%text(_AUTOSAVEDRAFT)%></td>\r
        <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>\r
 </tr><%endif%>\r
@@ -51,7 +51,7 @@
        </td>\r
 </tr><tr>\r
 \r
-<%ifblogsetting(bcomments)%>\r
+<%if(blogsetting, bcomments)%>\r
                <td>\r
                        <%text(_ADD_DISABLE_COMMENTS)%>\r
                </td>\r
@@ -72,7 +72,7 @@
 \r
                <input type="submit" tabindex="60" value="<%text(_EDIT_SUBMIT)%>" onclick="return checkSubmit();" />\r
 \r
-<%ifitemproperty(draft)%>\r
+<%if(itemproperty, draft)%>\r
                <br /><br />\r
                <input name="actiontype" value="addnow" type="radio" id="act_now" /><label for="act_now" tabindex="61"><%text(_ADD_ADDNOW)%></label>\r
                <br />\r
@@ -86,7 +86,7 @@
                        <input id="inputhour" name="hour" tabindex="74" size="2" value="<%currenttime(hours)%>" onchange="document.forms[0].act_future.checked=true;" />:\r
                        <input id="inputminutes" name="minutes" tabindex="75" size="2" value="<%currenttime(minutes)%>" onchange="document.forms[0].act_future.checked=true;" />\r
                        (dd/mm/yyyy hh:mm)\r
-                       <%ifblogsetting(ballowpast,0)%>\r
+                       <%if(blogsetting, ballowpast,0)%>\r
                                <br />\r
                                <%text(_ADD_NOPASTDATES)%>\r
                        <%endif%>\r
                <input name="actiontype" value="delete" type="radio" id="act_delete" tabindex="61" /><label for="act_delete"><%text(_BMLET_DELETE)%></label>\r
 <%endif%>\r
 \r
-<%ifitemproperty(draft,0)%>\r
+<%if(itemproperty, draft,0)%>\r
        <br /><br />\r
        <input name="actiontype" value="edit" type="radio" checked="checked" id="act_edit" tabindex="61" /><label for="act_edit"><%text(_BMLET_EDIT)%></label>\r
-       <%ifblogsetting(ballowpast)%>\r
+       <%if(blogsetting, ballowpast)%>\r
                <br />\r
                <input name="actiontype" value="changedate" type="radio" id="act_changedate" tabindex="70" /><label for="act_changedate"><%text(_ADD_CHANGEDATE)%></label> <%helplink(changedate)%>\r
                        <div class="indent">\r
                <td>\r
                        <input tabindex="60" type="submit" value="<%text(_EDIT_SUBMIT)%>" \r
                                onclick="return checkSubmit();" />\r
-                       <%ifautosave()%><input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>"\r
+                       <%if(autosave)%><input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>"\r
                                onclick="autoSaveDraft();" /><%endif%>\r
                </td>\r
        \r
 </div>\r
 </form>\r
 \r
-<%ifautosave()%><script type="text/javascript">\r
+<%if(autosave)%><script type="text/javascript">\r
        var xmlhttprequest = new Array();\r
        xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler\r
        xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler\r
index 1619914..397d366 100644 (file)
@@ -7,7 +7,7 @@
                <script type="text/javascript" src="javascript/bookmarklet.js"></script>\r
                <script type="text/javascript" src="javascript/edit.js"></script>\r
                <script type="text/javascript" src="javascript/numbercheck.js"></script>\r
-               <%ifautosave()%><script type="text/javascript" src="javascript/xmlhttprequest.js"></script><%endif%>\r
+               <%if(autosave)%><script type="text/javascript" src="javascript/xmlhttprequest.js"></script><%endif%>\r
                <%init%>\r
                <%extrahead%>\r
                <script type="text/javascript">\r
@@ -46,7 +46,7 @@
                        <div id="body" class="contentblock">\r
 \r
                                <table>\r
-                               <%ifautosave()%><tr>\r
+                               <%if(autosave)%><tr>\r
                                <td><%text(_AUTOSAVEDRAFT)%></td>\r
                                <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>\r
                                </tr><%endif%>\r
@@ -74,7 +74,7 @@
                                <td><%categories%></td>\r
                                </tr>\r
                                <tr>\r
-                               <%ifautosave()%><td><%text(_AUTOSAVEDRAFT_NOW)%></td>\r
+                               <%if(autosave)%><td><%text(_AUTOSAVEDRAFT_NOW)%></td>\r
                                <td><input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>" onclick="autoSaveDraft();" /></td><%endif%>\r
                                </tr>\r
                                </table>\r
@@ -96,7 +96,7 @@
                        </div>\r
                        <div id="options" class="contentblock">\r
                                <table>\r
-                               <%ifblogsetting(bcomments)%>\r
+                               <%if(blogsetting, bcomments)%>\r
                                        <tr>\r
                                        <td><%text(_ADD_DISABLE_COMMENTS)%></td>\r
                                        <td>\r
                                                <input id="inputhour" name="hour" size="2" value="<%currenttime(hours)%>" onchange="document.forms[0].act_future.checked=true;" />:\r
                                                <input id="inputminutes" name="minutes" size="2" value="<%currenttime(minutes)%>" onchange="document.forms[0].act_future.checked=true;" />\r
                                                (dd/mm/yyyy hh:mm)\r
-                                               <%ifblogsetting(ballowpast,0)%>\r
+                                               <%if(blogsetting, ballowpast,0)%>\r
                                                        <br />\r
                                                        <%text(_ADD_NOPASTDATES)%>\r
                                                <%endif%>\r
                        \r
                </div></form>\r
 \r
-       <%ifautosave()%><script type="text/javascript">\r
+       <%if(autosave)%><script type="text/javascript">\r
                var xmlhttprequest = new Array();\r
                xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler\r
                xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler\r
index 3e4587b..29df38d 100644 (file)
@@ -7,7 +7,7 @@
                <script type="text/javascript" src="javascript/bookmarklet.js"></script>\r
                <script type="text/javascript" src="javascript/edit.js"></script>\r
                <script type="text/javascript" src="javascript/numbercheck.js"></script>\r
-               <%ifautosave()%><script type="text/javascript" src="javascript/xmlhttprequest.js"></script><%endif%>\r
+               <%if(autosave)%><script type="text/javascript" src="javascript/xmlhttprequest.js"></script><%endif%>\r
                <%init%>\r
                <%extrahead%>\r
                <script type="text/javascript">\r
@@ -45,7 +45,7 @@
 \r
                        <div id="body" class="contentblock">\r
                                <table>\r
-                               <%ifautosave()%><tr>\r
+                               <%if(autosave)%><tr>\r
                                <td><%text(_AUTOSAVEDRAFT)%></td>\r
                                <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>\r
                                </tr><%endif%>\r
@@ -72,7 +72,7 @@
                                <td><%categories%></td>\r
                                </tr>\r
                                <tr>\r
-                               <%ifautosave()%><td><%text(_AUTOSAVEDRAFT_NOW)%></td>\r
+                               <%if(autosave)%><td><%text(_AUTOSAVEDRAFT_NOW)%></td>\r
                                <td><input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>" onclick="autoSaveDraft();" /></td><%endif%>\r
                                </tr>\r
                                </table>\r
@@ -93,7 +93,7 @@
                        </div>\r
                        <div id="options" class="contentblock">\r
                                <table>\r
-                               <%ifblogsetting(bcomments)%>\r
+                               <%if(blogsetting, bcomments)%>\r
                                        <tr>\r
                                        <td><%text(_ADD_DISABLE_COMMENTS)%></td>\r
                                        <td>\r
                                <ul class="nobullets">\r
                                        <li><input name="actiontype" value="edit" type="radio" checked="checked" id="act_edit" /><label for="act_edit"><%text(_BMLET_EDIT)%></label></li>\r
                                        <li><input name="actiontype" value="delete" type="radio" id="act_delete" /><label for="act_delete"><%text(_BMLET_DELETE)%></label></li>\r
-                                       <%ifblogsetting(ballowpast)%>\r
+                                       <%if(blogsetting, ballowpast)%>\r
                                                <li>\r
                                                        <input name="actiontype" value="changedate" type="radio" id="act_changedate" tabindex="70" /><label for="act_changedate"><%text(_BMLET_CHANGEDATE)%></label> <%helplink(changedate)%>\r
                                                                        <div class="indent">\r
                        \r
                </div></form>\r
 \r
-       <%ifautosave()%><script type="text/javascript">\r
+       <%if(autosave)%><script type="text/javascript">\r
                var xmlhttprequest = new Array();\r
                xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler\r
                xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler\r