public function registrationFormSucceeded($form, $values) { $password = $values->password; unset($values->password); unset($values->password2); try { $id = $this->model->insert($values); $this->model->update($id, array("enabled" => 0)); $this->flashMessage("Uživatel byl úspěšně zaregistrován.", "success"); $this->userModel->add($id, $password); $random = \Nette\Utils\Random::generate(); $this->userModel->setToken($id, $random); $template = $this->createTemplate()->setFile(__DIR__ . '/../templates/emails/accountVerification.latte'); $template->theme = "Ověření registrace"; $template->firstname = $values->firstname; $template->lastname = $values->lastname; $template->gender = $values->gender; $template->username = $values->email; $template->verificationToken = $random; $mail = new \Nette\Mail\Message(); $mail->setFrom($this->senderName)->addTo($values->email)->setSubject("Potvrzení registrace")->setHtmlBody($template); $this->mailer->send($mail); $this->flashMessage("Na adresu " . $values->email . " byl zaslán ověřovací kód.", "info"); } catch (Exception $e) { $this->flashMessage("Registrace uživatele se nepodařila.", "danger"); } $this->redirect("verification", array("username" => $values->email)); }
public function facebookRegistrationFormSucceeded($form, $values) { $fbUserId = $values->id; unset($values->id); try { if ($this->facebookUserModel->exists($fbUserId)) { $this->flashMessage("Uživatel s tímto FacebookID již je v systému zaregistrován.", "danger"); $this->redirect("in"); } else { $id = $this->model->insert($values); $this->model->update($id, array("enabled" => 1, "active" => 1)); $this->flashMessage("Uživatel byl úspěšně zaregistrován.", "success"); $this->facebookUserModel->add(array("user_id" => $id, "facebook_id" => $fbUserId, "username" => $values->firstname . " " . $values->lastname, "email" => $values->email)); $this->facebookUserModel->authenticate(array($this->facebook->getUser())); $this->facebookUserModel->updateToken($this->facebook->getUser(), $this->facebook->getAccessToken()); } } catch (Exception $e) { $this->flashMessage("Registrace uživatele se nepodařila.", "danger"); } $this->redirect(":Front:Homepage:default"); }
public function actionImportStudents() { $result = $this->model->importStudents(); $messages = $result->messages; $data = $result->data; $reports = array(); $this->studentsModel->invalidate(); $classConversionTable = array(); $classData = $this->classesModel->query("SELECT id, bakalari_code FROM sch_class")->fetchAll(); foreach ($classData as $classRecord) { $classConversionTable[$classRecord["bakalari_code"]] = $classRecord["id"]; } foreach ($data as $record) { $id = $this->studentsModel->existsBakalari($record->bakalari_code); if (!$id) { $newid = $this->usersModel->insert(array("firstname" => $record->firstname, "lastname" => $record->lastname, "title" => $record->title, "title_after" => $record->title_after, "gender" => $record->gender, "birthdate" => $record->birthdate, "phone" => $record->mobile_phone, "personal_identification_number" => $record->personal_identification_number, "email" => $record->email, "enabled" => 1, "active" => 1)); $this->studentsModel->dumbInsert(array("user_id" => $newid, "catalog_number" => $record->catalog_number, "class_id" => $classConversionTable[$record->class_code], "network_login" => $record->login, "bakalari_code" => $record->bakalari_code)); $this->studentsModel->query("INSERT INTO login_imap VALUES (\"{$newid}\",\"{$record->login}\")"); $reports[] = "ADD: Student " . $record->firstname . " " . $record->lastname . " byl přidán. ({$newid})"; } else { $recid = $id->user_id; $this->usersModel->update($recid, array("firstname" => $record->firstname, "lastname" => $record->lastname, "title" => $record->title, "title_after" => $record->title_after, "gender" => $record->gender, "birthdate" => $record->birthdate, "phone" => $record->mobile_phone, "personal_identification_number" => $record->personal_identification_number, "email" => $record->email, "enabled" => 1, "active" => 1)); $this->studentsModel->update($recid, array("catalog_number" => $record->catalog_number, "class_id" => $classConversionTable[$record->class_code], "network_login" => $record->login, "bakalari_code" => $record->bakalari_code, "invalidated" => 0)); $this->studentsModel->query("INSERT INTO login_imap (user_id,username) VALUES (\"{$recid}\",\"{$record->login}\") ON DUPLICATE KEY UPDATE username = \"{$record->login}\""); $reports[] = "UPDATE: Student " . $record->firstname . " " . $record->lastname . " byl aktualizován. ({$recid})"; } } $this->studentsModel->query("DELETE FROM login_local WHERE user_id IN(SELECT user_id FROM sch_student WHERE invalidated = 1)"); $studentsGroupId = $this->membershipModel->getIdfromRole("student"); if ($studentsGroupId) { $this->membershipModel->emptyGroup($studentsGroupId); $reports[] = "Skupina {$studentsGroupId} byla vyprázdněna."; $this->membershipModel->query("INSERT INTO membership (`user_id`,`group_id`) SELECT user_id,{$studentsGroupId} FROM `sch_student`"); $reports[] = "Skupina {$studentsGroupId} byla naplněna aktuálními studenty."; } $this->studentsModel->removeUnused(); $this->template->reports = $reports; $this->template->messages = $messages; $this->setView("result"); }