Exemple #1
0
// Reactivate project
if ($activate_project) {
	
	if (!$project_permission['manage']) {
		audit_db ($config['id_user'], $REMOTE_ADDR, "ACL Forbidden", "User ".$config['id_user']." try to activate project #$id_project");
		require ("general/noaccess.php");
		exit;
	}
	
	$id_owner = get_db_value ('id_owner', 'tproject', 'id', $id_project);
	$sql = sprintf ('UPDATE tproject SET disabled = 0 WHERE id = %d', $id_project);
	process_sql ($sql);
	echo ui_print_success_message (__('Successfully reactivated'), '', true, 'h3', true);
	audit_db ($config['id_user'], $REMOTE_ADDR, "Project activated", "User ".$config['id_user']." activated project #".$id_project);
	project_tracking ($id_project, PROJECT_ACTIVATED);
}

// Delete
if ($delete_project) {
	
	if (!$project_permission['manage']) {
		audit_db ($config['id_user'], $REMOTE_ADDR, "ACL Forbidden", "User ".$config['id_user']." try to delete project #$id_project");
		require ("general/noaccess.php");
		exit;
	}
	
	$id_owner = get_db_value ('id_owner', 'tproject', 'id', $id_project);
	delete_project ($id_project);
	echo ui_print_success_message (__('Successfully deleted'), '', true, 'h3', true);
}
    if (!manage_any_task($config["id_user"], $id_project)) {
        audit_db($config['id_user'], $config["REMOTE_ADDR"], "ACL Violation", "Trying to access to task manager of unauthorized project");
        no_permission();
    }
}
//Delete task
if ($delete) {
    $task_access = get_project_access($config["id_user"], $id_project, $delete);
    //Check if admin or project manager before delete the task
    if (!$task_access["manage"]) {
        audit_db($config['id_user'], $config["REMOTE_ADDR"], "ACL Violation", "Trying to delete a task without permission");
        no_permission();
    }
    delete_task($delete);
    echo '<h3 class="suc">' . __('Successfully deleted') . '</h3>';
    project_tracking($id_project, PROJECT_TASK_DELETED);
}
//Update tasks
if ($update) {
    //Get all task from DB to know the ids
    $sql = sprintf("SELECT id FROM ttask WHERE id_project = %d", $id_project);
    $task = get_db_all_rows_sql($sql);
    $succ = 0;
    foreach ($task as $t) {
        //Get all post parameters for this task
        $id = $t['id'];
        $task_access = get_project_access($config["id_user"], $id_project, $id);
        if (!$task_access["manage"]) {
            continue;
        }
        $name = get_parameter("name_{$id}");
	else {
		$sql = sprintf ('INSERT INTO tproject
			(name, description, start, end, id_owner, id_project_group, cc)
			VALUES ("%s", "%s", "%s", "%s", "%s", %d, "%s")',
			$name, $description, $start_date, $end_date, $id_owner,
			$id_project_group, $cc);
		$id_project = process_sql ($sql, 'insert_id');
	}
	
	if ($id_project === false) {
		echo ui_print_err_message (__('Project cannot be created, problem found.').$error_msg, '', true, 'h3', true);
	} else {
		echo ui_print_success_message (__('The project successfully created.').' #'.$id_project, '', true, 'h3', true);
		audit_db ($id_owner, $REMOTE_ADDR, "Project created", "User ".$config['id_user']." created project '$name'");
		
		project_tracking ($id_project, PROJECT_CREATED);
		
		// Add this user as profile 1 (project manager) automatically
		$sql = sprintf ('INSERT INTO trole_people_project
			(id_project, id_user, id_role)
			VALUES ("%s", "%s", 1)',
			$id_project, $id_owner, 1);
		process_sql ($sql);		
		// If current user is different than owner, add also current user
		if ($config['id_user'] != $id_owner) {
			$sql = sprintf ('INSERT INTO trole_people_project
				(id_project, id_user, id_role)
				VALUES (%d, "%s", 1)',
				$id_project, $config['id_user']);
			process_sql ($sql);
		}
	$name = get_parameter ("name");
	$description = get_parameter ('description');
	$start_date = get_parameter ('start_date');
	$end_date = get_parameter ('end_date');
	$id_project_group = get_parameter ("id_project_group");
	$cc = get_parameter('cc', '');
	$sql = sprintf ('UPDATE tproject SET 
			name = "%s", description = "%s", id_project_group = %d,
			start = "%s", end = "%s", id_owner = "%s", cc = "%s"
			WHERE id = %d',
			$name, $description, $id_project_group,
			$start_date, $end_date, $user, $cc, $id_project);
	$result = process_sql ($sql);
	audit_db ($config["id_user"], $config["REMOTE_ADDR"], "Project updated", "Project $name");
	if ($result !== false) {
		project_tracking ($id_project, PROJECT_UPDATED);
		$result_output = ui_print_success_message (__('The project successfully updated'), '', true, 'h3', true);
	} else {
		$result_output = ui_print_error_message (__('Could not update project'), '', true, 'h3', true);
	}
}

// Edition / View mode
if ($id_project) {
	$project = get_db_row ('tproject', 'id', $id_project);
	
	$name = $project["name"];
	$description = $project["description"];
	$start_date = $project["start"];
	$end_date = $project["end"];
	$owner = $project["id_owner"];
Exemple #5
0
            $result_output .= "</a></h3></p>";
            // Add all users assigned to current project for new task or parent task if has parent
            if ($parent != 0) {
                $query1 = "SELECT * FROM trole_people_task WHERE id_task = {$parent}";
            } else {
                $query1 = "SELECT * FROM trole_people_project WHERE id_project = {$id_project}";
            }
            $resq1 = mysql_query($query1);
            while ($row = mysql_fetch_array($resq1)) {
                $id_role_tt = $row["id_role"];
                $id_user_tt = $row["id_user"];
                $sql = "INSERT INTO trole_people_task\n\t\t\t(id_task, id_user, id_role) VALUES\n\t\t\t({$id_task}, '{$id_user_tt}', {$id_role_tt})";
                mysql_query($sql);
            }
            task_tracking($id_task, TASK_CREATED);
            project_tracking($id_project, PROJECT_TASK_ADDED);
            //Update task links
            $links_0 = get_parameter("links_0");
            $links_1 = get_parameter("links_1");
            $links_2 = get_parameter("links_2");
            projects_update_task_links($id_task, $links_0, 0);
            projects_update_task_links($id_task, $links_1, 1);
            projects_update_task_links($id_task, $links_2, 2);
        } else {
            $update_mode = 0;
            $create_mode = 1;
            $result_output = "<h3 class='error'>" . __('Could not be created') . "</h3>";
        }
    }
}
// -----------