Skip to content
Snippets Groups Projects
Select Git revision
  • bootstrap4_migration
  • develop default
  • master protected
  • unicaen_authentification
  • 5.x
  • 4.x
  • release_4.0.0
  • laminas_migration
  • zf-3.x
  • 7.1.0
  • 7.0.0
  • 6.1.0
  • 6.0.1
  • 6.0.0
  • 5.0.1
  • 5.0.0
  • 4.0.2
  • 4.0.1
  • 4.0.0
  • 3.0.0
  • 1.0.5
  • 1.0.4
  • 1.0.3
  • 1.0.2
  • 1.0.1
  • 1.0.0
26 results

FaqController.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    MacroController.php 3.89 KiB
    <?php
    
    namespace UnicaenRenderer\Controller;
    
    use Application\Service\Agent\AgentServiceAwareTrait;
    use UnicaenRenderer\Entity\Db\Macro;
    use UnicaenRenderer\Form\Macro\MacroFormAwareTrait;
    use UnicaenRenderer\Service\Macro\MacroServiceAwareTrait;
    use Laminas\Http\Request;
    use Laminas\Mvc\Controller\AbstractActionController;
    use Laminas\View\Model\ViewModel;
    
    class MacroController extends AbstractActionController {
        use MacroServiceAwareTrait;
        use MacroFormAwareTrait;
    
        public function indexAction() {
            $macrosAll = $this->getMacroService()->getMacros();
            $variable = $this->params()->fromQuery('variable');
    
            $macros = [];
            $variables = [];
            foreach ($macrosAll as $macro) {
                $variables[$macro->getVariable()] = $macro->getVariable();
                if ($variable === null OR $variable ==='' OR $macro->getVariable() === $variable) {
                    $macros[] = $macro;
                }
            }
    
            return new ViewModel([
                'title' => 'Gestion des macros',
                'macros' => $macros,
                'variables' => $variables,
                'variable' => $variable,
            ]);
        }
    
        public function ajouterAction() {
            $macro = new Macro();
            $form = $this->getMacroForm();
            $form->setAttribute('action', $this->url()->fromRoute('contenu/macro/ajouter', [], [], true));
            $form->bind($macro);
    
            /** @var Request $request */
            $request = $this->getRequest();
            if ($request->isPost()) {
                $data = $request->getPost();
                $form->setData($data);
                if ($form->isValid()) {
                    $this->getMacroService()->create($macro);
                }
            }
    
            $vm = new ViewModel();
            $vm->setTemplate('unicaen-renderer/default/default-form');
            $vm->setVariables([
                'title' => "Ajout d'une nouvelle macro",
                'form' => $form,
            ]);
            return $vm;
        }
    
        public function modifierAction() {
            $macro = $this->getMacroService()->getRequestedMacro($this);
            $form = $this->getMacroForm();
            $form->setAttribute('action', $this->url()->fromRoute('contenu/macro/modifier', ['macro' => $macro->getId()], [], true));
            $form->bind($macro);
            $form->setOldCode($macro->getCode());
    
            /** @var Request $request */
            $request = $this->getRequest();
            if ($request->isPost()) {
                $data = $request->getPost();
                $form->setData($data);
                if ($form->isValid()) {
                    $this->getMacroService()->update($macro);
                }
            }
    
            $vm = new ViewModel();
            $vm->setTemplate('unicaen-renderer/default/default-form');
            $vm->setVariables([
                'title' => "Modification d'une macro",
                'form' => $form,
            ]);
            return $vm;
        }
    
        public function supprimerAction()
        {
            $macro = $this->getMacroService()->getRequestedMacro($this);
    
            /** @var Request $request */
            $request = $this->getRequest();
            if ($request->isPost()) {
                $data = $request->getPost();
                if ($data["reponse"] === "oui") $this->getMacroService()->delete($macro);
                exit();
            }
    
            $vm = new ViewModel();
            if ($macro !== null) {
                $vm->setTemplate('unicaen-renderer/default/confirmation');
                $vm->setVariables([
                    'title' => "Suppression de la macro " . $macro->getCode(),
                    'text' => "La suppression est définitive êtes-vous sûr&middot;e de vouloir continuer ?",
                    'action' => $this->url()->fromRoute('contenu/macro/supprimer', ["macro" => $macro->getId()], [], true),
                ]);
            }
            return $vm;
        }
    
        public function genererJsonAction()
        {
            $json = $this->getMacroService()->generateJSON();
    
            return new ViewModel([
                'title' => 'JSON pour tinyMCE',
                'json' => $json,
            ]);
        }
    
    }