Fixed bug when copy a survey shows a fatal error - Refs #7847

1.10.x
José Loguercio 10 years ago
parent 0873af92b1
commit d022ef0fe6
  1. 12
      main/survey/survey.lib.php

@ -658,6 +658,7 @@ class SurveyManager
unset($params['survey_id']); unset($params['survey_id']);
$params['session_id'] = api_get_session_id(); $params['session_id'] = api_get_session_id();
$params['title'] = $params['title'] . ' ' . get_lang('Copy'); $params['title'] = $params['title'] . ' ' . get_lang('Copy');
unset($params['iid']);
Database::insert($table_survey, $params); Database::insert($table_survey, $params);
$new_survey_id = Database::insert_id(); $new_survey_id = Database::insert_id();
@ -665,7 +666,7 @@ class SurveyManager
$sql = "UPDATE $table_survey SET survey_id = $new_survey_id $sql = "UPDATE $table_survey SET survey_id = $new_survey_id
WHERE iid = $new_survey_id"; WHERE iid = $new_survey_id";
Database::query($sql); Database::query($sql);
// Insert into item_property // Insert into item_property
api_item_property_update( api_item_property_update(
api_get_course_info(), api_get_course_info(),
@ -678,7 +679,7 @@ class SurveyManager
} else { } else {
$new_survey_id = intval($new_survey_id); $new_survey_id = intval($new_survey_id);
} }
$sql = "SELECT * FROM $table_survey_question_group $sql = "SELECT * FROM $table_survey_question_group
WHERE c_id = $course_id AND survey_id='".$survey_id."'"; WHERE c_id = $course_id AND survey_id='".$survey_id."'";
$res = Database::query($sql); $res = Database::query($sql);
@ -718,17 +719,16 @@ class SurveyManager
'survey_group_sec2' => $row['survey_group_sec2'] 'survey_group_sec2' => $row['survey_group_sec2']
); );
$insertId = Database::insert($table_survey_question, $params); $insertId = Database::insert($table_survey_question, $params);
$sql = "UPDATE $table_survey_question SET question_id = iid WHERE iid = $insertId";
$sql = "UPDATE $table_survey_question SET id = iid WHERE iid = $insertId";
Database::query($sql); Database::query($sql);
$question_id[$row['question_id']] = $insertId; $question_id[$row['question_id']] = $insertId;
} }
// Get questions options // Get questions options
$sql = "SELECT * FROM $table_survey_options $sql = "SELECT * FROM $table_survey_options
WHERE c_id = $course_id AND survey_id='".$survey_id."'"; WHERE c_id = $course_id AND survey_id='".$survey_id."'";
$res = Database::query($sql); $res = Database::query($sql);
while ($row = Database::fetch_array($res ,'ASSOC')) { while ($row = Database::fetch_array($res ,'ASSOC')) {
$params = array( $params = array(

Loading…
Cancel
Save