regex différent ?

Post Reply
Petitmamouth
Posts: 38
Joined: 22 Feb 2019, 13:11

regex différent ?

Post by Petitmamouth »

Bonjour,
Lors de la saisie de l'identifiant dans le formulaire, la fonction ajax submitformuser vérifie comment a été saisi l'identifiant qui ne doit comporter normalement que des lettres et des chiffres.

je cite

Code: Select all

    if (trim($user_id) == '' || !preg_match('<^[A-Za-z0-9]*$>', $user_id)) {
        $objResponse->addAlert(addslashes($smarty->getConfigVars('user_user_idManquant')));
        return $objResponse;
    }
dans la class user.inc
il existe une fonction check() qui fait la même chose.

je cite

Code: Select all

	public function check($excludePK = false) {
		$check = parent::check();
		if((preg_match("/^[a-zA-Z0-9]+$/", $this->user_id) == 0) || strlen($this->user_id) > 20) {
			return 'user_user_idManquant';
		}
		return $check;
	}
on remarque que le deux pattern (regex) ne sont pas identiques bien que faisant quasiment la même chose.

Y a -'il une raison particulière à cette différence ? De même, il n'y a pas de contrôle sur la longueur dans xajax.php pas xajax.inc (désolé pour l'erreur sur l'extention)

Je souhaite ajouter un . (dot) pour la saisie de l'identifiant car je peux avoir des users avec même nom prénom ce qui rend la tâche difficile. Voila pourquoi sur mon AD on utilise des . (dot)
Est-ce qu'ajouter ce caractère risque d'engendrer un dysfonctionnement . J'avoue que bien commencer à bien comprendre le code, je n'en cerne pas tout. :?

Merci à vous tous.
C'est franchement une excellent appli.
Last edited by Petitmamouth on 21 Oct 2025, 06:26, edited 1 time in total.
soplanning
Site Admin
Posts: 435
Joined: 31 Aug 2017, 15:58

Re: regex différent ?

Post by soplanning »

Bonjour
merci pour le signalement, on va uniformiser les 2 regexp.
On a pas essayé avec un point dans l'identifiant, mais il est probable que ça pose des problèmes.
non pas dans la base de données mais dans le fonctionnement de l'outil. Par exemple pour le drag and drop ou d'autres fonctionnalités pour lesquelles l'identifiant est utilisé dans le code HTML.
Difficile d'avoir des certitudes sans tester, vous pouvez essayer et voir ce que ça donne.
Petitmamouth
Posts: 38
Joined: 22 Feb 2019, 13:11

Re: regex différent ?

Post by Petitmamouth »

Bonjour,
je confirme que le point (dot) ne fonctionne pas.
En effet, le codage des cellules dans le planning dépend de l'identifiant et la... ça plante.
Le js fonction.js ne retrouve pas ses petits. (fonction drop(ev) ... erreur sur offset en ligne 550.

La modif du regex avec un _ plante aussi sur Ajax

Tant pis, faudra faire autrement.

Code: Select all

<td id="td_CHEFAVIO_20251020" class="week today" ondrop="drop(event)" ondragover="allowDrop(event)" ondragleave="leaveDropZone(event);">
<div id="c_1_20251020" draggable="true" ondrop="drop(event)" ondragleave="leaveDropZone(event);" class="cellProject tooltipster  " data-content="1/2" ondragstart="drag(event)" title="" style="color:#000000;background-color:#ffef62;" data-parent="td_CHEFAVIO_20251020" data-original-title="<strong>Titre</strong> : ADC<br /><strong>Projet</strong> : SPA CFET (SPA)<br/><strong>Personne</strong> : AVIO (CHEFAVIO)<br/><strong>Statut</strong> : 1/2 JOURNEE MATIN<br/><strong>Date début</strong> : 20/10/2025<br/><strong>Durée</strong> : 09:00<hr />Créé par admin le 20/10/2025 15:41:33">1/2</div><div class="cellEmpty" ondrop="drop(event)" ondragleave="leaveDropZone(event)" data-parent="td_CHEFAVIO_20251020"></div></td>

C/
Post Reply