OSDN Git Service

MERGE: リビジョン1834。globalfunctions.phpの非推奨関数の整理。
[nucleus-jp/nucleus-next.git] / nucleus / libs / AdminActions.php
index 7b20a69..be713d3 100644 (file)
@@ -169,7 +169,7 @@ class AdminActions extends BaseActions
                'adminskinremovetype'   => _ADM_SKPRT_ADMINSKINREMOVETYPE,
                'admintemplatedelete'   => _ADM_SKPRT_ADMINTEMPLATEDELETE,
                'admintemplateedit'             => _ADM_SKPRT_ADMINTEMPLATEEDIT,
-               'admintemplateoverview' => _ADM_SKPRT_ADMINTEMPLATEOVERVIEW,
+               'admntemplateoverview'  => _ADM_SKPRT_ADMINTEMPLATEOVERVIEW,
                'backupoverview'                => _ADM_SKPRT_BACKUPOVERVIEW,
                'backuprestore'                 => _ADM_SKPRT_BACKUPRESTORE,
                'banlist'                               => _ADM_SKPRT_BANLIST,
@@ -1282,7 +1282,7 @@ class AdminActions extends BaseActions
         * @param       void
         * @return      void
         */     
-       public function parse_adminskinselectoptions()
+       public function parse_adminskinselectoptions($templateName = '')
        {
                global $CONF;
                $query = "SELECT sdname as text, sdnumber as value FROM %s WHERE sdname LIKE 'admin/%%';";
@@ -1291,7 +1291,7 @@ class AdminActions extends BaseActions
                $template['name'] = 'adminskin';
                $template['selected'] = $CONF['AdminSkin'];
                $template['tabindex'] = 110;
-               Showlist($query, 'select', $template, '');
+               Showlist($query, 'select', $template, $templateName);
                return;
        }
        
@@ -2833,6 +2833,8 @@ class AdminActions extends BaseActions
         */
        public function parse_editpluginfo($type)
        {
+               global $manager;
+               
                $pid = intRequestVar('plugid');
                switch ( $type )
                {
@@ -2840,7 +2842,7 @@ class AdminActions extends BaseActions
                                echo $pid;
                                break;
                        case 'name':
-                               echo Entity::hsc(getPluginNameFromPid($pid));
+                               echo Entity::hsc($manager->getPluginNameFromPid($pid));
                                break;
                }
                return;
@@ -3429,7 +3431,7 @@ class AdminActions extends BaseActions
                                return $pid;
                                break;
                        case 'name':
-                               return Entity::hsc(getPluginNameFromPid($pid));
+                               return Entity::hsc($manager->getPluginNameFromPid($pid));
                                break;
                }
                return;
@@ -3541,7 +3543,7 @@ class AdminActions extends BaseActions
        public function parse_helpplugname()
        {
                $plugid = intGetVar('plugid');
-               Entity::hsc(getPluginNameFromPid($plugid));
+               Entity::hsc($manager->getPluginNameFromPid($plugid));
                return;
        }
        
@@ -4260,7 +4262,7 @@ class AdminActions extends BaseActions
                global $manager, $DIR_PLUGINS;
                
                $plugid = intGetVar('plugid');
-               $plugName =  getPluginNameFromPid($plugid);
+               $plugName = $manager->getPluginNameFromPid($plugid);
                $plug =& $manager->getPlugin($plugName);
                
                if ( $plug->supportsFeature('HelpPage') > 0 )
@@ -5723,24 +5725,28 @@ class AdminActions extends BaseActions
        {
                global $DIR_PLUGINS;
                
-               $candidates = array();
+               $query = "SELECT * FROM %s;";
+               $query = sprintf($query, sql_table('plugin'));
+               $res  = DB::getResult($query);
+               
+               $installed = array();
+               foreach( $res as $row )
+               {
+                       $installed[] = $row['pfile'];
+               }
+               
                $files = scandir($DIR_PLUGINS);
                
+               $candidates = array();
                foreach ( $files as $file )
                {
-                       if ( preg_match("#^NP_(.*)\.php$#", $file, $matches) )
+                       if ( preg_match("#^(NP_.*)\.php$#", $file, $matches) )
                        {
-                               $name = $matches[1];
-                               $query = "SELECT * FROM %s WHERE pfile=%s;";
-                               $query = sprintf($query, sql_table('plugin'), DB::quoteValue("{NP_{$name}"));
-                               $res  = DB::getResult($query);
-                               
-                               if ( $res->rowCount() == 0 )
+                               if ( !in_array($matches[1], $installed) )
                                {
-                                       $candidates[] = $name;
+                                       $candidates[] = $matches[1];
                                }
                        }
-                       continue;
                }
                $this->newPlugCandidates = $candidates;
                return (count($candidates) > 0);