예제 #1
0
 /**
  * @param \ride\web\security\model\orm\entry\RoleEntry $role 
  * @return null
  */
 public function setRole(AliasRoleEntry $role = NULL)
 {
     $isClean = false;
     if (!$this->role && !$role || $this->role && $role && $this->role->getId() === $role->getId()) {
         $isClean = true;
     }
     $this->role = $role;
     if (!$isClean && $this->entryState === self::STATE_CLEAN) {
         $this->entryState = self::STATE_DIRTY;
     }
 }
예제 #2
0
파일: UserEntry.php 프로젝트: brendt/ridme
 /**
  * @param \ride\web\security\model\orm\entry\RoleEntry $entry 
  * @return null
  */
 public function removeFromRoles(AliasRoleEntry $entry)
 {
     $this->getRoles();
     $status = false;
     foreach ($this->roles as $rolesIndex => $rolesValue) {
         if ($rolesValue === $entry || $rolesValue->getId() === $entry->getId()) {
             unset($this->roles[$rolesIndex]);
             $status = true;
             break;
         }
     }
     if ($status && $this->entryState === self::STATE_CLEAN) {
         $this->entryState = self::STATE_DIRTY;
     }
     return $status;
 }
예제 #3
0
 /**
  * @param \ride\web\security\model\orm\entry\RoleEntry $role 
  * @return null
  */
 public function setRole(RoleEntry $role = NULL)
 {
     if (!isset($this->loadedFields['role'])) {
         $this->loadProperties();
     }
     $oldValue = null;
     if (array_key_exists('role', $this->loadedValues)) {
         $oldValue = $this->loadedValues['role'];
     }
     if (!$oldValue && !$role || $oldValue && $role && $oldValue->getId() === $role->getId()) {
         $this->role = $role;
         return;
     }
     return parent::setRole($role);
 }
예제 #4
0
 /**
  * @return integer
  */
 public function getDateModified()
 {
     if (!isset($this->loadedFields['dateModified'])) {
         $this->loadProperties();
     }
     return parent::getDateModified();
 }