56 lines
No EOL
1.2 KiB
PHP
56 lines
No EOL
1.2 KiB
PHP
<?php
|
|
|
|
namespace YesWiki\Meeo;
|
|
|
|
include 'tools/meeo/libs/Note.lib.php';
|
|
|
|
use YesWiki\Bazar\Service\EntryManager;
|
|
|
|
class Matiere {
|
|
private $id;
|
|
private $nom;
|
|
private $notes;
|
|
|
|
public function __construct($wiki, Bulletin $bulletin, string $id, string $nom) {
|
|
$this->id = $id;
|
|
$this->nom = $nom;
|
|
|
|
$eleveId = $bulletin->getId();
|
|
|
|
$entryManager = $wiki->services->get(EntryManager::class);
|
|
$entries = $entryManager->search(['formsIds' => 7, 'queries' =>[
|
|
'listefiche5bf_eleve' => $eleveId,
|
|
'listeListeMatièrebf_matiere' => $id
|
|
]]);
|
|
// echo var_dump($entries)."\n\n";
|
|
foreach ($entries as $entry) {
|
|
$this->notes[] = new Note($entry['bf_intitule'], $entry['bf_note'], $entry['bf_coef']);
|
|
}
|
|
}
|
|
|
|
public function getId() {
|
|
return $this->id;
|
|
}
|
|
|
|
public function getNom() {
|
|
return $this->nom;
|
|
}
|
|
|
|
public function getMoyenne() {
|
|
$total = 0;
|
|
$totalCoef = 0.0;
|
|
foreach ($this->notes as $note) {
|
|
$total += $note->getNote() * $note->getCoef();
|
|
$totalCoef += $note->getCoef();
|
|
}
|
|
return $total / $totalCoef;
|
|
}
|
|
|
|
public function getNotes() {
|
|
return $this->notes;
|
|
}
|
|
|
|
public function isVisible() {
|
|
return $this->notes;
|
|
}
|
|
} |