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;