Minor - adding api_get_cidreq + avoiding PHP notices see BT#5559

skala
Julio Montoya 13 years ago
parent 5d1af03439
commit 7c543328c3
  1. 30
      main/survey/survey.lib.php
  2. 8
      main/survey/survey_invite.php

@ -3816,7 +3816,8 @@ class SurveyUtil {
}
$new_user = false; // User not already invited
// Store the invitation if user_id not in $already_invited['course_users'] OR email is not in $already_invited['additional_users']
$addit_users_array = explode(';', $already_invited['additional_users']);
$addit_users_array = isset($already_invited['additional_users']) && !empty($already_invited['additional_users']) ? explode(';', $already_invited['additional_users']) : array();
$my_alredy_invited = ($already_invited['course_users'] == null) ? array() : $already_invited['course_users'];
if ((is_numeric($value) && !in_array($value, $my_alredy_invited)) || (!is_numeric($value) && !in_array($value, $addit_users_array))) {
$new_user = true;
@ -3943,7 +3944,7 @@ class SurveyUtil {
* @author Julio Montoya, adding c_id fixes - Dec 2012
* @version January 2007
*/
static function get_invited_users($survey_code, $course_code = '') {
static function get_invited_users($survey_code, $course_code = '', $session_id = 0) {
if (!empty($course_code)) {
$course_info = api_get_course_info($course_code);
$course_id = $course_info['real_id'];
@ -3951,6 +3952,10 @@ class SurveyUtil {
$course_id = api_get_course_int_id();
}
if (empty($session_id)) {
$session_id = api_get_session_id();
}
$table_survey_invitation = Database :: get_course_table(TABLE_SURVEY_INVITATION);
$table_user = Database :: get_main_table(TABLE_MAIN_USER);
@ -3958,21 +3963,24 @@ class SurveyUtil {
$order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname' : ' ORDER BY lastname, firstname';
$sql = "SELECT user
FROM $table_survey_invitation as table_invitation
WHERE table_invitation.c_id = $course_id AND survey_code='".Database::escape_string($survey_code)."'";
WHERE table_invitation.c_id = $course_id AND
survey_code='".Database::escape_string($survey_code)."' AND
session_id = $session_id
";
$defaults = array();
$defaults['course_users'] = array();
$defaults['additional_users'] = '';
$defaults['additional_users'] = array();
$result = Database::query($sql);
while ($row = Database::fetch_array($result)) {
if (is_numeric($row['user'])) {
$defaults['course_users'][] = $row['user'];
} else {
if (empty($defaults['additional_users'])) {
$defaults['additional_users'] = $row['user'];
} else {
$defaults['additional_users'] .= ';'.$row['user'];
}
if (!empty($row['user'])) {
$defaults['additional_users'][] = $row['user'];
}
}
}
@ -3987,6 +3995,10 @@ class SurveyUtil {
$defaults['course_users'] = $fixed_users;
}
if (!empty($defaults['additional_users'])) {
$defaults['additional_users'] = implode(';', $defaults['additional_users']);
}
error_log(print_r($defaults, 1));
return $defaults;
}

@ -94,14 +94,14 @@ if ($survey_data['invited'] > 0 && !isset($_POST['submit'])) {
}
// Building the form for publishing the survey
$form = new FormValidator('publish_form', 'post', api_get_self().'?survey_id='.$survey_id);
$form = new FormValidator('publish_form', 'post', api_get_self().'?survey_id='.$survey_id.'&'.api_get_cidReq());
$form->addElement('header', '', $tool_name);
// Course users
$complete_user_list = CourseManager :: get_user_list_from_course_code($_course['id'], $_SESSION['id_session'], '', api_sort_by_first_name() ? 'ORDER BY firstname' : 'ORDER BY lastname');
$complete_user_list = CourseManager::get_user_list_from_course_code(api_get_course_id(), api_get_session_id(), '', api_sort_by_first_name() ? 'ORDER BY firstname' : 'ORDER BY lastname');
$possible_users = array();
foreach ($complete_user_list as $index => & $user) {
foreach ($complete_user_list as & $user) {
$possible_users[$user['user_id']] = api_get_person_name($user['firstname'], $user['lastname']);
}
$users = $form->addElement('advmultiselect', 'course_users', get_lang('CourseUsers'), $possible_users, 'style="width: 250px; height: 200px;"');
@ -213,7 +213,7 @@ if ($form->validate()) {
$message .= '<a href="survey_invitation.php?view=invited&amp;survey_id='.$survey_data['survey_id'].'">'.$total_invited.'</a> ';
$message .= get_lang('WereInvited');
Display::display_normal_message($message, false);
Display :: display_confirmation_message($total_count.' '.get_lang('InvitationsSend'));
Display::display_confirmation_message($total_count.' '.get_lang('InvitationsSend'));
}
} else {
// Getting the invited users

Loading…
Cancel
Save