/** * @see ServiceInterface::is_responding() * @return boolean */ public function is_responding() { if ($this->service and $this->service_id) { $last_lifesign = $this->service->get_last_lifesign(); $last_lifesign_datetime_handler = new DatetimeHandler($last_lifesign); $current_datetime_handler = new DatetimeHandler(); if ($last_lifesign_datetime_handler->distance($current_datetime_handler) >= 600) { return false; } else { return true; } } else { return false; } }
/** * @see ProjectTaskPointInterface::get_status_achieved_points() * @param integer $status_id * @param string $datetime * @return integer */ public function get_status_achieved_points($status_id, $datetime) { if ($this->project_id and $this->project and is_numeric($status_id)) { $project_status_array = $this->project_status_array; if (is_array($project_status_array) and count($project_status_array) >= 1) { $array_key = -1; $status = 0; foreach ($project_status_array as $key => $value) { if ($value['id'] == $status_id) { $array_key = $key; $status = $value['status']; $status_datetime = $value['datetime']; } } if ($array_key >= 0) { if ($status == 2) { if (is_object($datetime)) { $status_datetime_handler = new DatetimeHandler($status_datetime); if ($status_datetime_handler->distance($datetime) < 0) { return 0; } else { return $this->get_status_max_points($status_id) + 1; } } else { return $this->get_status_max_points($status_id) + 1; } } elseif ($status == 1) { return $this->get_current_achieved_points($datetime); } else { return 0; } } else { return null; } } else { return null; } } else { return null; } }
/** * @param string $json_column_array * @param string $json_argument_array * @param string $css_page_id * @param string $css_row_sort_id * @param string $entries_per_page * @param string $page * @param string $sortvalue * @param string $sortmethod * @return string * @throws ItemIDMissingException */ public static function list_samples_by_item_id($json_column_array, $json_argument_array, $css_page_id, $css_row_sort_id, $entries_per_page, $page, $sortvalue, $sortmethod) { $argument_array = json_decode($json_argument_array); $item_id = $argument_array[0][1]; if (is_numeric($item_id)) { $list_request = new ListRequest_IO(); if (!is_numeric($entries_per_page) or $entries_per_page < 1) { $entries_per_page = 20; } if ($argument_array[2][1] == true) { $list_array = Sample_Wrapper::list_samples_by_item_id($item_id, $sortvalue, $sortmethod, $page * $entries_per_page - $entries_per_page, $page * $entries_per_page); } else { $list_array = Sample_Wrapper::list_samples_by_item_id($item_id, $sortvalue, $sortmethod, 0, null); } $list_request->set_column_array($json_column_array); if (is_array($list_array) and count($list_array) >= 1) { $today_begin = new DatetimeHandler(date("Y-m-d") . " 00:00:00"); $today_end = new DatetimeHandler(date("Y-m-d") . " 23:59:59"); foreach ($list_array as $key => $value) { $tmp_name = trim($list_array[$key]['name']); unset($list_array[$key]['name']); $list_array[$key]['name']['label'] = $tmp_name; $list_array[$key]['name']['content'] = $tmp_name; $tmp_template = trim($list_array[$key]['template']); unset($list_array[$key]['template']); $list_array[$key]['template']['label'] = $tmp_template; $list_array[$key]['template']['content'] = $tmp_template; if ($argument_array[1][1] == true) { $column_array = json_decode($json_column_array); if (is_array($column_array) and count($column_array) >= 1) { foreach ($column_array as $row_key => $row_value) { if ($row_value[1] == "checkbox") { if ($row_value[4]) { $checkbox_class = $row_value[4]; break; } } } } if ($checkbox_class) { $list_array[$key]['checkbox'] = "<input type='checkbox' name='parent-sample-" . $list_array[$key]['id'] . "' value='1' class='" . $checkbox_class . "' checked='checked' />"; } else { $list_array[$key]['checkbox'] = "<input type='checkbox' name='parent-sample-" . $list_array[$key]['id'] . "' value='1' checked='checked' />"; } $list_array[$key]['symbol'] = "<img src='images/icons/sample.png' alt='' style='border:0;' />"; $list_array[$key]['sid'] = "S" . str_pad($list_array[$key]['id'], 8, '0', STR_PAD_LEFT); } else { if ($list_array[$key]['av'] == "f") { $list_array[$key]['av'] = "<img src='images/icons/grey_point.png' alt='' />"; } else { if ($list_array[$key]['date_of_expiry'] and $list_array[$key]['expiry_warning']) { $date_of_expiry = new DatetimeHandler($list_array[$key]['date_of_expiry'] . " 23:59:59"); $warning_day = clone $date_of_expiry; $warning_day->sub_day($list_array[$key]['expiry_warning']); if ($date_of_expiry->distance($today_end) > 0) { $list_array[$key]['av'] = "<img src='images/icons/red_point.png' alt='' />"; } else { if ($warning_day->distance($today_end) > 0) { $list_array[$key]['av'] = "<img src='images/icons/yellow_point.png' alt='' />"; } else { $list_array[$key]['av'] = "<img src='images/icons/green_point.png' alt='' />"; } } } else { $list_array[$key]['av'] = "<img src='images/icons/green_point.png' alt='' />"; } } $sample_id = $list_array[$key]['id']; $sample_security = new SampleSecurity($sample_id); if ($sample_security->is_access(1, false)) { $paramquery = array(); $paramquery['username'] = $_GET['username']; $paramquery['session_id'] = $_GET['session_id']; $paramquery['nav'] = "sample"; $paramquery['run'] = "detail"; $paramquery['sample_id'] = $sample_id; $params = http_build_query($paramquery, '', '&'); $list_array[$key]['symbol']['link'] = $params; $list_array[$key]['symbol']['content'] = "<img src='images/icons/sample.png' alt='' style='border:0;' />"; unset($list_array[$key]['id']); $list_array[$key]['sid']['link'] = $params; $list_array[$key]['sid']['content'] = "S" . str_pad($sample_id, 8, '0', STR_PAD_LEFT); $list_array[$key]['name']['link'] = $params; } else { $list_array[$key]['symbol'] = "<img src='core/images/denied_overlay.php?image=images/icons/sample.png' alt='N' border='0' />"; $list_array[$key]['sid'] = "S" . str_pad($sample_id, 8, '0', STR_PAD_LEFT); } } $datetime_handler = new DatetimeHandler($list_array[$key]['datetime']); $list_array[$key]['datetime'] = $datetime_handler->get_date(); if ($list_array[$key]['owner']) { $user = new User($list_array[$key]['owner']); } else { $user = new User(1); } $list_array[$key]['owner'] = $user->get_full_name(true); } } else { $list_request->empty_message("<span class='italic'>No Samples found!</span>"); } $list_request->set_array($list_array); return $list_request->get_page($page); } else { throw new ItemIDMissingException(); } }
/** * @see CronInterface::check() * @return bool */ public static function check() { self::init(); if (self::$last_run_datetime and is_numeric(self::$last_run_id)) { $last_run_datetime_handler = new DatetimeHandler(self::$last_run_datetime); $current_datetime_handler = new DatetimeHandler(date("Y-m-d H:i:s")); if ($last_run_datetime_handler->distance($current_datetime_handler) >= 3600) { return true; } else { return false; } } }
/** * @param string $json_column_array * @param string $json_argument_array * @param string $css_page_id * @param string $css_row_sort_id * @param string $entries_per_page * @param string $page * @param string $sortvalue * @param string $sortmethod * @return string * @throws BaseAjaxArgumentMissingException */ public static function list_samples($json_column_array, $json_argument_array, $css_page_id, $css_row_sort_id, $entries_per_page, $page, $sortvalue, $sortmethod) { $argument_array = json_decode($json_argument_array); if (is_array($argument_array)) { $name = $argument_array[0][1]; $organisation_unit_array = $argument_array[1][1]; $template_array = $argument_array[2][1]; $in_id = $argument_array[3][1]; $in_name = $argument_array[4][1]; $list_request = new ListRequest_IO(); $list_request->set_column_array($json_column_array); if (!is_numeric($entries_per_page) or $entries_per_page < 1) { $entries_per_page = 20; } $list_array = Sample_Wrapper::list_sample_search($name, $organisation_unit_array, $template_array, $in_id, $in_name, $sortvalue, $sortmethod, $page * $entries_per_page - $entries_per_page, $page * $entries_per_page); if (is_array($list_array) and count($list_array) >= 1) { $today_end = new DatetimeHandler(date("Y-m-d") . " 23:59:59"); foreach ($list_array as $key => $value) { $datetime_handler = new DatetimeHandler($list_array[$key]['datetime']); $list_array[$key]['datetime'] = $datetime_handler->get_datetime(false); if ($list_array[$key]['av'] == "f") { $list_array[$key]['av'] = "<img src='images/icons/grey_point.png' alt='' />"; } else { if ($list_array[$key]['date_of_expiry'] and $list_array[$key]['expiry_warning']) { $date_of_expiry = new DatetimeHandler($list_array[$key]['date_of_expiry'] . " 23:59:59"); $warning_day = clone $date_of_expiry; $warning_day->sub_day($list_array[$key]['expiry_warning']); if ($date_of_expiry->distance($today_end) > 0) { $list_array[$key]['av'] = "<img src='images/icons/red_point.png' alt='' />"; } else { if ($warning_day->distance($today_end) > 0) { $list_array[$key]['av'] = "<img src='images/icons/yellow_point.png' alt='' />"; } else { $list_array[$key]['av'] = "<img src='images/icons/green_point.png' alt='' />"; } } } else { $list_array[$key]['av'] = "<img src='images/icons/green_point.png' alt='' />"; } } $sample_id = $list_array[$key]['id']; $sample_security = new SampleSecurity($sample_id); if ($sample_security->is_access(1, false)) { $paramquery = array(); $paramquery['username'] = $_GET['username']; $paramquery['session_id'] = $_GET['session_id']; $paramquery['nav'] = "sample"; $paramquery['run'] = "detail"; $paramquery['sample_id'] = $sample_id; $params = http_build_query($paramquery, '', '&'); $list_array[$key]['symbol']['link'] = $params; $list_array[$key]['symbol']['content'] = "<img src='images/icons/sample.png' alt='' style='border:0;' />"; unset($list_array[$key]['id']); $list_array[$key]['id']['link'] = $params; $list_array[$key]['id']['content'] = "S" . str_pad($sample_id, 8, '0', STR_PAD_LEFT); $sample_name = $list_array[$key]['name']; unset($list_array[$key]['name']); $list_array[$key]['name']['link'] = $params; $list_array[$key]['name']['content'] = $sample_name; } else { $list_array[$key]['symbol'] = "<img src='core/images/denied_overlay.php?image=images/icons/sample.png' alt='N' border='0' />"; $list_array[$key]['id'] = "S" . str_pad($sample_id, 8, '0', STR_PAD_LEFT); } } } else { $list_request->empty_message("<span class='italic'>No results found!</span>"); } $list_request->set_array($list_array); return $list_request->get_page($page); } else { throw new BaseAjaxArgumentMissingException(); } }
/** * @see ProjectTaskInterface::set_end() * @param string $date * @param string $time * @param bool $whole_day * @return bool */ public function set_end($date, $time, $whole_day) { global $transaction; if ($date and ($time or $whole_day == true)) { $transaction_id = $transaction->begin(); if ($this->get_start_time() != null) { $current_start_datetime_handler = new DatetimeHandler($this->get_start_date() . " " . $this->get_start_time()); } else { $current_start_datetime_handler = new DatetimeHandler($this->get_start_date() . " 00:00:00"); } if ($time and $whole_day == false) { $new_end_datetime_handler = new DatetimeHandler($date . " " . $time); } else { $new_end_datetime_handler = new DatetimeHandler($date . " 23:59:59"); } $new_next_task_start_datetime_handler = clone $new_end_datetime_handler; if ($whole_day == true) { $new_next_task_start_datetime_handler->add_day(1); } else { $new_next_task_start_datetime_handler->add_second(1); } if ($current_start_datetime_handler->distance($new_end_datetime_handler) > 0) { $next_project_task_has_previous_task_array = ProjectTaskHasPreviousTask_Access::list_tasks_by_previous_task_id($this->task_id); if (is_array($next_project_task_has_previous_task_array) and count($next_project_task_has_previous_task_array) >= 1) { foreach ($next_project_task_has_previous_task_array as $key => $value) { $project_task = new ProjectTask($value); if ($project_task->get_uf_end_time() != -1) { $current_next_task_end_datetime_handler = new DatetimeHandler($project_task->get_end_date() . " " . $project_task->get_uf_end_time()); } else { $current_next_task_end_datetime_handler = new DatetimeHandler($project_task->get_end_date() . " 23:59:59"); } if ($new_end_datetime_handler->distance($current_next_task_end_datetime_handler) <= 0) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } } foreach ($next_project_task_has_previous_task_array as $key => $value) { $project_task_access = new ProjectTask_Access($value); if ($project_task_access->set_start_date($new_next_task_start_datetime_handler->get_formatted_string("Y-m-d")) == false) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } if ($whole_day == true) { if ($project_task_access->set_start_time("00:00:00") == false) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } } else { if ($project_task_access->set_start_time($new_next_task_start_datetime_handler->get_formatted_string("H:i:s")) == false) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } } } } if ($this->task->set_end_date($date) == false) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } if ($time) { if ($this->task->set_end_time($time) == false) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } } if ($this->task->set_whole_day($whole_day) == false) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } if ($transaction_id != null) { $transaction->commit($transaction_id); } return true; } else { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } } else { return false; } }