Also check if dates are not empty.

1.10.x
jmontoyaa 9 years ago
parent b081ffd973
commit c4deb6f60f
  1. 20
      main/exercice/exercise.class.php
  2. 12
      main/exercice/exercise.php
  3. 7
      main/exercice/exercise_submit.php

@ -189,10 +189,10 @@ class Exercise
$this->edit_exercise_in_lp = true;
}
if ($object->end_time != '0000-00-00 00:00:00') {
if ($object->end_time != '0000-00-00 00:00:00' && !empty($object->end_time)) {
$this->end_time = $object->end_time;
}
if ($object->start_time != '0000-00-00 00:00:00') {
if ($object->start_time != '0000-00-00 00:00:00' && !empty($object->start_time)) {
$this->start_time = $object->start_time;
}
@ -1603,13 +1603,13 @@ class Exercise
// Exercise already exists
if ($id) {
// we prepare date in the database using the api_get_utc_datetime() function
if (!empty($this->start_time) && $this->start_time != '0000-00-00 00:00:00') {
if (!empty($this->start_time) && $this->start_time != '0000-00-00 00:00:00' && !empty($this->start_time)) {
$start_time = $this->start_time;
} else {
$start_time = '0000-00-00 00:00:00';
}
if (!empty($this->end_time) && $this->end_time != '0000-00-00 00:00:00') {
if (!empty($this->end_time) && $this->end_time != '0000-00-00 00:00:00' && !empty($this->end_time)) {
$end_time = $this->end_time;
} else {
$end_time = '0000-00-00 00:00:00';
@ -2207,7 +2207,7 @@ class Exercise
$var = Exercise::selectTimeLimit();
if (($this->start_time != '0000-00-00 00:00:00'))
if (($this->start_time != '0000-00-00 00:00:00') && !empty($this->start_time))
$form->addElement('html','<div id="start_date_div" style="display:block;">');
else
$form->addElement('html','<div id="start_date_div" style="display:none;">');
@ -2218,7 +2218,7 @@ class Exercise
$form->addElement('checkbox', 'activate_end_date_check', null , get_lang('EnableEndTime'), array('onclick' => 'activate_end_date()'));
if (($this->end_time != '0000-00-00 00:00:00'))
if (($this->end_time != '0000-00-00 00:00:00' && !empty($this->end_time)))
$form->addElement('html','<div id="end_date_div" style="display:block;">');
else
$form->addElement('html','<div id="end_date_div" style="display:none;">');
@ -2359,15 +2359,15 @@ class Exercise
$defaults['pass_percentage'] = $this->selectPassPercentage();
$defaults['question_selection_type'] = $this->getQuestionSelectionType();
if (($this->start_time != '0000-00-00 00:00:00')) {
if (($this->start_time != '0000-00-00 00:00:00' && !empty($this->start_time))) {
$defaults['activate_start_date_check'] = 1;
}
if ($this->end_time != '0000-00-00 00:00:00') {
if ($this->end_time != '0000-00-00 00:00:00' && !empty($this->end_time)) {
$defaults['activate_end_date_check'] = 1;
}
$defaults['start_time'] = ($this->start_time!='0000-00-00 00:00:00') ? api_get_local_time($this->start_time) : date('Y-m-d 12:00:00');
$defaults['end_time'] = ($this->end_time!='0000-00-00 00:00:00') ? api_get_local_time($this->end_time) : date('Y-m-d 12:00:00', time()+84600);
$defaults['start_time'] = ($this->start_time!='0000-00-00 00:00:00' && !empty($this->start_time)) ? api_get_local_time($this->start_time) : date('Y-m-d 12:00:00');
$defaults['end_time'] = ($this->end_time!='0000-00-00 00:00:00' && !empty($this->end_time)) ? api_get_local_time($this->end_time) : date('Y-m-d 12:00:00', time()+84600);
// Get expired time
if ($this->expired_time != '0') {

@ -550,7 +550,9 @@ if (!empty($exercise_list)) {
$session_img = api_get_session_image($row['session_id'], $userInfo['status']);
$time_limits = false;
if ($row['start_time'] != '0000-00-00 00:00:00' || $row['end_time'] != '0000-00-00 00:00:00') {
if ((!empty($row['start_time']) && $row['start_time'] != '0000-00-00 00:00:00') ||
($row['end_time'] != '0000-00-00 00:00:00' && !empty($row['end_time']))
) {
$time_limits = true;
}
@ -558,11 +560,11 @@ if (!empty($exercise_list)) {
if ($time_limits) {
// check if start time
$start_time = false;
if ($row['start_time'] != '0000-00-00 00:00:00') {
if (!empty($row['start_time']) && $row['start_time'] != '0000-00-00 00:00:00') {
$start_time = api_strtotime($row['start_time'], 'UTC');
}
$end_time = false;
if ($row['end_time'] != '0000-00-00 00:00:00') {
if (!empty($row['end_time']) && $row['end_time'] != '0000-00-00 00:00:00') {
$end_time = api_strtotime($row['end_time'], 'UTC');
}
$now = time();
@ -893,7 +895,9 @@ if (!empty($exercise_list)) {
} else {
//Quiz not ready due to time limits 700 $attempt_text = get_lang('NotAttempted');
//@todo use the is_visible function
if ($row['start_time'] != '0000-00-00 00:00:00' && $row['end_time'] != '0000-00-00 00:00:00') {
if (!empty($row['start_time']) && !empty($row['end_time']) &&
$row['start_time'] != '0000-00-00 00:00:00' && $row['end_time'] != '0000-00-00 00:00:00'
) {
$today = time();
$start_time = api_strtotime($row['start_time'], 'UTC');
$end_time = api_strtotime($row['end_time'], 'UTC');

@ -723,20 +723,21 @@ if ($is_visible_return['value'] == false) {
exit;
}
$limit_time_exists = (($objExercise->start_time != '0000-00-00 00:00:00') || ($objExercise->end_time != '0000-00-00 00:00:00')) ? true : false;
$limit_time_exists = ((!empty($objExercise->start_time) && $objExercise->start_time != '0000-00-00 00:00:00') ||
(!empty($objExercise->end_time) && $objExercise->end_time != '0000-00-00 00:00:00')) ? true : false;
if ($limit_time_exists) {
$exercise_start_time = api_strtotime($objExercise->start_time, 'UTC');
$exercise_end_time = api_strtotime($objExercise->end_time, 'UTC');
$time_now = time();
if ($objExercise->start_time != '0000-00-00 00:00:00') {
if (!empty($objExercise->start_time) && $objExercise->start_time != '0000-00-00 00:00:00') {
$permission_to_start = (($time_now - $exercise_start_time) > 0) ? true : false;
} else {
$permission_to_start = true;
}
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
if ($objExercise->end_time != '0000-00-00 00:00:00') {
if ($objExercise->end_time != '0000-00-00 00:00:00' && !empty($objExercise->end_time)) {
$exercise_timeover = (($time_now - $exercise_end_time) > 0) ? true : false;
} else {
$exercise_timeover = false;

Loading…
Cancel
Save