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
api_item_property_update($this->course, TOOL_QUIZ, $this->id, 'QuizAdded', api_get_user_id());
api_set_default_visibility($this->id, TOOL_QUIZ);
if (api_get_setting('search_enabled')=='true' && extension_loaded('xapian')) {
$this->search_engine_save();
}
@ -3396,7 +3397,7 @@ class Exercise {
//Checking visibility in the item_property table
$visibility = api_get_item_visibility(api_get_course_info(), TOOL_QUIZ, $this->id, api_get_session_id());
if ($visibility == 0) {
$this->active = 0;
}
@ -3457,11 +3458,7 @@ class Exercise {
}
return array('value' => $is_visible, 'message' => $message);
}
function save_attempt() {
}
function added_in_lp() {
$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."'";

@ -27,7 +27,7 @@ if(!api_is_allowed_to_edit(null,true)) {
api_not_allowed(true);
}
$htmlHeadXtra[] = '<script type="text/javascript">
$htmlHeadXtra[] = '<script>
function advanced_parameters() {
if(document.getElementById(\'options\').style.display == \'none\') {
document.getElementById(\'options\').style.display = \'block\';
@ -132,15 +132,15 @@ $htmlHeadXtra[] = '<script type="text/javascript">
}
</script>';
// to correct #4029 Random and number of attempt menu empty added window.onload=advanced_parameters;
$htmlHeadXtra[] = '<script type="text/javascript">
// to correct #4029 Random and number of attempt menu empty added window.onload=advanced_parameters;
$htmlHeadXtra[] = '<script>
function setFocus(){
$("#exercise_title").focus();
}
$(document).ready(function () {
setFocus();
});
window.onload=advanced_parameters;
window.onload=advanced_parameters;
</script>';
// INIT EXERCISE
@ -194,16 +194,12 @@ if ($form->validate()) {
} else {
if (!empty($_GET['lp_id']) || !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
}
else{
$lp_id=Security::remove_XSS($_GET['lp_id']);
}
$lp_id = Security::remove_XSS($_POST['lp_id']);//TODO:this remains to be implemented after press the first post
} else {
$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>";
}
else{
} else {
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:
$header_names = array(get_lang('Attempt'), get_lang('StartDate'), get_lang('Score'));
break;
}
$row = 0;
}
$column = 0;
foreach ($header_names as $item) {
$table->setHeaderContents($row, $column, $item);
$table->setHeaderContents(0, $column, $item);
$column++;
}
$row = 1;

@ -6075,7 +6075,24 @@ function api_set_default_visibility($item_id, $tool_id, $group_id = null) {
}
if (empty($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