OSDN Git Service

MERGE: リビジョン1827。タグ<%locale%>と<%charset%>がどのコンテクストでも使用可能に
authorsakamocchi <o-takashi@sakamocchi.jp>
Sat, 5 May 2012 08:32:47 +0000 (17:32 +0900)
committersakamocchi <o-takashi@sakamocchi.jp>
Sat, 5 May 2012 08:32:47 +0000 (17:32 +0900)
BaseActions::parse_locale()とBaseActions::parse_charset()を追加。これによりActions::parse_charset()の代替とした。

Revision 1827:
ADD: BaseActions::parse_locale() and BaseActions::parse_charset() and
remove Actions::parse_charset()
<%locale%> and <%charset%> is available for whole context.
http://nucleuscms.svn.sourceforge.net/viewvc/nucleuscms?view=revision&revision=1827

nucleus/libs/ACTIONS.php
nucleus/libs/BaseActions.php

index 5d5bc48..a2e9355 100644 (file)
@@ -50,7 +50,6 @@ class Actions extends BaseActions
                'archivelink',\r
                'bloglist',\r
                'category',\r
-               'charset',\r
                'loginform',\r
                'member',\r
                'nucleusbutton',\r
@@ -1129,19 +1128,6 @@ class Actions extends BaseActions
        }\r
        \r
        /**\r
-        * Actions::parse_charset()\r
-        * Parse skinvar charset\r
-        * \r
-        * @param       void\r
-        * @return      void\r
-        */\r
-       public function parse_charset()\r
-       {\r
-               echo i18n::get_current_charset();\r
-               return;\r
-       }\r
-       \r
-       /**\r
         * Actions::parse_commentform()\r
         * Parse skinvar commentform\r
         * \r
index a949f82..7261ff3 100644 (file)
@@ -54,6 +54,7 @@ class BaseActions
        
        /* NOTE: defined actions for this base class */
        static private $defined_actions = array(
+               'charset',
                'else',
                'elseif',
                'elseifnot',
@@ -61,6 +62,7 @@ class BaseActions
                'if',
                'ifnot',
                'include',
+               'locale',
                'parsedinclude',
                'phpinclude',
                'set',
@@ -112,6 +114,42 @@ class BaseActions
        }
        
        /**
+        * BaseActions::parse_charset()
+        * Parse charset to appropriate character set name registered to IANA
+        * 
+        * @param       void
+        * @return      void
+        */
+       public function parse_charset()
+       {
+               global $member;
+               
+               if ( i18n::get_forced_charset() !== '' )
+               {
+                       echo i18n::get_forced_charset();
+               }
+               else
+               {
+                       echo i18n::get_current_charset();
+               }
+               
+               return;
+       }
+       
+       /**
+        * BaseActions::parse_locale()
+        * Parse locale to language-script-region according to RFC 4646
+        * 
+        * @param       void
+        * @return      void
+        */
+       public function parse_locale()
+       {
+               echo preg_replace('#_#', '-', i18n::get_current_locale());
+               return;
+       }
+       
+       /**
         * BaseActions::parse_include()
         * include file (no parsing of php)
         *