You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

100 lines
2.5 KiB

<?php
/**
* Compile la balise `#GITEA_USER_INFOS` qui fournit un champ ou tous les champs descriptifs d'un user Gitea.
* La signature de la balise est : `#GITEA_USER_INFOS{email[, information]}`.
*
* @balise
*
* @example
* ```
* #GITEA_USER_INFOS{email}, renvoie tous les champs descriptifs du user Gitea désigné par son email
* #GITEA_USER_INFOS{email, existe}, indique si le user existe déjà dans la base Gitea
* ```
* @param Champ $p
* Pile au niveau de la balise.
*
* @return Champ
* Pile complétée par le code à générer.
**/
function balise_GITEA_USER_INFOS_dist($p) {
// Deux arguments : l'email obligatoire pour désigner le user et éventuellement une information précise sur le user
$email = interprete_argument_balise(1, $p);
$email = str_replace('\'', '"', $email);
$information = interprete_argument_balise(2, $p);
$information = isset($information) ? str_replace('\'', '"', $information) : '""';
$p->code = "gitea_user_informer($email, $information)";
return $p;
}
/**
* @internal
*
* @param string $bloc
* @param string $information
*
* @return array|string|bool
*/
function gitea_user_informer($email, $information = '') {
// Initialisation du retour en fonction de la demande
$retour = !$information ? [] : ($information === 'existe' ? false : '');
// L'email doit toujours être fourni
if ($email) {
include_spip('services/gitea');
if ($information === 'existe') {
// Existence du user
$retour = gitea_user_existe($email);
} else {
// Tout ou partie du user
$retour = gitea_user_lire($email);
if ($information) {
$retour = $retour[$information] ?? '';
}
}
}
return $retour;
}
/**
* Compile la balise `#GITEA_USER_LISTE` qui renvoie la liste des users de la forge Gitea filtrée selon
* les critères fournis. Chaque objet est fourni avec sa description complète.
* La signature de la balise est : `#GITEA_USER_LISTE{[filtres]}`.
*
* @balise
*
* @param Champ $p
* Pile au niveau de la balise.
*
* @return Champ
* Pile complétée par le code à générer.
**/
function balise_GITEA_USER_LISTE_dist($p) {
// Les filtres sont optionnels
$filtres = interprete_argument_balise(1, $p);
$filtres = isset($filtres) ? str_replace('\'', '"', $filtres) : 'array()';
// Aucun argument à la balise.
$p->code = "gitea_user_lister(${filtres})";
return $p;
}
/**
* @internal
*
* @return array|string
*/
function gitea_user_lister($filtres = array()) {
include_spip('services/gitea');
return gitea_user_repertorier($filtres);
}