Changeset 698

Show
Ignore:
Timestamp:
07/20/06 20:04:20 (2 years ago)
Author:
donncha
Message:

Delete uploaded files when blog is deleted by site admin (#94)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/wp-admin/admin-db.php

    r693 r698  
    513513 
    514514                $wpdb->query( "DELETE FROM $wpdb->blogs WHERE blog_id = '$blog_id'" ); 
     515                $dir = ABSPATH . "wp-content/blogs.dir/{$blog_id}/files"; 
     516                $dir = rtrim($dir, DIRECTORY_SEPARATOR); 
     517                $top_dir = $dir; 
     518                $stack = array($dir); 
     519                $index = 0; 
     520 
     521                while ($index < count($stack)) { 
     522                        # Get indexed directory from stack 
     523                        $dir = $stack[$index]; 
     524 
     525                        $dh = @ opendir($dir); 
     526                        if ($dh) { 
     527                                while (($file = @ readdir($dh)) !== false) { 
     528                                        if ($file == '.' or $file == '..') 
     529                                                continue; 
     530 
     531                                        if (@ is_dir($dir . DIRECTORY_SEPARATOR . $file)) 
     532                                                $stack[] = $dir . DIRECTORY_SEPARATOR . $file; 
     533                                        else if (@ is_file($dir . DIRECTORY_SEPARATOR . $file)) 
     534                                                @ unlink($dir . DIRECTORY_SEPARATOR . $file); 
     535                                } 
     536                        } 
     537                        $index++; 
     538                } 
     539 
     540                $stack = array_reverse($stack);  // Last added dirs are deepest 
     541                foreach($stack as $dir) { 
     542                        if ( $dir != $top_dir) 
     543                                @ rmdir($dir); 
     544                } 
    515545        } 
    516546