/** * 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; }
/** * Remove Children * * @param Entities\User $children */ public function removeChildren(\Entities\User $children) { $this->Children->removeElement($children); }