private function deleteDirectories($directory)
 {
     foreach (new Gpf_Io_DirectoryIterator($directory, '', false, true) as $fullFileName => $fileName) {
         $this->checkInterruption();
         $this->deleteDirectories($fullFileName);
         $file = new Gpf_Io_File($fullFileName);
         $file->rmdir();
     }
 }
    private function copyFilesToCacheZipFolder($unpackedZipFolderPath, $cacheZipFolderPath) {
        $unpackedZipFolder = new Gpf_Io_File($unpackedZipFolderPath);
        $cacheZipFolder =  new Gpf_Io_File($cacheZipFolderPath);

        if ($cacheZipFolder->isExists()) {
            $cacheZipFolder->emptyFiles(true);
            $cacheZipFolder->rmdir();
        }
        $cacheZipFolder->mkdir();
        
        $unpackedZipFolder->recursiveCopy($cacheZipFolder);
    }
 private function checkAccountsWritable()
 {
     $requirement = new Gpf_Install_Requirement();
     $requirement->setPositiveName($this->_('Configuration directory is writable'));
     $requirement->setNegativeName($this->_('Configuration directory has to be writable'));
     $accountDirectory = Gpf_Paths::getInstance()->getAccountsPath();
     $result = @is_dir($accountDirectory) && is_writable($accountDirectory);
     if ($result) {
         $this->deleteIfExistsTestFilesAndDir($accountDirectory);
         $testFile = new Gpf_Io_File($accountDirectory . 'check');
         $subTestFile = new Gpf_Io_File($accountDirectory . 'check/subcheck');
         try {
             $testFile->open('w');
             $testFile->close();
             $testFile->delete();
         } catch (Exception $e) {
             $result = false;
             $requirement->setNegativeName($this->_('Could not create file inside %s directory', $accountDirectory));
         }
         try {
             $testFile->mkdir();
             $testFile->rmdir();
         } catch (Exception $e) {
             $result = false;
             $requirement->setNegativeName($this->_('Could not create directory inside %s directory', $accountDirectory));
         }
         try {
             $testFile->mkdir();
             $subTestFile->open('w');
             $subTestFile->close();
             $subTestFile->delete();
             $subTestFile->mkdir();
             $subTestFile->rmdir();
             $testFile->rmdir();
         } catch (Exception $e) {
             $result = false;
             $requirement->setNegativeName($this->_('Could not create file or directory inside %s subdirectory. Probably safe mode is not properly configured.', $accountDirectory));
         }
     }
     $requirement->setResult($result);
     $description = $this->_('Please make directory %s and all subdirectories writable by webserver.', $accountDirectory);
     if (stripos(PHP_OS, 'win') === false) {
         $description .= $this->_('On unix-like systems you can type "chmod -R 777 %s".', $accountDirectory);
     }
     $description .= $this->_('On any system you can set write permissions using your favourite FTP client.');
     $requirement->setFixDescription($description);
     $this->addRequirement($requirement);
 }
Example #4
0
 private function deleteTempDir(Gpf_Io_File $dir){
     $dir->emptyFiles(true);
     $dir->rmdir();
 }