/** * @return ListViewModel */ public function listAction(ListViewModel $view, FinderService $finder) { /** @var $pages Collection */ $pages = $finder->findMany(); $view->setPages($pages); return $view; }
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; }
/** * 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; }
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; }
private function getLanguages() { return $this->finder->findMany(); }
public function __invoke() { $this->collection = $this->finderService->findMany(); return $this; }
private function getLanguages() { $languages = $this->finder->findMany(); return $languages->getValuesByAttribute('code', true); }