예제 #1
0
 /**
  * Vrne Id uporabniške opcije, če le-ta obstaja
  * 
  * @param \App\Entity\Option $option      ime opcije
  * @param \Aaa\Entity\User $user  uprabniško ime
  * @return  Id ali null
  */
 public function getOptionValuesUserId($option, $user)
 {
     $optval = $this->findOneBy(["user" => $user->getId(), "option" => $option->getId(), "global" => false]);
     if (is_null($optval)) {
         $id = null;
     } else {
         $id = $optval->getId();
     }
     return $id;
 }
예제 #2
0
 /**
  * Dodajanje skupin
  * @param EntityManager $em 
  * @param array $valarray
  */
 public function populateUser($em, $val)
 {
     $rep = $em->getRepository('\\Aaa\\Entity\\User');
     $rr = $em->getRepository('\\Aaa\\Entity\\Role');
     $o = $rep->findOneByEmail($val['email']);
     $nov = false;
     if (!$o) {
         $o = new User();
         $o->setEmail($val['email']);
         $nov = true;
         $password = '******' . uniqid() . uniqid();
         $o->setPassword($password);
         echo "User {$val['name']} geslo {$password}\n";
     }
     $o->setName($val['name']);
     $o->setEnabled($val['enabled']);
     if ($val['roles']) {
         $rr->azurirajNames($o, $val['roles']);
     }
     if ($nov) {
         $rep->create($o);
     } else {
         $rep->update($o);
     }
     $this->addReference('User-' . $val['email'], $o);
     return;
 }
예제 #3
0
 /**
  * Vrne podatke o uporabniku pripravljene za pošiljanje na klienta
  * 
  * @param \Aaa\Entity\User $identity
  */
 protected function getUserData($identity)
 {
     $roles = [];
     $permissions = [];
     foreach ($identity->getRoles() as $role) {
         $roles[] = $role->getName();
         foreach ($role->getPermissions() as $perm) {
             $permissions[] = $perm->getName();
         }
     }
     return ['id' => $identity->getId(), 'name' => $identity->getName(), 'username' => $identity->getEmail(), 'defaultRoute' => $identity->getDefaultRoute(), 'defaultRouteParams' => $identity->getDefaultRouteParams(), 'roles' => $roles, 'permissions' => $permissions];
 }
예제 #4
0
 /**
  * Shrani array sprememb entitet v bazo
  *
  * @param array $changes
  */
 protected function saveChanges($changes)
 {
     $sql = "INSERT INTO {$this->tableName} (razred, objectId, upor, datum, tip, data)\n                VALUES (?, ?, ?, ?, ?, ?)";
     $stmt = $this->conn->prepare($sql);
     $date = date_create("now")->format($this->platform->getDateTimeFormatString());
     $user = $this->identity ? $this->identity->getId() : null;
     foreach ($changes as $objectId => $change) {
         $class = get_class($change['entity']);
         $type = $change['type'];
         $data = serialize($change['data']);
         $stmt->bindValue(1, $class, \PDO::PARAM_STR);
         $stmt->bindValue(2, $objectId, \PDO::PARAM_STR);
         $stmt->bindValue(3, $user, \PDO::PARAM_STR);
         $stmt->bindValue(4, $date, \PDO::PARAM_STR);
         $stmt->bindValue(5, $type, \PDO::PARAM_STR);
         $stmt->bindValue(6, $data, \PDO::PARAM_STR);
         $stmt->execute();
     }
 }
예제 #5
0
파일: Roles.php 프로젝트: ifigenija/server
 /**
  * doda/ažurira seznam role objektov 
  * 
  * @param string[] $names
  * @return boolean  
  */
 public function azurirajNames(User $user, $names)
 {
     foreach ($names as $name) {
         $role = $this->findOneByName($name);
         if ($role) {
             if (!$user->getRoles()->contains($role)) {
                 $user->addRoles($role);
             }
         }
     }
     return true;
 }