IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

GroupOffice : Synchronisation


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut GroupOffice : Synchronisation
    Bonjour,
    Voilà j'ai réalisé un formulaire en PHP qui me permet d'ajouter des utilisateurs à mon annuaire LDAP, maintenant j'aimerais synchroniser après chaque ajout l'annuaire et la partie groupOffice, le problème c'est que je n'ai trouver qu'une fonction pour synchroniser tous les utilisateurs à chaque fois, or moi j'aimerais juste rajouter le dernier juste après sa création.
    Auriez-vous des connaissances, voir même un fonction que vous utilisez/connaissez qui peut réaliser ça ?

    Cordialement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function syncUserWithLdapRecord($info,$password = null)
    {        
    //disable password validation because we can't control the external passwords
    GO::config()->password_validate=false;
    $attr = $info;
     
    GO::debug("LDAPAUTH: Group-Office user does not exist. Attempting to create it.");
    GO::debug($attr);
    $user = new GO_Base_Model_User();
    $user->setAttributes($attr);
    $user->cutAttributeLengths();
    //$user->password = $password;
    /*$user->save();
    if (!empty(GO::config()->ldap_groups))
    $user->addToGroups(explode(',', GO::config()->ldap_groups));
    $this->_updateContact($user, $attr);
    $user->checkDefaultModels();
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Petit erreur, j'ai oublier certaines choses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    require('../groupoffice/Group-Office.php');
    require('../groupoffice/classes/base/users.class.inc.php');
    require('../groupoffice/classes/base/auth.class.inc.php');
     
    GO::session()->runAsRoot();
    $la = new GO_Ldapauth_Authenticator();
    $ldapConn = GO_Base_Ldap_Connection::getDefault();
     
    function syncUserWithLdapRecord($info,$password = null)
    {        
    //disable password validation because we can't control the external passwords
    GO::config()->password_validate=false;
    $attr = $info;
     
    GO::debug("LDAPAUTH: Group-Office user does not exist. Attempting to create it.");
    GO::debug($attr);
    $user = new GO_Base_Model_User();
    $user->setAttributes($attr);
    $user->cutAttributeLengths();
    //$user->password = $password;
    $user->save();
    if (!empty(GO::config()->ldap_groups))
    $user->addToGroups(explode(',', GO::config()->ldap_groups));
    $this->_updateContact($user, $attr);
    $user->checkDefaultModels();
    }

  3. #3
    Invité
    Invité(e)
    Par défaut
    J'en suis ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Open GO to update the GO password.
    require('../groupoffice/Group-Office.php');
    require('../groupoffice/classes/base/users.class.inc.php');
    require('../groupoffice/classes/base/auth.class.inc.php');
     
    GO::session()->runAsRoot();
    $la = new GO_Ldapauth_Authenticator();
    $ldapConn = GO_Base_Ldap_Connection::getDefault();
    $result = $ldapConn->search(GO::config()->ldap_peopledn, 'uid='.$uid);
    $record=$result->fetch();
    $user = $la->$sync["syncUserWithLdapRecord($record)"];

    Cependant j'ai une erreur :
    PHP Catchable fatal error: Object of class GO_Base_Ldap_Record could not be converted to string in /var/www/romain/addUser.php on line 317, referer: http://url/romain/addUser.php.
    Auriez-vous des solutions ?
    Cordialement
    Dernière modification par rawsrc ; 01/05/2014 à 12h32. Motif: Balises [quote][/quote] pour les messages d'erreurs

  4. #4
    Invité
    Invité(e)
    Par défaut
    J'ai réussi par moi-même.

    Cordialement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Open GO to update the GO password.
    require('../groupoffice/Group-Office.php');
    require('../groupoffice/classes/base/users.class.inc.php');
    require('../groupoffice/classes/base/auth.class.inc.php');
    GO::session()->runAsRoot();
    $la = new GO_Ldapauth_Authenticator();
    $ldapConn = GO_Base_Ldap_Connection::getDefault();
    $result = $ldapConn->search(GO::config()->ldap_peopledn,'uid='.$uid);
    $record = $result->fetch();
    $user = $la->syncUserWithLdapRecord($record);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. synchronisation de deux DBLookUPComboBox
    Par frede dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/02/2004, 09h32
  2. Synchronisation de thread
    Par declencher dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2004, 11h28
  3. Probleme Synchronisation modem Sagem Fast 800
    Par -PiKo- dans le forum Matériel
    Réponses: 4
    Dernier message: 03/01/2004, 16h36
  4. Synchronisation verticale
    Par hs_dino dans le forum OpenGL
    Réponses: 2
    Dernier message: 28/09/2003, 10h35
  5. Synchronisation de base de données locale/distante Internet
    Par StefC30 dans le forum Développement
    Réponses: 3
    Dernier message: 25/07/2003, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo