function delete($id, $phrases = true, $templates = true) { global $db; if ($templates or $phrases) { $module = $db->fetch('modules', 'id', $id); $var = $module[0]['var']; } $db->delete('modules', 'id', $id); if ($templates) { $templates = $db->delete('templates', 'owner', $var); } if ($phrases) { $phrases = $db->delete('phrases', 'owner', $var); } $dir = $module[0]['directory']; require '../includes/functions/super_rmdir.php'; @super_rmdir("../modules/{$dir}"); return true; }
/** * Delete a file, or a folder and its contents * * @author Aidan Lister <*****@*****.**> * @version 1.0.2 * @param string $dirname Directory to delete * @return bool Returns TRUE on success, FALSE on failure */ function super_rmdir($dirname) { // Sanity check if (!file_exists($dirname)) { return false; } // Simple delete for a file if (is_file($dirname)) { return unlink($dirname); } // Loop through the folder $dir = dir($dirname); while (false !== ($entry = $dir->read())) { // Skip pointers if ($entry == '.' || $entry == '..') { continue; } // Recurse super_rmdir("{$dirname}/{$entry}"); } // Clean up $dir->close(); return rmdir($dirname); }