X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fpackages.inc;h=54d16abf5b4bf31cd15ff29f8b048a6acd0b9c94;hb=f99d4e3d028d6dc1e43716dad6188090a5f34a25;hp=c3aa518cd3de40f0d305c77eb1a3a5248f74751e;hpb=19ddc3939071044c8e94b628f1d6a039f50cc493;p=fa-stable.git diff --git a/includes/packages.inc b/includes/packages.inc index c3aa518c..54d16abf 100644 --- a/includes/packages.inc +++ b/includes/packages.inc @@ -282,7 +282,7 @@ function get_pkg_or_list($type = null, $pkgname = null, $filter=array(), $outkey // and check remote signature with local copy of public key // $loclist = PKG_CACHE_PATH.'/Release.gz'; - $target_dir = $download==true ? "$path_to_root/tmp/" : $download; + $target_dir = $download==true ? VARLIB_PATH."/" : $download; if (isset($type) && !is_array($type)) { $type = array($type); @@ -622,7 +622,7 @@ function install_language($pkg_name) uninstall_package($old_pkg); } - $package = new package("$path_to_root/tmp/".$pkg['Filename'].'.pkg'); + $package = new package(VARLIB_PATH."/".$pkg['Filename'].'.pkg'); if ($package->install()) { $lang = array( 'name' => $pkg['Name'], @@ -636,7 +636,7 @@ function install_language($pkg_name) $lang['rtl'] = true; $installed_languages[$i] = $lang; write_lang($installed_languages); - unlink("$path_to_root/tmp/".$pkg['Filename'].'.pkg'); + unlink(VARLIB_PATH."/".$pkg['Filename'].'.pkg'); $Ajax->activate('lang_tbl'); } else { display_error(implode('
', $package->error)); @@ -657,7 +657,7 @@ function install_extension($pkg_name) $pkg = get_pkg_or_list(array('extension', 'theme', 'chart'), $pkg_name); if ($pkg) { - $package = new package("$path_to_root/tmp/".$pkg['Filename'].'.pkg'); + $package = new package(VARLIB_PATH."/".$pkg['Filename'].'.pkg'); $local_exts = get_company_extensions(); if ($package->install()) { $ext_id = array_search_key($pkg['Package'], $local_exts, 'package'); @@ -690,7 +690,7 @@ function install_extension($pkg_name) activate_hooks($ext['package'], $comp); } - unlink("$path_to_root/tmp/".$pkg['Filename'].'.pkg'); + unlink(VARLIB_PATH."/".$pkg['Filename'].'.pkg'); $Ajax->activate('ext_tbl'); return $ret; } else { @@ -732,16 +732,15 @@ function get_package_info($pkg, $type=null, $filter=array(), $outkey=null, $down */ function check_src_ext_version($ext_v) { - global $src_version; - - $compat_levels = 2; // current policy is keeping compatibility on major version level. - $app = explode('.', substr($src_version, 0, strspn($src_version, "0123456789."))); - $pkg = explode('.', substr($ext_v, 0, strspn($ext_v, "0123456789."))); - - for ($i=0; $i < min($compat_levels, count($app)); $i++) - if ($pkg[$i] < $app[$i]) - return false; - - return true; + global $src_version; + if ($ext_v != '-') { + $compat_levels = 2; // current policy is keeping compatibility on major version level. + $app = explode('.', substr($src_version, 0, strspn($src_version, "0123456789."))); + $pkg = explode('.', substr($ext_v, 0, strspn($ext_v, "0123456789."))); + + for ($i=0; $i < min($compat_levels, count($app)); $i++) + if ($pkg[$i] < $app[$i]) + return false; + } + return true; } -