Merge remote-tracking branch 'origin/php' into php

php
Patrick BRUGIERE 1 year ago
commit 2960fae3a7

@ -39,11 +39,11 @@ class TeacherController extends UserController
global $user;
$mdl = new MdlTeacher();
$vocabularies = $mdl->getAll();
$groups = $mdl->getAllGroups();
$name = Validation::filter_int($_GET['vocabID'] ?? null);
$groupsVocab = $mdl->findGroupVocab($name);
$groupsNoVocab = $mdl->findGroupNoVocab($name);
$content= $mdl->findByIdVoc($name);
echo $twig->render('manageVocabListView.html', ['vocabularies' => $vocabularies, 'groups' => $groups, 'userID' => $user->getId(), 'userRole' => $user->getRoles(), 'content' => $content, 'vocabID' => $name]);
echo $twig->render('manageVocabListView.html', ['vocabularies' => $vocabularies, 'groupsVocab' => $groupsVocab, 'groupsNoVocab' => $groupsNoVocab, 'userID' => $user->getId(), 'userRole' => $user->getRoles(), 'content' => $content, 'vocabID' => $name]);
}
public function addVocabToGroup():void {

@ -127,7 +127,7 @@ class GroupGateway extends AbsGateway
public function removeVocabFromGroup(int $vocab, int $group) {
try {
$query = "DELETE FROM Practice WHERE vocabID=:vocabID and groupID=:groupID;";
$query = "DELETE FROM Practice WHERE vocabID=:vocabID and groupID=:groupID";
$args = array(':vocabID'=>array($vocab,PDO::PARAM_INT),
':groupID'=>array($group,PDO::PARAM_INT));
$this->con->ExecuteQuery($query,$args);
@ -136,4 +136,28 @@ class GroupGateway extends AbsGateway
throw new Exception($e->getMessage());
}
}
public function findGroupVocab(int $vocab) : array{
$query = "SELECT g.* FROM Practice p, Group_ g WHERE g.id=p.groupID AND p.vocabID=:vocabID;";
$args = array(':vocabID'=>array($vocab,PDO::PARAM_INT));
$this->con->ExecuteQuery($query,$args);
$results = $this->con->getResults();
$tab = array();
foreach ($results as $row) $tab[] = new Group($row['id'],$row['num'],$row['year'],$row['sector']);
return $tab;
}
public function findGroupNoVocab(int $vocab) : array {
$query = "SELECT * FROM Group_ WHERE id NOT IN (SELECT groupID FROM Practice Where vocabID=:vocabID);";
$args = array(':vocabID'=>array($vocab,PDO::PARAM_INT));
$this->con->ExecuteQuery($query,$args);
$results = $this->con->getResults();
$tab = array();
foreach ($results as $row) $tab[] = new Group($row['id'],$row['num'],$row['year'],$row['sector']);
return $tab;
}
}

@ -52,6 +52,16 @@ class MdlTeacher extends MdlUser
$mdl->addVocabToGroup($vocabID, $groupID);
}
public function findGroupVocab(int $vocab): array {
$mdl = new GroupGateway();
return $mdl->findGroupVocab($vocab);
}
public function findGroupNoVocab(int $vocab): array {
$mdl = new GroupGateway();
return $mdl->findGroupNoVocab($vocab);
}
public function RemoveVocById(int $id):void{
$gtw = new VocabularyListGateway();
$res = $gtw->remove($id);

@ -49,9 +49,16 @@
{% endif %}
</section>
<section>
<h2>Groups</h2>
{% if groups is defined and vocabID is defined %}
{% include 'groupContainer.twig' with {'actions' : ['addVocabToGroup', 'removeVocabFromGroup'] } %}
<h2>Groups with vocab</h2>
{% if vocabID is defined %}
{% include 'groupContainer.twig' with {'actions' : 'removeVocabFromGroup', groups : groupsVocab } %}
{% endif %}
</section>
<section>
<h2>Groups without vocab</h2>
{% if groupsNoVocab is defined and vocabID is defined %}
{% include 'groupContainer.twig' with {'actions' : 'addVocabToGroup', groups : groupsNoVocab } %}
{% endif %}
</section>
</section>

Loading…
Cancel
Save