/**
* @var array tmpDirs
*/
- private $tmpDirs=array();
+ private $tmpDirs = array();
/**
* @return array
}
}
+ public function testBlacklist() {
+ OC_Hook::clear('OC_Filesystem');
+ OC_Hook::connect('OC_Filesystem', 'write', 'OC_Filesystem', 'isBlacklisted');
+ OC_Hook::connect('OC_Filesystem', 'rename', 'OC_Filesystem', 'isBlacklisted');
+
+ $run = true;
+ OC_Hook::emit(
+ OC_Filesystem::CLASSNAME,
+ OC_Filesystem::signal_write,
+ array(
+ OC_Filesystem::signal_param_path => '/test/.htaccess',
+ OC_Filesystem::signal_param_run => &$run
+ )
+ );
+ $this->assertFalse($run);
+
+ if (OC_Filesystem::getView()) {
+ $user = OC_User::getUser();
+ } else {
+ $user = uniqid();
+ OC_Filesystem::init('/' . $user . '/files');
+ }
+
+ OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/');
+
+ $rootView = new OC_FilesystemView('');
+ $rootView->mkdir('/' . $user);
+ $rootView->mkdir('/' . $user . '/files');
+
+ $this->assertFalse(OC_Filesystem::file_put_contents('/.htaccess', 'foo'));
+ $fh = fopen(__FILE__, 'r');
+ $this->assertFalse(OC_Filesystem::file_put_contents('/.htaccess', $fh));
+ }
+
public function testHooks() {
- if(OC_Filesystem::getView()){
+ if (OC_Filesystem::getView()) {
$user = OC_User::getUser();
- }else{
- $user=uniqid();
- OC_Filesystem::init('/'.$user.'/files');
+ } else {
+ $user = uniqid();
+ OC_Filesystem::init('/' . $user . '/files');
}
OC_Hook::clear('OC_Filesystem');
OC_Hook::connect('OC_Filesystem', 'post_write', $this, 'dummyHook');
OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/');
- $rootView=new OC_FilesystemView('');
- $rootView->mkdir('/'.$user);
- $rootView->mkdir('/'.$user.'/files');
+ $rootView = new OC_FilesystemView('');
+ $rootView->mkdir('/' . $user);
+ $rootView->mkdir('/' . $user . '/files');
OC_Filesystem::file_put_contents('/foo', 'foo');
OC_Filesystem::mkdir('/bar');