Example #1
0
 * version 3 of the License.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
 * See the GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License along with this program;
 * if not, see <http://www.gnu.org/licenses/>.
 */
/**
 *
 */
$template = new HTMLTemplate("base/home.html");
$template->set_var("USERNAME", $user->get_full_name(false));
$datetime_handler = new DatetimeHandler();
$template->set_var("DATE", $datetime_handler->get_formatted_string("l, jS F Y"));
$home_summery_left_array = ModuleDialog::list_dialogs_by_type("home_summary_left");
if (is_array($home_summery_left_array) and count($home_summery_left_array) >= 1) {
    $content_array = array();
    $counter = 0;
    foreach ($home_summery_left_array as $key => $value) {
        require_once $value['class_path'];
        $content_array[$counter]['content'] = $value['class']::$value['method']();
        $counter++;
    }
    $template->set_var("HOME_SUMMARY_LEFT_ARRAY", $content_array);
}
$home_summery_right_array = ModuleDialog::list_dialogs_by_type("home_summary_right");
if (is_array($home_summery_right_array) and count($home_summery_right_array) >= 1) {
    $content_array = array();
    $counter = 0;
Example #2
0
 /**
  * @param string $json_argument_array
  * @return integer
  */
 public static function count_batches($json_argument_array)
 {
     $datetime_handler_end = new DatetimeHandler();
     $datetime_handler_end->sub_day(7);
     $datetime_handler_create = new DatetimeHandler();
     $datetime_handler_create->sub_day(30);
     return Batch_Wrapper::count_batches($datetime_handler_create->get_formatted_string("Y-m-d H:i:s"), $datetime_handler_end->get_formatted_string("Y-m-d H:i:s"));
 }
Example #3
0
 /**
  * @see ProjectTaskInterface::list_upcoming_tasks()
  * @return array
  * @todo tasks ending today
  * @todo tasks ending this week
  * @todo tasks ending next 30 days
  */
 public static function list_upcoming_tasks()
 {
     global $user;
     $upcoming_task_array = array();
     $over_time_task_array = Project_Wrapper_Access::list_not_finished_over_time_project_tasks_by_user_id($user->get_user_id(), date("Y-m-d H:i:s"));
     if (is_array($over_time_task_array) and count($over_time_task_array) >= 1) {
         foreach ($over_time_task_array as $key => $value) {
             $project_task = new ProjectTask($value);
             $project = new Project($project_task->get_project_id());
             if ($project_task->get_uf_end_time() == -1) {
                 $end_task_datetime = new DatetimeHandler($project_task->get_end_date() . " 23:59:59");
             } else {
                 $end_task_datetime = new DatetimeHandler($project_task->get_end_date() . " " . $project_task->get_uf_end_time());
             }
             if ($project_task->get_over_time() == true) {
                 $temp_array = array();
                 $temp_array['project_id'] = $project_task->get_project_id();
                 $temp_array['project_name'] = $project->get_name();
                 $temp_array['task_name'] = $project_task->get_name();
                 $temp_array['end_date'] = $end_task_datetime->get_formatted_string("d/m/Y");
                 $temp_array['status'] = 1;
                 array_push($upcoming_task_array, $temp_array);
                 unset($temp_array);
             } else {
                 if ($project_task->get_progress() < 100) {
                     $temp_array = array();
                     $temp_array['project_id'] = $project_task->get_project_id();
                     $temp_array['project_name'] = $project->get_name();
                     $temp_array['task_name'] = $project_task->get_name();
                     $temp_array['end_date'] = $end_task_datetime->get_formatted_string("d/m/Y");
                     $temp_array['status'] = 1;
                     array_push($upcoming_task_array, $temp_array);
                     unset($temp_array);
                     $project_task->set_over_time(true);
                 } else {
                     $project_task->set_finished(true);
                 }
             }
         }
     }
     return $upcoming_task_array;
 }
Example #4
0
 private function day_view()
 {
     $today = date("j-m-Y");
     $today_datetime_handler = new DatetimeHandler($today);
     if (!$_GET['page']) {
         $date = date("j-m-Y");
     } else {
         $date = $_GET['page'];
     }
     $datetime_handler = new DatetimeHandler($date);
     $datetime_handler->add_hour(6);
     $next_day_datetime_handler = clone $datetime_handler;
     $next_day_datetime_handler->add_day(1);
     $prev_day_datetime_handler = clone $datetime_handler;
     $prev_day_datetime_handler->sub_day(1);
     $mktime = $datetime_handler->get_mktime();
     $day = date("jS", $mktime);
     $month = date("m", $mktime);
     $month_name = date("F", $mktime);
     $year = date("Y", $mktime);
     $color_count = 1;
     $date_array = $this->mktime_has_date($mktime, $mktime + 86399);
     $rows = count($date_array);
     $column_array = array();
     $column_array_count = 0;
     if ($datetime_handler->get_formatted_string("Y-m-d") == $today_datetime_handler->get_formatted_string("Y-m-d")) {
         $display_date = "<span class='CalendarToday'>" . $datetime_handler->get_formatted_string("l jS F Y") . "</span>";
     } else {
         $display_date = $datetime_handler->get_formatted_string("l jS F Y");
     }
     for ($i = 0; $i <= 17; $i++) {
         $mktime = $datetime_handler->get_mktime();
         $date_array = $this->mktime_has_date($mktime, $mktime + 3599);
         if (is_array($date_array) and count($date_array >= 1)) {
             foreach ($date_array as $key => $value) {
                 if (!in_array($value, $column_array)) {
                     if ($this->calendar_array[$value]['link']) {
                         $content_array[$i][$column_array_count]['name'] = "<a href='index.php?" . $this->calendar_array[$value]['link'] . "'>" . $this->calendar_array[$value]['name'] . "</a>";
                     } else {
                         $content_array[$i][$column_array_count]['name'] = $this->calendar_array[$value]['name'];
                     }
                     $content_array[$i][$column_array_count]['value'] = $this->calendar_array[$value]['color'];
                     $content_array[$i][$column_array_count]['datebegin'] = true;
                     $start_datetime_handler = new DatetimeHandler($this->calendar_array[$value]['start_date'] . " " . $this->calendar_array[$value]['start_time']);
                     $end_datetime_handler = new DatetimeHandler($this->calendar_array[$value]['end_date'] . " " . $this->calendar_array[$value]['end_time']);
                     $content_array[$i][$column_array_count]['range'] = $start_datetime_handler->get_formatted_string("j-n-Y (H:i)") . " - " . $end_datetime_handler->get_formatted_string("j-n-Y (H:i)");
                     $column_array_count++;
                     array_push($column_array, $value);
                 }
             }
             for ($j = 0; $j <= $rows - 1; $j++) {
                 if (!$content_array[$i][$j]['content']) {
                     if (isset($column_array[$j]) and in_array($column_array[$j], $date_array)) {
                         $content_array[$i][$j]['value'] = $this->calendar_array[$column_array[$j]]['color'];
                         if ($content_array[$i][$j]['datebegin'] != true) {
                             $content_array[$i][$j]['datebegin'] = false;
                         }
                     } else {
                         $content_array[$i][$j]['value'] = "";
                         $content_array[$i][$j]['datebegin'] = false;
                     }
                 }
             }
         } else {
             $content_array[$i][0]['datebegin'] = false;
             $content_array[$i][0]['value'] = "";
         }
         $content_array[$i]['time'] = $datetime_handler->get_formatted_string("H:i");
         $datetime_handler->add_hour(1);
         if ($color_count % 2) {
             $tr_class = " class='CalendarTrGrey'";
         } else {
             $tr_class = "";
         }
         $content_array[$i]['tr_class'] = $tr_class;
         $color_count++;
     }
     $template = new HTMLTemplate("organiser/views/day.html");
     $paramquery_prev = $_GET;
     $paramquery_prev['page'] = date("j-m-Y", $prev_day_datetime_handler->get_mktime());
     $params_prev = http_build_query($paramquery_prev, '', '&#38;');
     $paramquery_next = $_GET;
     $paramquery_next['page'] = date("j-m-Y", $next_day_datetime_handler->get_mktime());
     $params_next = http_build_query($paramquery_next, '', '&#38;');
     $template->set_var("previous_params", $params_prev);
     $template->set_var("next_params", $params_next);
     $template->set_var("date", $display_date);
     $template->set_var("content_array", $content_array);
     return $template->get_string();
 }
Example #5
0
 /**
  * @throws ProjectIDMissingException
  * @throws ProjectSecuriyAccessDeniedException
  */
 public static function gantt_view()
 {
     global $project_security;
     if ($_GET['project_id']) {
         if ($project_security->is_access(1, false) == true) {
             $project_task_array = ProjectTask::list_tasks($_GET['project_id']);
             $left_limit = 0;
             $right_limit = 0;
             if (is_array($project_task_array) and count($project_task_array) >= 1) {
                 foreach ($project_task_array as $key => $value) {
                     $project_task = new ProjectTask($value);
                     if ($project_task->get_start_date()) {
                         $begin_timestamp = $project_task->get_start_date() . " 00:00:00";
                         if ($project_task->get_uf_end_time() != "-1") {
                             $end_timestamp = $project_task->get_end_date() . " " . $project_task->get_end_time();
                         } else {
                             $end_timestamp = $project_task->get_end_date() . " 00:00:00";
                         }
                         $begin_datetime_handler = new DatetimeHandler($begin_timestamp);
                         $end_datetime_handler = new DatetimeHandler($end_timestamp);
                         $begin_mktime = $begin_datetime_handler->get_mktime();
                         $end_mktime = $end_datetime_handler->get_mktime();
                         if ($left_limit == 0 or $left_limit > $begin_mktime) {
                             $left_limit = $begin_mktime;
                         }
                         if ($right_limit == 0 or $right_limit < $end_mktime) {
                             $right_limit = $end_mktime;
                         }
                     }
                 }
                 $left_limit_handler = new DatetimeHandler($left_limit);
                 $right_limit_handler = new DatetimeHandler($right_limit);
                 $day_distance = $left_limit_handler->day_distance($right_limit_handler);
                 $date_range = $right_limit - $left_limit;
                 if ($day_distance < 30) {
                     if ($day_distance < 15) {
                         if ($day_distance < 7) {
                             $date_range_addition = ceil($date_range / ($day_distance * 4));
                             $date_mktime = $left_limit;
                             $number_of_rows = $day_distance * 4 + 4;
                         } else {
                             $date_range_addition = ceil($date_range / ($day_distance * 2));
                             $date_mktime = $left_limit;
                             $number_of_rows = $day_distance * 2 + 2;
                         }
                     } else {
                         $date_range_addition = ceil($date_range / $day_distance);
                         $date_mktime = $left_limit;
                         $number_of_rows = $day_distance + 1;
                     }
                 } else {
                     $date_range_addition = ceil($date_range / 29);
                     $date_mktime = $left_limit;
                     $number_of_rows = 30;
                 }
                 $width_of_row = 705 / $number_of_rows;
                 $gantt_array = array();
                 for ($i = 0; $i <= $number_of_rows - 1; $i++) {
                     $day = date("d", $date_mktime);
                     $month = date("M", $date_mktime);
                     $gantt_array[$i]['title'] = $day . "<br />" . $month;
                     $gantt_array[$i]['mktime'] = $date_mktime;
                     $date_mktime = $date_mktime + $date_range_addition;
                 }
                 $template = new HTMLTemplate("project/tasks/gantt_view.html");
                 $table_view_paramquery = $_GET;
                 $table_view_paramquery['show'] = "table";
                 $table_view_params = http_build_query($table_view_paramquery, '', '&#38;');
                 $template->set_var("table_view_params", $table_view_params);
                 $gantt_view_paramquery = $_GET;
                 $gantt_view_paramquery['show'] = "gantt";
                 $gantt_view_params = http_build_query($gantt_view_paramquery, '', '&#38;');
                 $template->set_var("gantt_view_params", $gantt_view_params);
                 $cal_view_paramquery = $_GET;
                 $cal_view_paramquery['show'] = "cal";
                 $cal_view_params = http_build_query($cal_view_paramquery, '', '&#38;');
                 $template->set_var("cal_view_params", $cal_view_params);
                 $table = "<table class='ProjectTaskGanttTable'>";
                 $table .= "<tr>";
                 foreach ($gantt_array as $key => $value) {
                     $table .= "<th width='" . $width_of_row . "px'>" . $value['title'] . "</th>";
                 }
                 $table .= "</tr>";
                 foreach ($project_task_array as $key => $value) {
                     $project_task = new ProjectTask($value);
                     $begin_timestamp = $project_task->get_start_date() . " 00:00:00";
                     if ($project_task->get_uf_end_time() != "-1") {
                         $end_timestamp = $project_task->get_end_date() . " " . $project_task->get_end_time();
                     } else {
                         $end_timestamp = $project_task->get_end_date() . " 23:59:59";
                     }
                     $begin_datetime_handler = new DatetimeHandler($begin_timestamp);
                     $end_datetime_handler = new DatetimeHandler($end_timestamp);
                     $begin_mktime = $begin_datetime_handler->get_mktime();
                     $end_mktime = $end_datetime_handler->get_mktime();
                     $table .= "<tr>";
                     $paramquery = $_GET;
                     $paramquery['run'] = "task_detail";
                     $paramquery['id'] = $value;
                     $params = http_build_query($paramquery, '', '&#38;');
                     $table .= "<td colspan='30'><span class='smallText'><a href='index.php?" . $params . "'>" . $project_task->get_name() . " (" . $begin_datetime_handler->get_formatted_string("j/n/Y") . " - " . $end_datetime_handler->get_formatted_string("j/n/Y") . ")</a></span></td>";
                     $table .= "</tr><tr class='ProjectTaskGanttBlockEnd'>";
                     $begin_key = -1;
                     $end_key = -1;
                     foreach ($gantt_array as $fe_key => $fe_value) {
                         if ($fe_value['mktime'] >= $begin_mktime) {
                             if ($begin_key == -1) {
                                 $begin_key = $fe_key;
                             }
                         }
                         if ($begin_key != -1 and $fe_value['mktime'] <= $end_mktime) {
                             $end_key = $fe_key;
                         }
                     }
                     $key_range = $end_key - $begin_key + 1;
                     $in_task = false;
                     for ($i = 0; $i <= $number_of_rows - 1; $i++) {
                         if ($i == $begin_key) {
                             $in_task = true;
                             $width = $key_range * ($width_of_row + 1);
                             if ($project_task->get_type() == 3) {
                                 $table .= "<td colspan='" . $key_range . "' style='text-align: center;'><img src='images/icons/milestone.png' alt='' /></td>";
                             } else {
                                 $table .= "<td colspan='" . $key_range . "'><img src='core/images/status_bar.php?length=" . $width . "&height=15&linecolor=A0A0A0&bgcolor=EAEAEA&color=" . $project_task->get_color() . "&value=" . $project_task->get_progress() . "' /></td>";
                             }
                         }
                         if ($in_task == false) {
                             $table .= "<td></td>";
                         }
                         if ($i == $end_key) {
                             $in_task = false;
                         }
                     }
                     $table .= "</tr>";
                 }
                 $table .= "</table>";
                 $template->set_var("table", $table);
                 $template->output();
             } else {
                 $template = new HTMLTemplate("project/tasks/gantt_view.html");
                 $table_view_paramquery = $_GET;
                 $table_view_paramquery['show'] = "table";
                 $table_view_params = http_build_query($table_view_paramquery, '', '&#38;');
                 $template->set_var("table_view_params", $table_view_params);
                 $gantt_view_paramquery = $_GET;
                 $gantt_view_paramquery['show'] = "gantt";
                 $gantt_view_params = http_build_query($gantt_view_paramquery, '', '&#38;');
                 $template->set_var("gantt_view_params", $gantt_view_params);
                 $cal_view_paramquery = $_GET;
                 $cal_view_paramquery['show'] = "cal";
                 $cal_view_params = http_build_query($cal_view_paramquery, '', '&#38;');
                 $template->set_var("cal_view_params", $cal_view_params);
                 $template->set_var("table", "<span class='italic'>No Entries Found</span>");
                 $template->output();
             }
         } else {
             throw new ProjectSecuriyAccessDeniedException();
         }
     } else {
         throw new ProjectIDMissingException();
     }
 }