Test for open_ssl in extensions.
[fa-stable.git] / includes / packages.inc
index 2dc7bd3e46a87ac931ee5eede02ba604b7c45b58..2e1b92e3445d91c9ca3fa90dd8b4159736371a1b 100644 (file)
@@ -299,6 +299,10 @@ function get_pkg_or_list($type = null, $pkgname = null, $filter=array(), $outkey
                $sig = url_get_contents($repo.'/Release.sig');
                $data = file_get_contents($loclist);
                $cert = file_get_contents(PUBKEY_PATH.'/FA.pem');
+               if (!function_exists('openssl_verify')) {
+                       display_error(_("OpenSSL have to be available on your server to use extension repository system."));
+                       return null;
+               }       
                if (openssl_verify($data, $sig, $cert) <= 0) {
                        if ($refresh) {
                                if (!@unlink($loclist))
@@ -671,12 +675,6 @@ function install_extension($pkg_name)
                                'active' => @$pkg['DefaultStatus'] == 'active' ? true : false,
                                'path' => $pkg['InstallPath'],
                        );
-//                     if (isset($pkg['MenuTabs']))
-//                             $ext['tabs'] = $pkg['MenuTabs'];
-//                     if (isset($pkg['MenuEntries']))
-//                             $ext['entries'] = $pkg['MenuEntries'];
-//                     if (isset($pkg['AccessExtensions']))
-//                             $ext['acc_file'] = $pkg['AccessExtensions'];
                        if (isset($pkg['SqlScript']))
                                $ext['sql'] = $pkg['SqlScript'];
 
@@ -736,8 +734,8 @@ function check_src_ext_version($ext_v)
        global $src_version;
 
        $compat_levels = 2;     // current policy is keeping compatibility on major version level.
-       $app = explode('.', strspn($src_version, "0123456789."));
-       $pkg = explode('.', strspn($ext_v, "0123456789."));
+       $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])