OSDN Git Service

MERGE: リビジョン1727のマージ。Skinクラスのコード整理とそれに伴うglobalfunctionsの修正。
authorsakamocchi <o-takashi@sakamocchi.jp>
Sat, 7 Apr 2012 03:46:24 +0000 (12:46 +0900)
committersakamocchi <o-takashi@sakamocchi.jp>
Sat, 7 Apr 2012 03:49:06 +0000 (12:49 +0900)
Skinクラスにおいてプライベートメンバーを設定。それに伴い、ゲッターメソッドを追加。并せて、globalfunctions.phpのselector()とdoError()を修正。

Revision 1727: code clean-up for Skin class and related modification for
some functions in globalfunctions.php
1. Adding comments and access modifications.
2. Adding new public method Skin::isValid() and new private member
Skin::$valid
3. modifying selector() and doError() in globalfunctions.php because
some of the private variables was referred from them.
http://nucleuscms.svn.sourceforge.net/viewvc/nucleuscms?view=revision&revision=1727

nucleus/libs/SKIN.php
nucleus/libs/globalfunctions.php

index dde4674..e78043a 100644 (file)
@@ -13,8 +13,8 @@
  * Class representing a skin\r
  *\r
  * @license http://nucleuscms.org/license.txt GNU General Public License\r
- * @copyright Copyright (C) 2002-2012 The Nucleus Group\r
- * @version $Id: SKIN.php 1621 2012-01-09 02:49:37Z sakamocchi $\r
+ * @copyright Copyright (C) 2002-2009 The Nucleus Group\r
+ * @version $Id: SKIN.php 1727 2012-04-07 02:54:22Z sakamocchi $\r
  */\r
 \r
 if ( !function_exists('requestVar') ) \r
@@ -26,31 +26,34 @@ require_once dirname(__FILE__) . '/ACTIONS.php';
 class Skin\r
 {\r
        // after creating a SKIN object, evaluates to true when the skin exists\r
-       var $isValid;\r
+       private $valid;\r
        \r
        // skin characteristics. Use the getXXX methods rather than accessing directly\r
-       var $id;\r
-       var $description;\r
-       var $contentType;\r
-       var $includeMode;               // either 'normal' or 'skindir'\r
-       var $includePrefix;\r
-       var $name;\r
+       private $id;\r
+       private $description;\r
+       private $contentType;\r
+       private $includeMode;           // either 'normal' or 'skindir'\r
+       private $includePrefix;\r
+       private $name;\r
        \r
        /**\r
+        * Skin::__construct()\r
         * Constructor for a new SKIN object\r
         * \r
-        * @param $id \r
-        *                      id of the skin\r
+        * @param       integer $id     id of the skin\r
+        * @return      void\r
         */\r
-       function SKIN($id)\r
+       public function __construct($id)\r
        {\r
-               $this->id = intval($id);\r
+               $this->id = (integer) $id;\r
                \r
                // read skin name/description/content type\r
-               $res = sql_query('SELECT * FROM '.sql_table('skin_desc').' WHERE sdnumber=' . $this->id);\r
+               $query = "SELECT * FROM %s WHERE sdnumber=%d";\r
+               $query = sprintf($query, sql_table('skin_desc'), (integer) $this->id);\r
+               $res = sql_query($query);\r
                $obj = sql_fetch_object($res);\r
-               $this->isValid = (sql_num_rows($res) > 0);\r
-               if ( !$this->isValid )\r
+               $this->valid = (sql_num_rows($res) > 0);\r
+               if ( !$this->valid )\r
                {\r
                        return;\r
                }\r
@@ -60,124 +63,173 @@ class Skin
                $this->contentType = $obj->sdtype;\r
                $this->includeMode = $obj->sdincmode;\r
                $this->includePrefix = $obj->sdincpref;\r
-\r
+               return;\r
        }\r
        \r
        /**\r
+        * Skin::getID()\r
         * Get SKIN id\r
+        * \r
+        * @param       void\r
+        * @return      integer id for this skin instance\r
+        */\r
+       public function getID()\r
+       {\r
+               return (integer) $this->id;\r
+       }\r
+       \r
+       /**\r
+        * Skin::isValid()\r
+        * \r
+        * @param       void\r
+        * @return      boolean\r
         */\r
-       function getID()\r
+       public function isValid()\r
        {\r
-               return $this->id;\r
+               return (boolean) $this->valid;\r
        }\r
        \r
        /**\r
+        * Skin::getName()\r
         * Get SKIN name\r
+        * \r
+        * @param       void\r
+        * @return      string  name of this skin instance\r
         */\r
-       function getName()\r
+       public function getName()\r
        {\r
-               return $this->name;\r
+               return (string) $this->name;\r
        }\r
        \r
        /**\r
+        * Skin::getDescription()\r
         * Get SKIN description\r
+        * \r
+        * @param       void\r
+        * @return      string  description of this skin instance\r
         */\r
-       function getDescription()\r
+       public function getDescription()\r
        {\r
-               return $this->description;\r
+               return (string) $this->description;\r
        }\r
        \r
        /**\r
+        * Skin::getContentType()\r
         * Get SKIN content type\r
-        * \r
         * e.g. text/xml, text/html, application/atom+xml\r
+        * \r
+        * @param       void\r
+        * @return      string  name of this skin instance\r
         */\r
-       function getContentType()\r
+       public function getContentType()\r
        {\r
-               return $this->contentType;\r
+               return (string) $this->contentType;\r
        }\r
        \r
        /**\r
+        * Skin::getIncludeMode()\r
         * Get include mode of the SKIN\r
         * \r
         * Returns either 'normal' or 'skindir':\r
         * 'normal': if a all data of the skin can be found in the databse\r
         * 'skindir': if the skin has data in the it's skin driectory\r
+        * \r
+        * @param       void\r
+        * @return      string  normal/skindir\r
         */\r
-       function getIncludeMode()\r
+       public function getIncludeMode()\r
        {\r
-               return $this->includeMode;\r
+               return (string) $this->includeMode;\r
        }\r
        \r
        /**\r
+        * Skin::getIncludePrefix()\r
         * Get include prefix of the SKIN\r
         * \r
         * Get name of the subdirectory (with trailing slash) where\r
         * the files of the current skin can be found (e.g. 'default/')\r
+        * \r
+        * @param       void\r
+        * @return      string  include prefix of this skin instance\r
         */\r
-       function getIncludePrefix()\r
+       public function getIncludePrefix()\r
        {\r
-               return $this->includePrefix;\r
+               return (string) $this->includePrefix;\r
        }\r
        \r
        /**\r
+        * Skin::exists()\r
         * Checks if a skin with a given shortname exists\r
-        * @param string $name Skin short name\r
-        * @return int number of skins with the given ID\r
+        * \r
         * @static\r
+        * @param       string  $name   Skin short name\r
+        * @return      integer number of skins with the given ID\r
         */\r
-       function exists($name)\r
+       static public function exists($name)\r
        {\r
-               return quickQuery('select count(*) as result FROM ' . sql_table('skin_desc') . ' WHERE sdname="' . sql_real_escape_string($name) . '"') > 0;\r
+               $query = "SELECT COUNT (*) AS result FROM %s WHERE sdname='%s';";\r
+               $query = sprintf($query, sql_table('skin_desc'), sql_real_escape_string($name));\r
+               return quickQuery($query) > 0;\r
        }\r
        \r
        /**\r
+        * Skin::existsID()\r
         * Checks if a skin with a given ID exists\r
-        * @param string $id Skin ID\r
-        * @return int number of skins with the given ID\r
+        * \r
         * @static\r
+        * @param       string  $id     Skin ID\r
+        * @return      integer number of skins with the given ID\r
         */\r
-       function existsID($id)\r
+       static public function existsID($id)\r
        {\r
-               return quickQuery('select COUNT(*) as result FROM ' . sql_table('skin_desc') . ' WHERE sdnumber=' . intval($id)) > 0;\r
+               $query = "SELECT COUNT(*) AS result FROM %s WHERE sdnumber=%d;";\r
+               $query = sprintf($query, sql_table('skin_desc'), (integer) $id);\r
+               return quickQuery($query) > 0;\r
        }\r
        \r
        /**\r
+        * Skin::createFromName()\r
         * Returns a skin given its shortname\r
-        * @param string $name Skin shortname\r
-        * @return object SKIN\r
+        * \r
         * @static\r
+        * @param       string  $name   Skin shortname\r
+        * @return      object instance of Skin class\r
         */\r
-       function createFromName($name)\r
+       static public function createFromName($name)\r
        {\r
                return new SKIN(SKIN::getIdFromName($name));\r
        }\r
        \r
        /**\r
+        * Skin::getIdFromName()\r
         * Returns a skin ID given its shortname\r
-        * @param string $name Skin shortname\r
-        * @return int Skin ID\r
+        * \r
         * @static\r
+        * @param       string  $name   Skin shortname\r
+        * @return      integer Skin ID\r
         */\r
-       function getIdFromName($name)\r
+       static public function getIdFromName($name)\r
        {\r
-               $query =  'SELECT sdnumber'\r
-                               . ' FROM ' . sql_table('skin_desc')\r
-                               . ' WHERE sdname="' . sql_real_escape_string($name) . '"';\r
+               $query = "SELECT sdnumber FROM %s WHERE sdname='%s';";\r
+               $query = sprintf($query, sql_table('skin_desc'), sql_real_escape_string($name));\r
                $res = sql_query($query);\r
                $obj = sql_fetch_object($res);\r
                return $obj->sdnumber;\r
        }\r
        \r
        /**\r
+        * Skin::getNameFromId()\r
         * Returns a skin shortname given its ID\r
-        * @param string $name\r
-        * @return string Skin short name\r
+        * \r
         * @static\r
+        * @param       string  $name\r
+        * @return      string  Skin short name\r
         */\r
-       function getNameFromId($id)\r
+       static public function getNameFromId($id)\r
        {\r
-               return quickQuery('SELECT sdname as result FROM ' . sql_table('skin_desc') . ' WHERE sdnumber=' . intval($id));\r
+               $query = "SELECT sdname AS result FROM %s WHERE sdnumber=%d;";\r
+               $query = sprintf($query, sql_table('skin_desc'), (integer) $id);\r
+               return quickQuery($query);\r
        }\r
        \r
        /**\r
@@ -191,7 +243,6 @@ class Skin
         * @param       String  $includeMode    value for nucleus_skin.sdinclude\r
         * @param       String  $includePrefix  value for nucleus_skin.sdincpref\r
         * @return      Integer ID for just inserted record\r
-        * \r
         */\r
        function createNew($name, $desc, $type = 'text/html', $includeMode = 'normal', $includePrefix = '')\r
        {\r
@@ -208,33 +259,40 @@ class Skin
                        )\r
                );\r
                \r
-               $query = "INSERT INTO %s (sdname, sddesc, sdtype, sdincmode, sdincpref) VALUES ('%s', '%s', '%s', '%s', '%s')";\r
-               $query = sprintf($query, sql_table('skin_desc'), sql_real_escape_string($name), sql_real_escape_string($desc), sql_real_escape_string($type), sql_real_escape_string($includeMode), sql_real_escape_string($includePrefix));\r
+               $query = "INSERT INTO %s (sdname, sddesc, sdtype, sdincmode, sdincpref) VALUES ('%s', '%s', '%s', '%s', '%s');";\r
+               $sdname         = sql_real_escape_string($name);\r
+               $sddesc         = sql_real_escape_string($desc);\r
+               $sdtype         = sql_real_escape_string($type);\r
+               $sdincmode      = sql_real_escape_string($includeMode);\r
+               $sdincpref      = sql_real_escape_string($includePrefix);\r
+               $query = sprintf($query, sql_table('skin_desc'), $sdname, $sddesc, $sdtype, $sdincmode, $sdincpref);\r
                sql_query($query);\r
                $newid = sql_insert_id();\r
                \r
                $manager->notify(\r
                        'PostAddSkin',\r
                        array(\r
-                               'skinid' => $newid,\r
-                               'name' => $name,\r
-                               'description' => $desc,\r
-                               'type' => $type,\r
-                               'includeMode' => $includeMode,\r
-                               'includePrefix' => $includePrefix\r
+                               'skinid'                => $newid,\r
+                               'name'                  => $name,\r
+                               'description'   => $desc,\r
+                               'type'                  => $type,\r
+                               'includeMode'   => $includeMode,\r
+                               'includePrefix' => $includePrefix\r
                        )\r
                );\r
                return $newid;\r
        }\r
        \r
        /**\r
+        * Skin::parse()\r
         * Parse a SKIN\r
         * \r
-        * @param string $type\r
+        * @param       string  $type\r
+        * @return      void\r
         */\r
-       function parse($type)\r
+       public function parse($type)\r
        {\r
-               global $manager, $CONF;\r
+               global $currentSkinName, $manager, $CONF;\r
                \r
                $manager->notify('InitSkinParse',array('skin' => &$this, 'type' => $type));\r
                \r
@@ -242,9 +300,7 @@ class Skin
                sendContentType($this->getContentType(), 'skin');\r
                \r
                // set skin name as global var (so plugins can access it)\r
-               global $currentSkinName;\r
                $currentSkinName = $this->getName();\r
-               \r
                $contents = $this->getContent($type);\r
                \r
                if ( !$contents )\r
@@ -264,8 +320,8 @@ class Skin
                $manager->notify('PreSkinParse',array('skin' => &$this, 'type' => $type, 'contents' => &$contents));\r
                \r
                // set IncludeMode properties of parser\r
-               Parser::setProperty('IncludeMode',$this->getIncludeMode());\r
-               Parser::setProperty('IncludePrefix',$this->getIncludePrefix());\r
+               Parser::setProperty('IncludeMode', $this->getIncludeMode());\r
+               Parser::setProperty('IncludePrefix', $this->getIncludePrefix());\r
                \r
                $handler = new Actions($type, $this);\r
                $parser = new Parser($actions, $handler);\r
@@ -274,45 +330,44 @@ class Skin
                $parser->parse($contents);\r
                \r
                $manager->notify('PostSkinParse',array('skin' => &$this, 'type' => $type));\r
+               return;\r
        }\r
        \r
        /**\r
+        * Skin::getContent()\r
         * Get content of the skin part from the database\r
         * \r
-        * @param $type type of the skin (e.g. index, item, search ...)\r
+        * @param       string  $type   type of the skin (e.g. index, item, search ...)\r
+        * @return      string  content of scontent\r
         */\r
        function getContent($type)\r
        {\r
-               $query = 'SELECT scontent FROM '. sql_table('skin') . " WHERE sdesc=$this->id and stype='" . sql_real_escape_string($type) . "'";\r
+               $query = "SELECT scontent FROM %s WHERE sdesc=%d and stype='%s';";\r
+               $query = sprintf($query, sql_table('skin'), (integer) $this->id, sql_real_escape_string($type));\r
                $res = sql_query($query);\r
                \r
                if ( sql_num_rows($res) == 0 )\r
                {\r
                        return '';\r
                }\r
-               else\r
-               {\r
-                       return sql_result($res, 0, 0);\r
-               }\r
+               return sql_result($res, 0, 0);\r
        }\r
 \r
        /**\r
         * SKIN::update()\r
         * Updates the contents for one part of the skin in the database\r
         * \r
-        * @param $type type of the skin part (e.g. index, item, search ...) \r
-        * @param $content new content for this skin part\r
-        * @return      Void\r
+        * @param       string  $type type of the skin part (e.g. index, item, search ...) \r
+        * @param       string  $content new content for this skin part\r
+        * @return      void\r
         * \r
         */\r
        function update($type, $content)\r
        {\r
                global $manager;\r
                \r
-               $skinid = $this->id;\r
-               \r
-               $query = "SELECT sdesc FROM %s WHERE stype='%s' and sdesc=%d";\r
-               $query = sprintf($query, sql_table('skin'), sql_real_escape_string($type), (integer) $skinid);\r
+               $query = "SELECT sdesc FROM %s WHERE stype='%s' and sdesc=%d;";\r
+               $query = sprintf($query, sql_table('skin'), sql_real_escape_string($type), (integer) $this->id);\r
                $res = sql_query($query);\r
                \r
                $skintypeexists = sql_fetch_object($res);\r
@@ -324,31 +379,31 @@ class Skin
                        $manager->notify(\r
                                'PreUpdateSkinPart',\r
                                array(\r
-                                       'skinid' => $skinid,\r
+                                       'skinid' => $this->id,\r
                                        'type' => $type,\r
                                        'content' => &$content\r
                                )\r
                        );\r
                }\r
-               else if( $skintypevalue && (!$skintypeexists) )\r
+               else if( $skintypevalue && !$skintypeexists )\r
                {\r
                        // PreAddSkinPart event\r
                        $manager->notify(\r
                                'PreAddSkinPart',\r
                                array(\r
-                                       'skinid' => $skinid,\r
+                                       'skinid' => $this->id,\r
                                        'type' => $type,\r
                                        'content' => &$content\r
                                )\r
                        );\r
                }\r
-               else if( (!$skintypevalue) && $skintypeexists )\r
+               else if( !$skintypevalue && $skintypeexists )\r
                {\r
                        // PreDeleteSkinPart event\r
                        $manager->notify(\r
                                'PreDeleteSkinPart',\r
                                array(\r
-                                       'skinid' => $skinid,\r
+                                       'skinid' => $this->id,\r
                                        'type' => $type\r
                                )\r
                        );\r
@@ -356,14 +411,14 @@ class Skin
                \r
                // delete old thingie\r
                $query = "DELETE FROM %s WHERE stype='%s' and sdesc=%d";\r
-               $query = sprintf($query, sql_table('skin'), sql_real_escape_string($type), (integer) $skinid);\r
+               $query = sprintf($query, sql_table('skin'), sql_real_escape_string($type), (integer) $this->id);\r
                sql_query($query);\r
                \r
                // write new thingie\r
                if ( $content )\r
                {\r
                        $query = "INSERT INTO %s (scontent, stype, sdesc) VALUE ('%s', '%s', %d)";\r
-                       $query = sprintf($query, sql_table('skin'), sql_real_escape_string($content), sql_real_escape_string($type), (integer) $skinid);\r
+                       $query = sprintf($query, sql_table('skin'), sql_real_escape_string($content), sql_real_escape_string($type), (integer) $this->id);\r
                        sql_query($query);\r
                }\r
                \r
@@ -373,9 +428,9 @@ class Skin
                        $manager->notify(\r
                        'PostUpdateSkinPart',\r
                                array(\r
-                                       'skinid' => $skinid,\r
-                                       'type' => $type,\r
-                                       'content' => &$content\r
+                                       'skinid'        => $this->id,\r
+                                       'type'          => $type,\r
+                                       'content'       => &$content\r
                                )\r
                        );\r
                }\r
@@ -385,9 +440,9 @@ class Skin
                        $manager->notify(\r
                                'PostAddSkinPart',\r
                                array(\r
-                                       'skinid' => $skinid,\r
-                                       'type' => $type,\r
-                                       'content' => &$content\r
+                                       'skinid'        => $this->id,\r
+                                       'type'          => $type,\r
+                                       'content'       => &$content\r
                                )\r
                        );\r
                }\r
@@ -397,8 +452,8 @@ class Skin
                        $manager->notify(\r
                                'PostDeleteSkinPart',\r
                                array(\r
-                                       'skinid' => $skinid,\r
-                                       'type' => $type\r
+                                       'skinid'        => $this->id,\r
+                                       'type'          => $type\r
                                )\r
                        );\r
                }\r
@@ -406,104 +461,129 @@ class Skin
        }\r
        \r
        /**\r
+        * Skin::deleteAllParts()\r
         * Deletes all skin parts from the database\r
+        * \r
+        * @param       void\r
+        * @return      void\r
         */\r
        function deleteAllParts()\r
        {\r
-               sql_query('DELETE FROM ' . sql_table('skin') . ' WHERE sdesc=' . $this->getID());\r
+               $query = "DELETE FROM %s WHERE sdesc=%d;";\r
+               $query = sprintf($query, sql_table('skin'), (integer) $this->id);\r
+               sql_query($query);\r
        }\r
-\r
+       \r
        /**\r
+        * Skin::updateGeneralInfo()\r
         * Updates the general information about the skin\r
+        * \r
+        * @param       string  $name                   name of the skin\r
+        * @param       string  $desc                   description of the skin\r
+        * @param       string  $type                   type of the skin\r
+        * @param       string  $includeMode    include mode of the skin\r
+        * @param       string  $includePrefix  include prefix of the skin\r
+        * @return      void\r
         */\r
        function updateGeneralInfo($name, $desc, $type = 'text/html', $includeMode = 'normal', $includePrefix = '')\r
        {\r
-               $query =  'UPDATE '.sql_table('skin_desc').' SET'\r
-                          . " sdname='" . sql_real_escape_string($name) . "',"\r
-                          . " sddesc='" . sql_real_escape_string($desc) . "',"\r
-                          . " sdtype='" . sql_real_escape_string($type) . "',"\r
-                          . " sdincmode='" . sql_real_escape_string($includeMode) . "',"\r
-                          . " sdincpref='" . sql_real_escape_string($includePrefix) . "'"\r
-                          . " WHERE sdnumber=" . $this->getID();\r
+               $name                   = sql_real_escape_string($name);\r
+               $desc                   = sql_real_escape_string($desc);\r
+               $type                   = sql_real_escape_string($type);\r
+               $includeMode    = sql_real_escape_string($includeMode);\r
+               $includePrefix  = sql_real_escape_string($includePrefix);\r
+               \r
+               $query ="UPDATE %s SET sdname='', sddesc='%s', sdtype='%s', sdincmode='%s', sdincpref='%s' WHERE sdnumber=%d:";\r
+               $query = sprintf($query, $name, $desc, $type, $includeMode, $includePrefix, (integer) $this->id);\r
+               \r
                sql_query($query);\r
+               return;\r
        }\r
        \r
        /**\r
+        * Skin::getFriendlyNames()\r
         * Get an array with the names of possible skin parts\r
         * Used to show all possible parts of a skin in the administration backend\r
         * \r
-        * static: returns an array of friendly names\r
+        * @param       void\r
+        * @param       array   type of the skin\r
         */\r
-       function getFriendlyNames()\r
+       static public function getFriendlyNames()\r
        {\r
                $skintypes = array(\r
-                       'index' => _SKIN_PART_MAIN,\r
-                       'item' => _SKIN_PART_ITEM,\r
-                       'archivelist' => _SKIN_PART_ALIST,\r
-                       'archive' => _SKIN_PART_ARCHIVE,\r
-                       'search' => _SKIN_PART_SEARCH,\r
-                       'error' => _SKIN_PART_ERROR,\r
-                       'member' => _SKIN_PART_MEMBER,\r
-                       'imagepopup' => _SKIN_PART_POPUP\r
+                       'index'                 => _SKIN_PART_MAIN,\r
+                       'item'                  => _SKIN_PART_ITEM,\r
+                       'archivelist'   => _SKIN_PART_ALIST,\r
+                       'archive'               => _SKIN_PART_ARCHIVE,\r
+                       'search'                => _SKIN_PART_SEARCH,\r
+                       'error'                 => _SKIN_PART_ERROR,\r
+                       'member'                => _SKIN_PART_MEMBER,\r
+                       'imagepopup'    => _SKIN_PART_POPUP\r
                );\r
                \r
-               $query = "SELECT stype FROM " . sql_table('skin') . " WHERE stype NOT IN ('index', 'item', 'error', 'search', 'archive', 'archivelist', 'imagepopup', 'member')";\r
+               $query = "SELECT stype FROM " . sql_table('skin')\r
+                      . " WHERE stype NOT IN ('index', 'item', 'error', 'search', 'archive', 'archivelist', 'imagepopup', 'member')";\r
                $res = sql_query($query);\r
                while ( $row = sql_fetch_array($res) )\r
                {\r
+                       /* TODO: ucfirst() depends on the current locale  */\r
                        $skintypes[strtolower($row['stype'])] = ucfirst($row['stype']);\r
                }\r
                return $skintypes;\r
        }\r
-\r
+       \r
        /**\r
+        * Skin::getAllowedActionsForType()\r
         * Get the allowed actions for a skin type\r
         * returns an array with the allowed actions\r
         * \r
-        * @param $type type of the skin (e.g. index, item, search ...)\r
+        * @param       string  $type   type of the skin (e.g. index, item, search ...)\r
+        * @return      array   allowed action types\r
         */\r
        function getAllowedActionsForType($type)\r
        {\r
                global $blogid;\r
                \r
                // some actions that can be performed at any time, from anywhere\r
-               $defaultActions = array('otherblog',\r
-                                                               'plugin',\r
-                                                               'version',\r
-                                                               'nucleusbutton',\r
-                                                               'include',\r
-                                                               'phpinclude',\r
-                                                               'parsedinclude',\r
-                                                               'loginform',\r
-                                                               'sitevar',\r
-                                                               'otherarchivelist',\r
-                                                               'otherarchivedaylist',\r
-                                                               'otherarchiveyearlist',\r
-                                                               'self',\r
-                                                               'adminurl',\r
-                                                               'todaylink',\r
-                                                               'archivelink',\r
-                                                               'member',\r
-                                                               'category',\r
-                                                               'searchform',\r
-                                                               'referer',\r
-                                                               'skinname',\r
-                                                               'skinfile',\r
-                                                               'set',\r
-                                                               'if',\r
-                                                               'else',\r
-                                                               'endif',\r
-                                                               'elseif',\r
-                                                               'ifnot',\r
-                                                               'elseifnot',\r
-                                                               'charset',\r
-                                                               'bloglist',\r
-                                                               'addlink',\r
-                                                               'addpopupcode',\r
-                                                               'sticky',\r
-                                                               // deprecated (Nucleus v2.0)\r
-                                                               'ifcat'\r
-                                                               );\r
+               $defaultActions = array(\r
+                       'otherblog',\r
+                       'plugin',\r
+                       'version',\r
+                       'nucleusbutton',\r
+                       'include',\r
+                       'phpinclude',\r
+                       'parsedinclude',\r
+                       'loginform',\r
+                       'sitevar',\r
+                       'otherarchivelist',\r
+                       'otherarchivedaylist',\r
+                       'otherarchiveyearlist',\r
+                       'self',\r
+                       'adminurl',\r
+                       'todaylink',\r
+                       'archivelink',\r
+                       'member',\r
+                       'category',\r
+                       'searchform',\r
+                       'referer',\r
+                       'skinname',\r
+                       'skinfile',\r
+                       'set',\r
+                       'if',\r
+                       'else',\r
+                       'endif',\r
+                       'elseif',\r
+                       'ifnot',\r
+                       'elseifnot',\r
+                       'charset',\r
+                       'bloglist',\r
+                       'addlink',\r
+                       'addpopupcode',\r
+                       'sticky',\r
+                       // deprecated (Nucleus v2.0)\r
+                       /* TODO: remove this */\r
+                       'ifcat'\r
+               );\r
                \r
                // extra actions specific for a certain skin type\r
                $extraActions = array();\r
@@ -511,98 +591,105 @@ class Skin
                switch ( $type )\r
                {\r
                        case 'index':\r
-                               $extraActions = array('blog',\r
-                                                               'blogsetting',\r
-                                                               'preview',\r
-                                                               'additemform',\r
-                                                               'categorylist',\r
-                                                               'archivelist',\r
-                                                               'archivedaylist',\r
-                                                               'archiveyearlist',\r
-                                                               'nextlink',\r
-                                                               'prevlink'\r
-                                                               );\r
+                               $extraActions = array(\r
+                                       'blog',\r
+                                       'blogsetting',\r
+                                       'preview',\r
+                                       'additemform',\r
+                                       'categorylist',\r
+                                       'archivelist',\r
+                                       'archivedaylist',\r
+                                       'archiveyearlist',\r
+                                       'nextlink',\r
+                                       'prevlink'\r
+                               );\r
                                break;\r
                        case 'archive':\r
-                               $extraActions = array('blog',\r
-                                                               'archive',\r
-                                                               'otherarchive',\r
-                                                               'categorylist',\r
-                                                               'archivelist',\r
-                                                               'archivedaylist',\r
-                                                               'archiveyearlist',\r
-                                                               'blogsetting',\r
-                                                               'archivedate',\r
-                                                               'nextarchive',\r
-                                                               'prevarchive',\r
-                                                               'nextlink',\r
-                                                               'prevlink',\r
-                                                               'archivetype'\r
+                               $extraActions = array(\r
+                                       'blog',\r
+                                       'archive',\r
+                                       'otherarchive',\r
+                                       'categorylist',\r
+                                       'archivelist',\r
+                                       'archivedaylist',\r
+                                       'archiveyearlist',\r
+                                       'blogsetting',\r
+                                       'archivedate',\r
+                                       'nextarchive',\r
+                                       'prevarchive',\r
+                                       'nextlink',\r
+                                       'prevlink',\r
+                                       'archivetype'\r
                                );\r
                                break;\r
                        case 'archivelist':\r
-                               $extraActions = array('blog',\r
-                                                               'archivelist',\r
-                                                               'archivedaylist',\r
-                                                               'archiveyearlist',\r
-                                                               'categorylist',\r
-                                                               'blogsetting',\r
-                                                          );\r
+                               $extraActions = array(\r
+                                       'blog',\r
+                                       'archivelist',\r
+                                       'archivedaylist',\r
+                                       'archiveyearlist',\r
+                                       'categorylist',\r
+                                       'blogsetting'\r
+                               );\r
                                break;\r
                        case 'search':\r
-                               $extraActions = array('blog',\r
-                                                               'archivelist',\r
-                                                               'archivedaylist',\r
-                                                               'archiveyearlist',\r
-                                                               'categorylist',\r
-                                                               'searchresults',\r
-                                                               'othersearchresults',\r
-                                                               'blogsetting',\r
-                                                               'query',\r
-                                                               'nextlink',\r
-                                                               'prevlink'\r
-                                                               );\r
+                               $extraActions = array(\r
+                                       'blog',\r
+                                       'archivelist',\r
+                                       'archivedaylist',\r
+                                       'archiveyearlist',\r
+                                       'categorylist',\r
+                                       'searchresults',\r
+                                       'othersearchresults',\r
+                                       'blogsetting',\r
+                                       'query',\r
+                                       'nextlink',\r
+                                       'prevlink'\r
+                               );\r
                                break;\r
                        case 'imagepopup':\r
-                               $extraActions = array('image',\r
-                                                               // deprecated (Nucleus v2.0)\r
-                                                               'imagetext',\r
-                                                               );\r
+                               $extraActions = array(\r
+                                       'image',\r
+                                       // deprecated (Nucleus v2.0)\r
+                                       /* TODO: remove this */\r
+                                       'imagetext'\r
+                               );\r
                                break;\r
                        case 'member':\r
                                $extraActions = array(\r
-                                                               'membermailform',\r
-                                                               'blogsetting',\r
-                                                               'nucleusbutton',\r
-                                                               'categorylist'\r
+                                       'membermailform',\r
+                                       'blogsetting',\r
+                                       'nucleusbutton',\r
+                                       'categorylist'\r
                                );\r
                                break;\r
                        case 'item':\r
-                               $extraActions = array('blog',\r
-                                                               'item',\r
-                                                               'comments',\r
-                                                               'commentform',\r
-                                                               'vars',\r
-                                                               'blogsetting',\r
-                                                               'nextitem',\r
-                                                               'previtem',\r
-                                                               'nextlink',\r
-                                                               'prevlink',\r
-                                                               'nextitemtitle',\r
-                                                               'previtemtitle',\r
-                                                               'categorylist',\r
-                                                               'archivelist',\r
-                                                               'archivedaylist',\r
-                                                               'archiveyearlist',\r
-                                                               'itemtitle',\r
-                                                               'itemid',\r
-                                                               'itemlink',\r
-                                                               );\r
+                               $extraActions = array(\r
+                                       'blog',\r
+                                       'item',\r
+                                       'comments',\r
+                                       'commentform',\r
+                                       'vars',\r
+                                       'blogsetting',\r
+                                       'nextitem',\r
+                                       'previtem',\r
+                                       'nextlink',\r
+                                       'prevlink',\r
+                                       'nextitemtitle',\r
+                                       'previtemtitle',\r
+                                       'categorylist',\r
+                                       'archivelist',\r
+                                       'archivedaylist',\r
+                                       'archiveyearlist',\r
+                                       'itemtitle',\r
+                                       'itemid',\r
+                                       'itemlink'\r
+                               );\r
                                break;\r
                        case 'error':\r
                                $extraActions = array(\r
-                                                               'errormessage',\r
-                                                               'categorylist'\r
+                                       'errormessage',\r
+                                       'categorylist'\r
                                );\r
                                break;\r
                        default:\r
index 43b4d3c..934aa84 100644 (file)
@@ -13,7 +13,7 @@
 /**\r
  * @license http://nucleuscms.org/license.txt GNU General Public License\r
  * @copyright Copyright (C) 2002-2012 The Nucleus Group\r
- * @version $Id: globalfunctions.php 1697 2012-03-10 13:15:47Z sakamocchi $\r
+ * @version $Id: globalfunctions.php 1727 2012-04-07 02:54:22Z sakamocchi $\r
  */\r
 \r
 /* needed if we include globalfunctions from install.php */\r
@@ -1024,7 +1024,6 @@ function selector()
                {\r
                        $query = "SELECT inumber, ititle FROM %s WHERE itime>'%s' AND itime<='%s' AND idraft=0 AND iblog=%d AND icat=%d ORDER BY itime ASC LIMIT 1";\r
                        $query = sprintf($query, sql_table('item'), i18n::formatted_datetime('mysql', $timestamp), i18n::formatted_datetime('mysql', $b->getCorrectTime()), $blogid, $catid);\r
-                       \r
                }\r
                $res = sql_query($query);\r
                \r
@@ -1251,7 +1250,7 @@ function selector()
        \r
        $skin = new SKIN($skinid);\r
        \r
-       if ( !$skin->isValid )\r
+       if ( !$skin->isValid() )\r
        {\r
                doError(_ERROR_NOSUCHSKIN);\r
        }\r
@@ -1271,30 +1270,38 @@ function selector()
 /**\r
   * Show error skin with given message. An optional skin-object to use can be given\r
   */\r
-function doError($msg, $skin = '') {\r
-    global $errormessage, $CONF, $skinid, $blogid, $manager;\r
-\r
-    if ($skin == '') {\r
-\r
-        if (SKIN::existsID($skinid) ) {\r
-            $skin = new SKIN($skinid);\r
-        } elseif ($manager->existsBlogID($blogid) ) {\r
-            $blog =& $manager->getBlog($blogid);\r
-            $skin = new SKIN($blog->getDefaultSkin() );\r
-        } elseif ($CONF['DefaultBlog']) {\r
-            $blog =& $manager->getBlog($CONF['DefaultBlog']);\r
-            $skin = new SKIN($blog->getDefaultSkin() );\r
-        } else {\r
-            // this statement should actually never be executed\r
-            $skin = new SKIN($CONF['BaseSkin']);\r
-        }\r
-\r
-    }\r
-\r
-    $skinid = $skin->id;\r
-    $errormessage = $msg;\r
-    $skin->parse('error');\r
-    exit;\r
+function doError($msg, $skin = '')\r
+{\r
+       global $errormessage, $CONF, $skinid, $blogid, $manager;\r
+       \r
+       if ( $skin == '' )\r
+       {\r
+               if ( Skin::existsID($skinid) )\r
+               {\r
+                       $id = $skinid;\r
+               }\r
+               elseif ( $manager->existsBlogID($blogid) )\r
+               {\r
+                       $blog =& $manager->getBlog($blogid);\r
+                       $id = $blog->getDefaultSkin();\r
+               }\r
+               elseif ($CONF['DefaultBlog'] )\r
+               {\r
+                       $blog =& $manager->getBlog($CONF['DefaultBlog']);\r
+                       $id = $blog->getDefaultSkin();\r
+               }\r
+               else\r
+               {\r
+                       // this statement should actually never be executed\r
+                       $id = $CONF['BaseSkin'];\r
+               }\r
+               $skin = new Skin($id);\r
+       }\r
+       \r
+       $skinid = $skin->getID();\r
+       $errormessage = $msg;\r
+       $skin->parse('error');\r
+       exit;\r
 }\r
 \r
 function getConfig() {\r
@@ -2111,7 +2118,7 @@ function formatDate($format, $timestamp, $default_format, &$blog)
 function mysqldate($timestamp)\r
 {\r
        return '"' . i18n::formatted_datetime('mysql', $timestamp) . '"';\r
-}\r
+ }\r
 /**\r
  * Centralisation of the functions that generate links\r
  * Deprecated since 4.0:\r