Example #1
0
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>';
}
Example #2
0
    $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');