ynh_extension_meeo/controllers/ApiController.php

60 lines
No EOL
1.8 KiB
PHP

<?php
namespace YesWiki\Meeo\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use YesWiki\Core\ApiResponse;
use YesWiki\Core\YesWikiController;
use YesWiki\Meeo\Controle\Controle;
use YesWiki\Meeo\Service\EleveManager;
use YesWiki\Meeo\Service\NoteManager;
class ApiController extends YesWikiController
{
/**
* @Route("/api/meeo/eleves",methods={"POST"},options={"acl":{"public"}})
*/
public function eleveUpdate(Request $request) {
$eleveController = $this->getService(EleveManager::class);
$content = $request->getContent();
parse_str($content, $parameters);
$datas = [];
foreach ($parameters as $cle => $valeur) {
$clef_action = explode('_', $cle);
if ($clef_action[1] == 'classe' && $valeur != 'aucune') {
$datas[] = $eleveController->updateClasse($clef_action[0], $valeur);
}
if ($clef_action[1] == 'del') {
$eleveController->del($clef_action[0]);
}
}
return $this->wiki->redirect('?Eleves', 200);
}
/**
* @Route("/api/meeo/controle",methods={"POST"},options={"acl":{"public"}})
*/
public function control(Request $request) {
$eleveController = $this->getService(NoteManager::class);
$content = $request->getContent();
parse_str($content, $parameters);
include 'tools/meeo/libs/controle/Controle.lib.php';
$eleves = array_filter($parameters, function($key) {
return strpos($key, 'eleve_') === 0;
}, ARRAY_FILTER_USE_KEY);
$controle = new Controle($parameters['intitule'], $parameters['matiere'], $parameters['coef'], $eleves);
$eleveController->addNotes($controle->getNotes());
return new ApiResponse(['parameters' => $controle->getNotes()]);
// return $this->wiki->redirect('?Notes', 200);
}
}