CharLength angepasst
This commit is contained in:
parent
50526bc1ca
commit
ac6e9bec62
File diff suppressed because one or more lines are too long
@ -7071,13 +7071,14 @@ InitPromise.addPromise(function () {
|
||||
class SelectWordsSite extends UserSite{
|
||||
|
||||
constructor(siteManager) {
|
||||
super(siteManager, "version/1/html/selectWords.html", null, "admin");
|
||||
super(siteManager, "version/2/html/selectWords.html", null, "select-words");
|
||||
}
|
||||
|
||||
async onConstruct(args) {
|
||||
let res = await super.onConstruct(args);
|
||||
this.stats = (await DataManager.load("words"))["result"];
|
||||
this.words = this.stats["wordsToCheck"];
|
||||
console.log(this.stats);
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -7087,6 +7088,7 @@ class SelectWordsSite extends UserSite{
|
||||
this.findBy("#checked").appendChild(document.createTextNode(this.stats["wordsChecked"]));
|
||||
this.findBy("#not-sure").appendChild(document.createTextNode(this.stats["wordsUnsure"]));
|
||||
this.findBy("#deleted").appendChild(document.createTextNode(this.stats["wordsDeleted"]));
|
||||
this.findBy("#unused").appendChild(document.createTextNode(this.stats["wordsNotUsed"]));
|
||||
|
||||
let template = this.findBy("#word-template");
|
||||
template.id = null;
|
||||
@ -7128,7 +7130,6 @@ class SelectWordsSite extends UserSite{
|
||||
}
|
||||
|
||||
setWord(wordElement, word){
|
||||
console.log(wordElement, word);
|
||||
wordElement.querySelector(".word").removeAllChildren().appendChild(document.createTextNode(word["word"]));
|
||||
wordElement.dataset["id"] = word["id"];
|
||||
}
|
||||
@ -7137,12 +7138,12 @@ class SelectWordsSite extends UserSite{
|
||||
InitPromise.addPromise(app => {
|
||||
app.addDefaultAction(new UserAction("select-words", () => {
|
||||
app.startSite(SelectWordsSite);
|
||||
}, null, null, "admin"));
|
||||
}, null, null, "select-words"));
|
||||
});
|
||||
|
||||
class DeleteWordsSite extends UserSite {
|
||||
constructor(siteManager) {
|
||||
super(siteManager, "version/1/html/deleteLevels.html", null, "admin");
|
||||
super(siteManager, "version/2/html/deleteLevels.html", null, "admin");
|
||||
}
|
||||
|
||||
async onConstruct(args) {
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace Application;
|
||||
|
||||
use Ainias\Core\Connections\MyConnection;
|
||||
use Application\DoctrineExtensions\CharLength;
|
||||
use Doctrine\ORM\Mapping\Driver\AnnotationDriver;
|
||||
|
||||
return array(
|
||||
@ -10,7 +11,7 @@ return array(
|
||||
'driver' => array(
|
||||
'orm_default' => array(
|
||||
'drivers' => array(
|
||||
__NAMESPACE__.'\Model' => 'entities_default',
|
||||
__NAMESPACE__ . '\Model' => 'entities_default',
|
||||
),
|
||||
),
|
||||
'entities_default' => array(
|
||||
@ -19,5 +20,12 @@ return array(
|
||||
)
|
||||
)
|
||||
),
|
||||
'configuration' => [
|
||||
'orm_default' => [
|
||||
'numeric_functions' => [
|
||||
'CHAR_LENGTH' => CharLength::class,
|
||||
],
|
||||
],
|
||||
],
|
||||
),
|
||||
);
|
||||
|
||||
30
src/module/Application/src/DoctrineExtensions/CharLength.php
Normal file
30
src/module/Application/src/DoctrineExtensions/CharLength.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: silas
|
||||
* Date: 22.10.18
|
||||
* Time: 15:24
|
||||
*/
|
||||
|
||||
namespace Application\DoctrineExtensions;
|
||||
|
||||
|
||||
use Doctrine\ORM\Query\AST\Functions\FunctionNode;
|
||||
use Doctrine\ORM\Query\Lexer;
|
||||
|
||||
class CharLength extends FunctionNode
|
||||
{
|
||||
private $expr;
|
||||
|
||||
public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
|
||||
{
|
||||
return 'CHAR_LENGTH('.$sqlWalker->walkArithmeticPrimary($this->expr1).')';
|
||||
}
|
||||
public function parse(\Doctrine\ORM\Query\Parser $parser)
|
||||
{
|
||||
$parser->match(Lexer::T_IDENTIFIER);
|
||||
$parser->match(Lexer::T_OPEN_PARENTHESIS);
|
||||
$this->expr1 = $parser->ArithmeticExpression();
|
||||
$parser->match(Lexer::T_CLOSE_PARENTHESIS);
|
||||
}
|
||||
}
|
||||
@ -56,8 +56,8 @@ class WordRepository extends StandardRepository
|
||||
$offset = rand(0,$numberWords-1);
|
||||
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.checked", "0"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte($queryBuilder->expr()->length("w.word"), ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte($queryBuilder->expr()->length("w.word"), ":maxLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte("CHAR_LENGTH(w.word)", ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte("CHAR_LENGTH(w.word)", ":maxLength"));
|
||||
$queryBuilder->setParameter("minLength", $minLength);
|
||||
$queryBuilder->setParameter("maxLength", $maxLength);
|
||||
$queryBuilder->setMaxResults(1);
|
||||
@ -76,9 +76,11 @@ class WordRepository extends StandardRepository
|
||||
$queryBuilder = $this->_em->createQueryBuilder();
|
||||
$queryBuilder->select("COUNT(w.id)")->from(Word::class, "w");
|
||||
|
||||
// $queryBuilder->andWhere($queryBuilder->expr()->eq("w.word", "Sechsfüßer"));
|
||||
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.checked", "0"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte($queryBuilder->expr()->length("w.word"), ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte($queryBuilder->expr()->length("w.word"), ":maxLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte("CHAR_LENGTH(w.word)", ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte("CHAR_LENGTH(w.word)", ":maxLength"));
|
||||
$queryBuilder->setParameter("minLength", $minLength);
|
||||
$queryBuilder->setParameter("maxLength", $maxLength);
|
||||
$queryBuilder->setMaxResults(1);
|
||||
@ -92,8 +94,8 @@ class WordRepository extends StandardRepository
|
||||
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.checked", "1"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.deleted", "1"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte($queryBuilder->expr()->length("w.word"), ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte($queryBuilder->expr()->length("w.word"), ":maxLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte("CHAR_LENGTH(w.word)", ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte("CHAR_LENGTH(w.word)", ":maxLength"));
|
||||
$queryBuilder->setParameter("minLength", $minLength);
|
||||
$queryBuilder->setParameter("maxLength", $maxLength);
|
||||
$queryBuilder->setMaxResults(1);
|
||||
@ -107,8 +109,8 @@ class WordRepository extends StandardRepository
|
||||
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.checked", "1"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.deleted", "0"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte($queryBuilder->expr()->length("w.word"), ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte($queryBuilder->expr()->length("w.word"), ":maxLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte("CHAR_LENGTH(w.word)", ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte("CHAR_LENGTH(w.word)", ":maxLength"));
|
||||
$queryBuilder->setParameter("minLength", $minLength);
|
||||
$queryBuilder->setParameter("maxLength", $maxLength);
|
||||
$queryBuilder->setMaxResults(1);
|
||||
@ -121,8 +123,8 @@ class WordRepository extends StandardRepository
|
||||
$queryBuilder->select("COUNT(w.id)")->from(Word::class, "w");
|
||||
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.checked", "-1"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte($queryBuilder->expr()->length("w.word"), ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte($queryBuilder->expr()->length("w.word"), ":maxLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte("CHAR_LENGTH(w.word)", ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte("CHAR_LENGTH(w.word)", ":maxLength"));
|
||||
$queryBuilder->setParameter("minLength", $minLength);
|
||||
$queryBuilder->setParameter("maxLength", $maxLength);
|
||||
$queryBuilder->setMaxResults(1);
|
||||
@ -137,7 +139,7 @@ class WordRepository extends StandardRepository
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.checked", "1"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.deleted", "0"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.used", "0"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq($queryBuilder->expr()->length("w.word"), ":length"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("CHAR_LENGTH(w.word)", ":length"));
|
||||
$queryBuilder->setParameter("length", $length);
|
||||
return $queryBuilder->getQuery()->getResult();
|
||||
}
|
||||
@ -150,8 +152,8 @@ class WordRepository extends StandardRepository
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.checked", "1"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.deleted", "0"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->eq("w.used", "0"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte($queryBuilder->expr()->length("w.word"), ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte($queryBuilder->expr()->length("w.word"), ":maxLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->gte("CHAR_LENGTH(w.word)", ":minLength"));
|
||||
$queryBuilder->andWhere($queryBuilder->expr()->lte("CHAR_LENGTH(w.word)", ":maxLength"));
|
||||
$queryBuilder->setParameter("minLength", $minLength);
|
||||
$queryBuilder->setParameter("maxLength", $maxLength);
|
||||
$queryBuilder->setMaxResults(1);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user