diff --git a/scripts/user/sync_group_dolibarr2ldap.php b/scripts/user/sync_group_dolibarr2ldap.php new file mode 100644 index 0000000000000000000000000000000000000000..de348b9606ab1b69f61d279c5be2d10ffe96f332 --- /dev/null +++ b/scripts/user/sync_group_dolibarr2ldap.php @@ -0,0 +1,106 @@ +<?PHP +/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * Copyright (C) 2006 Laurent Destailleur <eldy@users.sourceforge.net> + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + */ + +/** + \file scripts/user/sync_group_dolibarr2ldap.php + \ingroup ldap company + \brief Script de mise a jour des groupes dans LDAP depuis base Dolibarr +*/ + +// Test si mode batch +$sapi_type = php_sapi_name(); +$script_file=__FILE__; +if (eregi('([^\\\/]+)$',$script_file,$reg)) $script_file=$reg[1]; + +if (substr($sapi_type, 0, 3) == 'cgi') { + echo "Erreur: Vous utilisez l'interpreteur PHP pour le mode CGI. Pour executer $script_file en ligne de commande, vous devez utiliser l'interpreteur PHP pour le mode CLI.\n"; + exit; +} + +if (! isset($argv[1]) || ! $argv[1]) { + print "Usage: $script_file now\n"; + exit; +} +$now=$argv[1]; + +// Recupere env dolibarr +$version='$Revision$'; +$path=eregi_replace($script_file,'',$_SERVER["PHP_SELF"]); + +require_once($path."../../htdocs/master.inc.php"); +require_once(DOL_DOCUMENT_ROOT."/lib/authldap.lib.php"); +require_once(DOL_DOCUMENT_ROOT."/usergroup.class.php"); + +$error=0; + + +print "***** $script_file ($version) *****\n"; + +/* +if (! $conf->global->LDAP_SYNCHRO_ACTIVE) +{ + print $langs->trans("LDAPSynchronizationNotSetupInDolibarr"); + exit 1; +} +*/ + +$sql = "SELECT rowid"; +$sql .= " FROM ".MAIN_DB_PREFIX."usergroup"; + +$resql = $db->query($sql); +if ($resql) +{ + $num = $db->num_rows($resql); + $i = 0; + + while ($i < $num) + { + $obj = $db->fetch_object($resql); + + $fgroup = new UserGroup($db); + $fgroup->id = $obj->rowid; + $fgroup->fetch($fgroup->id); + + print $langs->trans("UpdateGroup")." rowid=".$fgroup->id." ".$fgroup->nom; + + $result=$fgroup->update_ldap($user); + if ($result > 0) + { + print " - ".$langs->trans("OK"); + } + else + { + $error++; + print " - ".$langs->trans("KO").' - '.$fgroup->error; + } + print "\n"; + + $i++; + } +} +else +{ + dolibarr_print_error($db); +} + +return $error; +?> diff --git a/scripts/user/sync_user_dolibarr2ldap.php b/scripts/user/sync_user_dolibarr2ldap.php index 667859958ad25a94182c0a3dafae0dbe8d153b59..69535a96d780f24cc99c57d28725b2fa9d73d38f 100644 --- a/scripts/user/sync_user_dolibarr2ldap.php +++ b/scripts/user/sync_user_dolibarr2ldap.php @@ -47,7 +47,7 @@ $version='$Revision$'; $path=eregi_replace($script_file,'',$_SERVER["PHP_SELF"]); require_once($path."../../htdocs/master.inc.php"); -require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); +require_once(DOL_DOCUMENT_ROOT."/lib/authldap.lib.php"); require_once(DOL_DOCUMENT_ROOT."/user.class.php"); $error=0;