Ejemplo n.º 1
0
 public function __invoke(Request $req, Response $res)
 {
     try {
         return $this->view->render($res, 'index.twig', ['content' => $this->content]);
     } catch (\Exception $ex) {
         return $this->view->render($res, 'index.twig', ['content' => 'welcome']);
     }
 }
Ejemplo n.º 2
0
 public function dispatch($request, $response, $args)
 {
     $event = $this->eventService->getLatestEvent();
     $filter = $this->contentService->getTwigFilter();
     $this->view->getEnvironment()->addFilter($filter);
     $this->view->render($response, 'home.twig', ['event' => $event]);
     return $response;
 }
Ejemplo n.º 3
0
 public function __invoke(ServerRequestInterface $request, ResponseInterface $response)
 {
     $id = $request->getAttribute('id');
     if (!($comment = $this->repository->find($id))) {
         return $response->withStatus(404, 'post not found');
     }
     $this->view->render($response, 'post.phtml', ['comment' => new CommentViewModel($comment)]);
     return $response;
 }
 /**
  * @param Request $request
  * @param Response $response
  * @return Response
  */
 public function saveAction(Request $request, Response $response) : Response
 {
     $service = new FieldService();
     $entity = (new SampleEntity())->setOne((new Field())->setId(1)->setValue(8))->setTwo($service->getFieldGroup(2))->setThree($service->getFieldGroup(3))->setFour((new Field())->setId(4)->setValue(123));
     $form = $this->formFactory->create(SampleType::class, $entity);
     $form->submit($request->getParams())->isValid();
     $bla = 0;
     return $this->view->render($response, 'field/index.html.twig', ['form' => $form->createView()]);
 }
 public function dispatch($request, $response, $args)
 {
     $events = $this->eventService->getAll();
     $speakers = $this->eventManager->getSpeakers();
     $venues = $this->eventService->getVenues();
     $this->eventService->mergeEvents($events, $speakers, $venues);
     $this->view->render($response, 'admin/dashboard.twig', ['events' => $events]);
     return $response;
 }
Ejemplo n.º 6
0
 public function testRender()
 {
     $mockBody = $this->getMockBuilder('Psr\\Http\\Message\\StreamInterface')->disableOriginalConstructor()->getMock();
     $mockResponse = $this->getMockBuilder('Psr\\Http\\Message\\ResponseInterface')->disableOriginalConstructor()->getMock();
     $mockBody->expects($this->once())->method('write')->with("<p>Hi, my name is Josh.</p>\n")->willReturn(28);
     $mockResponse->expects($this->once())->method('getBody')->willReturn($mockBody);
     $response = $this->view->render($mockResponse, 'example.html', ['name' => 'Josh']);
     $this->assertInstanceOf('Psr\\Http\\Message\\ResponseInterface', $response);
 }
Ejemplo n.º 7
0
 public function dispatch($request, $response, $args)
 {
     $event = $this->eventService->getLatestEvent();
     $filter = $this->contentService->getTwigFilter();
     $this->view->getEnvironment()->addFilter($filter);
     $previousEvents = $this->eventService->getPastEvents();
     $resWithETag = $this->cache->withETag($response, $event->getMeetupID());
     $this->view->render($response, 'home.twig', ['event' => $event, 'previousEvents' => $previousEvents]);
     return $resWithETag;
 }
Ejemplo n.º 8
0
 public function eventByYearMonth(Request $request, Response $response, $args)
 {
     $year = intval($args["year"]);
     $month = intval($args["month"]);
     $eventMeta = $this->eventManager->getByYearMonth($year, $month);
     $event = $this->eventService->getEventById($eventMeta[0]['meetup_id']);
     $resWithETag = $this->cache->withETag($response, $eventMeta[0]['meetup_id']);
     $previousEvents = $this->eventService->getPastEvents();
     $this->view->render($response, 'event.twig', ['event' => $event, 'eventMeta' => $eventMeta[0], 'previousEvents' => $previousEvents]);
     return $resWithETag;
 }
Ejemplo n.º 9
0
 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;
 }
 public function authenticateCallback(Request $request, Response $response)
 {
     $code = $request->getQueryParams()['code'] ?? '';
     try {
         if (!$code) {
             throw new \Exception('No access code provided.');
         }
         $token = $this->provider->getAccessToken('authorization_code', ['code' => $_GET['code']]);
         $this->helper->setAccessToken(['access_token' => $token->getToken(), 'expires' => $token->getExpires()]);
         return $response->withStatus(301)->withHeader('Location', '/' . self::AREA);
     } catch (\Exception $ex) {
         return $this->view->render($response, 'error.twig', ['error' => $ex->getMessage()]);
     }
 }
Ejemplo n.º 11
0
 /**
  * @param Request $request
  * @param Response $response
  * @param $args
  * @return Response
  */
 public function dispatch(Request $request, Response $response, $args)
 {
     $data = [];
     if ($request->isPost()) {
         $magnetUri = $request->getParam('magnetUri');
         if ($magnetUri) {
             $torrent = Torrent::fromMagnet($magnetUri);
             $data['torrent'] = $torrent;
             $data['torrentLink'] = (new Torcache())->getDownloadUrl($torrent);
         }
     }
     $this->view->render($response, 'home.twig', $data);
     return $response;
 }
Ejemplo n.º 12
0
 /**
  * @param Request $request
  * @param Response $response
  * @param array $arguments
  * @return Response
  */
 public function add(Request $request, Response $response, array $arguments)
 {
     $settings = $request->getAttribute('settings');
     $root = rtrim($settings['root'], '/\\') . DIRECTORY_SEPARATOR;
     $virtualHost = trim($arguments['virtualHost'], '/\\') . DIRECTORY_SEPARATOR;
     $absolutePath = $root . $virtualHost;
     if (!@is_dir($absolutePath)) {
         throw new \InvalidArgumentException('Wrong path provided', 1461609455);
     }
     $folders = isset($settings['virtual-hosts'][$virtualHost]['add']['allow']) ? $settings['virtual-hosts'][$virtualHost]['add']['allow'] : isset($settings['virtual-hosts']['default']['add']['allow']) ? $settings['virtual-hosts']['default']['add']['allow'] : [];
     if (!empty($folders)) {
         array_walk($folders, function (&$value) {
             $value = ['relativePathname' => trim($value, '\\/')];
         });
     } else {
         $depth = isset($settings['virtual-hosts'][$virtualHost]['show']['depth']) ? $settings['virtual-hosts'][$virtualHost]['show']['depth'] : $settings['virtual-hosts']['default']['show']['depth'];
         $folders = new Finder();
         $folders->directories()->ignoreUnreadableDirs(true)->ignoreDotFiles(true)->ignoreVCS(true)->followLinks()->depth($depth)->sort(function (SplFileInfo $a, SplFileInfo $b) {
             return strcmp($a->getRelativePathname(), $b->getRelativePathname());
         })->in($absolutePath);
         $excludeShowDirs = isset($settings['virtual-hosts'][$virtualHost]['show']['exclude']) ? $settings['virtual-hosts'][$virtualHost]['show']['exclude'] : isset($settings['virtual-hosts']['default']['show']['exclude']) ? $settings['virtual-hosts']['default']['show']['exclude'] : [];
         $excludeAddDirs = isset($settings['virtual-hosts'][$virtualHost]['add']['exclude']) ? $settings['virtual-hosts'][$virtualHost]['add']['exclude'] : isset($settings['virtual-hosts']['default']['add']['exclude']) ? $settings['virtual-hosts']['default']['add']['exclude'] : [];
         foreach (array_merge($excludeShowDirs, $excludeAddDirs) as $dir) {
             $folders->notPath(strtr($dir, '\\', '/'));
         }
     }
     $this->view->render($response, 'add.twig', ['settings' => $settings, 'root' => $root, 'virtualHost' => $virtualHost, 'folders' => $folders]);
     return $response;
 }
Ejemplo n.º 13
0
 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;
 }
Ejemplo n.º 14
0
 public function render($template, $data = null)
 {
     if (ACCEPT_JSON) {
         echo json_encode($data);
     } else {
         echo parent::render($template, $data);
     }
 }
Ejemplo n.º 15
0
 public function __invoke(Request $req, Response $res, array $args = [])
 {
     $school = $req->getAttribute('school', false);
     if (!$school) {
         return $res->withStatus(403, 'No school');
     }
     $assets = $this->schoolAssetsService->getAssetsForSchool($school->id);
     $itemCategories = $this->assetsService->getAllItemCategories();
     $labs = $this->labService->getLabsBySchoolId($school->id);
     return $this->view->render($res, 'schools/assets.twig', ['school' => $school, 'assets' => $assets, 'item_categories' => array_map(function ($category) {
         return ['value' => $category['id'], 'label' => $category['name']];
     }, $itemCategories), 'labs' => array_map(function ($lab) {
         return ['value' => $lab['id'], 'label' => $lab['name']];
     }, array_filter($labs, function ($lab) {
         return $lab['is_new'] !== "1";
     }))]);
 }
Ejemplo n.º 16
0
 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', []);
 }
Ejemplo n.º 17
0
 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;
 }
Ejemplo n.º 18
0
 protected function render($template, $data = null)
 {
     foreach (\SlimForm\View\TemplateMap::getInstance()->getTemplatePaths() as $directory) {
         $this->templatesDirectory = $directory;
         if (is_file($this->getTemplatePathname($template))) {
             break;
         }
     }
     return parent::render($template, $data);
 }
Ejemplo n.º 19
0
 public function __invoke(Request $req, Response $res, array $args = [])
 {
     $school = $req->getAttribute('school', false);
     if (!$school) {
         return $res->withStatus(403, 'No school');
     }
     $labs = $this->labService->getLabsBySchoolId($school->id);
     return $this->view->render($res, 'schools/labs.twig', ['school' => $school, 'labs' => $labs, 'staff' => array_map(function ($teacher) {
         return ['value' => $teacher['id'], 'label' => $teacher['fullname']];
     }, $this->staffService->getTeachersBySchoolId($school->id)), 'network_options' => array_map(function ($option) {
         return ['value' => $option, 'label' => $option];
     }, $this->labService->getHasNetworkValues()), 'server_options' => array_map(function ($option) {
         return ['value' => $option, 'label' => $option];
     }, $this->labService->getHasServerValues()), 'lab_types' => array_map(function ($type) {
         return ['value' => $type['id'], 'label' => $type['name']];
     }, $this->labService->getLabTypes()), 'lessons_options' => array_map(function ($lesson) {
         return ['value' => $lesson['id'], 'label' => $lesson['name']];
     }, $this->labService->getLessons())]);
 }
Ejemplo n.º 20
0
 /**
  * Init the login action
  *
  * @param Request $request            
  * @param Response $response            
  * @param unknown $args            
  * @return Response
  */
 public function login(Request $request, Response $response, $args)
 {
     // $helper = $this->facebook->getRedirectLoginHelper();
     // $permissions = $this->settings['facebook-permissions'];
     // $baseDomain = $this->settings['baseDomain'];
     // $loginUrl = $helper->getLoginUrl($baseDomain . '/login-callback', $permissions);
     // $view['loginUrl'] = $loginUrl;
     // $this->session->clear();
     $this->view->render($response, 'login.twig', $this->viewData);
     return $response;
 }
Ejemplo n.º 21
0
 public function __invoke(Request $req, Response $res, array $args = [])
 {
     $school = $req->getAttribute('school');
     return $this->view->render($res, 'schools/index.twig', ['school' => $school, 'staff' => array_reduce($this->staffService->getTeachersBySchoolId($school->id), function ($aggr, $teacher) {
         $name = sprintf('%s %s (%s)', $teacher['name'], $teacher['surname'], $teacher['branch']);
         if ($teacher['is_principle']) {
             $aggr['principle'] = $name;
         } else {
             $aggr['teachers'][] = $name;
         }
         return $aggr;
     }, []), 'labs' => $this->labService->getLabsBySchoolId($school->id), 'assets' => array_reduce($this->assetService->getAssetsForSchool($school->id), function ($aggr, $asset) {
         $assetType = $asset['itemcategory_id'];
         if (!isset($aggr[$assetType])) {
             $aggr[$assetType] = ['category' => $asset['itemcategory'], 'count' => 0];
         }
         $aggr[$assetType]['count'] += $asset['qty'];
         return $aggr;
     }, [])]);
 }
Ejemplo n.º 22
0
 public function render($response, $template, $data = [])
 {
     $container = $this['container'];
     $flash = new \Slim\Flash\Messages();
     $messageList = [];
     foreach ($flash->getMessages() as $type => $messages) {
         foreach ($messages as $msg) {
             $messageList[$type][] = $msg;
         }
     }
     $data = array_merge($data, ['error_messages' => $messageList]);
     $session = $this->getSession();
     $user = $session->getSegment('default')->get('user');
     if ($user) {
         $data['user'] = $user;
     }
     parent::render($response, $template, $data);
 }
Ejemplo n.º 23
0
 public function dispatch(Request $request, Response $response, $args)
 {
     $meetupID = $request->getAttribute('meetup_id', null);
     $eventInfo = $this->eventService->getInfoByMeetupID($meetupID);
     if ($eventInfo->eventExists()) {
         $this->flash->addMessage('event', 'Event already exists. Check its status.');
         return $response->withStatus(302)->withHeader('Location', 'event-details/' . $meetupID);
     }
     if (!$eventInfo->isRegistered() && !is_null($meetupID)) {
         $this->flash->addMessage('event', 'No event found for meetupID provided. Please create a new event.');
         return $response->withStatus(302)->withHeader('Location', 'create-event');
     }
     $form = new CreateEventForm($this->eventManager, $this->eventService);
     if ($eventInfo->isRegistered()) {
         $form->setEventInfo($eventInfo);
     }
     $data = ['form' => $form, 'errors' => $this->flash->getMessage('event') ?? [], 'defaultTime' => $this->eventsConfig->defaultStartTime];
     if ($request->isPost()) {
         $form->populate($request->getParams());
         if (!$form->isValid()) {
             // return response
             $data['errors'] = $form->getErrors();
             $data = array_merge($data, $this->getCsrfValues($request));
             $response->withStatus(304);
             $this->view->render($response, 'admin/create-event.twig', $data);
             return $response;
         }
         try {
             $event = EventFactory::getEvent($form->getTalkTitle(), $form->getTalkDescription(), $form->getEventDate(), $form->getSpeaker(), $form->getVenue(), $form->getSupporter(), $this->eventsConfig->title, $this->eventsConfig->description);
             $createEventInfo = $this->eventService->createMainEvents($event, $this->auth->getUserId(), $meetupID);
             if (!is_null($createEventInfo['joindin_message'])) {
                 $this->flash->addMessage('event', $createEventInfo['joindin_message']);
             }
             return $response->withStatus(302)->withHeader('Location', 'event-details?meetup_id=' . $createEventInfo['meetup_id']);
         } catch (\Exception $e) {
             $this->logger->debug($e->getMessage());
             $this->logger->debug(print_r($data['errors'], true));
             $data['errors'] = array_merge($data['errors'], [$e->getMessage()]);
         }
     }
     $data = array_merge($data, $this->getCsrfValues($request));
     $this->view->render($response, 'admin/create-event.twig', $data);
     return $response;
 }
 /**
  * Sends request:
  *      curl --data "code=[GET->code]
  *                   &grant_type=authorization_code
  *                   &client_id=[client_id]
  *                   &client_secret=[client_secret]
  *                   &redirect_uri=[url_of_this_function]"
  *            https://www.googleapis.com/oauth2/v3/token
  *
  * Gets response:
  * [
  *      'code' => '4/PTIwf4eUb3ajdD21_access_code'
  *      'scope' => 'https://www.googleapis.com/auth/drive.readonly'
  * ]
  * @param Request $request
  * @param Response $response
  * @return \Psr\Http\Message\MessageInterface|\Psr\Http\Message\ResponseInterface
  */
 public function authenticateCallback(Request $request, Response $response)
 {
     $code = $request->getQueryParams()['code'] ?? '';
     try {
         if (!$code) {
             throw new \Exception('No access code provided.');
         }
         $client = new Client();
         $params = ['code' => $code, 'grant_type' => 'authorization_code', 'client_id' => $this->config->getClientId(), 'client_secret' => $this->config->getClientSecret(), 'redirect_uri' => $this->helper->getCallbackUrl(self::AREA)];
         $response = $client->post($this->config->getTokenUri(), ['form_params' => $params]);
         $json = json_decode($response->getBody(), true);
         $this->helper->setAccessToken($json);
         if (!isset($json['access_token'])) {
             throw new \Exception("Access token not returned.");
         }
         return $response->withStatus(301)->withHeader('Location', '/' . self::AREA);
     } catch (\Exception $ex) {
         return $this->view->render($response, 'error.twig', ['error' => $ex->getMessage()]);
     }
 }
Ejemplo n.º 25
0
 public function __invoke(Request $req, Response $res)
 {
     $school = $req->getAttribute('school');
     if ($req->isPost()) {
         $reqParams = $req->getParams();
         array_splice($reqParams['items'], 0, 0);
         $this->appFormInputFilter->setData(array_merge($reqParams, ['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) {
         // take care of new options in applications and migrate existing ones
         if (null !== ($appForm = $this->appFormService->findSchoolApplicationForm($school->id))) {
             /**
              * Do mapping of old items to new only if items do exist (old form) 
              * and the map is available at the app settings.
              * TODO: Only one version migrations are supported. If the old items are
              * two or more versions older, they will not be handled.
              */
             // get the existing (db) application form version
             $items_version = $this->version;
             if (isset($appForm['items']) && \count($appForm['items']) > 0) {
                 $items_version = array_values($appForm['items'])[0]['version'];
             }
             if ($this->version != $items_version && isset($appForm['items']) && isset($this->container['settings']['application_form']['itemcategory']['map']) && $this->container['settings']['application_form']['itemcategory']['map']['fromversion'] == $items_version && $this->container['settings']['application_form']['itemcategory']['map']['toversion'] == $this->version && isset($this->container['settings']['application_form']['itemcategory']['map']['items'])) {
                 // if map exists for this version, use it
                 $items_map = $this->container['settings']['application_form']['itemcategory']['map']['items'];
                 $appForm['items'] = array_map(function ($item) use($items_map) {
                     $migrate_values = [];
                     if (isset($items_map[$item['itemcategory_id']]) && intval($items_map[$item['itemcategory_id']]) > 0) {
                         $migrate_values = ['itemcategory_prev' => $item['itemcategory_id'], 'itemcategory_id_prev' => $item['itemcategory_id'], 'itemcategory_id' => intval($items_map[$item['itemcategory_id']])];
                     } else {
                         $migrate_values = ['itemcategory_prev' => '', 'itemcategory_id_prev' => -1];
                     }
                     $migrate_values['prev_form_load'] = true;
                     return array_merge($item, $migrate_values);
                 }, $appForm['items']);
             } elseif ($this->version != $items_version && isset($appForm['items']) && isset($this->container['settings']['application_form']['itemcategory']['map']) && ($this->container['settings']['application_form']['itemcategory']['map']['fromversion'] != $items_version || $this->container['settings']['application_form']['itemcategory']['map']['toversion'] != $this->version)) {
                 // if map does not exist for this version, notify user
                 $items_map = $this->container['settings']['application_form']['itemcategory']['map']['items'];
                 $appForm['items'] = array_map(function ($item) use($items_map) {
                     $migrate_values = ['itemcategory_prev' => '', 'itemcategory_id_prev' => -2, 'prev_form_load' => true];
                     return array_merge($item, $migrate_values);
                 }, $appForm['items']);
             }
             $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($this->version))]);
     return $res;
 }
Ejemplo n.º 26
0
 /**
  * @param Response $response
  * @param Ticket $ticket
  */
 protected function render(Response $response, Ticket $ticket)
 {
     $this->view->render($response, 'default/ticket.twig', ['ticket' => $ticket]);
 }
Ejemplo n.º 27
0
 /**
  * @param ServerRequestInterface   $request
  * @param ResponseInterface        $response
  *
  * @return \Psr\Http\Message\ResponseInterface
  */
 public function __invoke(ServerRequestInterface $request, ResponseInterface $response)
 {
     // Log the message
     $this->logger->addNotice(sprintf('Page %s was not found', (string) $request->getUri()));
     return $this->view->render($response, 'errors/404.twig')->withStatus(404);
 }
Ejemplo n.º 28
0
 public function __invoke(Request $req, Response $res)
 {
     return $this->view->render($res, 'about.twig');
 }
Ejemplo n.º 29
0
 public function __invoke(ServerRequestInterface $request, ResponseInterface $response)
 {
     $comment = $this->repository->getMostRecent();
     $this->view->render($response, 'post.phtml', ['comment' => new CommentViewModel($comment)]);
 }
Ejemplo n.º 30
0
 public function dispatch($request, $response, $args)
 {
     $events = $this->eventService->getAll();
     $this->view->render($response, 'admin/dashboard.twig', ['events' => $events]);
     return $response;
 }