Esempio n. 1
0
    exit;
}
if ($action == "add") {
    if ($id != "") {
        $pieces = explode("**", $id);
        $id = str_replace("**", ",", $id);
        if ($htaccessAuth == "true") {
            require_once "../includes/htpasswd.class.php";
            $Htpasswd = new Htpasswd();
            $Htpasswd->initialize("../files/" . $projectDetail->pro_id[0] . "/.htpasswd");
            $tmpquery = "WHERE mem.id IN({$id})";
            $listMembers = new request();
            $listMembers->openMembers($tmpquery);
            $comptListMembers = count($listMembers->mem_id);
            for ($i = 0; $i < $comptListMembers; $i++) {
                $Htpasswd->addUser($listMembers->mem_login[$i], $listMembers->mem_password[$i]);
            }
        }
        // if mantis bug tracker enabled
        if ($enableMantis == "true") {
            // include mantis library
            require_once "../mantis/core_API.php";
        }
        $comptTeam = count($pieces);
        for ($i = 0; $i < $comptTeam; $i++) {
            $tmpquery = "INSERT INTO " . $tableCollab["teams"] . "(project, member,published,authorized) VALUES ('" . $projectDetail->pro_id[0] . "','{$pieces[$i]}','1','0')";
            connectSql("{$tmpquery}");
            // if mantis bug tracker enabled
            if ($enableMantis == "true") {
                // Assign user to this project in mantis
                $f_access_level = $client_user_level;
        if ($htaccessAuth == 'true') {
            $content = <<<STAMP
AuthName "{$setTitle}"
AuthType Basic
Require valid-user
AuthUserFile {$fullPath}/files/{$num}/.htpasswd
STAMP;
            $fp = @fopen('../files/' . $num . '/.htaccess', 'wb+');
            $fw = fwrite($fp, $content);
            $fp = @fopen('../files/' . $num . '/.htpasswd', 'wb+');
            $tmpquery = "WHERE mem.id = '{$pown}'";
            $detailMember = new request();
            $detailMember->openMembers($tmpquery);
            $Htpasswd = new Htpasswd();
            $Htpasswd->initialize('../files/' . $num . '/.htpasswd');
            $Htpasswd->addUser($detailMember->mem_login[0], $detailMember->mem_password[0]);
        }
        // if mantis bug tracker enabled
        if ($enableMantis == 'true') {
            // call mantis function to copy project
            require_once '../mantis/proj_add.php';
        }
        // create phase structure if enable phase was selected as true
        if ($thisPhase != '0') {
            $comptThisPhase = count($phaseArraySets[$thisPhase]);
            for ($i = 0; $i < $comptThisPhase; $i++) {
                $tmpquery = 'INSERT INTO ' . $tableCollab['phases'] . "(project_id,order_num,status,name) VALUES('{$num}','{$i}','0','" . $phaseArraySets[$thisPhase][$i] . "')";
                connectSql($tmpquery);
            }
        }
        header('Location: ../projects/viewproject.php?id=' . $num . '&msg=add');
if ($fh) {
    while (($line = fgets($fh)) !== false) {
        $users[] = explode(":", $line)[0];
    }
    fclose($fh);
}
// Handle requests
if (array_key_exists('action', $_REQUEST)) {
    if ($_REQUEST['action'] == "add-user") {
        $username = trim($_REQUEST['username']);
        $password = trim($_REQUEST['passwd']);
        if ($username && $password) {
            if (!in_array($username, $users)) {
                try {
                    $htpasswd = new Htpasswd($HTPASSWD_FP);
                    $htpasswd->addUser($username, $password, Htpasswd::ENCTYPE_MD5);
                    $messages[] = "User has been added successfully";
                    $users[] = $username;
                } catch (Exception $e) {
                    $errors[] = $e->getMessage();
                }
            } else {
                $errors[] = "User {$username} already exists";
            }
        } else {
            $errors[] = "Username or password not set";
        }
    }
    if ($_REQUEST['action'] == "delete") {
        $username = trim($_REQUEST['username']);
        if ($username) {