Additional extension system related fixes.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Mon, 28 Sep 2009 13:53:31 +0000 (13:53 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Mon, 28 Sep 2009 13:53:31 +0000 (13:53 +0000)
CHANGELOG.txt
admin/db/maintenance_db.inc
admin/inst_module.php

index 0aa8c075d3a8d1c9ae4d5c2fa602f89f6c773732..a3107eb0ea7467c6bd4b6643e93e312cac90feb0 100644 (file)
@@ -39,7 +39,7 @@ $ /frontaccounting.php
   /includes/session.inc
   /includes/ui/ui_lists.inc
   /sql/alter2.2.php
-
+  /modules/installed_modules.php (Removed)
 # Prevented switching off access to security role editor for current role.
 $ /admin/security_roles.php
 
index 18bcf3aad4aec88c7dcd71e6a3649d4379e1b672..3df97cda089e7c962687f8fa1a95e4733cbe337d 100644 (file)
@@ -134,7 +134,7 @@ function write_extensions($extensions=null, $company = null)
        $n = count($exts);
 
        $msg = "<?php\n\n";
-       if ($company != -1)
+       if ($company == -1)
                $msg .=
 "/* List of installed additional modules and plugins. If adding extensions at the beginning 
        of the list, make sure it's index is set to 0 (it has ' 0 => ');
index 11c30bfa5d2f62a6c53093e53a73331e4d01cff8..5b5788e6739ac2674da37e3ff542e25ca5d330a8 100644 (file)
@@ -81,7 +81,7 @@ function handle_submit()
        global $path_to_root, $db_connections, $selected_id;
 
        $extensions = get_company_extensions();
-       if (!check_data($selected_id), $extensions)
+       if (!check_data($selected_id, $extensions))
                return false;
 
        $id = $_GET['id'];
@@ -142,7 +142,7 @@ function handle_submit()
 
 function handle_delete()
 {
-       global  $path_to_root;
+       global  $path_to_root, $db_connections;
        
        $extensions = get_company_extensions();
 
@@ -167,15 +167,27 @@ function handle_delete()
        }
        rmdir($filename);
 
+       $ident = $extensions[$id]['name'];
        unset($extensions[$id]);
        $mods = array_values($extensions);
        $extensions = $mods;
 
        if (!write_extensions($extensions))
                return;
-       
-       // should we also delete module form per company extension files?
-       
+
+       // update per company files
+       $cnt = count($db_connections);
+       for($i = 0; $i < $cnt; $i++) 
+       {
+               $exts = get_company_extensions($i);
+               foreach($exts as $key => $ext) {
+                       if ($ext['name'] == $ident) {
+                               unset($exts[$key]);
+                               break;
+                       }
+               }
+               write_extensions($exts, $i);
+       }
        meta_forward($_SERVER['PHP_SELF']);
 }