Ejemplo n.º 1
0
 /**
  * Deletes <files>
  *
  * @param  SimpleXMLElement   $files_element
  * @param  cbAdminFileSystem  $adminFS
  * @param  string|null        $installFileName
  * @return void
  */
 protected function deleteFiles(SimpleXMLElement $files_element, cbAdminFileSystem $adminFS, $installFileName)
 {
     foreach ($files_element->children() as $file) {
         // delete the files
         $filename = $file->data();
         if ($adminFS->file_exists($this->i_elementdir . $filename)) {
             $parts = pathinfo($filename);
             $subpath = $parts['dirname'];
             if ($subpath != '' && $subpath != '.' && $subpath != '..') {
                 $adminFS->deldir(_cbPathName($this->i_elementdir . $subpath . '/'));
             } else {
                 if ($file->getName() == 'foldername') {
                     $adminFS->deldir(_cbPathName($this->i_elementdir . $filename . '/'));
                 } elseif ($installFileName != $filename) {
                     $adminFS->unlink(_cbPathName($this->i_elementdir . $filename, false));
                 }
             }
         }
     }
 }