dolibarr  20.0.0-alpha
sync_members_types_dolibarr2ldap.php
Go to the documentation of this file.
1 #!/usr/bin/env php
2 <?php
28 if (!defined('NOSESSION')) {
29  define('NOSESSION', '1');
30 }
31 
32 $sapi_type = php_sapi_name();
33 $script_file = basename(__FILE__);
34 $path = __DIR__.'/';
35 
36 // Test if batch mode
37 if (substr($sapi_type, 0, 3) == 'cgi') {
38  echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n";
39  exit(1);
40 }
41 
42 if (!isset($argv[1]) || !$argv[1]) {
43  print "Usage: ".$script_file." now\n";
44  exit(1);
45 }
46 
47 $now = $argv[1];
48 
49 require_once $path."../../htdocs/master.inc.php";
50 require_once DOL_DOCUMENT_ROOT."/core/class/ldap.class.php";
51 require_once DOL_DOCUMENT_ROOT."/adherents/class/adherent_type.class.php";
52 
53 // Global variables
54 $version = constant('DOL_VERSION');
55 $error = 0;
56 
57 $hookmanager->initHooks(array('cli'));
58 
59 
60 /*
61  * Main
62  */
63 
64 @set_time_limit(0);
65 print "***** ".$script_file." (".$version.") pid=".dol_getmypid()." *****\n";
66 dol_syslog($script_file." launched with arg ".join(',', $argv));
67 
68 /*
69  * if (getDolGlobalString('LDAP_SYNCHRO_ACTIVE')) {
70  * print $langs->trans("LDAPSynchronizationNotSetupInDolibarr");
71  * exit(1);
72  * }
73  */
74 
75 if (!empty($dolibarr_main_db_readonly)) {
76  print "Error: instance in read-onyl mode\n";
77  exit(1);
78 }
79 
80 
81 $sql = "SELECT rowid";
82 $sql .= " FROM ".MAIN_DB_PREFIX."adherent_type";
83 
84 $resql = $db->query($sql);
85 if ($resql) {
86  $num = $db->num_rows($resql);
87  $i = 0;
88 
89  $ldap = new Ldap();
90  $result = $ldap->connectBind();
91 
92  if ($result > 0) {
93  while ($i < $num) {
94  $ldap->error = "";
95 
96  $obj = $db->fetch_object($resql);
97 
98  $membertype = new AdherentType($db);
99  $membertype->id = $obj->rowid;
100  $membertype->fetch($membertype->id);
101 
102  print $langs->trans("UpdateMemberType")." rowid=".$membertype->id." ".$membertype->label;
103 
104  $oldobject = $membertype;
105 
106  $oldinfo = $membertype->_load_ldap_info();
107  $olddn = $membertype->_load_ldap_dn($oldinfo);
108 
109  $info = $membertype->_load_ldap_info();
110  $dn = $membertype->_load_ldap_dn($info);
111 
112  $result = $ldap->add($dn, $info, $user); // Will fail if already exists
113  $result = $ldap->update($dn, $info, $user, $olddn);
114  if ($result > 0) {
115  print " - ".$langs->trans("OK");
116  } else {
117  $error++;
118  print " - ".$langs->trans("KO").' - '.$ldap->error;
119  }
120  print "\n";
121 
122  $i++;
123  }
124 
125  $ldap->unbind();
126  } else {
127  print $ldap->error;
128  }
129 } else {
130  dol_print_error($db);
131 }
132 
133 exit($error);
Class to manage members type.
Class to manage LDAP features.
Definition: ldap.class.php:37
if(isModEnabled('invoice') && $user->hasRight('facture', 'lire')) if((isModEnabled('fournisseur') &&!getDolGlobalString('MAIN_USE_NEW_SUPPLIERMOD') && $user->hasRight("fournisseur", "facture", "lire"))||(isModEnabled('supplier_invoice') && $user->hasRight("supplier_invoice", "lire"))) if(isModEnabled('don') && $user->hasRight('don', 'lire')) if(isModEnabled('tax') && $user->hasRight('tax', 'charges', 'lire')) if(isModEnabled('invoice') &&isModEnabled('order') && $user->hasRight("commande", "lire") &&!getDolGlobalString('WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER')) $sql
Social contributions to pay.
Definition: index.php:744
dol_getmypid()
Return getmypid() or random PID when function is disabled Some web hosts disable this php function fo...
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.