Quellcode durchsuchen

#2991 - Rateable fields - clear data on uninstall

RomanL vor 6 Jahren
Ursprung
Commit
d4dcfbcd4f

+ 5 - 0
inc/classes/BxDolForm.php

@@ -1051,6 +1051,11 @@ class BxDolForm extends BxDol implements iBxDolReplaceable
         return false;
         return false;
     }
     }
 
 
+    public static function onModuleUninstall ($sModuleName)
+    {
+        BxDolFormQuery::removeFormFields($sModuleName);
+    }
+    
     function _initCheckerNestedForms ()
     function _initCheckerNestedForms ()
     {
     {
         $isValid = true;
         $isValid = true;

+ 9 - 0
inc/classes/BxDolFormQuery.php

@@ -307,6 +307,15 @@ class BxDolFormQuery extends BxDolDb
             $oDb->query("DELETE FROM `sys_form_fields_ids` WHERE  `object_form` = :object_form", $aBindings);
             $oDb->query("DELETE FROM `sys_form_fields_ids` WHERE  `object_form` = :object_form", $aBindings);
         }
         }
     }
     }
+        
+    static public function removeFormFields($sModule)
+    {
+        $oDb = BxDolDb::getInstance();
+        $aBindings = array(
+            'module' => $sModule,
+        );
+        $oDb->query("DELETE FROM `sys_form_fields_ids` WHERE  `module` = :module", $aBindings);
+    }
 
 
     public function getFormInputs()
     public function getFormInputs()
     {
     {

+ 3 - 0
studio/classes/BxDolStudioInstaller.php

@@ -938,6 +938,9 @@ class BxDolStudioInstaller extends BxDolInstallerUtils
         if($iFiles)
         if($iFiles)
 			$bSetModulePendingUninstall = true;
 			$bSetModulePendingUninstall = true;
 
 
+        // delete forms common data
+        BxDolForm::onModuleUninstall($this->_aConfig['name'], $iFiles);
+        
         // queue for deletion storage files
         // queue for deletion storage files
         if(!empty($this->_aConfig['storages']) && is_array($this->_aConfig['storages']))        
         if(!empty($this->_aConfig['storages']) && is_array($this->_aConfig['storages']))        
             foreach($this->_aConfig['storages'] as $s)
             foreach($this->_aConfig['storages'] as $s)