public function register(Application $app) { $app->get('/', function () use($app) { return $app->renderView('index.html.twig', array('settings' => $app['gearmanui.settings'])); }); $app->get('/status', function () use($app) { return $app->renderView('status.html.twig'); }); $app->get('/workers', function () use($app) { return $app->renderView('workers.html.twig'); }); $app->get('/servers', function () use($app) { return $app->renderView('servers.html.twig'); }); $app->get('/info', function (Request $request) use($app) { $info = $app['gearman.serverInfo']->getServersInfo(); return new JsonResponse($info); // return $app->renderView('gearman.json.twig'); }); }
public function displayEmailAction(Application $app, Request $request, $email, $ext) { $dns = $this->options['dns']; $vars = ['login_route' => $request->get('_login_route'), 'register_confirm_route' => $request->get('_register_confirm_route'), 'register_route' => $request->get('_register_route'), 'recover_password_confirm_route' => $request->get('_recover_password_confirm_route'), 'from' => '*****@*****.**', 'to' => '*****@*****.**']; switch ($email) { case 'require_email_verification': $vars['subject'] = $app['translator']->trans($dns . 'require_email_verification.subject'); $vars['token'] = 'xxxTOKENxxx'; break; case 'email_verification': $vars['subject'] = $app['translator']->trans($dns . 'email_verification.subject'); $vars['token'] = 'xxxTOKENxxx'; break; case 'recover_password': $vars['subject'] = $app['translator']->trans($dns . 'email_recover_password.subject'); $vars['token'] = 'xxxTOKENxxx'; break; default: $app->abort(404, "{$email} not found"); } $vars = call_user_func($app[$dns . 'twig_vars_injector'], 'email:' . $email, $request, $vars); return $app->renderView($this->options['ns'] . "/email/{$email}.{$ext}.twig", $vars); }
public function changePasswordAction(Application $app, Request $request) { $dns = $this->options['dns']; $firewall = $request->get('_firewall'); $changePasswordException = $request->getSession()->get($dns . 'change_password_exception', []); $changePasswordException += ['field_errors' => [], 'message' => null]; $vars = ['title' => 'User Pack Change Password', 'error' => $changePasswordException['message']]; $userChangePasswordForm = $app->namedForm('user_change_password')->add('old_password', PasswordType::class, ['label' => $dns . 'change_password.labels.old_password'])->add('password', PasswordType::class, ['label' => $dns . 'change_password.labels.password'])->add('confirm_password', PasswordType::class, ['label' => $dns . 'change_password.labels.confirm_password'])->add('submit', SubmitType::class, ['label' => $dns . 'change_password.labels.submit'])->getForm(); $userChangePasswordForm->handleRequest($request); if ($userChangePasswordForm->isSubmitted()) { if ($userChangePasswordForm->isValid()) { $data = $userChangePasswordForm->getData(); /** @var \Symfony\Component\Security\Core\User\User $user */ $user = $app['user']; $dbUser = $app[$dns . 'user_loader']($user->getUsername(), false); if (!$app[$dns . 'password_validator']($dbUser->getPassword(), $data['old_password'])) { $request->getSession()->getFlashBag()->add('message', $app['translator']->trans($dns . 'change_password.messages.bad_old_password')); $request->getSession()->remove($dns . 'change_password_exception'); return $app->redirect($request->getUri()); } unset($data['old_password']); $constraints = []; $constraints['password'] = new Constraints\Length(['min' => 8, 'minMessage' => $dns . 'change_password.validators.password.length.min', 'max' => 16, 'maxMessage' => $dns . 'change_password.validators.password.length.max']); $constraints['confirm_password'] = new Constraints\EqualTo(['value' => $data['password'], 'message' => $dns . 'change_password.validators.confirm_password.equal_to.password']); $constraints = new Constraints\Collection($constraints); $violations = $app['validator']->validate($data, $constraints); if (count($violations)) { $fieldErrors = []; foreach ($violations as $violation) { /** @var \Symfony\Component\Validator\ConstraintViolation $violation */ $field = $violation->getPropertyPath(); $field = trim($field, '[]'); if (!isset($fieldErrors[$field])) { $fieldErrors[$field] = []; } $fieldErrors[$field][] = $violation->getMessage(); } $request->getSession()->set($dns . 'change_password_exception', ['message' => $app['translator']->trans($dns . 'change_password.errors.validation', [], 'errors'), 'field_errors' => $fieldErrors]); } else { $dbUser->setPassword($app[$dns . 'password_encoder']($data['password'])); $app['orm.em']->flush(); $request->getSession()->getFlashBag()->add('message', $app['translator']->trans($dns . 'change_password.messages.password_changed')); $request->getSession()->remove($dns . 'change_password_exception'); } } } if ($request->isMethod('POST')) { return $app->redirect($request->getUri()); } foreach ($changePasswordException['field_errors'] as $field => $errors) { if ($userChangePasswordForm->has($field)) { foreach ($errors as $error) { $userChangePasswordForm->get($field)->addError(new FormError($error)); } } } $vars['user_change_password_form'] = $userChangePasswordForm->createView(); foreach ($this->publicRoutes as $route) { $vars[$route] = $request->get($route); } $vars = call_user_func($app[$dns . 'twig_vars_injector'], 'front:' . __METHOD__, $request, $vars); return $app->renderView($this->options['ns'] . "/front/change_password.html.twig", $vars); }