function createUser($userName, $authSource, $dn, $fullname, $email, $roles) { global $DB_MODULE; // :( G::LoadClassRBAC('user'); $dbc = new DBConnection(DB_HOST, DB_RBAC_USER, DB_RBAC_PASS, DB_RBAC_NAME); $obj = new RBAC_User(); $obj->SetTo($dbc); //is ProcessMaker? $isPM = false; foreach ($DB_MODULE as $index => $module) { if ($module = 'ProcessMaker') { $isPM = true; } } if ($isPM) { $dbcPM = new DBConnection(DB_HOST, DB_USER, DB_PASS, DB_NAME); $sesPM = new DBSession($dbcPM); } $res = $obj->UserNameRepetido(0, $userName); if ($res != 0) { $result = "-1"; } else { $aux = explode(' ', $fullname); $last = str_replace($aux[0] . ' ', '', $fullname); $uid = $obj->createUser($last, '', $aux[0], $email); $result = $obj->createUserName($uid, $userName, 'LDAP'); $obj->updateLDAP($uid, $authSource, $dn); $rol = explode(',', $roles); foreach ($rol as $key => $val) { if ($val != 0) { $obj->assignUserRole($uid, $val); } } if ($isPM) { $sql = "insert into USER (UID, USR_USER_NAME, USR_LASTNAME, USR_MIDNAME, USR_FIRSTNAME, USR_EMAIL) VALUES ( " . $uid . ", '" . $userName . "', '" . $last . "','', '" . $aux[0] . "', '" . $email . "' ) "; //$f =fopen ( '/shared/security.log', "a+" );fwrite ( $f, date("Y-m-d h:i:s") . "$isPM $sql \n" ); fclose ($f); $sesPM->Execute($sql); } } header("Content-Type: text/xml"); print '<?xml version="1.0" encoding="UTF-8"?>'; print '<data>'; print "<value>{$result}</value>"; print '</data>'; }
$frm['USR_USE_LDAP'] = ''; } $email = $frm['USR_EMAIL']; $phone = $frm['USR_PHONE']; $cell = $frm['USR_CELLULAR']; $fax = $frm['USR_FAX']; $pobox = $frm['USR_POBOX']; $userID = $frm['USR_USERNAME']; $status = $frm['USR_STATUS']; $due = $frm['USR_DUE_DATE']; $useLdap = $frm['USR_USE_LDAP']; $uid = $_SESSION['CURRENT_USER']; $dbc = new DBConnection(DB_HOST, DB_RBAC_USER, DB_RBAC_PASS, DB_RBAC_NAME); G::LoadClassRBAC('user'); $obj = new RBAC_User(); $obj->SetTo($dbc); $repId = $obj->UserNameRepetido($uid, $userID); if ($repId != 0) { G::SendMessage(6, 'error'); header('location: userEdit.php'); die; } $obj->SetTo($dbc); $obj->SetToRBAC(DB_RBAC_USER, DB_RBAC_PASS, DB_RBAC_NAME); $uid = $obj->editUser($uid, $first, $mid, $names, $email, '', '', '', '', $userID, $status, $due, '', '', ''); $obj->Load($uid); if ($obj->Fields['USR_USE_LDAP'] != $useLdap) { $obj->updateLDAP($uid, $obj->Fields['USR_LDAP_SOURCE'], $obj->Fields['USR_LDAP_DN'], $useLdap); } header('location: userEdit.html'); //header('location: userViewRole.html');