Esempio n. 1
0
 function _deleteFolder($fo, $recursive = true)
 {
     global $Config, $User, $Logger;
     // Also delete all sub folders!
     if ($recursive) {
         $fop = new dbIO('FSFolder');
         $fop->UserID = $User->ID;
         $fop->FilesystemID = $this->ID;
         $fop->FolderID = $fo->ID;
         if ($fop = $fop->find()) {
             foreach ($fop as $fopp) {
                 $Logger->log('Attempting to delete sub folder -> ' . $fopp->Name . '/ (' . $fopp->ID . ')');
                 $this->_deleteFolder($fopp, $recursive);
             }
         }
     }
     // Also delete all files!
     $fi = new dbIO('FSFile');
     $fi->UserID = $User->ID;
     $fi->FilesystemID = $this->ID;
     $fi->FolderID = $fo->ID;
     if ($files = $fi->find()) {
         foreach ($files as $file) {
             $Logger->log('Attempting to delete file ' . $file->Filename . ' in ' . $fo->Name . '/ (' . $fo->ID . ')');
             if (file_exists($Config->FCUpload . $fi->DiskFilename)) {
                 unlink($Config->FCUpload . $file->DiskFilename);
             }
             $file->Delete();
         }
     }
     $Logger->log('Deleting database entry of folder ' . $fo->Name . '/ (' . $fo->ID . ')');
     $fo->Delete();
     return true;
 }