Fixing more issues from the link delete function see #5229

skala
Julio Montoya 16 years ago
parent a2dd7f1ff5
commit cc51cbf16f
  1. 12
      main/exercice/exercice.php
  2. 30
      main/gradebook/gradebook.php
  3. 32
      main/gradebook/index.php
  4. 11
      main/newscorm/learnpath.class.php

@ -532,11 +532,13 @@ if ($is_allowedToEdit) {
$sql = 'SELECT gl.id FROM ' . $tbl_grade_link . ' gl WHERE gl.type="1" AND gl.ref_id="' . $exerciseId . '";';
$result = Database::query($sql, __FILE__, __LINE__);
$row = Database :: fetch_array($result, 'ASSOC');
$link = LinkFactory :: load($row['id']);
if ($link[0] != null) {
$link[0]->delete();
}
//see
if (!empty($row['id'])) {
$link = LinkFactory :: load($row['id']);
if ($link[0] != null) {
$link[0]->delete();
}
}
Display :: display_confirmation_message(get_lang('ExerciseDeleted'));
break;
case 'enable' : // enables an exercise

@ -269,15 +269,18 @@ if (isset ($_GET['visiblelink'])) {
}
if (isset ($_GET['deletelink'])) {
block_students();
$link= LinkFactory :: load(Security::remove_XSS($_GET['deletelink']));
if ($link[0] != null) {
$sql='UPDATE '.$tbl_forum_thread.' SET thread_qualify_max=0,thread_weight=0,thread_title_qualify="" WHERE thread_id=(SELECT ref_id FROM '.$tbl_grade_links.' where id='.Security::remove_XSS($_GET['deletelink']).');';
Database::query($sql);
$link[0]->delete();
//fixing #5229
if (!empty($_GET['deletelink'])) {
$link= LinkFactory :: load(Security::remove_XSS($_GET['deletelink']));
if ($link[0] != null) {
$sql='UPDATE '.$tbl_forum_thread.' SET thread_qualify_max=0,thread_weight=0,thread_title_qualify="" WHERE thread_id=(SELECT ref_id FROM '.$tbl_grade_links.' where id='.Security::remove_XSS($_GET['deletelink']).');';
Database::query($sql);
$link[0]->delete();
}
unset ($link);
$confirmation_message = get_lang('LinkDeleted');
$filter_confirm_msg = false;
}
unset ($link);
$confirmation_message = get_lang('LinkDeleted');
$filter_confirm_msg = false;
}
$course_to_crsind = isset ($course_to_crsind) ? $course_to_crsind : '';
if ($course_to_crsind && !isset($_GET['confirm'])) {
@ -328,11 +331,14 @@ if (isset ($_POST['action'])) {
$number_of_deleted_evaluations++;
}
if (api_substr($indexstr, 0, 4) == 'LINK') {
$link= LinkFactory :: load(api_substr($indexstr, 4));
if ($link[0] != null) {
$link[0]->delete();
$id = api_substr($indexstr, 4);
if (!empty($id)) {
$link= LinkFactory :: load();
if ($link[0] != null) {
$link[0]->delete();
}
$number_of_deleted_links++;
}
$number_of_deleted_links++;
}
}
$confirmation_message = get_lang('DeletedCategories') . ' : <b>' . $number_of_deleted_categories . '</b><br />' . get_lang('DeletedEvaluations') . ' : <b>' . $number_of_deleted_evaluations . '</b><br />' . get_lang('DeletedLinks') . ' : <b>' . $number_of_deleted_links . '</b><br /><br />' . get_lang('TotalItems') . ' : <b>' . $number_of_selected_items . '</b>';

@ -327,15 +327,18 @@ if (isset ($_GET['visiblelink'])) {
if (isset ($_GET['deletelink'])) {
block_students();
$get_delete_link=Security::remove_XSS($_GET['deletelink']);
$link= LinkFactory :: load($get_delete_link);
if ($link[0] != null) {
$sql='UPDATE '.$tbl_forum_thread.' SET thread_qualify_max=0,thread_weight=0,thread_title_qualify="" WHERE thread_id=(SELECT ref_id FROM '.$tbl_grade_links.' where id='.$get_delete_link.');';
Database::query($sql);
$link[0]->delete();
//fixing #5229
if (!empty($get_delete_link)) {
$link= LinkFactory :: load($get_delete_link);
if ($link[0] != null) {
$sql='UPDATE '.$tbl_forum_thread.' SET thread_qualify_max=0,thread_weight=0,thread_title_qualify="" WHERE thread_id=(SELECT ref_id FROM '.$tbl_grade_links.' where id='.$get_delete_link.');';
Database::query($sql);
$link[0]->delete();
}
unset ($link);
$confirmation_message = get_lang('LinkDeleted');
$filter_confirm_msg = false;
}
unset ($link);
$confirmation_message = get_lang('LinkDeleted');
$filter_confirm_msg = false;
}
if (!empty($course_to_crsind) && !isset($_GET['confirm'])) {
@ -387,12 +390,15 @@ if (isset ($_POST['action'])) {
$number_of_deleted_evaluations++;
}
if (substr($indexstr, 0, 4) == 'LINK') {
$link= LinkFactory :: load(substr($indexstr, 4));
if ($link[0] != null) {
$link[0]->delete();
//fixing #5229
$id = substr($indexstr, 4);
if (!empty($id)) {
$link= LinkFactory :: load($id);
if ($link[0] != null) {
$link[0]->delete();
}
$number_of_deleted_links++;
}
$number_of_deleted_links++;
}
}
$confirmation_message = get_lang('DeletedCategories') . ' : <b>' . $number_of_deleted_categories . '</b><br />' . get_lang('DeletedEvaluations') . ' : <b>' . $number_of_deleted_evaluations . '</b><br />' . get_lang('DeletedLinks') . ' : <b>' . $number_of_deleted_links . '</b><br /><br />' . get_lang('TotalItems') . ' : <b>' . $number_of_selected_items . '</b>';

@ -883,10 +883,15 @@ class learnpath {
$sql = 'SELECT gl.id FROM ' . $tbl_grade_link . ' gl WHERE gl.type="4" AND gl.ref_id="' . $id . '";';
$result = Database::query($sql, __FILE__, __LINE__);
$row = Database :: fetch_array($result, 'ASSOC');
$link = LinkFactory :: load($row['id']);
if ($link[0] != null) {
$link[0]->delete();
//fixing gradebook link deleted see #5229
if (!empty($row['id'])) {
$link = LinkFactory :: load($row['id']);
if ($link[0] != null) {
$link[0]->delete();
}
}
//TODO: also delete items and item-views
if (api_get_setting('search_enabled') == 'true') {
require_once (api_get_path(LIBRARY_PATH) . 'specific_fields_manager.lib.php');

Loading…
Cancel
Save