Example #1
0
 /**
  * @param string $get_array
  * @return string
  * @throws ProjectIDMissingException
  */
 public static function get_project_status_bar($get_array)
 {
     if ($get_array) {
         $_GET = unserialize($get_array);
     }
     if ($_GET['project_id']) {
         $project = new Project($_GET['project_id']);
         $template = new HTMLTemplate("project/ajax/detail_status.html");
         // Status Bar
         $all_status_array = $project->get_all_status_array();
         $result = array();
         $counter = 0;
         if (is_array($all_status_array) and count($all_status_array) >= 1) {
             foreach ($all_status_array as $key => $value) {
                 $project_status = new ProjectStatus($value['id']);
                 if ($value['optional'] == true) {
                     $result[$counter]['name'] = $project_status->get_name() . " (optional)";
                 } else {
                     $result[$counter]['name'] = $project_status->get_name();
                 }
                 if ($value['status'] == 3) {
                     $result[$counter]['icon'] = "<img src='images/icons/status_cancel.png' alt='R' />";
                 } elseif ($value['status'] == 2) {
                     $result[$counter]['icon'] = "<img src='images/icons/status_ok.png' alt='R' />";
                 } elseif ($value['status'] == 1) {
                     $result[$counter]['icon'] = "<img src='images/icons/status_run.png' alt='R' />";
                 } else {
                     $result[$counter]['icon'] = "";
                 }
                 if (!($counter % 2)) {
                     $result[$counter]['tr_class'] = " class='trLightGrey'";
                 } else {
                     $result[$counter]['tr_class'] = "";
                 }
                 $counter++;
             }
             $project_status = new ProjectStatus(2);
             $result[$counter]['name'] = $project_status->get_name();
             if ($project->get_current_status_id() == 2) {
                 $result[$counter]['icon'] = "<img src='images/icons/status_ok.png' alt='R' />";
             } else {
                 $result[$counter]['icon'] = "";
             }
             if (!($counter % 2)) {
                 $result[$counter]['tr_class'] = " class='trLightGrey'";
             } else {
                 $result[$counter]['tr_class'] = "";
             }
             $counter++;
         }
         $template->set_var("status", $result);
         $template->output();
     } else {
         throw new ProjectIDMissingException();
     }
 }
Example #2
0
 /**
  * @throws ProjectIDMissingException
  * @throws ProjectSecuriyAccessDeniedException
  */
 public static function add()
 {
     global $user, $project_security;
     if ($_GET['project_id']) {
         if ($project_security->is_access(3, false) == true) {
             $project_id = $_GET['project_id'];
             $project = new Project($project_id);
             if (!$_GET['nextpage']) {
                 $template = new HTMLTemplate("project/tasks/add.html");
                 $paramquery = $_GET;
                 $paramquery['nextpage'] = "1";
                 $params = http_build_query($paramquery, '', '&#38;');
                 $template->set_var("params", $params);
                 $template->output();
             } else {
                 switch ($_POST['type']) {
                     case 1:
                         if ($_GET['nextpage'] == "2") {
                             $page_2_passed = true;
                             if (!is_numeric($_POST['time1']) or $_POST['time1'] > 24 or !is_numeric($_POST['time2']) or $_POST['time2'] > 59) {
                                 if ($_POST['wholeday'] != 1) {
                                     $error[2] = "<br />Enter a time or select \"whole day\"!";
                                     $page_2_passed = false;
                                 }
                             }
                             if (!$_POST['startdate']) {
                                 $error[0] = "<br />Select a start date.";
                                 $page_2_passed = false;
                             } else {
                                 $datetime_handler = new DatetimeHandler($_POST['date']);
                                 if ($datetime_handler->less_then_current()) {
                                     $error[0] = "<br />Select a date in the future.";
                                     $page_2_passed = false;
                                 }
                             }
                             if (!$_POST['enddate']) {
                                 $error[1] = "<br />Select an end date";
                                 $page_2_passed = false;
                             } else {
                                 $datetime_handler = new DatetimeHandler($_POST['date']);
                                 if ($datetime_handler->less_then_current()) {
                                     $error[1] = "<br />Select a date in the future.";
                                     $page_2_passed = false;
                                 }
                             }
                             if ($_POST['status']) {
                                 if ($_POST['finalise'] == 1) {
                                     $finalise = true;
                                 } else {
                                     $finalise = false;
                                 }
                                 if ($_POST['auto_connect'] == 1) {
                                     $auto_connect = true;
                                 } else {
                                     $auto_connect = false;
                                 }
                                 $project_task = new ProjectTask(null);
                                 if ($project_task->check_status_process($project_id, $_POST['status'], $finalise, $auto_connect) == true) {
                                     $error[3] = "<br />You have already created this task.";
                                     $page_2_passed = false;
                                 }
                             }
                         } else {
                             $page_2_passed = false;
                         }
                         if ($page_2_passed == false) {
                             $template = new HTMLTemplate("project/tasks/add_status_process.html");
                             $paramquery = $_GET;
                             $paramquery['nextpage'] = "2";
                             $params = http_build_query($paramquery, '', '&#38;');
                             $template->set_var("params", $params);
                             if ($error[0]) {
                                 $template->set_var("error0", $error[0]);
                             } else {
                                 $template->set_var("error0", "");
                             }
                             if ($error[1]) {
                                 $template->set_var("error1", $error[1]);
                             } else {
                                 $template->set_var("error1", "");
                             }
                             if ($error[2]) {
                                 $template->set_var("error2", $error[2]);
                             } else {
                                 $template->set_var("error2", "");
                             }
                             if ($error[3]) {
                                 $template->set_var("error3", $error[3]);
                             } else {
                                 $template->set_var("error3", "");
                             }
                             if ($_POST['startdate']) {
                                 $template->set_var("startdate", $_POST['startdate']);
                             } else {
                                 $template->set_var("startdate", date("Y-m-d"));
                             }
                             if ($_POST['enddate']) {
                                 $template->set_var("enddate", $_POST['enddate']);
                             } else {
                                 $template->set_var("enddate", "");
                             }
                             if ($_POST['time1']) {
                                 $template->set_var("time1", $_POST['time1']);
                             } else {
                                 $template->set_var("time1", "");
                             }
                             if ($_POST['time2']) {
                                 $template->set_var("time2", $_POST['time2']);
                             } else {
                                 $template->set_var("time2", "");
                             }
                             if ($_POST['comment']) {
                                 $template->set_var("comment", $_POST['comment']);
                             } else {
                                 $template->set_var("comment", "");
                             }
                             if ($_POST['task'] == "2") {
                                 $template->set_var("achive_checked", "checked='checked'");
                                 $template->set_var("finalise_checked", "");
                             } else {
                                 $template->set_var("achive_checked", "");
                                 $template->set_var("finalise_checked", "checked='checked'");
                             }
                             if ($_POST['wholeday'] == "1") {
                                 $template->set_var("whole_day_checked", "checked='checked'");
                             } else {
                                 $template->set_var("whole_day_checked", "");
                             }
                             $status_array = $project->get_all_status_array();
                             if (is_array($status_array) and count($status_array) >= 1) {
                                 $status_content_array = array();
                                 $counter = 0;
                                 foreach ($status_array as $key => $value) {
                                     if ($value['status'] == 0) {
                                         $project_status = new ProjectStatus($value['id']);
                                         $status_content_array[$counter]['value'] = $value['id'];
                                         $status_content_array[$counter]['content'] = $project_status->get_name();
                                         $counter++;
                                     }
                                 }
                                 $template->set_var("status", $status_content_array);
                             } else {
                                 $status_content_array[0]['value'] = 0;
                                 $status_content_array[0]['content'] = "NO STATUS FOUND";
                                 $template->set_var("status", $status_content_array);
                             }
                             $template->set_var("type", $_POST['type']);
                             $template->output();
                         } else {
                             $paramquery = $_GET;
                             unset($paramquery['nextpage']);
                             $paramquery['run'] = "detail";
                             $params = http_build_query($paramquery);
                             if ($_POST['wholeday'] == 1) {
                                 $time = null;
                                 $whole_day = true;
                             } else {
                                 $time = $_POST['time1'] . ":" . $_POST['time2'] . ":00";
                                 $whole_day = false;
                             }
                             if ($_POST['finalise'] == 1) {
                                 $finalise = true;
                             } else {
                                 $finalise = false;
                             }
                             if ($_POST['auto_connect'] == 1) {
                                 $auto_connect = true;
                             } else {
                                 $auto_connect = false;
                             }
                             $project_task = new ProjectTask(null);
                             if ($project_task->create_status_process($project_id, $user->get_user_id(), $_POST['comment'], $_POST['startdate'], null, $_POST['enddate'], $time, $whole_day, $_POST['status'], $finalise, $auto_connect)) {
                                 Common_IO::step_proceed($params, "Add Project Task", "Operation Successful", null);
                             } else {
                                 Common_IO::step_proceed($params, "Add Project Task", "Operation Failed", null);
                             }
                         }
                         break;
                     case 2:
                         if ($_GET['nextpage'] == "2") {
                             $page_2_passed = true;
                             if (!is_numeric($_POST['time1']) or $_POST['time1'] > 24 or !is_numeric($_POST['time2']) or $_POST['time2'] > 59) {
                                 if ($_POST['wholeday'] != 1) {
                                     $error[3] = "<br />Enter a time or select \"whole day\"!";
                                     $page_2_passed = false;
                                 }
                             }
                             if (!$_POST['name']) {
                                 $error[0] = "<br />Enter a name";
                                 $page_2_passed = false;
                             }
                             if (!$_POST['startdate']) {
                                 $error[1] = "<br />Select a start date";
                                 $page_2_passed = false;
                             } else {
                                 $datetime_handler = new DatetimeHandler($_POST['date']);
                                 if ($datetime_handler->less_then_current()) {
                                     $error[1] = "<br />Select a date in the future";
                                     $page_2_passed = false;
                                 }
                             }
                             if (!$_POST['enddate']) {
                                 $error[2] = "<br />Select an end date";
                                 $page_2_passed = false;
                             } else {
                                 $datetime_handler = new DatetimeHandler($_POST['date']);
                                 if ($datetime_handler->less_then_current()) {
                                     $error[2] = "<br />Select a date in the future";
                                     $page_2_passed = false;
                                 }
                             }
                         } else {
                             $page_2_passed = false;
                         }
                         if ($page_2_passed == false) {
                             $template = new HTMLTemplate("project/tasks/add_process.html");
                             $paramquery = $_GET;
                             $paramquery['nextpage'] = "2";
                             $params = http_build_query($paramquery, '', '&#38;');
                             $template->set_var("params", $params);
                             if ($error[0]) {
                                 $template->set_var("error0", $error[0]);
                             } else {
                                 $template->set_var("error0", "");
                             }
                             if ($error[1]) {
                                 $template->set_var("error1", $error[1]);
                             } else {
                                 $template->set_var("error1", "");
                             }
                             if ($error[2]) {
                                 $template->set_var("error2", $error[2]);
                             } else {
                                 $template->set_var("error2", "");
                             }
                             if ($error[3]) {
                                 $template->set_var("error3", $error[3]);
                             } else {
                                 $template->set_var("error3", "");
                             }
                             if ($_POST['name']) {
                                 $template->set_var("name", $_POST['name']);
                             } else {
                                 $template->set_var("name", "");
                             }
                             if ($_POST['startdate']) {
                                 $template->set_var("startdate", $_POST['startdate']);
                             } else {
                                 $template->set_var("startdate", date("Y-m-d"));
                             }
                             if ($_POST['enddate']) {
                                 $template->set_var("enddate", $_POST['enddate']);
                             } else {
                                 $template->set_var("enddate", "");
                             }
                             if ($_POST['time1']) {
                                 $template->set_var("time1", $_POST['time1']);
                             } else {
                                 $template->set_var("time1", "");
                             }
                             if ($_POST['time2']) {
                                 $template->set_var("time2", $_POST['time2']);
                             } else {
                                 $template->set_var("time2", "");
                             }
                             if ($_POST['comment']) {
                                 $template->set_var("comment", $_POST['comment']);
                             } else {
                                 $template->set_var("comment", "");
                             }
                             $template->set_var("type", $_POST['type']);
                             $template->output();
                         } else {
                             $paramquery = $_GET;
                             unset($paramquery['nextpage']);
                             $paramquery['run'] = "detail";
                             $params = http_build_query($paramquery);
                             if ($_POST['wholeday'] == 1) {
                                 $time = null;
                                 $whole_day = true;
                             } else {
                                 $time = $_POST['time1'] . ":" . $_POST['time2'] . ":00";
                                 $whole_day = false;
                             }
                             if ($_POST['finalise'] == 1) {
                                 $finalise = true;
                             } else {
                                 $finalise = false;
                             }
                             if ($_POST['auto_connect'] == 1) {
                                 $auto_connect = true;
                             } else {
                                 $auto_connect = false;
                             }
                             $project_task = new ProjectTask(null);
                             if ($project_task->create_process($project_id, $user->get_user_id(), $_POST['comment'], $_POST['startdate'], null, $_POST['enddate'], $time, $whole_day, $_POST['name'], $auto_connect)) {
                                 Common_IO::step_proceed($params, "Add Project Task", "Operation Successful", null);
                             } else {
                                 Common_IO::step_proceed($params, "Add Project Task", "Operation Failed", null);
                             }
                         }
                         break;
                     case 3:
                         if ($_GET['nextpage'] == "2") {
                             $page_2_passed = true;
                             if (!$_POST['name']) {
                                 $error[0] = "<br />Enter a name";
                                 $page_2_passed = false;
                             }
                             if (!$_POST['enddate']) {
                                 $error[1] = "<br />Select an end date";
                                 $page_2_passed = false;
                             } else {
                                 $datetime_handler = new DatetimeHandler($_POST['date']);
                                 if ($datetime_handler->less_then_current()) {
                                     $error[1] = "<br />Select a date in the future";
                                     $page_2_passed = false;
                                 }
                             }
                         } else {
                             $page_2_passed = false;
                         }
                         if ($page_2_passed == false) {
                             $template = new HTMLTemplate("project/tasks/add_milestone.html");
                             $paramquery = $_GET;
                             $paramquery['nextpage'] = "2";
                             $params = http_build_query($paramquery, '', '&#38;');
                             $template->set_var("params", $params);
                             if ($error[0]) {
                                 $template->set_var("error0", $error[0]);
                             } else {
                                 $template->set_var("error0", "");
                             }
                             if ($error[1]) {
                                 $template->set_var("error1", $error[1]);
                             } else {
                                 $template->set_var("error1", "");
                             }
                             if ($_POST['name']) {
                                 $template->set_var("name", $_POST['name']);
                             } else {
                                 $template->set_var("name", "");
                             }
                             if ($_POST['enddate']) {
                                 $template->set_var("enddate", $_POST['enddate']);
                             } else {
                                 $template->set_var("enddate", "");
                             }
                             if ($_POST['time1']) {
                                 $template->set_var("time1", $_POST['time1']);
                             } else {
                                 $template->set_var("time1", "");
                             }
                             if ($_POST['time2']) {
                                 $template->set_var("time2", $_POST['time2']);
                             } else {
                                 $template->set_var("time2", "");
                             }
                             if ($_POST['comment']) {
                                 $template->set_var("comment", $_POST['comment']);
                             } else {
                                 $template->set_var("comment", "");
                             }
                             $template->set_var("type", $_POST['type']);
                             $template->output();
                         } else {
                             $paramquery = $_GET;
                             unset($paramquery['nextpage']);
                             $paramquery['run'] = "detail";
                             $params = http_build_query($paramquery);
                             if (is_numeric($_POST['time1']) and is_numeric($_POST['time2'])) {
                                 $time = $_POST['time1'] . ":" . $_POST['time2'] . ":00";
                             } else {
                                 $time = null;
                             }
                             if ($_POST['auto_connect'] == 1) {
                                 $auto_connect = true;
                             } else {
                                 $auto_connect = false;
                             }
                             $project_task = new ProjectTask(null);
                             if ($project_task->create_milestone($project_id, $user->get_user_id(), $_POST['comment'], $_POST['enddate'], $time, $_POST['name'], $auto_connect)) {
                                 Common_IO::step_proceed($params, "Add Project Task", "Operation Successful", null);
                             } else {
                                 Common_IO::step_proceed($params, "Add Project Task", "Operation Failed", null);
                             }
                         }
                         break;
                 }
             }
         } else {
             throw new ProjectSecuriyAccessDeniedException();
         }
     } else {
         throw new ProjectIDMissingException();
     }
 }