function UpdateAllModulesSettings()
 {
     global $wpdb;
     $customModules = RCCWP_CustomWriteModule::GetCustomModules();
     $currDuplicates = $wpdb->get_results("SELECT * FROM " . FLUTTER_TABLE_MODULES_DUPLICATES);
     $currModules = $wpdb->get_results("SELECT * FROM " . FLUTTER_TABLE_LAYOUT_MODULES);
     foreach ($currModules as $currModule) {
         // -- Delete obselete modules
         if ($currModule->module_id > -1) {
             $found = false;
             foreach ($customModules as $customModule) {
                 if ($customModule->id == $currModule->module_id) {
                     $found = true;
                 }
             }
             if (!$found) {
                 FlutterLayoutBlock::DeleteModule($currModule->module_id);
             }
         }
         // -- Delete obselete duplicates
         $found = false;
         foreach ($currDuplicates as $currDuplicate) {
             if ($currDuplicate->duplicate_id == $currModule->duplicate_id) {
                 $found = true;
             }
         }
         if (!$found && $currModule->duplicate_id != 0) {
             FlutterLayoutBlock::DeleteDuplicate($currModule->duplicate_id);
         }
     }
     // -- Insert/Update modules in the Layout table
     foreach ($customModules as $customModule) {
         $filename = FLUTTER_MODULES_DIR . $customModule->name . "/configure.xml";
         FlutterLayoutBlock::UpdateModuleSettings($filename, $customModule->id);
         //Insert duplicates
         $currDuplicates = $wpdb->get_results("SELECT * FROM " . FLUTTER_TABLE_MODULES_DUPLICATES . " WHERE module_id = '{$customModule->id}'");
         foreach ($currDuplicates as $currDuplicate) {
             FlutterLayoutBlock::UpdateModuleSettings($filename, $customModule->id, false, false, $currDuplicate->duplicate_id);
         }
     }
 }