From 3bcad5d27cf88a4e22a419eafe771236668053cf Mon Sep 17 00:00:00 2001 From: c_schmitz Date: Mon, 6 Feb 2012 15:41:16 +0000 Subject: [PATCH] Fixed issue #5739: Wrong percentage in graphs with List with Comments question types Fixed issue #5734: Problem upgrading from 1.72 to 1.91+ git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey_dev@12369 b72ed6b6-b9f8-46b5-92b4-906544132732 --- admin/statistics_function.php | 5 +++-- admin/update/upgrade-mssql.php | 10 ++++------ admin/update/upgrade-mssqlnative.php | 11 +++++------ admin/update/upgrade-mysql.php | 7 +++---- admin/update/upgrade-postgres.php | 5 ++--- 5 files changed, 17 insertions(+), 21 deletions(-) diff --git a/admin/statistics_function.php b/admin/statistics_function.php index d6a2ce5e73c..53bb2f1bee3 100644 --- a/admin/statistics_function.php +++ b/admin/statistics_function.php @@ -31,7 +31,7 @@ * L - List (Radio) * M - Multiple choice * N - Numerical Input - * O - List With Comment + * O - List with comment * P - Multiple choice with comments * Q - Multiple Short Text * R - Ranking @@ -3208,10 +3208,11 @@ function generate_statistics($surveyid, $allfields, $q2show='all', $usegraph=0, else { // this block is to remove the items with value == 0 + // and an unelegant way to remove comments from List with Comments questions $i = 0; while (isset ($gdata[$i])) { - if ($gdata[$i] == 0) + if ($gdata[$i] == 0 || ($qtype == "O" && substr($lbl[$i],0,strlen($statlang->gT("Comments")))==$statlang->gT("Comments"))) { array_splice ($gdata, $i, 1); array_splice ($lbl, $i, 1); diff --git a/admin/update/upgrade-mssql.php b/admin/update/upgrade-mssql.php index dac3bc423d6..d74e00448ed 100644 --- a/admin/update/upgrade-mssql.php +++ b/admin/update/upgrade-mssql.php @@ -251,8 +251,9 @@ function db_upgrade($oldversion) { // drop the old link field modify_database("","ALTER TABLE [prefix_assessments] DROP COLUMN [link]"); echo $modifyoutput; flush();ob_flush(); // change the primary index to include language - // and fix missing translations for assessments - upgrade_survey_tables133a(); + mssql_drop_primary_index('assessments'); + // add the new primary key + modify_database("","ALTER TABLE [prefix_assessments] ADD CONSTRAINT pk_assessments_id_lang PRIMARY KEY ([id],[language])"); echo $modifyoutput; flush();ob_flush(); // Add new fields to survey language settings modify_database("","ALTER TABLE [prefix_surveys_languagesettings] ADD [surveyls_url] varchar(255)"); echo $modifyoutput; flush();ob_flush(); @@ -654,12 +655,9 @@ function upgrade_token_tables128() } -function upgrade_survey_tables133a() +function fixLanguageConsistencyAllSurveys() { global $dbprefix, $connect, $modifyoutput; - mssql_drop_primary_index('assessments'); - // add the new primary key - modify_database("","ALTER TABLE [prefix_assessments] ADD CONSTRAINT pk_assessments_id_lang PRIMARY KEY ([id],[language])"); echo $modifyoutput; flush();ob_flush(); $surveyidquery = "SELECT sid,additional_languages FROM ".db_table_name('surveys'); $surveyidresult = db_execute_num($surveyidquery); while ( $sv = $surveyidresult->FetchRow() ) diff --git a/admin/update/upgrade-mssqlnative.php b/admin/update/upgrade-mssqlnative.php index 0639cedcbf8..4cbcab0a799 100644 --- a/admin/update/upgrade-mssqlnative.php +++ b/admin/update/upgrade-mssqlnative.php @@ -251,8 +251,9 @@ function db_upgrade($oldversion) { // drop the old link field modify_database("","ALTER TABLE [prefix_assessments] DROP COLUMN [link]"); echo $modifyoutput; flush();ob_flush(); // change the primary index to include language - // and fix missing translations for assessments - upgrade_survey_tables133a(); + mssql_drop_primary_index('assessments'); + // add the new primary key + modify_database("","ALTER TABLE [prefix_assessments] ADD CONSTRAINT pk_assessments_id_lang PRIMARY KEY ([id],[language])"); echo $modifyoutput; flush();ob_flush(); // Add new fields to survey language settings modify_database("","ALTER TABLE [prefix_surveys_languagesettings] ADD [surveyls_url] varchar(255)"); echo $modifyoutput; flush();ob_flush(); @@ -535,6 +536,7 @@ function db_upgrade($oldversion) { ); ");echo $modifyoutput; flush();ob_flush(); modify_database("", "ALTER TABLE [prefix_users] ADD [participant_panel] int NOT NULL default '0'"); echo $modifyoutput; flush();ob_flush(); + fixLanguageConsistencyAllSurveys(); // Add language field to question_attributes table modify_database("","ALTER TABLE [prefix_question_attributes] ADD [language] varchar(20)"); echo $modifyoutput; flush();ob_flush(); upgrade_question_attributes148(); @@ -654,12 +656,9 @@ function upgrade_token_tables128() } -function upgrade_survey_tables133a() +function fixLanguageConsistencyAllSurveys() { global $dbprefix, $connect, $modifyoutput; - mssql_drop_primary_index('assessments'); - // add the new primary key - modify_database("","ALTER TABLE [prefix_assessments] ADD CONSTRAINT pk_assessments_id_lang PRIMARY KEY ([id],[language])"); echo $modifyoutput; flush();ob_flush(); $surveyidquery = "SELECT sid,additional_languages FROM ".db_table_name('surveys'); $surveyidresult = db_execute_num($surveyidquery); while ( $sv = $surveyidresult->FetchRow() ) diff --git a/admin/update/upgrade-mysql.php b/admin/update/upgrade-mysql.php index e2d54dc8001..ad6875115ae 100644 --- a/admin/update/upgrade-mysql.php +++ b/admin/update/upgrade-mysql.php @@ -260,8 +260,6 @@ function db_upgrade($oldversion) { modify_database("","ALTER TABLE `prefix_assessments` DROP COLUMN `link`"); echo $modifyoutput; flush();@ob_flush(); // change the primary index to include language modify_database("","ALTER TABLE `prefix_assessments` DROP PRIMARY KEY, ADD PRIMARY KEY USING BTREE(`id`, `language`)"); echo $modifyoutput; flush();@ob_flush(); - //finally fix missing translations for assessments - upgrade_survey_tables133(); // Add new fields to survey language settings modify_database("","ALTER TABLE `prefix_surveys_languagesettings` ADD `surveyls_url` varchar(255)"); echo $modifyoutput; flush();@ob_flush(); modify_database("","ALTER TABLE `prefix_surveys_languagesettings` ADD `surveyls_endtext` text"); echo $modifyoutput; flush();@ob_flush(); @@ -711,6 +709,7 @@ function db_upgrade($oldversion) { modify_database("", "UPDATE `prefix_settings_global` SET stg_value='155' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush(); } + fixLanguageConsistencyAllSurveys(); echo '

'.sprintf($clang->gT('Database update finished (%s)'),date('Y-m-d H:i:s')).'
'; return true; } @@ -781,13 +780,13 @@ function upgrade_token_tables128() -function upgrade_survey_tables133() +function fixLanguageConsistencyAllSurveys() { $surveyidquery = "SELECT sid,additional_languages FROM ".db_table_name('surveys'); $surveyidresult = db_execute_num($surveyidquery); while ( $sv = $surveyidresult->FetchRow() ) { - FixLanguageConsistency($sv[0],$sv[1]); + FixLanguageConsistency($sv[0]); } } diff --git a/admin/update/upgrade-postgres.php b/admin/update/upgrade-postgres.php index f4491de0cbc..ad3d176d305 100644 --- a/admin/update/upgrade-postgres.php +++ b/admin/update/upgrade-postgres.php @@ -92,8 +92,6 @@ function db_upgrade($oldversion) { // change the primary index to include language modify_database("","ALTER TABLE prefix_assessments DROP CONSTRAINT prefix_assessments_pkey"); echo $modifyoutput; flush();ob_flush(); modify_database("","ALTER TABLE prefix_assessments ADD CONSTRAINT prefix_assessments_pkey PRIMARY KEY (id,language)"); echo $modifyoutput; flush();ob_flush(); - // and fix missing translations for assessments - upgrade_survey_tables133(); // Add new fields to survey language settings modify_database("","ALTER TABLE prefix_surveys_languagesettings ADD surveyls_url character varying(255)"); echo $modifyoutput; flush();ob_flush(); @@ -435,6 +433,7 @@ function db_upgrade($oldversion) { modify_database("", "UPDATE prefix_settings_global SET stg_value='155' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush(); } + fixLanguageConsistencyAllSurveys(); echo '

'.sprintf($clang->gT('Database update finished (%s)'),date('Y-m-d H:i:s')).'
'; return true; } @@ -455,7 +454,7 @@ function upgrade_token_tables128() } } -function upgrade_survey_tables133() +function fixLanguageConsistencyAllSurveys() { global $modifyoutput;