コード例 #1
0
ファイル: UserAdapter.php プロジェクト: patrova/omeka-s
 /**
  * {@inheritDoc}
  */
 public function hydrate(Request $request, EntityInterface $entity, ErrorStore $errorStore)
 {
     if ($this->shouldHydrate($request, 'o:name')) {
         $entity->setName($request->getValue('o:name'));
     }
     if ($this->shouldHydrate($request, 'o:email')) {
         $entity->setEmail($request->getValue('o:email'));
     }
     $role = $request->getValue('o:role');
     if ($role && $this->shouldHydrate($request, 'o:role')) {
         $this->authorize($entity, 'change-role');
         // Ask specially for permission to set an admin role
         $acl = $this->getServiceLocator()->get('Omeka\\Acl');
         if ($acl->isAdminRole($role)) {
             $this->authorize($entity, 'change-role-admin');
         }
         $entity->setRole($role);
     }
     if ($this->shouldHydrate($request, 'o:is_active')) {
         $isActive = (bool) $request->getValue('o:is_active', $entity->isActive());
         if ($isActive !== $entity->isActive()) {
             $this->authorize($entity, 'activate-user');
             $entity->setIsActive($isActive);
         }
     }
 }