Skip to content

Commit

Permalink
Merge pull request #365 from ds-soft/patch-1
Browse files Browse the repository at this point in the history
Проверка версий функцией version_compare
  • Loading branch information
fuzegit committed Nov 29, 2016
2 parents b9bfc80 + 110b58a commit 69ed317
Showing 1 changed file with 5 additions and 17 deletions.
22 changes: 5 additions & 17 deletions system/controllers/admin/actions/install.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,7 @@ private function showPackageInfo($package_name, $is_no_extract=false){

$package_v = $manifest['version']['major'].'.'.$manifest['version']['minor'].'.'.$manifest['version']['build'];

$upd = (int)str_pad(str_replace('.', '', $package_v), 6, '0');
$inst = (int)str_pad(str_replace('.', '', $manifest['package']['installed_version']), 6, '0');

if($upd < $inst){
if(version_compare($package_v, $manifest['package']['installed_version']) == -1){

files_clear_directory(cmsConfig::get('upload_path') . $this->installer_upload_path);

Expand All @@ -70,7 +67,7 @@ private function showPackageInfo($package_name, $is_no_extract=false){

}

if($upd == $inst){
if(version_compare($package_v, $manifest['package']['installed_version']) == 0){

files_clear_directory(cmsConfig::get('upload_path') . $this->installer_upload_path);

Expand Down Expand Up @@ -132,18 +129,12 @@ private function checkManifestDepends($manifest){

if (isset($manifest['depends']['core'])){

$need = (int)str_pad(str_replace('.', '', $manifest['depends']['core']), 6, '0');
$has = (int)str_pad(str_replace('.', '', cmsCore::getVersion()), 6, '0');

$results['core'] = ($need <= $has) ? true : false;
$results['core'] = (version_compare(cmsCore::getVersion(), $manifest['depends']['core']) >= 0) ? true : false;

}
if (isset($manifest['depends']['package']) && isset($manifest['package']['installed_version'])){

$need = (int)str_pad(str_replace('.', '', $manifest['depends']['package']), 6, '0');
$has = (int)str_pad(str_replace('.', '', (string)$manifest['package']['installed_version']), 6, '0');

$results['package'] = ($need <= $has) ? true : false;
$results['package'] = (version_compare((string)$manifest['package']['installed_version'], $manifest['depends']['package']) >= 0) ? true : false;

}
if (isset($manifest['depends']['dependent_type']) && isset($manifest['depends']['dependent_name'])){
Expand All @@ -157,10 +148,7 @@ private function checkManifestDepends($manifest){

if($valid && isset($manifest['depends']['dependent_version'])){

$need = (int)str_pad(str_replace('.', '', $manifest['depends']['dependent_version']), 6, '0');
$has = (int)str_pad(str_replace('.', '', (string)$installed_version), 6, '0');

$results['dependent_version'] = ($need <= $has) ? true : false;
$results['dependent_version'] = (version_compare((string)$installed_version, $manifest['depends']['dependent_version']) >= 0) ? true : false;

}

Expand Down

0 comments on commit 69ed317

Please sign in to comment.