public function testHtaccessWithFileTypesComplex() { $htaccess = new Htaccess(); $htaccess_desired_content = ' IndexIgnore * AddHandler cgi-script .php .php2 .php3 .php4 .php5 .php6 .php7 .php8 .pl .py .js .jsp .asp .htm .html .shtml .sh .cgi Options -ExecCGI -Indexes RewriteRule ^(php\\.ini|\\.htaccess) - [NC,F] <LimitExcept GET POST> Deny from all </LimitExcept> php_flag engine off Order deny,allow Deny from all <FilesMatch \\"^[^.]+\\.(?i:jpg|jpeg|png|gif)$\\"> Allow from all </FilesMatch> '; $htaccess->setFileTypes('jpg|jpeg|png|gif'); $htaccess_content = $htaccess->getContent(); $this->assertEquals(trim(preg_replace('/\\t+/', '', $htaccess_desired_content)), $htaccess_content); }
/** * @depends testUploadFolderChangeableStorage1ToStorage1WithNewFileTypes */ public function testUploadFolderChangeableStorage1ToStorage1ChangedFileTypesHtaccessFile() { $saved_htaccess_content = self::$fs->getChild('changeable/.htaccess')->getContent(); $htaccess = new Htaccess(); $htaccess->setFileTypes('png|gif'); $this->assertEquals($htaccess->getContent(), $saved_htaccess_content); }
/** * Write new .htaccess and it's sha1 checksum * * @param string $htaccess_file .htaccess file path * @param string $htaccess_checksum_file .htaccess_checksum file path * @param string $storage_type Storage type * @param string $file_types_string File types as string */ private function writeHtaccess($htaccess_file, $htaccess_checksum_file, $storage_type, $file_types_string) { $Htaccess = new Htaccess(); if ($storage_type == '1') { $Htaccess->setFileTypes($file_types_string); } file_put_contents($htaccess_file, $Htaccess->getContent()); $htaccess_sha1_checksum = sha1_file($htaccess_file); file_put_contents($htaccess_checksum_file, $htaccess_sha1_checksum); }