diff --git a/app/model/Database/Entity/Dictionary.php b/app/model/Database/Entity/Dictionary.php index d197cd7..114ed69 100644 --- a/app/model/Database/Entity/Dictionary.php +++ b/app/model/Database/Entity/Dictionary.php @@ -1,94 +1,94 @@ -name = $name; - $this->fullName = $fullname; - $this->translations = new ArrayCollection(); - } - - /** - * @ORM\OneToMany(targetEntity="\App\Model\Database\Entity\Translation", mappedBy="dictionary", cascade={"persist"}) - * @var Collection&iterable - */ - protected Collection $translations; - - public function getTranslations() - { - return $this->translations; - } - - /** - * @ORM\OnetoMany(targetEntity="\App\Model\Database\Entity\Term", mappedBy="dictionary") - * @var Collection&iterable - */ - protected Collection $terms; - - /** - * @ORM\ManyToOne(targetEntity="Language", inversedBy="dictionaries1") - * @ORM\JoinColumn(name="lang1_id", referencedColumnName="id") - */ - protected ?Language $lang1; - - /** - * @ORM\ManyToOne(targetEntity="Language", inversedBy="dictionaries2") - * @ORM\JoinColumn(name="lang2_id", referencedColumnName="id") - */ - protected ?Language $lang2; - - /** - * @ORM\Column(type="string") - */ - protected $name; - - public function getName() - { - return $this->name; - } - - /** - * @ORM\Column(type="string") - */ - protected $fullName; - - public function setLang1($lang1) - { - $this->lang1 = $lang1; - - return $this; - } - - public function setLang2($lang2) - { - $this->lang2 = $lang2; - - return $this; - } - -} - -?> +name = $name; + $this->fullName = $fullname; + $this->translations = new ArrayCollection(); + } + + /** + * @ORM\OneToMany(targetEntity="\App\Model\Database\Entity\Translation", mappedBy="dictionary", cascade={"persist"}) + * @var Collection&iterable + */ + protected Collection $translations; + + public function getTranslations() + { + return $this->translations; + } + + /** + * @ORM\OnetoMany(targetEntity="\App\Model\Database\Entity\Term", mappedBy="dictionary") + * @var Collection&iterable + */ + protected Collection $terms; + + /** + * @ORM\ManyToOne(targetEntity="Language", inversedBy="dictionaries1") + * @ORM\JoinColumn(name="lang1_id", referencedColumnName="id") + */ + protected ?Language $lang1; + + /** + * @ORM\ManyToOne(targetEntity="Language", inversedBy="dictionaries2") + * @ORM\JoinColumn(name="lang2_id", referencedColumnName="id") + */ + protected ?Language $lang2; + + /** + * @ORM\Column(type="string") + */ + protected $name; + + public function getName() + { + return $this->name; + } + + /** + * @ORM\Column(type="string") + */ + protected $fullName; + + public function setLang1($lang1) + { + $this->lang1 = $lang1; + + return $this; + } + + public function setLang2($lang2) + { + $this->lang2 = $lang2; + + return $this; + } + +} + +?> diff --git a/app/model/Database/Entity/Language.php b/app/model/Database/Entity/Language.php index 0a701a6..d38ef32 100644 --- a/app/model/Database/Entity/Language.php +++ b/app/model/Database/Entity/Language.php @@ -1,65 +1,65 @@ -shortName = $shortname; - $this->name = $name; - } - - /** - * @ORM\Column(type="string",length=2, unique=true, options={"fixed" = true}) - */ - protected $shortName; - - public function getShortName() - { - return $this->shortName; - } - - /** - * @ORM\Column(type="string",length=32) - */ - protected $name; - - public function getName() - { - return $this->name; - } - - /* - * @var Collection&iterable - * @ORM\OneToMany(targetEntity="Dictionary", mappedBy="language") - */ - protected Collection $dictionaries1; - - /* - * @var Collection&iterable - * @ORM\OneToMany(targetEntity="Dictionary", mappedBy="language") - */ - protected Collection $dictionaries2; - -} - -?> +shortName = $shortname; + $this->name = $name; + } + + /** + * @ORM\Column(type="string",length=2, unique=true, options={"fixed" = true}) + */ + protected $shortName; + + public function getShortName() + { + return $this->shortName; + } + + /** + * @ORM\Column(type="string",length=32) + */ + protected $name; + + public function getName() + { + return $this->name; + } + + /* + * @var Collection&iterable + * @ORM\OneToMany(targetEntity="Dictionary", mappedBy="language") + */ + protected Collection $dictionaries1; + + /* + * @var Collection&iterable + * @ORM\OneToMany(targetEntity="Dictionary", mappedBy="language") + */ + protected Collection $dictionaries2; + +} + +?> diff --git a/app/model/Database/Entity/Pronunciation.php b/app/model/Database/Entity/Pronunciation.php index 8676bca..158a7b9 100644 --- a/app/model/Database/Entity/Pronunciation.php +++ b/app/model/Database/Entity/Pronunciation.php @@ -1,85 +1,85 @@ -type = $type; - $this->ipa = $ipa; - $this->filename = $filename; - $this->terms = new \Doctrine\Common\Collections\ArrayCollection(); - } - - /** - * @ORM\ManyToMany(targetEntity="Term", mappedBy="pronunciations") - */ - private $terms; - - - /** - * @ORM\ManyToOne(targetEntity="PronunciationType", inversedBy="pronunciations") - */ - protected $type; - - /** - * @ORM\Column(type="string",nullable=true) - */ - protected $ipa; - - /** - * @ORM\Column(type="string", nullable=true) - */ - protected $filename; - - /** - * Get the value of filename - */ - public function getFilename() - { - return $this->filename; - } - - /** - * Get the value of terms - */ - public function getTerms() - { - return $this->terms; - } - - /** - * Get the value of ipa - */ - public function getIpa() - { - return $this->ipa; - } - - /** - * Get the value of type - */ - public function getType() - { - return $this->type; - } -} - -?> +type = $type; + $this->ipa = $ipa; + $this->filename = $filename; + $this->terms = new \Doctrine\Common\Collections\ArrayCollection(); + } + + /** + * @ORM\ManyToMany(targetEntity="Term", mappedBy="pronunciations") + */ + private $terms; + + + /** + * @ORM\ManyToOne(targetEntity="PronunciationType", inversedBy="pronunciations") + */ + protected $type; + + /** + * @ORM\Column(type="string",nullable=true) + */ + protected $ipa; + + /** + * @ORM\Column(type="string", nullable=true) + */ + protected $filename; + + /** + * Get the value of filename + */ + public function getFilename() + { + return $this->filename; + } + + /** + * Get the value of terms + */ + public function getTerms() + { + return $this->terms; + } + + /** + * Get the value of ipa + */ + public function getIpa() + { + return $this->ipa; + } + + /** + * Get the value of type + */ + public function getType() + { + return $this->type; + } +} + +?> diff --git a/app/model/Database/Entity/PronunciationType.php b/app/model/Database/Entity/PronunciationType.php index fcd11e6..4000b8f 100644 --- a/app/model/Database/Entity/PronunciationType.php +++ b/app/model/Database/Entity/PronunciationType.php @@ -1,37 +1,37 @@ -name = $name; - $this->fullName = $fullName; - } - - /** - * @ORM\Column(type="string") - */ - protected $name; - - /** - * @ORM\Column(type="string") - */ - protected $fullName; -} - -?> +name = $name; + $this->fullName = $fullName; + } + + /** + * @ORM\Column(type="string") + */ + protected $name; + + /** + * @ORM\Column(type="string") + */ + protected $fullName; +} + +?> diff --git a/app/model/Database/Entity/TermFlag.php b/app/model/Database/Entity/TermFlag.php index e3e9727..aab5135 100644 --- a/app/model/Database/Entity/TermFlag.php +++ b/app/model/Database/Entity/TermFlag.php @@ -1,97 +1,97 @@ -id = $id; - $this->class = $class; - $this->language = $language; - $this->code = $code; - $this->description = $description; - } - - /** - * @ORM\ManyToOne(targetEntity="WordClass", inversedBy="flags") - */ - protected $class; - - public function getClass() - { - return $this->class; - } - - public function setClass($class) - { - $this->class = $class; - return $this; - } - - /** - * @ORM\ManyToOne(targetEntity="Language", inversedBy="flags") - */ - protected $language; - - public function getLanguage() - { - return $this->language; - } - - public function setLanguage($language) - { - $this->language = $language; - return $this; - } - - /** - * @ORM\Column(type="string") - */ - protected $code; - - public function getCode() - { - return $this->code; - } - - public function setCode($code) - { - $this->code = $code; - return $this; - } - - /** - * @ORM\Column(type="string") - */ - protected $description; - - public function getDescription() - { - return $this->description; - } - - public function setDescription($description) - { - $this->description = $description; - return $this; - } -} - -?> +id = $id; + $this->class = $class; + $this->language = $language; + $this->code = $code; + $this->description = $description; + } + + /** + * @ORM\ManyToOne(targetEntity="WordClass", inversedBy="flags") + */ + protected $class; + + public function getClass() + { + return $this->class; + } + + public function setClass($class) + { + $this->class = $class; + return $this; + } + + /** + * @ORM\ManyToOne(targetEntity="Language", inversedBy="flags") + */ + protected $language; + + public function getLanguage() + { + return $this->language; + } + + public function setLanguage($language) + { + $this->language = $language; + return $this; + } + + /** + * @ORM\Column(type="string") + */ + protected $code; + + public function getCode() + { + return $this->code; + } + + public function setCode($code) + { + $this->code = $code; + return $this; + } + + /** + * @ORM\Column(type="string") + */ + protected $description; + + public function getDescription() + { + return $this->description; + } + + public function setDescription($description) + { + $this->description = $description; + return $this; + } +} + +?> diff --git a/app/model/Database/Entity/Translation.php b/app/model/Database/Entity/Translation.php index 34271de..d7eed08 100644 --- a/app/model/Database/Entity/Translation.php +++ b/app/model/Database/Entity/Translation.php @@ -1,87 +1,87 @@ -dictionary = $dictionary; - $this->lang1 = $lang1; - $this->lang2 = $lang2; - $this->lang_name1 = $lang_name1; - $this->lang_name2 = $lang_name2; - $this->direction = $direction; - } - - /** - * @ORM\ManyToOne(targetEntity="App\Model\Database\Entity\Dictionary", inversedBy="translations") - */ - protected $dictionary; - - public function getDictionary() - { - return $this->dictionary; - } - - /** - * @ORM\ManyToOne(targetEntity="App\Model\Database\Entity\Language", inversedBy="translations1") - */ - protected $lang1; - - /** - * @ORM\ManyToOne(targetEntity="App\Model\Database\Entity\Language", inversedBy="translations2") - */ - protected $lang2; - - /** - * @ORM\Column(type="string") - */ - protected $lang_name1; - - public function getLangName1(): String - { - return $this->lang_name1; - } - - /** - * @ORM\Column(type="string") - */ - protected $lang_name2; - - public function getLangName2(): String - { - return $this->lang_name2; - } - - /** - * @ORM\Column(type="smallint") - */ - protected $direction; - - public function getDirection() : int - { - return $this->direction; - } - -} - -?> +dictionary = $dictionary; + $this->lang1 = $lang1; + $this->lang2 = $lang2; + $this->lang_name1 = $lang_name1; + $this->lang_name2 = $lang_name2; + $this->direction = $direction; + } + + /** + * @ORM\ManyToOne(targetEntity="App\Model\Database\Entity\Dictionary", inversedBy="translations") + */ + protected $dictionary; + + public function getDictionary() + { + return $this->dictionary; + } + + /** + * @ORM\ManyToOne(targetEntity="App\Model\Database\Entity\Language", inversedBy="translations1") + */ + protected $lang1; + + /** + * @ORM\ManyToOne(targetEntity="App\Model\Database\Entity\Language", inversedBy="translations2") + */ + protected $lang2; + + /** + * @ORM\Column(type="string") + */ + protected $lang_name1; + + public function getLangName1(): String + { + return $this->lang_name1; + } + + /** + * @ORM\Column(type="string") + */ + protected $lang_name2; + + public function getLangName2(): String + { + return $this->lang_name2; + } + + /** + * @ORM\Column(type="smallint") + */ + protected $direction; + + public function getDirection() : int + { + return $this->direction; + } + +} + +?> diff --git a/app/model/Database/Entity/User.php b/app/model/Database/Entity/User.php index cc62e51..99439cb 100644 --- a/app/model/Database/Entity/User.php +++ b/app/model/Database/Entity/User.php @@ -8,12 +8,21 @@ use App\Model\Database\Entity\Attributes\TUpdatedAt; use App\Model\Exception\Logic\InvalidArgumentException; use App\Model\Security\Identity; use App\Model\Utils\DateTime; +use App\Model\Utils\Strings; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity(repositoryClass="App\Model\Database\Repository\UserRepository") * @ORM\Table(name="`user`") * @ORM\HasLifecycleCallbacks + * + * @property int $id + * @property String $name + * @property String $surname + * @property String $email + * @property String $password + * @property String $role + * @property int $state */ class User extends AbstractEntity { diff --git a/app/model/Database/Entity/WordClass.php b/app/model/Database/Entity/WordClass.php index 1ed668e..2196f59 100644 --- a/app/model/Database/Entity/WordClass.php +++ b/app/model/Database/Entity/WordClass.php @@ -1,43 +1,43 @@ -id = $id; - $this->name = $name; - } - - /** - * @ORM\Column(type="string") - */ - protected $name; - - public function getName() - { - return $this->id; - } - - public function setName($name) - { - $this->name = $name; - return $this; - } -} - +id = $id; + $this->name = $name; + } + + /** + * @ORM\Column(type="string") + */ + protected $name; + + public function getName() + { + return $this->id; + } + + public function setName($name) + { + $this->name = $name; + return $this; + } +} + diff --git a/app/modules/Front/Home/HomePresenter.php b/app/modules/Front/Home/HomePresenter.php index 1c5c4ed..a453983 100644 --- a/app/modules/Front/Home/HomePresenter.php +++ b/app/modules/Front/Home/HomePresenter.php @@ -22,79 +22,79 @@ final class HomePresenter extends BaseFrontPresenter { - /** @inject @var \App\Model\Database\EntityManager */ - public $em; + /** @inject @var EntityManager */ + public EntityManager $em; /** @inject */ public VisualPaginatorFactory $visualPaginatorFactory; /** @inject */ public TermFacade $termFacade; - private $translations; - private $dictionaries; - private $drsSelect; - private $slugs; - public $translation; + private $translations; + private $dictionaries; + private $drsSelect; + private $slugs; + public $translation; - /** @persistent */ - public $term; - /** @persistent */ - public $slug; + /** @persistent */ + public $term; + + /** @persistent */ + public $slug; - protected function startup() - { - $trs = $this->em->getRepository(Translation::class)->findBy([],['id' => 'ASC','direction'=>'ASC']); - $drs = $this->em->getRepository(Dictionary::class)->findPairs('id','name'); - $select = []; - foreach ($trs as $t) { - $lang1 = $t->getLangName1(); - $lang2 = $t->getLangName2(); + protected function startup() + { + $trs = $this->em->getRepository(Translation::class)->findBy([], ['id' => 'ASC', 'direction' => 'ASC']); + $drs = $this->em->getRepository(Dictionary::class)->findPairs('id', 'name'); + $select = []; + foreach ($trs as $t) { + $lang1 = $t->getLangName1(); + $lang2 = $t->getLangName2(); - $lang = mb_substr($lang1,0,-1); - $lang .= "o-".$lang2; - $slug = Strings::webalize($lang); - $select[$drs[$t->getDictionary()->getId()]][$t->getId()] = $lang; - $translations[$t->getId()]["slug"] = $slug; - $translations[$t->getId()]["lang"] = $lang; - $translations[$t->getId()]["t"] = $t; - $slugs[$slug] = $t; + $lang = mb_substr($lang1, 0, -1); + $lang .= "o-" . $lang2; + $slug = Strings::webalize($lang); + $select[$drs[$t->getDictionary()->getId()]][$t->getId()] = $lang; + $translations[$t->getId()]["slug"] = $slug; + $translations[$t->getId()]["lang"] = $lang; + $translations[$t->getId()]["t"] = $t; + $slugs[$slug] = $t; + } + $this->translations = $translations; + $this->dictionaries = $drs; + $this->drsSelect = $select; + $this->slugs = $slugs; + parent::startup(); } - $this->translations = $translations; - $this->dictionaries = $drs; - $this->drsSelect = $select; - $this->slugs = $slugs; - parent::startup(); - } - - protected function doSearch($query,$translation,$term,$clen = null,$paginate = true) - { + protected function doSearch($query, $translation, $term, $clen = null, $paginate = true) + { $t = $this->em->getTranslationRepository()->find($translation); if ($term) $this->term = $term; - if ($translation) $this->translation = $translation; - $this->slug = $this->translations[$translation]["slug"]; - + if ($translation) $this->translation = $translation; + $this->slug = $this->translations[$translation]["slug"]; + $this->termFacade->setDirection(1); - - if ($paginate) { + + if ($paginate) { $this["paginator"]->setItemCount(500); $offset = $this["paginator"]->getOffset(); - $itemsPerPage = $this['paginator']->getItemsPerPage(); - } - $q = $this->termFacade->findByString($term,$t->dictionary,$clen); + $itemsPerPage = $this['paginator']->getItemsPerPage(); + } + $q = $this->termFacade->findByString($term, $t->dictionary, $clen); $q->setMaxResults(500)->setFirstResult($offset)->getMaxResults($itemsPerPage); - $this->template->translation = $t; + $this->template->translation = $t; - return $q->getResult(); - } + return $q->getResult(); + } /** * @return AlesWita\Components\VisualPaginator */ - protected function createComponentPaginator(): VisualPaginator + protected function createComponentPaginator(): VisualPaginator { $paginator = $this->visualPaginatorFactory->create(); @@ -107,180 +107,178 @@ final class HomePresenter extends BaseFrontPresenter return $paginator; } - protected function createComponentSearchForm() - { - $form = new UI\Form; - $form->addText('string', 'Výraz') - ->setRequired('Zadajte výray'); - $form->addSelect('translation', 'Preklad', $this->drsSelect) - ->setDefaultValue(1) - ->setRequired('Vyberte slovnik'); - $form->addText('clen','Clen',5); - $form->addSubmit('search', 'Vyhaľadaj'); - return $form; - } + protected function createComponentSearchForm() + { + $form = new UI\Form; + $form->addText('string', 'Výraz') + ->setRequired('Zadajte výray'); + $form->addSelect('translation', 'Preklad', $this->drsSelect) + ->setDefaultValue(1) + ->setRequired('Vyberte slovnik'); + $form->addText('clen', 'Clen', 5); + $form->addSubmit('search', 'Vyhaľadaj'); + $form->onSuccess[] = array($this, 'searchFormSucceeded'); + return $form; + } - public function searchFormSucceeded(UI\Form $form,$values) - { - $translation = $values->translation; - $clen = $values->clen; - $term = $values->string; - - $result = $this->doSearch('TermsQuery',$translation,$term,$clen); + public function searchFormSucceeded(UI\Form $form, $values) + { + $translation = $values->translation; + $clen = $values->clen; + $term = $values->string; + + $result = $this->doSearch('TermsQuery', $translation, $term, $clen); + $this->term = $term; + dump($result); $this->template->result = $result; - } + } - public function searchFormSucceededIpa(UI\Form $form,$values) - { - $translation = $values->translation; - $term = $values->string; - $clen = $values->clen; + public function searchFormSucceededIpa(UI\Form $form, $values) + { + $translation = $values->translation; + $term = $values->string; + $clen = $values->clen; - $result = $this->doSearch('TermsFullQuery',$translation,$term,$clen); + $result = $this->doSearch('TermsFullQuery', $translation, $term, $clen); - $this->template->result = $result; - } + $this->template->result = $result; + } - public function searchFormSucceededInteractive(UI\Form $form,$values) - { - $term = $values->string; - $translation = $values->translation; + public function searchFormSucceededInteractive(UI\Form $form, $values) + { + $term = $values->string; + $translation = $values->translation; - $result = $this->doSearch('TermsFullQuery',$translation,$term,null); + $result = $this->doSearch('TermsFullQuery', $translation, $term, null); - $this->template->result = $result; - } + $this->template->result = $result; + } - public function actionPlay($id = null) - { - $pron = $this->em->getPronunciationRepository()->find(['id'=>$id]); - $basepath = $this->getHttpRequest()->url->basePath . "/media"; - $oggResp = new OggResponse($id,$pron->filename); - return $this->sendResponse($oggResp); - - } + public function actionPlay($id = null) + { + $pron = $this->em->getPronunciationRepository()->find(['id' => $id]); + $basepath = $this->getHttpRequest()->url->basePath . "/media"; + $oggResp = new OggResponse($id, $pron->filename); + return $this->sendResponse($oggResp); + } - public function beforeRender() - { - $dicttypes = $this->em->getDictTypeRepository()->findAssoc([],'id'); - $this->template->dicttypes = $dicttypes; - $this->template->dictionaries = $this->dictionaries; - $this->template->translations = $this->translations; - // $this->template->paginator = $this->paginator; - } + public function beforeRender() + { + $dicttypes = $this->em->getDictTypeRepository()->findAssoc([], 'id'); + $this->template->dicttypes = $dicttypes; + $this->template->dictionaries = $this->dictionaries; + $this->template->translations = $this->translations; + // $this->template->paginator = $this->paginator; + } - public function actionDefault() - { - /* + public function actionDefault() + { if ($this->getRequest()->isMethod('GET') && $this->term) { $this['searchForm']['string']->setValue($this->term); $t = $this->slugs[$this->slug]; $result = $this->doSearch('TermsQuery',$t->id,$this->term); if ($result) $this->template->result = $result; + } else { + //dumpe($this); + $this->term = $this['searchForm']['string']->getValue(); } -*/ $this['searchForm']->onSuccess[] = array($this, 'searchFormSucceeded'); - } + } - public function actionSelect($slug,$term = null) - { - $this['searchForm']->onSuccess[] = array($this, 'searchFormSucceededIpa'); + public function actionSelect($slug, $term = null) + { + $this['searchForm']->onSuccess[] = array($this, 'searchFormSucceededIpa'); if ($this->getRequest()->isMethod('GET')) { if (isset($this->slugs[$slug])) { - $t = $this->slugs[$slug]; - $this['searchForm']['translation']->setValue($t->id); - $translation = $t; - } + $t = $this->slugs[$slug]; + $this['searchForm']['translation']->setValue($t->id); + $translation = $t; + } } else { - + $id = $this['searchForm']['translation']->value; dump($id); if (isset($this->translations[$id])) { $t = $this->translations[$id]; - $this->redirect('Front:Home:select',$t["slug"],$this['searchForm']['string']->value); + $this->redirect('Front:Home:select', $t["slug"], $this['searchForm']['string']->value); } - } if ($term) { - $query = new TermsFullQuery($translation->dictionary,$term,$translation->direction); + $query = new TermsFullQuery($translation->dictionary, $term, $translation->direction); $result = $this->repoTerms->fetch($query); $this->template->result = $result; $this->template->translation = $translation; } $this->setView('ipa'); - } + } - public function handleGetInfo($id) - { + public function handleGetInfo($id) + { $term = $this->repoTerms->find($id); - $termFlags = $this->repoTermFlags->findAssoc([],'id'); + $termFlags = $this->repoTermFlags->findAssoc([], 'id'); $dictionary = $term->dictionary; - $query = new TermsFullQuery($dictionary,$term->string1,1,false); + $query = new TermsFullQuery($dictionary, $term->string1, 1, false); $result = $this->repoTerms->fetch($query); $this->template->result = $result; $this->template->termFlags = $termFlags; $this->setView('info'); - } - - public function renderDefault() - { - } - - public function actionIpa() - { - if ($this->getRequest()->isMethod('GET')) { - if ($this->term) { - $this['searchForm']['string']->setValue($this->term); - $result = $this->doSearch('TermsFullQuery',$this->slugs[$this->slug]->id,$this->term); - if ($result) $this->template->result = $result; - } } - $this['searchForm']->onSuccess[] = array($this, 'searchFormSucceededIpa'); - } - - public function actionInteractive() - { - if ($this->getRequest()->isMethod('GET')) { - if ($this->term) { - $this['searchForm']['string']->setValue($this->term); - $result = $this->doSearch('TermsFullQuery',$this->slugs[$this->slug]->id,$this->term); - if ($result) $this->template->result = $result; - } + public function renderDefault() + { } - $this['searchForm']->onSuccess[] = array($this, 'searchFormSucceededInteractive'); - } + public function actionIpa() + { + if ($this->getRequest()->isMethod('GET')) { + if ($this->term) { + $this['searchForm']['string']->setValue($this->term); + $result = $this->doSearch('TermsFullQuery', $this->slugs[$this->slug]->id, $this->term); + if ($result) $this->template->result = $result; + } + } - public function renderAutocomplete($whichData, $typedText = '',$translation = 1) - { - $translation = $this->repoTranslations->find($translation); + $this['searchForm']->onSuccess[] = array($this, 'searchFormSucceededIpa'); + } - $query = new TermsQuickQuery($translation->dictionary,$typedText,$translation->direction); - $result = $this->repoTerms->fetch($query); + public function actionInteractive() + { + if ($this->getRequest()->isMethod('GET')) { + if ($this->term) { + $this['searchForm']['string']->setValue($this->term); + $result = $this->doSearch('TermsFullQuery', $this->slugs[$this->slug]->id, $this->term); + if ($result) $this->template->result = $result; + } + } - $map = []; - foreach ($result as $str) { - $map[] = $str["string1"]; - } + $this['searchForm']->onSuccess[] = array($this, 'searchFormSucceededInteractive'); + } - return $this->sendResponse(new JsonResponse($map)); - } + public function renderAutocomplete($whichData, $typedText = '', $translation = 1) + { + $translation = $this->repoTranslations->find($translation); - public function renderIpa() - { + $query = new TermsQuickQuery($translation->dictionary, $typedText, $translation->direction); + $result = $this->repoTerms->fetch($query); - } + $map = []; + foreach ($result as $str) { + $map[] = $str["string1"]; + } - public function renderMerge() - { + return $this->sendResponse(new JsonResponse($map)); + } - } + public function renderIpa() + { + } + + public function renderMerge() + { + } } - - diff --git a/app/modules/Front/Home/SearchPresenter.php b/app/modules/Front/Home/SearchPresenter.php new file mode 100644 index 0000000..e69de29