Beispiel #1
0
 /**
  * @return ListViewModel
  */
 public function listAction(ListViewModel $view, FinderService $finder)
 {
     /** @var $pages Collection */
     $pages = $finder->findMany();
     $view->setPages($pages);
     return $view;
 }
Beispiel #2
0
 public function editAction(Params $params, Finder $finder, Form $form, View $view)
 {
     $entity = $finder->find(['T4webTranslate' => ['Words' => ['Id' => (int) $params('id')]]]);
     if ($entity) {
         $view->setEntity($entity);
         $form->populateValues($entity->extract());
     }
     $view->setForm($form);
     return $view;
 }
Beispiel #3
0
 /**
  * Load translations from a remote source.
  *
  * @param  string $locale
  * @param  string $textDomain
  * @return \Zend\I18n\Translator\TextDomain|null
  */
 public function load($locale, $textDomain)
 {
     $words = $this->wordsServiceFinder->findMany(['Translate' => ['Languages' => ['Locale' => $locale]]]);
     $messages[$textDomain][$locale] = [];
     if ($words->count()) {
         foreach ($words as $word) {
             $messages[$textDomain][$locale][$word->getKey()] = $word->getTranslate();
         }
     }
     $array = new PhpMemoryArray($messages);
     $result = $array->load($locale, $textDomain);
     return $result;
 }
 public function getLocationsByCityAction(Params $params, BaseFinder $cityFinderService, BaseFinder $regionFinderService, BaseFinder $countryFinderService)
 {
     $dataLocation = $params->fromPost();
     $city = $cityFinderService->find(['RoLocations' => ['Cities' => ['Id' => $dataLocation['id']]]]);
     if (!$city) {
         $this->setError('error');
         return $this->view;
     }
     $this->view->countries = $countryFinderService->findMany(['RoLocations' => ['Countries' => []]]);
     $this->view->regions = $regionFinderService->findMany(['RoLocations' => ['Regions' => ['countryId' => $city->getCountryId()]]]);
     $this->view->cities = $cityFinderService->findMany(['RoLocations' => ['Cities' => ['regionId' => $city->getRegionId()]]]);
     $this->view->locations = $city->extract();
     return $this->view;
 }
Beispiel #5
0
 public function wordsListAction(Request $request, Finder $finder, Filter $filterForm, ViewModel $view)
 {
     $limit = $request->getQuery('limit', 20);
     $page = $request->getQuery('page', 1);
     $view->setFilter($filterForm);
     $filterForm->setData($request->getQuery());
     if (!$filterForm->isValid()) {
         return $view;
     }
     $collection = $finder->findByFilter($this->buildCriteria($filterForm->getData()), $limit, $page);
     $count = $finder->count($this->buildCriteria($filterForm->getData()));
     $view->setCollection($collection);
     $pageParams = $request->getQuery()->toArray();
     $pageParams['countObject'] = $count;
     $pageParams['page'] = $page;
     $pageParams['limit'] = $limit;
     $view->setPageParams($pageParams);
     return $view;
 }
 public function saveAction(Params $params, Request $request, Response $response, Form $form, Finder $finderService, Update $updateService, Form $form, View $view)
 {
     if ($request->getMethod() !== Request::METHOD_PUT) {
         return $view;
     }
     $id = $params('id');
     $entity = $finderService->find(['T4webTranslate' => ['Words' => ['Id' => (int) $id]]]);
     if (!$entity) {
         $response->setStatusCode(Response::STATUS_CODE_404);
         $view->setErrors(['message' => 'bad params']);
         return $view;
     }
     $data = Json::decode($request->getContent(), Json::TYPE_ARRAY);
     $form->setData($data);
     if (!$form->isValid()) {
         $response->setStatusCode(Response::STATUS_CODE_404);
         $view->setErrors($form->getMessages());
         return $view;
     }
     $entity->populate($data);
     $result = $updateService->update($id, $entity->extract());
     $view->setVariables($result->extract());
     return $view;
 }
Beispiel #7
0
 private function getLanguages()
 {
     return $this->finder->findMany();
 }
Beispiel #8
0
 public function __invoke()
 {
     $this->collection = $this->finderService->findMany();
     return $this;
 }
Beispiel #9
0
 private function getLanguages()
 {
     $languages = $this->finder->findMany();
     return $languages->getValuesByAttribute('code', true);
 }