* finish task #1567

This commit is contained in:
wangyidong
2013-07-16 04:07:21 +00:00
parent b0056f8e82
commit 443dabf7ed
4 changed files with 36 additions and 20 deletions
+1
View File
@@ -1 +1,2 @@
ALTER TABLE `zt_extension` ADD `depends` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `installedTime` ;
ALTER TABLE `zt_extension` CHANGE `zentaoVersion` `zentaoCompatible` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
+3 -3
View File
@@ -41,7 +41,7 @@ class extension extends control
$extension = $extensions[$release->code];
$extension->viewLink = $release->viewLink;
if(isset($release->latestRelease) and $extension->version != $release->latestRelease->releaseVersion and $this->extension->checkVersion($release->latestRelease->zentaoVersion))
if(isset($release->latestRelease) and $extension->version != $release->latestRelease->releaseVersion and $this->extension->checkVersion($release->latestRelease->zentaoCompatible))
{
$upgradeLink = inlink('upgrade', "extension=$release->code&downLink=" . helper::safe64Encode($release->latestRelease->downLink) . "&md5={$release->latestRelease->md5}&type=$release->type");
$upgradeLink = ($release->latestRelease->charge or !$release->latestRelease->public) ? $release->latestRelease->downLink : $upgradeLink;
@@ -254,8 +254,8 @@ class extension extends control
}
/* Check version compatible. */
$zentaoVersion = $condition->zentao['compatible'];
if(!$this->extension->checkVersion($zentaoVersion) and $ignoreCompatible == 'no')
$zentaoCompatible = $condition->zentao['compatible'];
if(!$this->extension->checkVersion($zentaoCompatible) and $ignoreCompatible == 'no')
{
$ignoreLink = inlink('install', "extension=$extension&downLink=$downLink&md5=$md5&type=$type&overridePackage=$overridePackage&ignoreCompatible=yes&overrideFile=$overrideFile&agreeLicense=$agreeLicense&upgrade=$upgrade");
$returnLink = inlink('obtain');
+14 -14
View File
@@ -214,22 +214,22 @@ class extensionModel extends model
{
/* Init the data. */
$data = new stdclass();
$data->name = $extension;
$data->code = $extension;
$data->version = 'unknown';
$data->author = 'unknown';
$data->desc = $extension;
$data->site = 'unknown';
$data->license = 'unknown';
$data->zentaoVersion = '';
$data->type = '';
$data->depends = '';
$data->name = $extension;
$data->code = $extension;
$data->version = 'unknown';
$data->author = 'unknown';
$data->desc = $extension;
$data->site = 'unknown';
$data->license = 'unknown';
$data->zentaoCompatible = '';
$data->type = '';
$data->depends = '';
$info = $this->parseExtensionCFG($extension);
foreach($info as $key => $value) if(isset($data->$key)) $data->$key = $value;
if(isset($info->zentaoversion)) $data->zentaoVersion = $info->zentaoversion;
if(isset($info->zentao['compatible'])) $data->zentaoVersion = $info->zentao['compatible'];
if(isset($info->depends)) $data->depends = json_encode($info->depends);
if(isset($info->zentaoversion)) $data->zentaoCompatible = $info->zentaoversion;
if(isset($info->zentao['compatible'])) $data->zentaoCompatible = $info->zentao['compatible'];
if(isset($info->depends)) $data->depends = json_encode($info->depends);
return $data;
}
@@ -801,7 +801,7 @@ class extensionModel extends model
{
$result = array();
$extensionInfo = $this->dao->select('*')->from(TABLE_EXTENSION)->where('code')->eq($extension)->fetch();
$dependsExts = $this->dao->select('*')->from(TABLE_EXTENSION)->where('depends')->like("%$extension%")->fetchAll();
$dependsExts = $this->dao->select('*')->from(TABLE_EXTENSION)->where('depends')->like("%$extension%")->andWhere('status')->ne('available')->fetchAll();
if($dependsExts)
{
foreach($dependsExts as $dependsExt)
+18 -3
View File
@@ -49,7 +49,7 @@
<?php
if($latestRelease and $latestRelease->releaseVersion != $currentRelease->releaseVersion)
{
printf($lang->extension->latest, $latestRelease->viewLink, $latestRelease->releaseVersion, $latestRelease->zentaoVersion);
printf($lang->extension->latest, $latestRelease->viewLink, $latestRelease->releaseVersion, $latestRelease->zentaoCompatible);
}?>
</div>
</caption>
@@ -62,7 +62,22 @@
echo "{$lang->extension->downloads}: {$extension->downloads} ";
echo "{$lang->extension->compatible}: {$lang->extension->compatibleList[$currentRelease->compatible]} ";
echo "{$lang->extension->grade}: ", html::printStars($extension->stars);
echo " {$lang->extension->depends}: ", $currentRelease->depends;
echo " {$lang->extension->depends}: ";
if($currentRelease->depends)
{
foreach(json_decode($currentRelease->depends) as $code => $limit)
{
echo $code;
if($limit != 'all')
{
echo '(';
if(!empty($limit['min'])) echo '>= v' . $limit['min'];
if(!empty($limit['max'])) echo '<= v' . $limit['min'];
echo ')';
}
echo ' ';
}
}
?>
</div>
</td>
@@ -76,7 +91,7 @@
{
if(isset($installeds[$extension->code]))
{
if($installeds[$extension->code]->version != $extension->latestRelease->releaseVersion and $this->extension->checkVersion($extension->latestRelease->zentaoVersion))
if($installeds[$extension->code]->version != $extension->latestRelease->releaseVersion and $this->extension->checkVersion($extension->latestRelease->zentaoCompatible))
{
$upgradeLink = inlink('upgrade', "extension=$extension->code&downLink=" . helper::safe64Encode($currentRelease->downLink) . "&md5=$currentRelease->md5&type=$extension->type");
echo html::a($upgradeLink, $lang->extension->upgrade, '', 'class="iframe button-c"');