Tepmlates fixes

This commit is contained in:
2022-01-26 21:30:25 +01:00
parent b4380aeb95
commit cddc8b970e
6 changed files with 123 additions and 82 deletions

View File

@@ -48,6 +48,38 @@ class Pronunciation extends AbstractEntity
* @ORM\Column(type="string", nullable=true) * @ORM\Column(type="string", nullable=true)
*/ */
protected $filename; 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;
}
} }
?> ?>

View File

@@ -2,41 +2,44 @@
namespace App\Model\Database\Entity; namespace App\Model\Database\Entity;
use Doctrine\ORM\Mapping as ORM;
use App\Model\Database\Entity\Attributes\TId; use App\Model\Database\Entity\Attributes\TId;
use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Proxy\Proxy;
use Doctrine\ORM\Mapping as ORM;
/** /**
* @ORM\Entity(repositoryClass="App\Model\Database\Repository\TermRepository") * @ORM\Entity(repositoryClass="App\Model\Database\Repository\TermRepository")
* @ORM\HasLifecycleCallbacks * @ORM\HasLifecycleCallbacks
* @ORM\Table(indexes={@ORM\Index(columns={"string1"}, flags={"fulltext"}),@ORM\Index(columns={"string2"}, flags={"fulltext"})}) * @ORM\Table(indexes={@ORM\Index(columns={"string1"}, flags={"fulltext"}),@ORM\Index(columns={"string2"}, flags={"fulltext"})})
* *
* @property int $id * @property int $id
* @property String $string1 * @property String $string1
* @property String $string2 * @property String $string2
* @property Dictionary $dictionary * @property Dictionary $dictionary
* @property mixed $pronunciations
* @property Suffix $suffix1 * @property Suffix $suffix1
* @property Suffix $suffix2 * @property Suffix $suffix2
* @property DictType $type * @property DictType $type
* @property int $order2 * @property int $order2
* @property String $member * @property String $member
*/ */
class Term extends AbstractEntity class Term extends AbstractEntity
{ {
use Tid; use Tid;
public function __construct(Dictionary $dictionary,$string) public function __construct(Dictionary $dictionary, $string)
{ {
$this->dictionary = $dictionary; $this->dictionary = $dictionary;
$this->string1 = $string; $this->string1 = $string;
} }
/** /**
* @ORM\ManyToOne(targetEntity="\App\Model\Database\Entity\Dictionary", inversedBy="terms",cascade={"persist", "remove" }) * @ORM\ManyToOne(targetEntity="\App\Model\Database\Entity\Dictionary", inversedBy="terms",cascade={"persist", "remove" })
*/ */
protected $dictionary; protected $dictionary;
/** /**
* @ORM\Column(type="string") * @ORM\Column(type="string")
*/ */
protected $string1; protected $string1;
@@ -46,7 +49,6 @@ class Term extends AbstractEntity
*/ */
protected $string2; protected $string2;
/** /**
* @ORM\ManyToOne(targetEntity="Suffix") * @ORM\ManyToOne(targetEntity="Suffix")
*/ */
@@ -57,7 +59,6 @@ class Term extends AbstractEntity
*/ */
protected $suffix2; protected $suffix2;
/** /**
* @ORM\ManyToOne(targetEntity="DictType") * @ORM\ManyToOne(targetEntity="DictType")
*/ */
@@ -66,8 +67,9 @@ class Term extends AbstractEntity
/** /**
* @ORM\ManyToMany(targetEntity="Pronunciation", inversedBy="terms") * @ORM\ManyToMany(targetEntity="Pronunciation", inversedBy="terms")
* @ORM\JoinTable(name="terms_pronunciations") * @ORM\JoinTable(name="terms_pronunciations")
* @var Collection&iterable<Pronunciation>
*/ */
protected $pronunciations; protected Collection $pronunciations;
/** /**
* @ORM\Column(type="string",nullable=true) * @ORM\Column(type="string",nullable=true)
@@ -76,13 +78,13 @@ class Term extends AbstractEntity
public function setMember($member) public function setMember($member)
{ {
$this->member = $member; $this->member = $member;
return $this; return $this;
} }
public function getMember() public function getMember()
{ {
return $this->member; return $this->member;
} }
/** /**
@@ -97,32 +99,29 @@ class Term extends AbstractEntity
public function getFlags() public function getFlags()
{ {
return $this->flags; return $this->flags;
} }
public function setFlags($flags) public function setFlags($flags)
{ {
$this->flags = $flags; $this->flags = $flags;
return $this; return $this;
} }
public function getOrder2() public function getOrder2()
{ {
return $this->order2; return $this->order2;
} }
public function setOrder2($order2) public function setOrder2($order2)
{ {
$this->order2 = $order2; $this->order2 = $order2;
return $this; return $this;
} }
/** /**
* Get the value of string1 * Get the value of string1
*/ */
public function getString1() public function getString1()
{ {
return $this->string1; return $this->string1;
@@ -132,7 +131,7 @@ class Term extends AbstractEntity
* Set the value of string1 * Set the value of string1
* *
* @return self * @return self
*/ */
public function setString1($string1) public function setString1($string1)
{ {
$this->string1 = $string1; $this->string1 = $string1;
@@ -142,7 +141,7 @@ class Term extends AbstractEntity
/** /**
* Get the value of string2 * Get the value of string2
*/ */
public function getString2() public function getString2()
{ {
return $this->string2; return $this->string2;
@@ -152,7 +151,7 @@ class Term extends AbstractEntity
* Set the value of string2 * Set the value of string2
* *
* @return self * @return self
*/ */
public function setString2($string2) public function setString2($string2)
{ {
$this->string2 = $string2; $this->string2 = $string2;
@@ -162,7 +161,7 @@ class Term extends AbstractEntity
/** /**
* Get the value of suffix1 * Get the value of suffix1
*/ */
public function getSuffix1() public function getSuffix1()
{ {
return $this->suffix1; return $this->suffix1;
@@ -172,7 +171,7 @@ class Term extends AbstractEntity
* Set the value of suffix1 * Set the value of suffix1
* *
* @return self * @return self
*/ */
public function setSuffix1($suffix1) public function setSuffix1($suffix1)
{ {
$this->suffix1 = $suffix1; $this->suffix1 = $suffix1;
@@ -182,7 +181,7 @@ class Term extends AbstractEntity
/** /**
* Get the value of suffix2 * Get the value of suffix2
*/ */
public function getSuffix2() public function getSuffix2()
{ {
return $this->suffix2; return $this->suffix2;
@@ -192,7 +191,7 @@ class Term extends AbstractEntity
* Set the value of suffix2 * Set the value of suffix2
* *
* @return self * @return self
*/ */
public function setSuffix2($suffix2) public function setSuffix2($suffix2)
{ {
$this->suffix2 = $suffix2; $this->suffix2 = $suffix2;
@@ -202,7 +201,7 @@ class Term extends AbstractEntity
/** /**
* Get the value of type * Get the value of type
*/ */
public function getType() public function getType()
{ {
return $this->type; return $this->type;
@@ -212,13 +211,21 @@ class Term extends AbstractEntity
* Set the value of type * Set the value of type
* *
* @return self * @return self
*/ */
public function setType($type) public function setType($type)
{ {
$this->type = $type; $this->type = $type;
return $this; return $this;
} }
}
?> /**
* Get the value of pronunciations
*
* @return Collection&iterable<Pronunciation>
*/
public function getPronunciations()
{
return $this->pronunciations;
}
}

View File

@@ -125,7 +125,7 @@ final class HomePresenter extends BaseFrontPresenter
$translation = $values->translation; $translation = $values->translation;
$clen = $values->clen; $clen = $values->clen;
$term = $values->string; $term = $values->string;
$result = $this->doSearch('TermsQuery',$translation,$term,$clen); $result = $this->doSearch('TermsQuery',$translation,$term,$clen);
$this->template->result = $result; $this->template->result = $result;
} }
@@ -171,56 +171,60 @@ final class HomePresenter extends BaseFrontPresenter
public function actionDefault() public function actionDefault()
{ {
if ($this->getRequest()->isMethod('GET') && $this->term) { /*
$this['searchForm']['string']->setValue($this->term); if ($this->getRequest()->isMethod('GET') && $this->term) {
$t = $this->slugs[$this->slug]; $this['searchForm']['string']->setValue($this->term);
$result = $this->doSearch('TermsQuery',$t->id,$this->term); $t = $this->slugs[$this->slug];
if ($result) $this->template->result = $result; $result = $this->doSearch('TermsQuery',$t->id,$this->term);
} if ($result) $this->template->result = $result;
}
$this['searchForm']->onSuccess[] = array($this, 'searchFormSucceeded'); */
$this['searchForm']->onSuccess[] = array($this, 'searchFormSucceeded');
} }
public function actionSelect($slug,$term = null) public function actionSelect($slug,$term = null)
{ {
$this['searchForm']->onSuccess[] = array($this, 'searchFormSucceededIpa'); $this['searchForm']->onSuccess[] = array($this, 'searchFormSucceededIpa');
if ($this->getRequest()->isMethod('GET')) { if ($this->getRequest()->isMethod('GET')) {
if (isset($this->slugs[$slug])) { if (isset($this->slugs[$slug])) {
$t = $this->slugs[$slug]; $t = $this->slugs[$slug];
$this['searchForm']['translation']->setValue($t->id); $this['searchForm']['translation']->setValue($t->id);
$translation = $t; $translation = $t;
} }
} else { } else {
$id = $this['searchForm']['translation']->value;
if (isset($this->translations[$id])) { $id = $this['searchForm']['translation']->value;
$t = $this->translations[$id]; dump($id);
$this->redirect('Homepage:select',$t["slug"],$this['searchForm']['string']->value); if (isset($this->translations[$id])) {
$t = $this->translations[$id];
$this->redirect('Front:Home:select',$t["slug"],$this['searchForm']['string']->value);
}
} }
} if ($term) {
if ($term) { $query = new TermsFullQuery($translation->dictionary,$term,$translation->direction);
$query = new TermsFullQuery($translation->dictionary,$term,$translation->direction); $result = $this->repoTerms->fetch($query);
$result = $this->repoTerms->fetch($query);
$this->template->result = $result; $this->template->result = $result;
$this->template->translation = $translation; $this->template->translation = $translation;
} }
$this->setView('ipa'); $this->setView('ipa');
} }
public function handleGetInfo($id) public function handleGetInfo($id)
{ {
$term = $this->repoTerms->find($id); $term = $this->repoTerms->find($id);
$termFlags = $this->repoTermFlags->findAssoc([],'id'); $termFlags = $this->repoTermFlags->findAssoc([],'id');
$dictionary = $term->dictionary; $dictionary = $term->dictionary;
$query = new TermsFullQuery($dictionary,$term->string1,1,false); $query = new TermsFullQuery($dictionary,$term->string1,1,false);
$result = $this->repoTerms->fetch($query); $result = $this->repoTerms->fetch($query);
$this->template->result = $result; $this->template->result = $result;
$this->template->termFlags = $termFlags; $this->template->termFlags = $termFlags;
$this->setView('info'); $this->setView('info');
} }
public function renderDefault() public function renderDefault()

View File

@@ -31,7 +31,7 @@ $( document ).ready(function() {
{/block} {/block}
{block content} {block content}
<div id="content"> <div id="content">
<p>Zadaj vyhladavany vyraz.</p> <h2>Zadaj vyhladavany vyraz.</h2>
<div class="boxes"> <div class="boxes">
{form searchForm} {form searchForm}

View File

@@ -1,5 +1,4 @@
{block title}Slovnik{/block} {block title}Slovnik{/block}
{layout ../@layout.latte}
{block head} {block head}
<script> <script>
$( document ).ready(function() { $( document ).ready(function() {
@@ -7,7 +6,7 @@ $( document ).ready(function() {
event.preventDefault(); event.preventDefault();
id = $(this).attr("data-sound-id"); id = $(this).attr("data-sound-id");
var audioElement = document.createElement('audio'); var audioElement = document.createElement('audio');
audioElement.setAttribute('src', {link Homepage:play} + "/" + id); audioElement.setAttribute('src', {link Home:play} + "/" + id);
console.log("Play sound:" + id); console.log("Play sound:" + id);
audioElement.play(); audioElement.play();
}); });
@@ -17,7 +16,7 @@ $(function() {
$("input[name=" + select_name + "]").autocomplete({ $("input[name=" + select_name + "]").autocomplete({
source: function( request, response ) { source: function( request, response ) {
$.ajax({ $.ajax({
url: "{!$presenter->link('autocomplete')}", url: {!$presenter->link('autocomplete')},
data: { data: {
whichData: select_name, whichData: select_name,
typedText: request.term, typedText: request.term,
@@ -94,8 +93,8 @@ $(function() {
{$last == $term->string1 && trim($last2) != '' && trim($term->string2) != '' ? ', ' : ''}{$term->string2}{** {$last == $term->string1 && trim($last2) != '' && trim($term->string2) != '' ? ', ' : ''}{$term->string2}{**
Nutne kvoli newline Nutne kvoli newline
**} **}
{? $last = $term->string1} {var $last = $term->string1}
{? $last2 = $term->string2} {var $last2 = $term->string2}
{/foreach} {/foreach}
</table> </table>
{/ifset} {/ifset}

View File

@@ -1,5 +1,4 @@
{block title}Slovnik{/block} {block title}Slovnik{/block}
{layout ../@layout.latte}
{block head} {block head}
<script> <script>
$( document ).ready(function() { $( document ).ready(function() {
@@ -7,7 +6,7 @@ $( document ).ready(function() {
event.preventDefault(); event.preventDefault();
id = $(this).attr("data-sound-id"); id = $(this).attr("data-sound-id");
var audioElement = document.createElement('audio'); var audioElement = document.createElement('audio');
var link = {link Homepage:play 123456 }; var link = {link Home:play 123456 };
audioElement.setAttribute('src', link.replace('123456',id)); audioElement.setAttribute('src', link.replace('123456',id));
console.log("Play sound:" + id); console.log("Play sound:" + id);
audioElement.play(); audioElement.play();
@@ -56,8 +55,8 @@ $( document ).ready(function() {
{$last == $term->string1 && trim($last2) != '' && trim($term->string2) != '' ? ', ' : ''}{$term->string2}{** {$last == $term->string1 && trim($last2) != '' && trim($term->string2) != '' ? ', ' : ''}{$term->string2}{**
Nutne kvoli newline Nutne kvoli newline
**} **}
{? $last = $term->string1} {var $last = $term->string1}
{? $last2 = $term->string2} {var $last2 = $term->string2}
{/foreach} {/foreach}
</table> </table>
{/ifset} {/ifset}