Example #1
0
 /**
  * Adaugare / editare user
  *
  * @param  $aData
  * @return \BusinessLogic\Models\Entities\User
  */
 function editUser($aData)
 {
     if (!isset($aData['user_id'])) {
         $iRecord = false;
     } else {
         $iRecord = $aData["user_id"] ? $aData["user_id"] : 0;
     }
     if ($iRecord == 0) {
         //adaugare
         $user = new Entities\User();
         $bDuplicate = $this->checkEmail($aData['email']);
         if ($bDuplicate) {
             return "Adresa de email exista deja in sistem.";
         }
         //daca la creare parola nu a fost introdusa atunci parola va fi username-ul
         $user->setPassword($aData["newPassword"] != "" ? $this->CI->auth->encodePsswd($aData["newPassword"]) : $this->CI->auth->encodePsswd($aData["email"]));
     } else {
         //editare
         $user = $this->getUserByPk($aData['user_id']);
         //daca schimba emailul sa fie valid
         if ($aData['email'] != $user->getEmail()) {
             $bDuplicate = $this->checkEmail($aData['email']);
             if ($bDuplicate) {
                 return "Adresa de email exista deja in sistem.";
             }
         }
         //daca la editare se cere modificarea parolei
         if ($aData["newPassword"]) {
             $user->setPassword($this->CI->auth->encodePsswd($aData["newPassword"]));
         }
     }
     /*
               $aRol = explode(",", $aData["user_rol"]);
     
               //modificare roluri
               if (isset($aData["user_rol"]) && ( $aData["user_rol"] ) != "") {
               try {
               $user->removeAllRoles();
               } catch (\Exception $e) {
               echo $e->getMessage();
               }
               if (count($aRol) > 0) {
               foreach ($aRol as $iRol) {
               $rol = $this->em->find("Entities:Rol", $iRol);
               $user->addRol($rol);
               }
               }
               }
              * */
     $user->removeAllRoles();
     $rol = $this->em->find("Entities:Rol", $aData['rol_id']);
     $user->addRol($rol);
     /*
      //sunt necesare pachetele de asociat
      if ($rol->getRol_nume() == "client") {
      $user->removeAllPachete();
      $pachet = $this->em->find("Entities:Pachet", $aData['id_pachet']);
      $user->addPachet($pachet);
      }
     * 
     */
     $user->postHydrate($aData);
     /*
               //daca userul este activ atunci se reseteaza numarul de loginuri
               if ($aData["user_activ"] == 1) {
               $aTemp["user_nr_login"] = 0;
               } */
     $this->em->persist($user);
     $this->em->flush();
     return $user;
 }
Example #2
0
 /**
  * Remove Children
  *
  * @param Entities\User $children
  */
 public function removeChildren(\Entities\User $children)
 {
     $this->Children->removeElement($children);
 }