} $display = ''; $display .= "</div>"; $display .= COM_siteFooter(); echo $display; $msg = 'removeTask'; exit; break; case 'copy': if (empty($pid)) { $pid = DB_getItem($_TABLES['prj_tasks'], 'pid', "tid={$tid}"); } $uid = $_USER['uid']; $source_task = $tid; $protoken = prj_getProjectPermissions($pid, $uid, $task); $ownertoken = getProjectToken($pid, $uid, "{$_TABLES['prj_users']}"); if ($protoken['full'] != 0 || $ownertoken != 0) { //Copy the Tasks prj_beginCopyTasks($pid, $source_task); $logentry = "Task ID-{$source_task} was copied"; prg_updateAuditLog($logentry); } else { echo prj_breadcrumbs($tid, $pid, $strings["copy_task"], $strings["copy_subtask"]); $block = new block(); $msg = 'permissiondenied'; include "includes/messages.php"; $block->messagebox($msgLabel); if (DB_getItem($_TABLES['prj_tasks'], 'parent_task', "tid = {$tid}") == 0) { $block->heading($strings["copy_task"]); } else { $block->heading($strings["copy_subtask"]);
function prj_paintProjectBar($testMonitor, $pid, $name, $startdate, $enddate, $parent_task, $progress, $status, $expanded, $userid, $nameIndent, &$graph, &$count, &$row, $sm, $stm) { global $_TABLES, $_CONF, $_PRJCONF; $name = html_entity_decode($name); if (strlen($name) > $_PRJCONF['project_name_length']) { $name = substr($name, 0, $_PRJCONF['project_name_length']); $name .= "..."; } $strdate = strftime("%Y/%m/%d", $startdate); $edate = strftime("%Y/%m/%d", $enddate); $sql = 'SELECT c.fullname '; $sql .= "FROM {$_TABLES['prj_users']} a "; $sql .= "INNER JOIN {$_TABLES['prj_projects']} b on a.pid=b.pid "; $sql .= "INNER JOIN {$_TABLES['users']} c on a.uid=c.uid "; $sql .= "WHERE a.role='o' AND a.pid={$pid}"; $result2 = DB_query($sql); list($owner) = DB_fetchArray($result2); $link = $_CONF['site_url'] . "/nexproject/viewproject.php?pid=" . $pid; $count = $count + 1; $doesAnyoneDependOnMe = DB_count($_TABLES['prj_projects'], 'parent_id', $pid); if (array_keys($expanded, $pid) != array()) { $sign = '[-]'; } else { $sign = '[+]'; } if ($doesAnyoneDependOnMe == 0) { $sign = ''; } if ($strdate == $edate) { $milestone = new Milestone($row, "{$nameIndent}{$name} {$sign}", $strdate); $milestone->mark->SetType(MARK_DIAMOND); //$milestone->title->SetFont(FF_ARIAL,FS_BOLD,10); if ($sign != '') { $tempval2 = $_SERVER['PHP_SELF']; $milestone->title->SetCSIMTarget("javascript:projectGanttClick('{$pid}','{$sign}','{$tempval}', '{$gdate1}', '{$gdate2}', '{$tempval2}');"); } $graph->Add($milestone); } else { $activity = new GanttBar($count, "{$nameIndent}{$name} {$sign}", "{$strdate}", "{$edate}", "{$owner}"); if ($status == 0) { // Yellow diagonal line pattern on a red background $activity->SetPattern(GANTT_SOLID, "darkgreen"); $activity->progress->SetPattern(GANTT_RDIAG, "black"); $activity->progress->SetFillColor("white"); } elseif ($status == 1) { $activity->SetPattern(GANTT_SOLID, "yellow"); $activity->progress->SetPattern(GANTT_RDIAG, "black"); $activity->progress->SetFillColor("white"); } else { $activity->SetPattern(GANTT_SOLID, "red"); $activity->progress->SetPattern(GANTT_RDIAG, "black"); $activity->progress->SetFillColor("white"); } // Set absolute height $activity->SetHeight(10); $activity->progress->Set($progress / 100); // Specify progress $activity->SetCSIMTarget("{$link}"); $activity->SetCSIMAlt($progress . "% completed"); $tempval2 = $_SERVER['PHP_SELF']; if ($sign != '') { $activity->title->SetCSIMTarget("javascript:projectGanttClick('{$pid}','{$sign}','{$tempval}', '{$gdate1}', '{$gdate2}', '{$tempval2}');"); } //$activity->title->SetFont(FF_ARIAL,FS_NORMAL,9); $activity->title->SetCSIMAlt($progress . "% completed"); $qconstraints = DB_query("SELECT pid FROM {$_TABLES['prj_projects']} WHERE parent_id='{$pid}' ORDER BY lhs ASC"); $numconstraints = DB_numRows($qconstraints); if ($sign == '[-]') { for ($c = 1; $c <= $numconstraints; $c++) { list($testingThisPID) = DB_fetchArray($qconstraints); $tempPerms = prj_getProjectPermissions($testingThisPID, $userid); $tempOwner = getProjectToken($testingThisPID, $userid, "{$_TABLES['prj_users']}"); $buffer = 0; if (array_keys($expanded, $pid) != array() && DB_count($_TABLES['prj_projects'], 'parent_id', $pid) > 0) { if ($showTasksForExpandedProjects == 'true') { if ($testMonitor == false) { //my projects if ($tempPerms['teammember'] == '1' || $tempPerms['full'] == '1' || $tempOwner != 0) { prj_drawProjectTasksGanttBar($tmpg, $buffer, $tmpcount, $pid, $nameIndent, 0, 1, $sm, $stm); } } else { //all projects if ($tempPerms['monitor'] == '1' || $tempPerms['teammember'] == '1' || $tempPerms['full'] == '1' || $tempOwner != 0) { prj_drawProjectTasksGanttBar($tmpg, $buffer, $tmpcount, $pid, $nameIndent, 0, 1, $sm, $stm); } } } } if ($testMonitor == false) { if ($tempPerms['teammember'] == '1' || $tempPerms['full'] == '1' || $tempOwner == '1') { $activity->SetConstrain($row + $c + $buffer, CONSTRAIN_STARTSTART, "maroon4"); } } else { if ($tempPerms['monitor'] == '1' || $tempPerms['teammember'] == '1' || $tempPerms['full'] == '1' || $tempOwner == '1') { $activity->SetConstrain($row + $c + $buffer, CONSTRAIN_STARTSTART, "maroon4"); } } } //end for } //end if $sign==[-] // Add line to Gantt Chart $graph->Add($activity); } //end else $row++; }