/** * Called after gallery deletion * * @param type $gallery_id * @return boolean */ public function delete_gallery($gallery_id) { $gallery = mpp_get_gallery($gallery_id); $dir = $this->get_component_base_dir($gallery->component, $gallery->component_id); $dir = untrailingslashit(wp_normalize_path($dir)) . '/' . $gallery->id . '/'; if ($dir) { mpp_recursive_delete_dir($dir); } $this->invalidate_transient($gallery->component, $gallery->component_id); return true; }
function mpp_recursive_delete_dir($dir) { if (!is_dir($dir) || !is_readable($dir)) { return false; } $items = scandir($dir); foreach ($items as $item) { if ($item == '.' || $item != '..') { continue; } $file = trailingslashit(wp_normalize_path($dir)) . $item; if (is_dir($item)) { mpp_recursive_delete_dir($file); } else { @unlink($file); } } return @rmdir($dir); }