Fix survey flash messages.

1.10.x
Julio Montoya 10 years ago
parent ceeb962a31
commit ad349c4871
  1. 10
      main/survey/create_new_survey.php
  2. 15
      main/survey/question.php
  3. 53
      main/survey/survey.lib.php
  4. 15
      main/survey/survey.php

@ -239,15 +239,6 @@ if ($form->validate()) {
// Storing the survey
$return = SurveyManager::store_survey($values);
/* // Deleting the shared survey if the survey is getting unshared (this only happens when editing)
if (is_numeric($survey_data['survey_share']) && $values['survey_share']['survey_share'] == 0 && $values['survey_id'] != '') {
SurveyManager::delete_survey($survey_data['survey_share'], true);
}
// Storing the already existing questions and options of a survey that gets shared (this only happens when editing)
if ($survey_data['survey_share'] == 0 && $values['survey_share']['survey_share'] !== 0 && $values['survey_id'] != '') {
SurveyManager::get_complete_survey_structure($return['id']);
}
*/
if ($return['type'] == 'error') {
// Display the error
Display::display_error_message(get_lang($return['message']), false);
@ -299,7 +290,6 @@ if ($form->validate()) {
}
}
Display::addFlash(Display::return_message(($return['message']=='SurveyUpdatedSuccesfully'?get_lang($return['message']):$return['message']), false));
// Redirecting to the survey page (whilst showing the return message)
header('location: '.api_get_path(WEB_CODE_PATH).'survey/survey.php?survey_id='.$return['id'].'&message='.$return['message'].'&'.api_get_cidreq());
exit;

@ -69,14 +69,23 @@ if ($surveyData['survey_type'] == 1) {
survey_id = '.(int)$_GET['survey_id'].' LIMIT 1';
$rs = Database::query($sql);
if (Database::num_rows($rs)===0) {
header('Location: '.api_get_path(WEB_CODE_PATH).'survey/survey.php?survey_id='.(int)$_GET['survey_id'].'&message='.'YouNeedToCreateGroups');
Display::addFlash(
Display::return_message(get_lang('YouNeedToCreateGroups'))
);
header('Location: '.api_get_path(WEB_CODE_PATH).'survey/survey.php?survey_id='.(int)$_GET['survey_id']);
exit;
}
}
// Breadcrumbs
$interbreadcrumb[] = array('url' => api_get_path(WEB_CODE_PATH).'survey/survey_list.php', 'name' => get_lang('SurveyList'));
$interbreadcrumb[] = array('url' => api_get_path(WEB_CODE_PATH).'survey/survey.php?survey_id='.intval($_GET['survey_id']), 'name' => strip_tags($urlname));
$interbreadcrumb[] = array(
'url' => api_get_path(WEB_CODE_PATH).'survey/survey_list.php',
'name' => get_lang('SurveyList'),
);
$interbreadcrumb[] = array(
'url' => api_get_path(WEB_CODE_PATH).'survey/survey.php?survey_id='.intval($_GET['survey_id']),
'name' => strip_tags($urlname),
);
// Tool name
if ($_GET['action'] == 'add') {

@ -197,7 +197,12 @@ class SurveyManager
lang="'.Database::escape_string($values['survey_language']).'"';
$rs = Database::query($sql);
if (Database::num_rows($rs) > 0) {
$return['message'] = 'ThisSurveyCodeSoonExistsInThisLanguage';
Display::addFlash(
Display::return_message(
get_lang('ThisSurveyCodeSoonExistsInThisLanguage'),
'error'
)
);
$return['type'] = 'error';
$return['id'] = isset($values['survey_id']) ? $values['survey_id'] : 0;
@ -333,12 +338,14 @@ class SurveyManager
SurveyManager::copy_survey($values['parent_id'], $survey_id);
}
$return['message'] = 'SurveyCreatedSuccesfully';
$return['type'] = 'confirmation';
Display::addFlash(
Display::return_message(
get_lang('SurveyCreatedSuccesfully'),
'success'
)
);
$return['id'] = $survey_id;
} else {
// Check whether the code doesn't soon exists in this language
$sql = 'SELECT 1 FROM '.$table_survey.'
WHERE
@ -348,7 +355,12 @@ class SurveyManager
survey_id !='.intval($values['survey_id']);
$rs = Database::query($sql);
if (Database::num_rows($rs) > 0) {
$return['message'] = 'ThisSurveyCodeSoonExistsInThisLanguage';
Display::addFlash(
Display::return_message(
get_lang('ThisSurveyCodeSoonExistsInThisLanguage'),
'error'
)
);
$return['type'] = 'error';
$return['id'] = isset($values['survey_id']) ? $values['survey_id'] : 0;
return $return;
@ -430,9 +442,14 @@ class SurveyManager
api_get_user_id()
);
$return['message'] = 'SurveyUpdatedSuccesfully';
$return['type'] = 'confirmation';
$return['id'] = $values['survey_id'];
Display::addFlash(
Display::return_message(
get_lang('SurveyUpdatedSuccesfully'),
'confirmation'
)
);
$return['id'] = $values['survey_id'];
}
return $return;
}
@ -962,6 +979,8 @@ class SurveyManager
*/
public static function save_question($survey_data, $form_content)
{
$return_message = '';
if (strlen($form_content['question']) > 1) {
// Checks length of the question
$empty_answer = false;
@ -1052,14 +1071,15 @@ class SurveyManager
$params = array_merge($params, $extraParams);
$question_id = Database::insert($tbl_survey_question, $params);
if ($question_id) {
$sql = "UPDATE $tbl_survey_question SET question_id = $question_id
WHERE iid = $question_id";
Database::query($sql);
$form_content['question_id'] = $question_id;
$return_message = 'QuestionAdded';
$sql = "UPDATE $tbl_survey_question SET question_id = $question_id
WHERE iid = $question_id";
Database::query($sql);
$form_content['question_id'] = $question_id;
$return_message = 'QuestionAdded';
}
} else {
// Updating an existing question
@ -1123,6 +1143,9 @@ class SurveyManager
$return_message = 'PleaseEnterAQuestion';
}
if (!empty($return_message)) {
Display::addFlash(Display::return_message(get_lang($return_message)));
}
return $return_message;
}

@ -116,21 +116,6 @@ if (isset($action)) {
}
}
if (isset($_GET['message'])) {
// We have created the survey or updated the survey
if (in_array($_GET['message'], array('SurveyUpdatedSuccesfully','SurveyCreatedSuccesfully'))) {
Display::display_confirmation_message(get_lang($message_information).', '.PHP_EOL.api_strtolower(get_lang('YouCanNowAddQuestionToYourSurvey')));
}
// We have added a question
if (in_array($_GET['message'], array('QuestionAdded', 'QuestionUpdated'))) {
Display::display_confirmation_message(get_lang($message_information));
}
if (in_array($_GET['message'], array('YouNeedToCreateGroups'))) {
Display::display_warning_message(get_lang($message_information), false);
}
}
if (!empty($survey_data['survey_version'])) echo '<b>'.get_lang('Version').': '.$survey_data['survey_version'].'</b>';
// We exit here is the first or last question is a pagebreak (which causes errors)

Loading…
Cancel
Save