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>'; }
* 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ $G_MAIN_MENU = "rbac"; $G_SUB_MENU = "rbac.userEdit"; $G_MENU_SELECTED = 0; $uid = $HTTP_SESSION_VARS['CURRENT_USER']; $dbc = new DBConnection(DB_HOST, DB_RBAC_USER, DB_RBAC_PASS, DB_RBAC_NAME); $ses = new DBSession($dbc); $stQry = "SELECT UID, USR_USE_LDAP FROM USERS where UID = {$uid} "; $dset = $ses->Execute($stQry); $row = $dset->Read(); $useLdap = $row['USR_USE_LDAP'] == 'Y'; $access = $RBAC->userCanAccess("RBAC_CREATE_USERS"); G::LoadClassRBAC("user"); $obj = new RBAC_User(); $obj->SetTo($dbc); $obj->Load($uid); $G_PUBLISH = new Publisher(); $G_PUBLISH->SetTo($dbc); $G_PUBLISH->AddContent("xmlform", "xmlform", "rbac/userChangeLdap", "", $obj->Fields, "userChangeLdap2"); G::RenderPage("publish");
*/ $strPass = $_POST['form'][PASS]; if ($strPass == '') { return; } $userId = $_SESSION['CURRENT_USER']; $tpl = new TemplatePower(PATH_TPL . 'testAuthenticationSource.html'); $tpl->prepare(); $tpl->assign("STYLE_CSS", STYLE_CSS); $tpl->assign("title", $G_TABLE->title); $curAuthSource = $HTTP_SESSION_VARS['CURRENT_AUTH_SOURCE']; $dbc = new DBConnection(DB_HOST, DB_RBAC_USER, DB_RBAC_PASS, DB_RBAC_NAME); //Class user G::LoadClassRBAC("user"); $user = new RBAC_User(); $user->SetTo($dbc); $user->Load($userId); //crear nueva authentication source G::LoadClassRBAC('authentication'); $obj = new authenticationSource(); $obj->SetTo($dbc); $res = $obj->verifyPassword($userId, $user->Fields['USR_LDAP_DN'], $strPass, $user->Fields['USR_LDAP_SOURCE']); //print "<textarea rows=10 cols=60>"; print_r ($obj->vlog ); //print "</textarea >"; foreach ($obj->vlog as $line) { if (stristr($line, 'error') !== false) { $line = "<font color='Red'>" . $line . '</font>'; } if (stristr($line, 'sucess') !== false) { $line = "<font color='Green'>" . $line . '</font>'; }