Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

r@in | b0w
2013-01-22 16:36:39

Et paf, j'ai finalement finalisé l'ensemble grâce à tes JS flop25.

Donc les champs supplémentaires sont obligatoires grâce aux JS ajoutés à l'enregistrement et se retrouvent, de manière normale, dans les informations de profil.

J'ai laissé la checkbox en alert pour les CGU de la photothèque.

Au final, je suis un peu déçu de ne pas y être arrivé mais je sais que mes compétences sont limitées. Là, le résultat est atteint mais, même si le JS est propre et élégant, j'aurais préféré des messages d'erreur à la sauce Piwigo en haut et rouge.

Rien de bien grave donc. Merci pour vos multiples soutiens les gens :)

flop25
2013-01-22 12:52:41

sinon ya ça http://parsleyjs.org/

r@in | b0w
2013-01-22 12:50:28

flop25 a écrit:

sinon tu peux aussi t'inspirer de Advanced user manager

J'ai essayé de m'en inspirer mais rien de mieux.

J'ai aussi tenté de vérifier que les champs soient remplis en JS lors de la validation depuis le template-extension mais, comme j'utilise en plus une checkbox pour des CGUs, je n'arrive pas à cumuler les deux instructions...

flop25
2013-01-22 12:24:35

sinon tu peux aussi t'inspirer de Advanced user manager

r@in | b0w
2013-01-22 12:23:11

ddtddt a écrit:

moi non plus ;-)

En tout cas, tu as plus de bases que moi dans le codage et Piwigo.

Tout ceci juste pour rendre obligatoire des informations à l'enregistrement grrr !

Bref, si j'enlève le bloc suivant, l'inscription est à nouveau fonctionnelle mais les champs supplémentaires ne sont pas plus obligatoires qu'avant.

Code:

  $page['errors'] =
    register_user(
      $_POST['inser1'],
      $_POST['inser2'],
      $_POST['inser3'],
      $_POST['inser4'],
      $_POST['inser5'],
        true,
      $page['errors']
    );

J'ai regardé, en fait, le register.php de Piwigo et j'ai tenté de faire la même chose pour la gestion des erreurs mais j'ai du me planter.

D'une, la détection des erreurs se déclenche pour Piwigo au submit, je dois le rajouter ici peut-être à la place d'utiliser la fonction addInfousersT ?

De deux, le code qui stipule que, si les champs ne sont pas remplis, un superbe "Oops sorry" apparait ne fonctionne pas.

Code:

  if ( !empty($_POST['inser1']) OR !empty($_POST['inser2']) OR !empty($_POST['inser3']) OR !empty($_POST['inser4']) OR !empty($_POST['inser5']) )
    { array_push($page['errors'], l10n('Oops sorry !')); }

Faut vraiment que je prenne des cours de codage...

ddtddt
2013-01-22 12:18:43

r@in | b0w a écrit:

Non, c'est moi et cela se voit que je suis clairement tout sauf un développeur/codeur de module hein... :(

moi non plus ;-)

r@in | b0w
2013-01-22 12:11:34

flop25 a écrit:

function addInfousersT($errors)

Put$^ù*n, à force de modifier, j'ai enlevé la ligne de son emplacement originel.

ddtddt a écrit:

C'est moi qui ai écrit cela ?

Non, c'est moi et cela se voit que je suis clairement tout sauf un développeur/codeur de module hein... :(

ddtddt
2013-01-22 12:08:50

C'est moi qui ai écrit cela ?

flop25
2013-01-22 12:07:50

il faut déclarer la variable global -ici page- avant son emploi

function addInfousersT($errors)
{
  global $prefixeTable, $conf, $page;
...

r@in | b0w
2013-01-22 12:05:08

Bonjour ddtddt.

ddtddt a écrit:

global $prefixeTable, $conf, $page ;

Done. Le serveur mouline puis erreur à la ligne 41 soit :

Code:

$page['errors']

Voilà le code tel qu'il est à l'heure actuelle :

Code:

add_event_handler('register_user_check', 'addInfousersT');

function addInfousersT($errors)
{

  if ( !empty($_POST['inser1']) OR !empty($_POST['inser2']) OR !empty($_POST['inser3']) OR !empty($_POST['inser4']) OR !empty($_POST['inser5']) )
    { array_push($page['errors'], l10n('Oops sorry !')); }

  $page['errors'] =
    register_user(
      $_POST['inser1'],
      $_POST['inser2'],
      $_POST['inser3'],
      $_POST['inser4'],
      $_POST['inser5'],
        true,
      $page['errors']
    );

  global $prefixeTable, $conf, $page;

  if (count($errors) == 0)
  {
    $query = '
SELECT MAX('.$conf['user_fields']['id'].') + 1
  FROM '.USERS_TABLE.'
;';
    list($next_id) = pwg_db_fetch_row(pwg_query($query));


  $q = '
INSERT INTO ' . $prefixeTable . 'AddInfo_users(id,info1,info2,info3,info4,info5)VALUES ("'.$next_id.'","'.$_POST['inser1'].'","'.$_POST['inser2'].'","'.$_POST['inser3'].'","'.$_POST['inser4'].'","'.$_POST['inser5'].'");';
    pwg_query($q);
  }
  
  return $errors;
}

?>

...

ddtddt
2013-01-22 11:58:25

Bonjour,

tu remplaces par

global $prefixeTable, $conf, $page ;

r@in | b0w
2013-01-22 11:52:36

flop25 a écrit:

global sert à appeler et manipuler les variables définies comme globales.

Je m'en doutais mais, du coup, je le place où ce "global" ?

flop25 a écrit:

C'est comme "global $prefixeTable,$conf;"

Ce bout de code appartient au plugin original de ddtddt, ce n'est pas de moi :)

flop25
2013-01-22 11:34:22

oulalala
global sert à appeler et manipuler les variables définies comme globales ; c'est comme "global $prefixeTable,$conf;"

r@in | b0w
2013-01-22 10:28:37

Coucou flop25.

flop25 a écrit:

global $page ;-)

Je le mets où?

Ligne :

Code:

  global $page['errors'] =
    register_user(
      $_POST['inser1'],
      $_POST['inser2'],
      $_POST['inser3'],
      $_POST['inser4'],
      $_POST['inser5'],
        true,
      $page['errors']
    );

Erreur PHP :)

Ligne :

Code:

{ array_push(global $page['errors'], l10n('Oops sorry !')); }

Nouvelle erreur :)

RRRRRRRRRRRRRRRRRRRRRRRRRRRAAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaahh ! #RahanInside

flop25
2013-01-21 14:10:28

global $page ;-)

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact