NobuNobu
nobun****@users*****
2006年 11月 15日 (水) 15:17:51 JST
Index: xoops2jp/html/modules/legacy/admin/class/ModuleInstallInformation.class.php diff -u xoops2jp/html/modules/legacy/admin/class/ModuleInstallInformation.class.php:1.1.2.1 xoops2jp/html/modules/legacy/admin/class/ModuleInstallInformation.class.php:1.1.2.2 --- xoops2jp/html/modules/legacy/admin/class/ModuleInstallInformation.class.php:1.1.2.1 Wed Nov 15 00:38:56 2006 +++ xoops2jp/html/modules/legacy/admin/class/ModuleInstallInformation.class.php Wed Nov 15 15:17:50 2006 @@ -87,6 +87,8 @@ class Legacy_BlockInfoCollection { var $mBlocks = array(); + var $mShowFuncs = array(); + var $mFuncFiles = array(); function add(&$info) { @@ -95,6 +97,8 @@ } $this->mBlocks[$info->mFuncNum] =& $info; + $this->mShowFuncs[] = $info->mShowFunc; + $this->mFuncFiles[] = $info->mFuncFile; ksort($this->mBlocks); @@ -111,6 +115,10 @@ return $ret; } + function funcExists($info) { + return (in_array($info->mShowFunc, $this->mShowFuncs) && in_array($info->mFuncFile, $this->mFuncFiles)); + } + /** * Updates the list of blocks by comparing with $collection. */ @@ -119,7 +127,11 @@ foreach (array_keys($this->mBlocks) as $idx) { $t_block =& $collection->get($this->mBlocks[$idx]->mFuncNum); if ($t_block == null) { - $this->mBlocks[$idx]->mStatus = LEGACY_BLOCKINFOMATION_STATUS_DELETED; + if (!$collection->funcExists($this->mBlocks[$idx])) { + $this->mBlocks[$idx]->mStatus = LEGACY_BLOCKINFOMATION_STATUS_DELETED; + } else { + $this->mBlocks[$idx]->mStatus = LEGACY_BLOCKINFOMATION_STATUS_UPDATED; // No Action. + } } elseif (!$this->mBlocks[$idx]->isEqual($t_block)) { $this->mBlocks[$idx]->update($t_block);