•  » Utilisation
  •  » lier les utilisateurs de piwigo avec une base de donnée externe..

#31 2010-02-17 10:57:35

P@t
Équipe Piwigo
Nice
2007-06-13
5694

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

NiS a écrit:

edit1: je viens de tester ca marche nickel quand je me connecte a phenix je suis automatiquement connecté a piwigo mais parcontre dans l'autre sens ca ne marche pas.. je vais essayé de voir l'astuce en partant de ton code javascript pour le mettre dans la page index de piwigo.. si ca marche je posterais ca :)

En effet, mon astuce ne marche que dans un sens... si tu veux que ca fonctionne dans l'autre sens,il faut regarder comment la connexion se fait à phenix.
Y a-t-il un web service (comme pour piwigo)? Y a-t-il un bout de code à récupérer et à insérer dans piwigo? A toi de voir... demande peut-etre sur le forum de phenix.


P@t

Hors ligne

#32 2010-02-17 11:19:36

NiS
Membre
2010-02-09
85

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

c'est fait j'ai demandé sur le forum la confirmation et ou ca se trouvait et  je suis entrain de chercher par moi même dans le code si je trouve quelque chose de similaire a la page ws.php


et si j'ai bien suivi ce que tu utilises comme script si y a bien un web service je pourrais faire ceci

Code:

<script type="text/javascript">
function phenixlog()
{
  var xhr; 
  try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
  catch (e) 
  {
    try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
    catch (e2) 
    {
      try { xhr = new XMLHttpRequest(); }
      catch (e3) { return; }
    }
  }

  data = document.getElementsByName('mylogin')[0].elements;
  xhr.open( "POST", "[color=#BF0000]Galerie/pagewebservice.php[/color]",  false); // [i]path vers la page php ou se trouve le web service[/i]
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
  xhr.send("method=[b][color=#FF0000]PHENIX[/color][/b].session.login&username=" + data.username.value + "&password=" + data.password.value); 
} 
</script>

... ou mylogin est le nom du formulaire et ensuite faire une modif dans le formulaire faire appel a la fonction comme ceci

Code:

<input type="submit" value="submit" onClick="phenixlog();">

Hors ligne

#33 2010-02-17 12:03:36

NiS
Membre
2010-02-09
85

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

euh pat je viens d'y réfléchir pour utiliser la page de connection de phenix serait il possible.. d'arriver sur la page de connection phenix et d'au lieu de se connecter a la page de phenix qu'elle se connecte a une page index.php que j'ai créé et que la session soit ouverte a partir de ce moment la si je clique sur planning ou galerie dans mon menu je suis automatiquement connecté ?

merci d'avance :)

suis sur que la solution est pas loin :p

Hors ligne

#34 2010-02-17 12:26:31

NiS
Membre
2010-02-09
85

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

En cherchant un peu j'ai trouvé pour changer la direction vers ma page php sans aucun probleme.. et quand je clique sur mon lien galerie je suis correctement connecter mais par contre lorsque je clique sur planning je reviens a ma page de connection.. si je me trompe pas il a pas recu les informations pour aller correctement sur la page adéquate

j'ai tenter en rajoutant ce script la dans le head de ma page php ou serait le probleme moyen que je m'en sorte ?:)

Code:

<script type="text/javascript">
function pwglog()
{
  var xhr; 
  try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
  catch (e) 
  {
    try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
    catch (e2) 
    {
      try { xhr = new XMLHttpRequest(); }
      catch (e3) { return; }
    }
  }

  data = document.getElementsByName('mylogin')[0].elements;
  xhr.open( "POST", "piwigo/ws.php",  false);
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
  xhr.send("method=pwg.session.login&username=" + data.username.value + "&password=" + data.password.value); 
} 
</script>

Edit 1:

J'essaye maintenant en utilisant la session qui a été créé de l'ouvrir sur mon index.php pour que ensuite lorsque je me dirige vers phenix.php je sois automatiquement connecté..

Code:

<?php
  /**************************************************************************\
  * Phenix Agenda                                                            *
  * http://phenix.gapi.fr                                                    *
  * Written by    Stephane TEIL            <phenix-agenda@laposte.net>       *
  * Contributors  Christian AUDEON (Omega) <christian.audeon@gmail.com>      *
  *               Maxime CORMAU (MaxWho17) <maxwho17@free.fr>                *
  *               Mathieu RUE (Frognico)   <matt_rue@yahoo.fr>               *
  *               Bernard CHAIX (Berni69)  <ber123456@free.fr>               *
  * --------------------------------------------                             *
  *  This program is free software; you can redistribute it and/or modify it *
  *  under the terms of the GNU General Public License as published by the   *
  *  Free Software Foundation; either version 2 of the License, or (at your  *
  *  option) any later version.                                              *
  \**************************************************************************/

  require("inc/nocache.inc.php");
  require("inc/html.inc.php");
  include("inc/param.inc.php");
  include("inc/fonctions.inc.php");
  if (!isset($sid)) {
    // Identification depuis le cookie
    if ($COOKIE_AUTH && empty($ztLogin)) {
      if (!empty($_COOKIE) && isset($_COOKIE[$COOKIE_NOM]))
        $tabLog = explode(":",$_COOKIE[$COOKIE_NOM]);
      elseif (!empty($HTTP_COOKIE_VARS) && isset($HTTP_COOKIE_VARS[$COOKIE_NOM]))
        $tabLog = explode(":",$HTTP_COOKIE_VARS[$COOKIE_NOM]);
      $ztLogin   = (get_magic_quotes_gpc()) ? stripslashes($tabLog[0]) : $tabLog[0];
      $ztPasswdMD5  = (get_magic_quotes_gpc()) ? stripslashes($tabLog[1]) : $tabLog[1];
      $hdScreen  = (get_magic_quotes_gpc()) ? stripslashes($tabLog[3]) : $tabLog[3];
      $autoLogin = $tabLog[2];
    }
    // Recherche de l'utilisateur correspondant
    $DB_CX->DbQuery("SELECT util_id, util_semaine_type FROM ${PREFIX_TABLE}utilisateur WHERE util_login = '".$ztLogin."' AND util_passwd = '".$ztPasswdMD5."'");

    if ($DB_CX->DbNumRows()) {
      // L'utilisateur existe
      $idUser = $DB_CX->DbResult(0,0);
      // On genere un nouveau sid
      mt_srand((double)microtime()*1000000);
      $sid = SessionId(8, $idUser, $DB_CX->DbResult(0,1), $hdScreen, false);
      $autoLogin += 0;
      if ($COOKIE_AUTH) // MAJ du cookie d'identification
        setcookie($COOKIE_NOM, $ztLogin.":".$ztPasswdMD5.":".$autoLogin.":".$hdScreen, time()+86400*$COOKIE_DUREE, "/", "", 0);
      if ($fromInstall=="1") // Menu Mise à jour
        $lienAdmin = "&tcMenu="._MENU_ADMIN;
      else
        $lienAdmin = "";
    }
    else {
      // L'utilisateur n'existe pas
      @session_destroy();
      // Fermeture BDD
      $DB_CX->DbDeconnect();
      Header("location: index.php?msg=1");
      exit;
    }
  }

  $idUser = Session_ok($sid);

  include("skins/$APPLI_STYLE.php");
  include("lang/$APPLI_LANGUE.php");

  // Recherche du nom de l'utilisateur
  $DB_CX->DbQuery("SELECT DISTINCT util_id, CONCAT(".$FORMAT_NOM_UTIL.") AS nomUtil, util_url_export FROM ${PREFIX_TABLE}utilisateur LEFT JOIN ${PREFIX_TABLE}planning_partage ON ppl_util_id=util_id WHERE util_id=".$idUser." OR (util_partage_planning='1') OR (util_partage_planning='2' AND ppl_consultant_id=".$idUser.") ORDER BY nomUtil");

  $urlsUtils = array();
  while ($enr = $DB_CX->DbNextRow()) {
    if ($enr['util_id']==$idUser) {
      $nomUtilisateur = $enr['nomUtil'];
      $url_user = $enr['util_url_export'];
    }
    $nomsUtils[] = $enr['nomUtil'];
    $urlsUtils[] = $enr['util_url_export'];
    $idUtil[] = $enr['util_id'];
  }

  // Fermeture BDD
  $DB_CX->DbDeconnect();
?>

Dernière modification par NiS (2010-02-17 13:10:56)

Hors ligne

#35 2010-02-17 13:12:24

NiS
Membre
2010-02-09
85

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

bon ben je coince comment  je peux utiliser la session ouverte dans mon fichier php? ou/et qu'en suite les informations soit envoyé a mon fichier phenix.php également vu que la pour le moment ca envoye a mon fichier accueil.php et plus a phenix vu que j'ai changer ca dans le form action pour pouvoir y acceder a cette page avant d'aller sur phenix..

j'ai essayé de metttre mes ficihers dans le répertoire racine de phenix et j'ai copier coller les informations d'ouvertures de la session si je me trompe pas.. mais ca ne vas toujours pas :s

Dernière modification par NiS (2010-02-17 13:20:41)

Hors ligne

#36 2010-02-17 22:17:09

P@t
Équipe Piwigo
Nice
2007-06-13
5694

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

Désolé, mais j'ai un peu mis le nez dans le code de phenix, et c'est vraiment pas super nickel...
Pour le moment, je n'irai pas plus loin... L'identification sur piwigo fonctionne, essaye de te tourner vers le support de phenix...


P@t

Hors ligne

#37 2010-02-18 10:37:44

NiS
Membre
2010-02-09
85

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

hélas aucune réponse..

mais p@t ce n'est pas possible de récupéré les cookies de la session (je mélange peut etre encore tout) et grace à php on attribue a l'url vers les planning les informations de connection de l'utilisateur

car je sais qu'avec ce lien je peux me connecter directement a l'agenda d'un utilisateur

http://localhost/Planning/phenix.php?&ztLogin=TONLOGIN&ztPasswdMD5=TONMOTDEPASSEENMD5

mais je n'arrive pas à récupéré dans mon url grace au cookies ou au variable php de valeur... les valeurs reste nulle

je fais rentrer mes liens dans ma page grace un include de menu.php

et j'ai essayé donc de récupéré les cookies qui sont envoyé par index.php pour les attribuer a mon url

une idée ou est mon horaire ?

Hors ligne

#38 2010-02-18 11:24:36

NiS
Membre
2010-02-09
85

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

Code:

<a target="pouet" title="Ouverture de la page dans une nouvelle fenêtre" href="<?php print PATH."phenix.php?ztLogin=$ztLogin&ztPasswd=$ztPasswdMD5";?>">Les Plannings</a></li>

avec ca j'ai le mdp mais j'ai pas le login..

Hors ligne

#39 2010-02-18 11:46:05

NiS
Membre
2010-02-09
85

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

nickel j'ai réussi :D

c'était une simple erreur de guillemet :D

je vous met la résolution :)

Code:

<a title="Ouverture de la page dans une nouvelle fenêtre" href="<?php print PATH."phenix.php?&ztLogin=$ztLogin&ztPasswdMD5=$ztPasswdMD5";?>">Les Plannings</a>

Hors ligne

#40 2010-02-18 17:41:10

P@t
Équipe Piwigo
Nice
2007-06-13
5694

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

Topic résolu?


P@t

Hors ligne

#41 2010-02-18 21:57:26

NiS
Membre
2010-02-09
85

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

ben j'ai qu'un probleme enfaite :)

c'est qu'il ne test plus sur ma page de connection si le user et le mot de passe est bon..


donc il va directement sur ma page accueil avec n'importe quel pseudo et même si le mot de passe est mauvais.. j'ai essayé de réutiliser le script de vérification qui a dans phenix.php mais ca marche pas y a une erreur avec no.cache et il arrive pas a recharger le ficiher index.php.. quand c'est mauvais ..

Hors ligne

#42 2010-02-19 13:26:26

NiS
Membre
2010-02-09
85

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

oki c'est résolu j'ai adapté le code et j'ai rajouter une petite astuce en javascript pour revenir a l'accueil :)

Hors ligne

#43 2010-02-19 14:05:05

Gotcha
Equipe Piwigo
Pierrelatte (26)
2007-03-14
13324

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

NiS a écrit:

oki c'est résolu j'ai adapté le code et j'ai rajouter une petite astuce en javascript pour revenir a l'accueil :)

Je serais intéressé d'avoir comme un "tutoriel" pour reproduire une telle liaison.
Par avance, merci :-)


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#44 2010-02-19 14:16:20

NiS
Membre
2010-02-09
85

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

oki je finis de créé ma base utilisateur et je posterais les petites modif que j'ai utiliser :) mais ca sera un peu que pour mon cas.. mais ca reste quand même toujours la même chose..

Hors ligne

#45 2010-02-19 14:20:12

P@t
Équipe Piwigo
Nice
2007-06-13
5694

Re: lier les utilisateurs de piwigo avec une base de donnée externe..

NiS a écrit:

oki je finis de créé ma base utilisateur et je posterais les petites modif que j'ai utiliser :) mais ca sera un peu que pour mon cas.. mais ca reste quand même toujours la même chose..

Ca pourra toujours etre utile à quelqu'un pour une autre application...


P@t

Hors ligne

  •  » Utilisation
  •  » lier les utilisateurs de piwigo avec une base de donnée externe..

Pied de page des forums

Propulsé par FluxBB

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