예제 #1
0
 /**
  * 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();
 }
예제 #3
0
 /**
  * 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 of a file
  *
  * @test
  * @group  permissions
  */
 public function owner()
 {
     $this->assertEquals(vfsStream::getCurrentUser(), $this->file->getUser());
     $this->assertTrue($this->file->isOwnedByUser(vfsStream::getCurrentUser()));
     $this->assertSame($this->file, $this->file->chown(vfsStream::OWNER_USER_1));
     $this->assertEquals(vfsStream::OWNER_USER_1, $this->file->getUser());
     $this->assertTrue($this->file->isOwnedByUser(vfsStream::OWNER_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));
 }