From 1eb2f5eb3c64fe8ac37dbcbc293472cc98724f76 Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Mon, 31 Jan 2022 14:45:00 +0100 Subject: [PATCH] Une fonction generer_url_api() pour generer une url vers une action api --- ecrire/inc/utils.php | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 1b4578d929..6a7137ab7f 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -2409,6 +2409,41 @@ function generer_url_action($script, $args = '', $no_entities = false, $public = } +/** + * Créer une URL + * + * @param string $script + * Nom du script à exécuter + * @param string $args + * Arguments à transmettre a l'URL sous la forme `arg1=yy&arg2=zz` + * @param bool $no_entities + * Si false : transforme les & en & + * @param boolean $public + * URL public ou relative a l'espace ou l'on est ? + * @return string + * URL + */ +function generer_url_api(string $script, string $path, string $args, bool $no_entities = false, ?bool $public = null) { + if (is_null($public)) { + $public = (_DIR_RACINE ? false : ''); + } + if (substr($script, -4) !== '.api') { + $script .= '.api'; + } + $url = + (($public ? _DIR_RACINE : _DIR_RESTREINT) ?: './') + . $script . '/' + . ($path ? trim($path, '/') : '') + . ($args ? "?" . quote_amp('&' . $args) : ''); + + if ($no_entities) { + $url = str_replace('&', '&', $url); + } + + return $url; +} + + /** * Fonction d'initialisation groupée pour compatibilité ascendante * -- GitLab