// 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"];
$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>"; } } } // -----------