Ejemplo n.º 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>';
}
Ejemplo n.º 2
0
 * 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");
Ejemplo n.º 3
0
 * userRoleDel.php
 *  
 * ProcessMaker Open Source Edition
 * Copyright (C) 2004 - 2008 Colosa Inc.23
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * 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.
 * 
 */
$roleid = isset($_GET['r']) ? $_GET['r'] : '';
$uid = $HTTP_SESSION_VARS['CURRENT_USER'];
$dbc = new DBConnection(DB_HOST, DB_RBAC_USER, DB_RBAC_PASS, DB_RBAC_NAME);
//crear Objeto Roles
G::LoadClassRBAC("user");
$obj = new RBAC_User();
$obj->SetTo($dbc);
$obj->removeUserRole($uid, $roleid);
header("location: userEdit.html");
Ejemplo n.º 4
0
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * 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.
 * 
 */
$frm = $_POST['form'];
$rolid = $frm['USR_ROLE'];
$dbc = new DBConnection(DB_HOST, DB_RBAC_USER, DB_RBAC_PASS, DB_RBAC_NAME);
G::LoadClassRBAC('user');
$obj = new RBAC_User();
$obj->SetTo($dbc);
$obj->assignUserRole($_SESSION['CURRENT_USER'], $rolid);
//header('location: userViewRole.html');
?>
<script language='Javascript'>
  //parent.myPanel.remove();
  parent.window.location = 'userEdit.html';  
</script>
Ejemplo n.º 5
0
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * 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.
 * 
 */
$frm = $_POST['form'];
$pass1 = $frm['PASSWORD'];
$pass2 = $frm['PASSWORD2'];
$dbc = new DBConnection(DB_HOST, DB_RBAC_USER, DB_RBAC_PASS, DB_RBAC_NAME);
G::LoadClassRBAC('user');
$obj = new RBAC_User();
$obj->SetTo($dbc);
if ($pass1 != $pass2) {
    G::SendMessage(3, 'error');
    header('location: userChangePwd.php');
    die;
}
$obj->SetTo($dbc);
$obj->changePassword($_SESSION['CURRENT_USER'], $pass1);
header('location: userEdit.html');
//header('location: userViewRole.html');
Ejemplo n.º 6
0
if (!isset($frm['USR_USE_LDAP'])) {
    $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');
 * 
 */
$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>';
Ejemplo n.º 8
0
 * Copyright (C) 2004 - 2008 Colosa Inc.23
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * 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.
 * 
 */
$frm = $_POST['form'];
//$frm = G::PrepareFormArray( $frm );
$use = $frm['USR_USE_LDAP'];
$source = $frm['USR_LDAP_SOURCE'];
$dn = $frm['USR_LDAP_DN'];
$uid = $HTTP_SESSION_VARS['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);
$obj->updateLDAP($uid, $source, $dn, $use);
header("location: userEdit.html");
Ejemplo n.º 9
0
}
if (!isset($frm['USR_EMAIL'])) {
    $frm['USR_EMAIL'] = '';
}
if (!isset($frm['USR_PHONE'])) {
    $frm['USR_PHONE'] = '';
}
if (!isset($frm['USR_CELLULAR'])) {
    $frm['USR_CELLULAR'] = '';
}
if (!isset($frm['USR_FAX'])) {
    $frm['USR_FAX'] = '';
}
if (!isset($frm['USR_POBOX'])) {
    $frm['USR_POBOX'] = '';
}
$first = strtoupper($frm['USR_FIRSTNAME']);
$mid = strtoupper($frm['USR_MIDNAME']);
$names = strtoupper($frm['USR_NAMES']);
$email = $frm['USR_EMAIL'];
$phone = $frm['USR_PHONE'];
$cell = $frm['USR_CELLULAR'];
$fax = $frm['USR_FAX'];
$pobox = $frm['USR_POBOX'];
$dbc = new DBConnection(DB_HOST, DB_RBAC_USER, DB_RBAC_PASS, DB_RBAC_NAME);
G::LoadClassRBAC('user');
$obj = new RBAC_User();
$obj->SetTo($dbc);
$uid = $obj->createUser($first, $mid, $names, $email, $phone, $cell, $fax, $pobox);
$_SESSION['CURRENT_USER'] = $uid;
header('location: userNew3.html');
Ejemplo n.º 10
0
 * For more information, contact Colosa Inc, 2566 Le Jeune Rd., 
 * Coral Gables, FL, 33134, USA, or email info@colosa.com.
 * 
 */
G::GenericForceLogin('RBAC_LOGIN', 'login/noViewPage', 'login/login');
$G_MAIN_MENU = 'rbac';
$G_SUB_MENU = 'rbac.userEdit';
$G_MENU_SELECTED = 0;
$dbc = new DBConnection(DB_HOST, DB_RBAC_USER, DB_RBAC_PASS, DB_RBAC_NAME);
$ses = new DBSession($dbc);
$dset = $ses->Execute('SELECT UID, USR_USE_LDAP FROM USERS where UID = ' . $_SESSION['CURRENT_USER']);
$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($_SESSION['CURRENT_USER']);
$G_PUBLISH = new Publisher();
$G_PUBLISH->SetTo($dbc);
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'rbac/userEdit', '', $obj->Fields, 'userEdit2');
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'rbac/userChangePwd', '', $obj->Fields, 'userChangePwd2');
$G_PUBLISH->AddContent('xmlform', 'pagedTable', 'rbac/usersRolesList', '', array('CURRENT_USER' => $_SESSION['CURRENT_USER']), '');
G::RenderPage('publish');
?>
<script language='Javascript'>

	function go () {

    myPanel=new leimnud.module.panel();
    	myPanel.options={
Ejemplo n.º 11
0
 * 
 * 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.
 * 
 */
$frm = $_POST['form'];
$user = $frm['USR_USERNAME'];
$pass1 = $frm['USR_PASSWORD'];
$pass2 = $frm['USR_PASSWORD2'];
$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, $user);
if ($repId != 0) {
    G::SendMessage(6, 'error');
    header('location: userNew3.php');
    die;
}
if ($pass1 != $pass2) {
    G::SendMessage(3, 'error');
    header('location: userNew3.php');
    die;
}
$obj->SetTo($dbc);
$obj->createUserName($uid, $user, $pass1);
header('location: userList.html');