Loading module/UnicaenDocument/src/UnicaenDocument/Controller/MacroController.php +20 −0 Original line number Diff line number Diff line Loading @@ -17,9 +17,29 @@ class MacroController extends AbstractActionController { public function indexAction() { $macros = $this->getMacroService()->getMacros(); $macroNames = []; $variables = []; $methodes = []; foreach ($macros as $item) { $macroNames[$item->getCode()] = $item->getCode(); $variables[$item->getVariable()] = $item->getVariable(); $methodes[$item->getMethode()] = $item->getMethode(); } $macroName = $this->params()->fromQuery('macroName'); if ($macroName !== '') $macros = array_filter($macros, function (Macro $a) use ($macroName) { return $a->getCode() === $macroName; }); $variable = $this->params()->fromQuery('variable'); if ($variable !== '') $macros = array_filter($macros, function (Macro $a) use ($variable) { return $a->getVariable() === $variable; }); $methode = $this->params()->fromQuery('methode'); if ($methode !== '') $macros = array_filter($macros, function (Macro $a) use ($methode) { return $a->getMethode() === $methode; }); return new ViewModel([ 'macros' => $macros, 'macroNames' => $macroNames, 'macroName' => $macroName, 'variables' => $variables, 'variable' => $variable, 'methodes' => $methodes, 'methode' => $methode, ]); } Loading module/UnicaenDocument/src/UnicaenDocument/Service/Macro/MacroService.php +6 −5 Original line number Diff line number Diff line Loading @@ -147,9 +147,10 @@ class MacroService { /** * @param string $code * @param array $variables * @return string * @param bool $silent * @return string|null */ public function getTexte(string $code, array $variables) public function getTexte(string $code, array $variables, bool $silent = false) : ?string { $code = str_replace('VAR[','', $code); $code = str_replace(']','', $code); Loading @@ -161,11 +162,11 @@ class MacroService { $texte = $variables[$macro->getVariable()]->{$macro->getMethode()}(); return $texte; } return "<span style='color:darkred;'> Méthode [".$macro->getMethode()."] non trouvée </span>"; return (!$silent)?"<span style='color:darkred;'> Méthode [".$macro->getMethode()."] non trouvée </span>":null; } return "<span style='color:darkred;'> Variable [".$macro->getVariable()."] non trouvée </span>"; return (!$silent)?"<span style='color:darkred;'> Variable [".$macro->getVariable()."] non trouvée </span>":null; } return "<span style='color:darkred;'> Macro [".$code."] non trouvée </span>"; return (!$silent)?"<span style='color:darkred;'> Macro [".$code."] non trouvée </span>":null; } /** Loading module/UnicaenDocument/view/unicaen-document/macro/index.phtml +10 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,12 @@ /** * @see \UnicaenDocument\Controller\MacroController::indexAction() * @var Macro[] $macros * @var string[] $macroNames * @var string[] $variables * @var string[] $methodes * @var string $macroName * @var string $variable * @var string $methode */ use UnicaenDocument\Entity\Db\Macro; Loading Loading @@ -34,6 +40,10 @@ $this->headTitle("Index des macros"); Générer le JSON des macros </a> <?php echo $this->partial('partial/filtre', [ 'macroNames' => $macroNames, 'variables' => $variables, 'methodes' => $methodes, 'macroName' => $macroName, 'variable' => $variable, 'methode' => $methode], [], true); ?> <table class="table table-condensed"> <thead> <tr> Loading module/UnicaenDocument/view/unicaen-document/macro/partial/filtre.phtml 0 → 100644 +74 −0 Original line number Diff line number Diff line <?php /** * @var string[] $macroNames * @var string $macroName * @var string[] $variables * @var string $variable * @var string[] $methodes * @var string $methode */ ?> <div class="panel panel-default"> <div class="panel-heading"> <span class="icon filtrer"></span> Filtre des fiches métiers </div> <div class="panel-body"> <form method="get" id="filtre" action="<?php echo $this->url(); ?>"> <div class="col-md-3"> <div class="form-group"> <label for="macroName">Code de la macro : </label> <select id="macroName" name="macroName" class="selectpicker" data-live-search="true"> <option value="">Toutes les macros</option> <?php foreach ($macroNames as $item) : ?> <option value="<?php echo $item; ?>" <?php if ($macroName === $item) echo " selected "; ?> > <?php echo $item; ?> </option> <?php endforeach; ?> </select> </div> </div> <div class="col-md-3"> <div class="form-group"> <label for="variable">Variable associée : </label> <select id="variable" name="variable" class="selectpicker" data-live-search="true"> <option value="">Toutes les variables</option> <?php foreach ($variables as $item) : ?> <option value="<?php echo $item; ?>" <?php if ($variable === $item) echo " selected "; ?> > <?php echo $item; ?> </option> <?php endforeach; ?> </select> </div> </div> <div class="col-md-3"> <div class="form-group"> <label for="methode">Méthode associée : </label> <select id="methode" name="methode" class="selectpicker" data-live-search="true"> <option value="">Toutes les méthodes</option> <?php foreach ($methodes as $item) : ?> <option value="<?php echo $item; ?>" <?php if ($methode === $item) echo " selected "; ?> > <?php echo $item; ?> </option> <?php endforeach; ?> </select> </div> </div> <!-- BOUTON --> <div class="col-md-3"> <br/> <div class="pull-right"> <button class="btn btn-primary" id="clear"> <span class="icon effacer"></span> </button> <button class="btn btn-primary" id="filter" style="width:20rem;"> <span class="icon filtrer"></span> Filtrer </button> </div> </div> </form> </div> </div> Loading
module/UnicaenDocument/src/UnicaenDocument/Controller/MacroController.php +20 −0 Original line number Diff line number Diff line Loading @@ -17,9 +17,29 @@ class MacroController extends AbstractActionController { public function indexAction() { $macros = $this->getMacroService()->getMacros(); $macroNames = []; $variables = []; $methodes = []; foreach ($macros as $item) { $macroNames[$item->getCode()] = $item->getCode(); $variables[$item->getVariable()] = $item->getVariable(); $methodes[$item->getMethode()] = $item->getMethode(); } $macroName = $this->params()->fromQuery('macroName'); if ($macroName !== '') $macros = array_filter($macros, function (Macro $a) use ($macroName) { return $a->getCode() === $macroName; }); $variable = $this->params()->fromQuery('variable'); if ($variable !== '') $macros = array_filter($macros, function (Macro $a) use ($variable) { return $a->getVariable() === $variable; }); $methode = $this->params()->fromQuery('methode'); if ($methode !== '') $macros = array_filter($macros, function (Macro $a) use ($methode) { return $a->getMethode() === $methode; }); return new ViewModel([ 'macros' => $macros, 'macroNames' => $macroNames, 'macroName' => $macroName, 'variables' => $variables, 'variable' => $variable, 'methodes' => $methodes, 'methode' => $methode, ]); } Loading
module/UnicaenDocument/src/UnicaenDocument/Service/Macro/MacroService.php +6 −5 Original line number Diff line number Diff line Loading @@ -147,9 +147,10 @@ class MacroService { /** * @param string $code * @param array $variables * @return string * @param bool $silent * @return string|null */ public function getTexte(string $code, array $variables) public function getTexte(string $code, array $variables, bool $silent = false) : ?string { $code = str_replace('VAR[','', $code); $code = str_replace(']','', $code); Loading @@ -161,11 +162,11 @@ class MacroService { $texte = $variables[$macro->getVariable()]->{$macro->getMethode()}(); return $texte; } return "<span style='color:darkred;'> Méthode [".$macro->getMethode()."] non trouvée </span>"; return (!$silent)?"<span style='color:darkred;'> Méthode [".$macro->getMethode()."] non trouvée </span>":null; } return "<span style='color:darkred;'> Variable [".$macro->getVariable()."] non trouvée </span>"; return (!$silent)?"<span style='color:darkred;'> Variable [".$macro->getVariable()."] non trouvée </span>":null; } return "<span style='color:darkred;'> Macro [".$code."] non trouvée </span>"; return (!$silent)?"<span style='color:darkred;'> Macro [".$code."] non trouvée </span>":null; } /** Loading
module/UnicaenDocument/view/unicaen-document/macro/index.phtml +10 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,12 @@ /** * @see \UnicaenDocument\Controller\MacroController::indexAction() * @var Macro[] $macros * @var string[] $macroNames * @var string[] $variables * @var string[] $methodes * @var string $macroName * @var string $variable * @var string $methode */ use UnicaenDocument\Entity\Db\Macro; Loading Loading @@ -34,6 +40,10 @@ $this->headTitle("Index des macros"); Générer le JSON des macros </a> <?php echo $this->partial('partial/filtre', [ 'macroNames' => $macroNames, 'variables' => $variables, 'methodes' => $methodes, 'macroName' => $macroName, 'variable' => $variable, 'methode' => $methode], [], true); ?> <table class="table table-condensed"> <thead> <tr> Loading
module/UnicaenDocument/view/unicaen-document/macro/partial/filtre.phtml 0 → 100644 +74 −0 Original line number Diff line number Diff line <?php /** * @var string[] $macroNames * @var string $macroName * @var string[] $variables * @var string $variable * @var string[] $methodes * @var string $methode */ ?> <div class="panel panel-default"> <div class="panel-heading"> <span class="icon filtrer"></span> Filtre des fiches métiers </div> <div class="panel-body"> <form method="get" id="filtre" action="<?php echo $this->url(); ?>"> <div class="col-md-3"> <div class="form-group"> <label for="macroName">Code de la macro : </label> <select id="macroName" name="macroName" class="selectpicker" data-live-search="true"> <option value="">Toutes les macros</option> <?php foreach ($macroNames as $item) : ?> <option value="<?php echo $item; ?>" <?php if ($macroName === $item) echo " selected "; ?> > <?php echo $item; ?> </option> <?php endforeach; ?> </select> </div> </div> <div class="col-md-3"> <div class="form-group"> <label for="variable">Variable associée : </label> <select id="variable" name="variable" class="selectpicker" data-live-search="true"> <option value="">Toutes les variables</option> <?php foreach ($variables as $item) : ?> <option value="<?php echo $item; ?>" <?php if ($variable === $item) echo " selected "; ?> > <?php echo $item; ?> </option> <?php endforeach; ?> </select> </div> </div> <div class="col-md-3"> <div class="form-group"> <label for="methode">Méthode associée : </label> <select id="methode" name="methode" class="selectpicker" data-live-search="true"> <option value="">Toutes les méthodes</option> <?php foreach ($methodes as $item) : ?> <option value="<?php echo $item; ?>" <?php if ($methode === $item) echo " selected "; ?> > <?php echo $item; ?> </option> <?php endforeach; ?> </select> </div> </div> <!-- BOUTON --> <div class="col-md-3"> <br/> <div class="pull-right"> <button class="btn btn-primary" id="clear"> <span class="icon effacer"></span> </button> <button class="btn btn-primary" id="filter" style="width:20rem;"> <span class="icon filtrer"></span> Filtrer </button> </div> </div> </form> </div> </div>