/** * Deletes a module and all its child fields as well as the module folder. * * @param integer $customWriteModuleId module id. */ function Delete($customWriteModuleId = null) { include_once 'RCCWP_CustomGroup.php'; if (isset($customWriteModuleId)) { global $wpdb; $customWriteModule = RCCWP_CustomWriteModule::Get($customWriteModuleId); $customWriteModuleName = $customWriteModule->name; $sql = sprintf("DELETE FROM " . RC_CWP_TABLE_MODULES . " WHERE id = %d", $customWriteModuleId); $wpdb->query($sql); // Remove template folder if (!empty($customWriteModuleName)) { $moduleTemplateFolder = FLUTTER_MODULES_DIR . $customWriteModuleName; RCCWP_CustomWriteModule::remove_dir($moduleTemplateFolder); } // Remove Layout data FlutterLayoutBlock::DeleteModule($customWriteModuleId); } }
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); } } }