/** * constructor * * @param string $name * @param int $permissions */ public function __construct($name, $permissions = 0777) { $this->name = $name; $this->lastModified = time(); $this->permissions = $permissions; $this->user = vfsStream::getCurrentUser(); $this->group = vfsStream::getCurrentGroup(); }
/** * constructor * * @param string $name * @param int $permissions optional */ public function __construct($name, $permissions = null) { $this->name = $name; $time = time(); if (null === $permissions) { $permissions = $this->getDefaultPermissions() & ~vfsStream::umask(); } $this->lastAccessed = $time; $this->lastAttributeModified = $time; $this->lastModified = $time; $this->permissions = $permissions; $this->user = vfsStream::getCurrentUser(); $this->group = vfsStream::getCurrentGroup(); }
/** * opens a directory * * @param string $path * @param int $options * @return bool */ public function dir_opendir($path, $options) { $path = $this->resolvePath(vfsStream::path($path)); $this->dir = $this->getContentOfType($path, vfsStreamContent::TYPE_DIR); if (null === $this->dir || $this->dir->isReadable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup()) === false) { return false; } $this->dirIterator = $this->dir->getIterator(); return true; }
/** * @test */ public function statReturnsFullDataForDirectoriesWithDot() { $this->assertEquals(array(0 => 0, 1 => 0, 2 => 040777, 3 => 0, 4 => vfsStream::getCurrentUser(), 5 => vfsStream::getCurrentGroup(), 6 => 0, 7 => 0, 8 => 100, 9 => 100, 10 => 100, 11 => -1, 12 => -1, 'dev' => 0, 'ino' => 0, 'mode' => 040777, 'nlink' => 0, 'uid' => vfsStream::getCurrentUser(), 'gid' => vfsStream::getCurrentGroup(), 'rdev' => 0, 'size' => 0, 'atime' => 100, 'mtime' => 100, 'ctime' => 100, 'blksize' => -1, 'blocks' => -1), stat($this->fooURL . '/.')); }
/** * setting and retrieving owner group of a file * * @test * @group permissions */ public function group() { $this->assertEquals(vfsStream::getCurrentGroup(), $this->file->getGroup()); $this->assertTrue($this->file->isOwnedByGroup(vfsStream::getCurrentGroup())); $this->assertSame($this->file, $this->file->chgrp(vfsStream::GROUP_USER_1)); $this->assertEquals(vfsStream::GROUP_USER_1, $this->file->getGroup()); $this->assertTrue($this->file->isOwnedByGroup(vfsStream::GROUP_USER_1)); }
/** * @test * @group permissions * @group bug_15 */ public function allPermissionsForOther() { $abstractContent = new TestvfsStreamAbstractContent('foo', 07); $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup())); $this->assertFalse($abstractContent->isReadable(-1, vfsStream::getCurrentGroup())); $this->assertTrue($abstractContent->isReadable(-1, -1)); $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup())); $this->assertFalse($abstractContent->isWritable(-1, vfsStream::getCurrentGroup())); $this->assertTrue($abstractContent->isWritable(-1, -1)); $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup())); $this->assertFalse($abstractContent->isExecutable(-1, vfsStream::getCurrentGroup())); $this->assertTrue($abstractContent->isExecutable(-1, -1)); }