本文整理汇总了PHP中Slim\Http\Request::getParam方法的典型用法代码示例。如果您正苦于以下问题:PHP Request::getParam方法的具体用法?PHP Request::getParam怎么用?PHP Request::getParam使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Slim\Http\Request
的用法示例。
在下文中一共展示了Request::getParam方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: login
public function login(Request $request, Response $response, array $args)
{
$this->logger->info("Login page action dispatched");
$username = null;
$error = null;
$urlRedirect = $request->getUri()->getBaseUrl() . $this->router->pathFor('homepage');
// if ($request->getAttribute('r') && $request->getAttribute('r') != '/logout' && $request->getAttribute('r') != '/login') {
// $_SESSION['urlRedirect'] = $request->getAttribute('r');
// }
if (isset($_SESSION['urlRedirect'])) {
$urlRedirect = $_SESSION['urlRedirect'];
unset($_SESSION['urlRedirect']);
}
if ($request->isPost()) {
$username = $request->getParam('username');
$password = $request->getParam('password');
$result = $this->authenticator->authenticate($username, $password);
if ($result->isValid()) {
//$error = $this->authenticator->getIdentity();
return $response->withRedirect($urlRedirect);
} else {
$messages = $result->getMessages();
$error = (string) $messages[0];
//$this->flash->addMessage('flash', $error);
}
}
$this->view->render($response, 'login.twig', ['username' => $username, 'error' => $error]);
return $response;
}
示例2: dispatch
public function dispatch(Request $request, Response $response, $args)
{
$speakers = $this->eventManager->getSpeakers();
$venues = $this->eventService->getVenues();
$supporters = $this->eventManager->getSupporters();
$eventInfo = ['title' => '', 'description' => ''];
if ($request->getParam('meetup_id')) {
$event = $this->eventService->getEventById((int) $request->getParam('meetup_id'));
if (!empty($event)) {
$eventInfo['title'] = $event['subject'];
$eventInfo['description'] = $event['description'];
$eventInfo['venue_id'] = $event['venue_id'];
$date = \DateTime::createFromFormat('F jS Y', $event['date']);
$eventInfo['date'] = $date->format("d/m/Y");
}
}
$errors = $this->flash->getMessage('event') ?? [];
$frmErrors = [];
if ($request->isPost()) {
$validator = new EventValidator($_POST);
try {
$validator->talkValidation()->dateValidation();
if (!$validator->isValid()) {
throw new \Exception('Form not valid.');
}
$event = new \App\Model\Event\Event(new Talk(strip_tags($request->getParam('talk_title'), '<p><a><br>'), strip_tags($request->getParam('talk_description'), '<p><img><a><br>'), $this->eventManager->getSpeakerById((int) $request->getParam('speaker'))), $request->getParam('start_date'), $request->getParam('start_time'), $this->eventService->getVenueById($request->getParam('venue')), $this->eventManager->getSupporterByID($request->getParam('supporter')));
$this->eventService->createEvent($event);
if (!$request->getParam('meetup_id')) {
if ((int) $this->eventService->createMeetup()->getStatusCode() !== 201) {
throw new \Exception('Could not create meetup event.');
}
} else {
// Do not create a meetup
$this->eventService->getMeetupEvent()->setEventID((int) $request->getParam('meetup_id'));
}
if ((int) $this->eventService->createJoindinEvent($this->eventSettings['name'], $this->eventSettings['description'])->getStatusCode() !== 201) {
$this->flash->addMessage('event', 'Could not create Joindin event. Please try again.');
return $response->withStatus(302)->withHeader('Location', '/create-event?meetup_id=' . $this->eventService->getMeetupEvent()->getMeetupEventID());
}
if ((int) $this->eventService->createJoindinTalk()->getStatusCode() !== 201) {
// TODO
// Delete meetup event and JoindIn event just created.
throw new \Exception('Could not create Joindin talk.');
}
$eventEntity = $this->eventService->updateEvents();
return $response->withStatus(302)->withHeader('Location', '/event/' . $eventEntity->getId());
} catch (\Exception $e) {
$frmErrors = $validator->getErrors();
$errors[] = $e->getMessage();
}
}
$nameKey = $this->csrf->getTokenNameKey();
$valueKey = $this->csrf->getTokenValueKey();
$name = $request->getAttribute($nameKey);
$value = $request->getAttribute($valueKey);
$this->view->render($response, 'admin/create-event.twig', ['speakers' => $speakers, 'venues' => $venues, 'eventInfo' => $eventInfo, 'supporters' => $supporters, 'nameKey' => $nameKey, 'valueKey' => $valueKey, 'name' => $name, 'value' => $value, 'errors' => $errors, 'frmErrors' => $frmErrors]);
return $response;
}
示例3: getRelationsAction
/**
* Get organization's relations action
*
* @param Request $request
* @param Response $response
* @param array $args
*
* @return Response
*/
public function getRelationsAction(Request $request, Response $response, $args)
{
$name = $args['name'];
$page = $this->getPage($request->getParam('page', 1));
$count = $this->getCountPerPage($request->getParam('count', 10));
$relations = $this->service->getRelations($name, $page, $count);
$relations = $this->serializer->serialize($relations);
return $response->withJson($relations);
}
示例4: dispatch
public function dispatch(Request $request, Response $response, $args)
{
if (isset($args['callback']) && $args['callback'] === 'joindin') {
// if logged in
if ($this->auth->isLoggedIn() && strlen($request->getParam('access_token', '')) > 0) {
// store token
$this->fileRepository->save($this->auth->getUserId() . '_joindin', $request->getParam('access_token'));
}
}
return $response->withStatus(302)->withHeader('Location', '/');
}
示例5: dispatch
public function dispatch(Request $request, Response $response, $args)
{
if ($request->isPost()) {
$speaker = new Speaker(null, $request->getParam('first_name'), $request->getParam('last_name'), new Email($request->getParam('email')), new Twitter($request->getParam('twitter')));
$msg = [];
try {
$this->speakersRepository->save($speaker);
$msg['id'] = $speaker->id;
} catch (\Exception $e) {
return $response->withStatus(200)->withHeader('Content-Type', 'application/json')->write(json_encode(['error' => $e->getMessage()]));
}
return $response->withStatus(201)->withHeader('Content-Type', 'application/json')->write(json_encode($msg));
}
}
示例6: __invoke
public function __invoke(Request $req, Response $res)
{
$school = $req->getAttribute('school', false);
if (!$school) {
return $res->withStatus(403, 'No school');
}
$teacherId = $req->getParam('teacher_id');
$teacher = $this->staffService->getTeacherById($teacherId);
if ($teacher['school_id'] !== $school->id) {
return $res->withStatus(403, 'No school');
}
if ($req->isPost()) {
$inputFilter = $this->inputFilter;
$result = $inputFilter($req->getParams());
if (!$result['is_valid']) {
$res = $res->withStatus(422);
$res = $res->withJson($result);
return $res;
}
$this->service->saveAnswers($teacherId, $result['values']);
}
$data = $this->service->getAnswers($teacherId);
$res = $res->withJson($data);
return $res;
}
示例7: addPage
public function addPage(Request $request, Response $response, array $args)
{
$this->setPageTitle('Membership', 'Add new techno skill item');
$skills = $this->data(Skills::class);
$provinceId = $request->getParam('province_id');
return $this->view->render('skills-add', ['skills_main' => array_pairs($skills->getParents(), 'skill_id', 'skill_name'), 'skills' => array_pairs($skills->getChilds($provinceId), 'skill_id', 'skill_name')]);
}
示例8: __invoke
public function __invoke(Request $req, Response $res)
{
$school = $req->getAttribute('school');
if ($req->isPost()) {
$this->appFormInputFilter->setData(array_merge($req->getParams(), ['school_id' => $school->id, 'submitted_by' => $this->authService->getIdentity()->mail]));
$isValid = $this->appFormInputFilter->isValid();
if ($isValid) {
$data = $this->appFormInputFilter->getValues();
$appForm = $this->appFormService->submit($data);
$_SESSION['applicationForm']['appForm'] = $appForm;
$res = $res->withRedirect($this->successUrl);
return $res;
}
$this->view['form'] = ['is_valid' => $isValid, 'values' => $this->appFormInputFilter->getValues(), 'raw_values' => $this->appFormInputFilter->getRawValues(), 'messages' => $this->appFormInputFilter->getMessages()];
}
$loadForm = (bool) $req->getParam('load', false);
$this->view['choose'] = !$loadForm && !$req->isPost();
if (!$req->isPost() && $loadForm) {
if (null !== ($appForm = $this->appFormService->findSchoolApplicationForm($school->id))) {
$this->view['form'] = ['values' => $appForm];
}
}
$labs = $this->labService->getLabsBySchoolId($school->id);
$res = $this->view->render($res, 'application_form/form.twig', ['lab_choices' => array_map(function ($lab) {
return ['value' => $lab['id'], 'label' => $lab['name']];
}, $labs), 'type_choices' => array_map(function ($category) {
return ['value' => $category['id'], 'label' => $category['name']];
}, $this->assetsService->getAllItemCategories())]);
return $res;
}
示例9: __invoke
public function __invoke(Request $req, Response $res)
{
if ($req->isPost()) {
$adapter = $this->authService->getAdapter();
if ($adapter instanceof ValidatableAdapterInterface) {
$adapter->setIdentity($req->getParam('identity'));
$adapter->setCredential($req->getParam('credential'));
}
$result = $this->authService->authenticate($adapter);
if (!$result->isValid()) {
$this->flash->addMessage('danger', reset($result->getMessages()));
return $res->withRedirect($req->getUri());
}
return $res->withRedirect($this->successUrl);
}
return $this->view->render($res, 'user/login.twig', []);
}
示例10: registerPage
public function registerPage(Request $request, Response $response, array $args)
{
$this->enableCaptcha();
$this->setPageTitle('Membership', 'Registrasi Anggota');
$this->view->addData(['helpTitle' => 'Bantuan Register?', 'helpContent' => ['Sudah pernah terdaftar menjadi anggota PHP Indonesia, silahkan <a href="' . $this->router->pathFor('membership-login') . '" title="">Login Disini', 'Hilang atau lupa password login, silahkan <a href="' . $this->router->pathFor('membership-forgot-password') . '" title="">Reset Password</a> Anda.']], 'layouts::account');
$regionals = $this->data(Regionals::class);
$provinceId = $request->getParam('province_id');
return $this->view->render('home-register', ['provinces' => array_pairs($regionals->getProvinces(), 'id', 'regional_name'), 'cities' => array_pairs($regionals->getCities($provinceId), 'id', 'regional_name'), 'jobs' => array_pairs($this->data(Careers::class)->getJobs(), 'job_id')]);
}
示例11: __invoke
public function __invoke(Request $req, Response $res)
{
$school = $req->getAttribute('school', false);
if (!$school) {
return $res->withStatus(403, 'No school');
}
$this->service->setTotalTeachers($school->id, (int) $req->getParam('total_teachers', 0));
return $res->withStatus(204);
}
示例12: __invoke
/**
* Invoke controller.
*
* @param Request $request The most recent Request object
* @param Response $response The most recent Response object
* @param array $args
*
* @return Response
* @throws Exception
*/
public function __invoke(Request $request, Response $response, array $args)
{
$method = $args['method'];
$settings = $this->settings['test'];
if ($settings['always'] || $request->getParam($settings['key']) == $settings['value']) {
if (method_exists($this, $method)) {
return $this->{$method}($request, $response);
}
}
return $this->notFound($request, $response);
}
示例13: dispatch
public function dispatch(Request $request, Response $response, $args)
{
$meetupID = $request->getParam('meetup_id', false);
if (!$meetupID) {
$eventDetails['errors'][] = 'A meetup ID needs to be provided.';
} else {
$eventDetails = ['meetup_event' => $this->eventService->getEventById($meetupID), 'event_info' => $this->eventService->getEventInfo($meetupID)];
}
$this->view->render($response, 'admin/event-info.twig', $eventDetails);
return $response;
}
示例14: editUser
public function editUser(Request $request, Response $response, array $args)
{
$username = strtolower($args['username']);
if (empty($username)) {
$this->flash->addMessage('flash', 'No user specified');
return $response->withRedirect($this->router->pathFor('profile'));
}
$id = $this->authenticator->getIdentity();
// restrict access to own profile or Admin user
if ($username != strtolower($id['name'])) {
if (strtolower($id['name']) != 'admin') {
$this->flash->addMessage('flash', 'Access Denied');
return $response->withRedirect($this->router->pathFor('profile'));
}
}
if ($username != 'new') {
$user = R::findOrCreate('users', ['name' => $username]);
} else {
$user = R::dispense('users');
}
if ($request->isPost()) {
$data = $request->getParams();
//$username = $request->getParam('username');
$user->import($data, 'fullname,shortdial,longdial,colour,mobile,home');
$user->name = $request->getParam('username');
$password = $request->getParam('password');
if (!empty($password)) {
$pass = password_hash($password, PASSWORD_DEFAULT);
$user->hash = $pass;
}
$id = R::store($user);
$this->flash->addMessage('flash', "{$user->name} updated");
return $response->withRedirect($this->router->pathFor('edituser', ['username' => $username]));
// $member = 'INSERT INTO `users` (`name`, `fullname`, `password`, `hash`, `colour`, `shortdial`, `longdial`, `mobile`, `home`, `ins_mf`, `ins_win`, `health_mf`, `health_win`, `life_mf`, `life_win`, `wealth_mf`, `wealth_win`, `uk_shift`, `atss`) VALUES '
// . "($username, $fullname, :pass, '', 'FAD2F5', $shortdial, $longdial, '', '', '1', '0', '0', '1', '0', '0', '0', '1', '0', '0');
// ";
}
$this->view->render($response, 'user.twig', $user->export());
return $response;
}
示例15: dispatch
public function dispatch(Request $request, Response $response, $args)
{
// CSRF token name and value
$nameKey = $this->csrf->getTokenNameKey();
$valueKey = $this->csrf->getTokenValueKey();
$name = $request->getAttribute($nameKey);
$value = $request->getAttribute($valueKey);
$email = '';
$msg = '';
if ($request->isPost()) {
$email = $request->getParam('email');
$password = $request->getParam('password');
if ($this->auth->isValid($email, $password)) {
$this->auth->store();
return $response->withStatus(302)->withHeader('Location', '/');
} else {
$msg = 'Incorrect email or password.';
}
}
$this->view->render($response, 'login.twig', ['nameKey' => $nameKey, 'valueKey' => $valueKey, 'name' => $name, 'value' => $value, 'email' => $email, 'msg' => $msg]);
return $response;
}