/** * @param BaseFile|null $parent */ public function copyPermission(BaseFile $parent = null) { $parent = $parent ?: $this->parent; if ($parent === null) { return; } if (!$this->user) { $this->user = $parent->user; } $this->protected = $parent->protected; $this->readRoles->clear(); $this->writeRoles->clear(); foreach ($parent->readRoles as $role) { $this->readRoles->add($role); } foreach ($parent->writeRoles as $role) { $this->writeRoles->add($role); } }