Fixing exercises in sessions bug when using the default visibility

skala
Julio Montoya 13 years ago
parent 94453c57c6
commit a535d80408
  1. 9
      main/exercice/exercise.class.php
  2. 22
      main/exercice/exercise_admin.php
  3. 5
      main/exercice/overview.php
  4. 21
      main/inc/lib/main_api.lib.php

@ -745,6 +745,7 @@ class Exercise {
// insert into the item_property table // insert into the item_property table
api_item_property_update($this->course, TOOL_QUIZ, $this->id, 'QuizAdded', api_get_user_id()); api_item_property_update($this->course, TOOL_QUIZ, $this->id, 'QuizAdded', api_get_user_id());
api_set_default_visibility($this->id, TOOL_QUIZ); api_set_default_visibility($this->id, TOOL_QUIZ);
if (api_get_setting('search_enabled')=='true' && extension_loaded('xapian')) { if (api_get_setting('search_enabled')=='true' && extension_loaded('xapian')) {
$this->search_engine_save(); $this->search_engine_save();
} }
@ -3396,7 +3397,7 @@ class Exercise {
//Checking visibility in the item_property table //Checking visibility in the item_property table
$visibility = api_get_item_visibility(api_get_course_info(), TOOL_QUIZ, $this->id, api_get_session_id()); $visibility = api_get_item_visibility(api_get_course_info(), TOOL_QUIZ, $this->id, api_get_session_id());
if ($visibility == 0) { if ($visibility == 0) {
$this->active = 0; $this->active = 0;
} }
@ -3457,11 +3458,7 @@ class Exercise {
} }
return array('value' => $is_visible, 'message' => $message); return array('value' => $is_visible, 'message' => $message);
} }
function save_attempt() {
}
function added_in_lp() { function added_in_lp() {
$TBL_LP_ITEM = Database::get_course_table(TABLE_LP_ITEM); $TBL_LP_ITEM = Database::get_course_table(TABLE_LP_ITEM);
$sql = "SELECT max_score FROM $TBL_LP_ITEM WHERE c_id = ".$this->course_id." AND item_type = '".TOOL_QUIZ."' AND path = '".$this->id."'"; $sql = "SELECT max_score FROM $TBL_LP_ITEM WHERE c_id = ".$this->course_id." AND item_type = '".TOOL_QUIZ."' AND path = '".$this->id."'";

@ -27,7 +27,7 @@ if(!api_is_allowed_to_edit(null,true)) {
api_not_allowed(true); api_not_allowed(true);
} }
$htmlHeadXtra[] = '<script type="text/javascript"> $htmlHeadXtra[] = '<script>
function advanced_parameters() { function advanced_parameters() {
if(document.getElementById(\'options\').style.display == \'none\') { if(document.getElementById(\'options\').style.display == \'none\') {
document.getElementById(\'options\').style.display = \'block\'; document.getElementById(\'options\').style.display = \'block\';
@ -132,15 +132,15 @@ $htmlHeadXtra[] = '<script type="text/javascript">
} }
</script>'; </script>';
// to correct #4029 Random and number of attempt menu empty added window.onload=advanced_parameters; // to correct #4029 Random and number of attempt menu empty added window.onload=advanced_parameters;
$htmlHeadXtra[] = '<script type="text/javascript"> $htmlHeadXtra[] = '<script>
function setFocus(){ function setFocus(){
$("#exercise_title").focus(); $("#exercise_title").focus();
} }
$(document).ready(function () { $(document).ready(function () {
setFocus(); setFocus();
}); });
window.onload=advanced_parameters; window.onload=advanced_parameters;
</script>'; </script>';
// INIT EXERCISE // INIT EXERCISE
@ -194,16 +194,12 @@ if ($form->validate()) {
} else { } else {
if (!empty($_GET['lp_id']) || !empty($_POST['lp_id'])){ if (!empty($_GET['lp_id']) || !empty($_POST['lp_id'])){
if (!empty($_POST['lp_id'])){ if (!empty($_POST['lp_id'])){
$lp_id=Security::remove_XSS($_POST['lp_id']);//TODO:this remains to be implemented after press the first post $lp_id = Security::remove_XSS($_POST['lp_id']);//TODO:this remains to be implemented after press the first post
} } else {
else{ $lp_id = Security::remove_XSS($_GET['lp_id']);
$lp_id=Security::remove_XSS($_GET['lp_id']); }
}
echo "<a href=\"../newscorm/lp_controller.php?".api_get_cidreq()."&gradebook=&action=add_item&type=step&lp_id=".$lp_id."#resource_tab-2\">".Display::return_icon('back.png', get_lang("BackTo").' '.get_lang("LearningPaths"),'',ICON_SIZE_MEDIUM)."</a>"; echo "<a href=\"../newscorm/lp_controller.php?".api_get_cidreq()."&gradebook=&action=add_item&type=step&lp_id=".$lp_id."#resource_tab-2\">".Display::return_icon('back.png', get_lang("BackTo").' '.get_lang("LearningPaths"),'',ICON_SIZE_MEDIUM)."</a>";
} } else {
else{
echo '<a href="exercice.php">' . Display :: return_icon('back.png', get_lang('BackToExercisesList'),'',ICON_SIZE_MEDIUM).'</a>'; echo '<a href="exercice.php">' . Display :: return_icon('back.png', get_lang('BackToExercisesList'),'',ICON_SIZE_MEDIUM).'</a>';
} }
} }

@ -174,11 +174,10 @@ if (!empty($attempts)) {
case EXERCISE_FEEDBACK_TYPE_EXAM: case EXERCISE_FEEDBACK_TYPE_EXAM:
$header_names = array(get_lang('Attempt'), get_lang('StartDate'), get_lang('Score')); $header_names = array(get_lang('Attempt'), get_lang('StartDate'), get_lang('Score'));
break; break;
} }
$row = 0;
$column = 0; $column = 0;
foreach ($header_names as $item) { foreach ($header_names as $item) {
$table->setHeaderContents($row, $column, $item); $table->setHeaderContents(0, $column, $item);
$column++; $column++;
} }
$row = 1; $row = 1;

@ -6075,7 +6075,24 @@ function api_set_default_visibility($item_id, $tool_id, $group_id = null) {
} }
if (empty($group_id)) { if (empty($group_id)) {
$group_id = api_get_group_id(); $group_id = api_get_group_id();
} }
api_item_property_update(api_get_course_info(), $original_tool_id, $item_id, $visibility, api_get_user_id(), $group_id, null, null, null, api_get_session_id());
api_item_property_update(api_get_course_info(), $original_tool_id, $item_id, $visibility, api_get_user_id(), $group_id, null, null, null, api_get_session_id());
//Fixes default visibility for tests
switch ($original_tool_id) {
case TOOL_QUIZ:
$objExerciseTmp = new Exercise();
$objExerciseTmp->read($item_id);
if ($visibility == 'visible') {
$objExerciseTmp->enable();
$objExerciseTmp->save();
} else {
$objExerciseTmp->disable();
$objExerciseTmp->save();
}
break;
}
} }
} }

Loading…
Cancel
Save