src/Controller/ParametersController.php line 41
<?phpnamespace App\Controller;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\Routing\Annotation\Method;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\Routing\Annotation\Route;use Symfony\Component\Routing\Annotation\Security;use Symfony\Component\HttpFoundation\Response;use Doctrine\ORM\EntityManagerInterface;use App\Entity\Pictures;use App\Entity\Parameters;use App\Form\ParametersType;use App\Repository\ParametersRepository;use OlaSoft\Common;use Symfony\Component\Yaml\Yaml;/*** @Route("/os-admin/parameters")*/class ParametersController extends AbstractController{/*** @Route("/", name="parameters")*/public function edit(Request $request){$paramsFile = "../config/packages/olasoft.yaml";$values = Yaml::parseFile($paramsFile)["parameters"];$params = [];foreach ($values as $key => $value) {if(is_array($value))foreach($value as $k => $v)$params[$key."_".$k] = $v;else$params[$key] = $value;}$form = $this->createForm(ParametersType::class, $params);$form->remove("_token");$form->handleRequest($request);if ($form->isSubmitted()){$params = [];foreach ($form->getData() as $key => $data) {if(is_object($data) && method_exists($data, "persistFile"))$data->persistFile();if(strpos($key,'_')){[$prefix, $prop] = explode("_", $key);$params[$prefix][$prop] = (string) $data;}else$params[$key] = (string) $data;}file_put_contents($paramsFile,Yaml::dump(['parameters' => $params]));$this->addFlash("notice","Enregistrement des paramètres effectué avec succès.");return $this->redirectToRoute('parameters');}$ajax = $request->isXmlHttpRequest();$response = $this->render('Admin\edit.html.twig',['ajax'=>$ajax,'form'=>$form->createView(),"title"=> "Édition des paramètres",]);return $ajax ?new Response(\json_encode(['content'=>$response->getContent(),"title"=> "Édition des paramètres",])): $response;}}