Esempio n. 1
0
 private function processingUpgradeList()
 {
     $upgrades = Ibos::app()->setting->get("setting/upgrade");
     if (!$upgrades) {
         return array("isHaveUpgrade" => false, "msg" => Ibos::lang("Upgrade latest version"));
     } else {
         $upgradeStep = array("cachekey" => "upgrade_step", "cachevalue" => serialize(array("curversion" => UpgradeUtil::getVersionPath(), "currelease" => VERSION_DATE)), "dateline" => TIMESTAMP);
         Cache::model()->add($upgradeStep, false, true);
         $upgradeRow = array();
         $charset = str_replace("-", "", strtoupper(CHARSET));
         $dbVersion = Ibos::app()->db->getServerVersion();
         $locale = "";
         if ($charset == "BIG5") {
             $locale = "TC";
         } elseif ($charset == "GBK") {
             $locale = "SC";
         } elseif ($charset == "UTF8") {
             $language = Ibos::app()->getLanguage();
             if ($language == "zh_cn") {
                 $locale = "SC";
             } elseif ($language == "zh_tw") {
                 $locale = "TC";
             }
         }
         foreach ($upgrades as $type => $upgrade) {
             $unUpgrade = 0;
             if (0 < version_compare($upgrade["phpversion"], PHP_VERSION) || 0 < version_compare($upgrade["mysqlversion"], $dbVersion)) {
                 $unUpgrade = 1;
             }
             $baseDesc = "IBOS " . $upgrade["latestversion"] . "_" . $locale . "_" . $charset . " [" . $upgrade["latestrelease"] . "]";
             if ($unUpgrade) {
                 $this->render("upgradeError", array("msg" => Ibos::lang("Upgrade require config", "", array("phpVersion" => PHP_VERSION, "dbVersion" => $dbVersion))));
                 exit;
             } else {
                 $params = array("op" => $type, "version" => $upgrade["latestversion"], "locale" => $locale, "charset" => $charset, "release" => $upgrade["latestrelease"]);
                 $linkUrl = $this->createUrl("upgrade/index", $params);
                 $upgradeRow[] = array("desc" => $baseDesc, "upgrade" => true, "link" => $linkUrl, "upgradeDesc" => $upgrade["upgradeDesc"], "official" => $upgrade["official"]);
             }
         }
         return array("isHaveUpgrade" => true, "list" => $upgradeRow);
     }
 }