Transaction references extended with parametrized patterns, added check_reference...
[fa-stable.git] / admin / inst_module.php
index 0e7cb534cf63e97fba7019c96bb31697d6ccd840..50d2e3e7184b8a6f37d5149f5d9938653355ed3e 100644 (file)
@@ -14,10 +14,10 @@ $path_to_root="..";
 include_once($path_to_root . "/includes/session.inc");
 include_once($path_to_root."/includes/packages.inc");
 
-if ($use_popup_windows) {
+if ($SysPrefs->use_popup_windows) {
        $js = get_js_open_window(900, 500);
 }
-page(_($help_context = "Install/Activate extensions"));
+page(_($help_context = "Install/Activate extensions"), false, false, "", $js);
 
 include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/admin/db/company_db.inc");
@@ -42,8 +42,8 @@ function local_extension($id)
                        'active' => false
        );
 
-       if (file_exists($path_to_root.'/modules/'.$id.'/hooks.php')) {
-               include_once($path_to_root.'/modules/'.$id.'/hooks.php');
+       if (file_exists($path_to_root.'/modules/'.clean_file_name($id).'/hooks.php')) {
+               include_once($path_to_root.'/modules/'.clean_file_name($id).'/hooks.php');
        }
        $hooks_class = 'hooks_'.$id;
        if (class_exists($hooks_class, false)) {
@@ -113,13 +113,12 @@ function display_extensions()
                $available = @$ext['available'];
                $installed = @$ext['version'];
                $id = @$ext['local_id'];
-               $is_mod = $ext['type'] == 'module';
 
                $entries = fmt_titles(@$ext['entries']);
                $tabs = fmt_titles(@$ext['tabs']);
 
                alt_table_row_color($k);
-//             label_cell(is_array($ext['Descr']) ? $ext['Descr'][0] : $ext['Descr']);
+
                label_cell($available ? get_package_view_str($pkg_name, $ext['name']) : $ext['name']);
                label_cell($tabs);
                label_cell($entries);
@@ -154,7 +153,6 @@ function display_extensions()
        end_table(1);
 
        submit_center_first('Refresh', _("Update"), '', null);
-       submit_center_last('Add', _("Add third-party extension"), '', false);
 
        div_end();
 }
@@ -214,6 +212,12 @@ if (get_post('Refresh')) {
        $result = true;
        foreach($exts as $i => $ext) {
                if ($ext['package'] && ($ext['active'] ^ check_value('Active'.$i))) {
+                       if (check_value('Active'.$i) && !check_src_ext_version($ext['version']))
+                       {
+                               display_warning(sprintf(_("Package '%s' is incompatible with current application version and cannot be activated.\n")
+                                       . _("Check Install/Activate page for newer package version."), $ext['name']));
+                               continue;
+                       }
                        if (!$ext['active'])
                                $activated = activate_hooks($ext['package'], $comp);
                        else
@@ -268,4 +272,3 @@ else
 end_form();
 
 end_page();
-?>
\ No newline at end of file