[Evolvis-commits] r46: works with ldap_user.class now and reenabled the pending status
rklein at evolvis.org
rklein at evolvis.org
Mon Nov 10 12:22:33 CET 2008
Author: rklein
Date: 2008-11-10 11:22:33 +0000 (Mon, 10 Nov 2008)
New Revision: 46
Modified:
trunk/gforge_base/login_management/ldap/ldap2sql.php
Log:
works with ldap_user.class now and reenabled the pending status
Modified: trunk/gforge_base/login_management/ldap/ldap2sql.php
===================================================================
--- trunk/gforge_base/login_management/ldap/ldap2sql.php 2008-10-24 10:29:00 UTC (rev 45)
+++ trunk/gforge_base/login_management/ldap/ldap2sql.php 2008-11-10 11:22:33 UTC (rev 46)
@@ -12,10 +12,13 @@
//global vars and functions for database connection and authentication
//we use methods from User.class only sparsely as they depend mainly on web I/O
require ('/etc/gforge/local.inc');
+if(!isset($internal)) //wenn diese seite nicht von zB dem registerscript aufgerufen wurde.
+{
require ('/usr/share/gforge/common/include/database.php');
require ('/usr/share/gforge/common/include/account.php');
require ('/usr/share/gforge/common/include/Error.class'); //needed by User.class
require ('/usr/share/gforge/common/include/User.class'); //for $u->delete()
+}
error_log ("ldap2sql notice: Starting....... ",0);
@@ -28,9 +31,10 @@
//argument defaults
$ldaphost = "localhost";
-$dn = "dc=my, dc=domain, dc=de";
-$ldapuser="SF_robot";
-$ldappw="mypassword";
+$dn = "dc=evolvis-trial, dc=tarent, dc=de";
+//$ldapuser="SF_robot";
+$ldapuser="admin";
+$ldappw="changeit";
$deactivate = false;
@@ -164,13 +168,18 @@
// echo "\nPASSWORD: ".$pw."\n PASSWORD(md5): ".md5($pw)."\n PASSWORD(genunix): ".account_genunixpw($pw)."\n";
//See User.class: create() function. See users-table for defaults, e.g. status='A'
+
+#added 2008-11-10 rklein
+#makes pending status possible for all non-tarent-users
+$status_sql=(isset($info[$i]["uid"][2]) && $info[$i]["uid"][2]=='0')?'P':'A';
$sql_insert = "INSERT into users ".
- "(user_name, user_pw, unix_pw, firstname, lastname, realname, ".
+ "(user_name, user_pw, unix_pw, status, firstname, lastname, realname, ".
"shell, unix_uid, unix_gid, email, ".
"add_date, theme_id) ".
"VALUES ('".$uname."', '".
md5($pw)."', '".
account_genunixpw($pw)."', '".
+ $status_sql."', '".
$info[$i]["givenname"][0]."', '".
$info[$i]["sn"][0]."', '".
$info[$i]["cn"][0]."', '".
@@ -198,6 +207,9 @@
else {
//------------ UPDATE record (only if different) -------------
$record = db_fetch_array($res_sel);
+
+ echo "\n".$uname;
+
//compare passwords - normal users: clear, admin user: crypt
$pw_eq = true;
if (strpos($pw,"{crypt}") === 0 && $record['sys_state']!="N"){
@@ -215,7 +227,7 @@
$record['shell'] == $info[$i]["loginshell"][0] &&
$record['unix_uid'] == $info[$i]["uidnumber"][0] &&
$record['unix_gid'] == $info[$i]["gidnumber"][0] &&
- $pw_eq &&
+ //$pw_eq &&
$record['status'] == 'A' && //if user is in LDAP, it has to be "active" in DB
$record['email'] == $info[$i]["mail"][0]) {
error_log ("ldap2sql notice: Checking user ".$uname.": No difference - record unchanged.");
@@ -241,7 +253,7 @@
"WHERE user_name='" . $uname."' ";
error_log ("ldap2sql notice: ".$sql_update,0);
-
+ /*
//begin transaction
db_begin();
$res_up = db_query($sql_update);
@@ -255,6 +267,7 @@
}
db_free_result($res_up);
+ */
}//end update
}//end else
}//end for loop through LDAP records
More information about the evolvis-commits
mailing list