From fecb05556aabe4e64c87028caaf75d2df5fc36de Mon Sep 17 00:00:00 2001 From: Menno Dekker Date: Wed, 1 Sep 2010 12:14:36 +0000 Subject: [PATCH] New Feature: Welcome screen can be skipped by using a setting at survey level git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey_dev@9099 b72ed6b6-b9f8-46b5-92b4-906544132732 --- admin/admin.php | 2 +- admin/database.php | 2 ++ admin/html.php | 5 ++--- admin/install/create-mssql.sql | 1 + admin/install/create-mssqlnative.sql | 1 + admin/install/create-mysql.sql | 1 + admin/install/create-postgres.sql | 1 + admin/update/upgrade-mssql.php | 1 + admin/update/upgrade-mssqlnative.php | 1 + admin/update/upgrade-mysql.php | 1 + admin/update/upgrade-postgres.php | 1 + group.php | 9 +++++++-- question.php | 9 +++++++-- survey.php | 6 +++++- 14 files changed, 32 insertions(+), 9 deletions(-) diff --git a/admin/admin.php b/admin/admin.php index 12c115f33dc..cfd56bd9fb6 100644 --- a/admin/admin.php +++ b/admin/admin.php @@ -409,7 +409,7 @@ !isset($importoldresponsesoutput) && !isset($exportroutput) && !isset($vvoutput) && !isset($tokenoutput) && !isset($exportoutput) && !isset($templatesoutput) && !isset($iteratesurveyoutput) && (substr($action,0,4)!= 'ajax') && ($action!='update') && - (isset($surveyid) || $action == "" || preg_match('/^(listsurveys|personalsettings|statistics|copysurvey|importsurvey|editsurveysettings|editsurveylocalesettings|updatesurveysettingsandeditlocalesettings|updatedefaultvalues|ordergroups|dataentry|newsurvey|listsurveys|globalsettings|editusergroups|editusergroup|exportspss|surveyrights|quotas|editusers|login|browse|vvimport|vvexport|setuserrights|modifyuser|setusertemplates|deluser|adduser|userrights|usertemplates|moduser|addusertogroup|deleteuserfromgroup|globalsettingssave|savepersonalsettings|addusergroup|editusergroupindb|usergroupindb|delusergroup|mailusergroup|mailsendusergroup)$/',$action))) + (isset($surveyid) || $action == "" || preg_match('/^(listsurveys|personalsettings|statistics|copysurvey|importsurvey|editsurveysettings|editsurveylocalesettings|updatesurveysettings|updatesurveysettingsandeditlocalesettings|updatedefaultvalues|ordergroups|dataentry|newsurvey|listsurveys|globalsettings|editusergroups|editusergroup|exportspss|surveyrights|quotas|editusers|login|browse|vvimport|vvexport|setuserrights|modifyuser|setusertemplates|deluser|adduser|userrights|usertemplates|moduser|addusertogroup|deleteuserfromgroup|globalsettingssave|savepersonalsettings|addusergroup|editusergroupindb|usergroupindb|delusergroup|mailusergroup|mailsendusergroup)$/',$action))) { if ($action=='editsurveysettings' || $action=='editsurveylocalesettings') { diff --git a/admin/database.php b/admin/database.php index bcf7c25cf65..c4d77bc0c46 100644 --- a/admin/database.php +++ b/admin/database.php @@ -1093,6 +1093,7 @@ function get_max_question_order($gid) 'showgroupinfo'=>$_POST['showgroupinfo'], 'showqnumcode'=>$_POST['showqnumcode'], 'shownoanswer'=>$_POST['shownoanswer'], + 'showwelcome'=>$_POST['showwelcome'], 'allowprev'=>$_POST['allowprev'], 'listpublic'=>$_POST['public'], 'htmlemail'=>$_POST['htmlemail'], @@ -1344,6 +1345,7 @@ function get_max_question_order($gid) 'showgroupinfo'=>$_POST['showgroupinfo'], 'showqnumcode'=>$_POST['showqnumcode'], 'shownoanswer'=>$_POST['shownoanswer'], + 'showwelcome'=>$_POST['showwelcome'], 'allowprev'=>$_POST['allowprev'], 'printanswers'=>$_POST['printanswers'], // 'usetokens'=>$_POST['usetokens'], diff --git a/admin/html.php b/admin/html.php index 59661a86901..32796ecf8a8 100644 --- a/admin/html.php +++ b/admin/html.php @@ -2567,7 +2567,7 @@ //Fetch survey info $esquery = "SELECT * FROM {$dbprefix}surveys WHERE sid=$surveyid"; $esresult = db_execute_assoc($esquery); //Checked - while ($esrow = $esresult->FetchRow()) { + if ($esrow = $esresult->FetchRow()) { $esrow = array_map('htmlspecialchars', $esrow); } @@ -2764,7 +2764,7 @@ . "" . $clang->gT("Template preview image") . "\n" . "\n"; - /*//SHOW WELCOMESCRN + //SHOW WELCOMESCRN $editsurvey .= "
  • \n" . "
  • \n"; - */ //ALLOW SAVES $editsurvey .= "
  • \n" diff --git a/admin/install/create-mssql.sql b/admin/install/create-mssql.sql index 024112c4380..77234badb43 100644 --- a/admin/install/create-mssql.sql +++ b/admin/install/create-mssql.sql @@ -247,6 +247,7 @@ CREATE TABLE [prefix_surveys] ( [showgroupinfo] char(1) default 'B', [shownoanswer] char(1) default 'Y', [showqnumcode] char(1) default 'X', + [showwelcome] char(1) default 'Y', [allowprev] char(1) default 'Y', [printanswers] char(1) default 'N', [ipaddr] char(1) default 'N', diff --git a/admin/install/create-mssqlnative.sql b/admin/install/create-mssqlnative.sql index 0ca62855019..5660dcabc73 100644 --- a/admin/install/create-mssqlnative.sql +++ b/admin/install/create-mssqlnative.sql @@ -247,6 +247,7 @@ CREATE TABLE [prefix_surveys] ( [showgroupinfo] char(1) default 'B', [shownoanswer] char(1) default 'Y', [showqnumcode] char(1) default 'X', + [showwelcome] char(1) default 'Y', [allowprev] char(1) default 'Y', [printanswers] char(1) default 'N', [ipaddr] char(1) default 'N', diff --git a/admin/install/create-mysql.sql b/admin/install/create-mysql.sql index ed589920e70..2265954ed27 100644 --- a/admin/install/create-mysql.sql +++ b/admin/install/create-mysql.sql @@ -206,6 +206,7 @@ CREATE TABLE `prefix_surveys` ( `showgroupinfo` char(1) default 'B', `shownoanswer` char(1) default 'Y', `showqnumcode` char(1) default 'X', + `showwelcome` char(1) default 'Y', `allowprev` char(1) default 'Y', `printanswers` char(1) default 'N', `ipaddr` char(1) default 'N', diff --git a/admin/install/create-postgres.sql b/admin/install/create-postgres.sql index 2bfda08494c..6965a17496d 100644 --- a/admin/install/create-postgres.sql +++ b/admin/install/create-postgres.sql @@ -275,6 +275,7 @@ CREATE TABLE prefix_surveys ( showgroupinfo character(1) DEFAULT 'B'::bpchar, shownoanswer character(1) DEFAULT 'Y'::bpchar, showqnumcode character(1) DEFAULT 'X'::bpchar, + showwelcome character(1) DEFAULT 'Y'::bpchar, allowprev character(1) DEFAULT 'Y'::bpchar, ipaddr character(1) DEFAULT 'N'::bpchar, refurl character(1) DEFAULT 'N'::bpchar, diff --git a/admin/update/upgrade-mssql.php b/admin/update/upgrade-mssql.php index dbe925cff74..21e43d4a786 100644 --- a/admin/update/upgrade-mssql.php +++ b/admin/update/upgrade-mssql.php @@ -413,6 +413,7 @@ function db_upgrade($oldversion) { modify_database("", "ALTER TABLE [prefix_surveys] ADD bounceaccountpass VARCHAR(20) NULL"); echo $modifyoutput; flush(); modify_database("", "ALTER TABLE [prefix_surveys] ADD bounceaccountencryption VARCHAR(4) NULL"); echo $modifyoutput; flush(); modify_database("", "ALTER TABLE [prefix_surveys] ADD bounceaccountuser VARCHAR(20) NULL"); echo $modifyoutput; flush(); + modify_database("", "ALTER TABLE [prefix_surveys] ADD showwelcome CHAR(1) NULL default 'Y'"); echo $modifyoutput; flush(); //Now add an index to the questions table to speed up subquestions modify_database("", "create index [parent_qid] on [prefix_questions] ([parent_qid])"); echo $modifyoutput; flush(); diff --git a/admin/update/upgrade-mssqlnative.php b/admin/update/upgrade-mssqlnative.php index 1e3fd44be9f..a7ecf234419 100644 --- a/admin/update/upgrade-mssqlnative.php +++ b/admin/update/upgrade-mssqlnative.php @@ -413,6 +413,7 @@ function db_upgrade($oldversion) { modify_database("", "ALTER TABLE [prefix_surveys] ADD bounceaccountpass VARCHAR(20) NULL "); echo $modifyoutput; flush(); modify_database("", "ALTER TABLE [prefix_surveys] ADD bounceaccountencryption VARCHAR(4) NULL "); echo $modifyoutput; flush(); modify_database("", "ALTER TABLE [prefix_surveys] ADD bounceaccountuser VARCHAR(320) NULL "); echo $modifyoutput; flush(); + modify_database("", "ALTER TABLE [prefix_surveys] ADD showwelcome CHAR(1) NULL default 'Y' "); echo $modifyoutput; flush(); //Now add an index to the questions table to speed up subquestions modify_database("", "create index [parent_qid] on [prefix_questions] ([parent_qid])"); echo $modifyoutput; flush(); diff --git a/admin/update/upgrade-mysql.php b/admin/update/upgrade-mysql.php index 03c30fe9139..a344017799f 100644 --- a/admin/update/upgrade-mysql.php +++ b/admin/update/upgrade-mysql.php @@ -397,6 +397,7 @@ function db_upgrade($oldversion) { modify_database("", "ALTER TABLE `prefix_surveys` ADD `bounceaccountpass` VARCHAR(20) NULL"); echo $modifyoutput; flush(); modify_database("", "ALTER TABLE `prefix_surveys` ADD `bounceaccountencryption` VARCHAR(4) NULL"); echo $modifyoutput; flush(); modify_database("", "ALTER TABLE `prefix_surveys` ADD `bounceaccountuser` VARCHAR(320) NULL"); echo $modifyoutput; flush(); + modify_database("", "ALTER TABLE `prefix_surveys` ADD `showwelcome` CHAR(1) NULL default 'Y'"); echo $modifyoutput; flush(); //Now add an index to the questions table to speed up subquestions modify_database("", "create INDEX parent_qid on prefix_questions( parent_qid );"); echo $modifyoutput; flush(); diff --git a/admin/update/upgrade-postgres.php b/admin/update/upgrade-postgres.php index 1a05fae51f7..2762ad19d61 100644 --- a/admin/update/upgrade-postgres.php +++ b/admin/update/upgrade-postgres.php @@ -239,6 +239,7 @@ function db_upgrade($oldversion) { modify_database("", "ALTER TABLE prefix_surveys ADD bounceaccounthost VARCHAR(20) NULL"); echo $modifyoutput; flush(); modify_database("", "ALTER TABLE prefix_surveys ADD bounceaccountencryption VARCHAR(4) NULL"); echo $modifyoutput; flush(); modify_database("", "ALTER TABLE prefix_surveys ADD bounceaccounttype VARCHAR(4) NULL"); echo $modifyoutput; flush(); + modify_database("", "ALTER TABLE prefix_surveys ADD showwelcome CHAR(1) NULL default 'Y'"); echo $modifyoutput; flush(); //Now add an index to the questions table to speed up subquestions modify_database("", "create INDEX parent_qid on prefix_questions( parent_qid );"); echo $modifyoutput; flush(); diff --git a/group.php b/group.php index eebd7aef98c..1fa20cdc019 100644 --- a/group.php +++ b/group.php @@ -275,8 +275,13 @@ if (!isset($_SESSION['step']) || !$_SESSION['step']) { $totalquestions = buildsurveysession(); - display_first_page(); - exit; + if(isset($thissurvey['showwelcome']) && $thissurvey['showwelcome'] == 'N') { + //If explicitply set, hide the welcome screen + $_SESSION['step'] = 1; + } else { + display_first_page(); + exit; + } } //****************************************************************************************************** diff --git a/question.php b/question.php index 9143bfcb895..c3fddd732de 100644 --- a/question.php +++ b/question.php @@ -75,8 +75,13 @@ if (!isset($_SESSION['step']) || !$_SESSION['step']) { $totalquestions = buildsurveysession(); - display_first_page(); - exit; + if(isset($thissurvey['showwelcome']) && $thissurvey['showwelcome'] == 'N') { + //If explicitply set, hide the welcome screen + $_SESSION['step'] = 1; + } else { + display_first_page(); + exit; + } } //****************************************************************************************************** //PRESENT SURVEY diff --git a/survey.php b/survey.php index 3d946b167b0..cd84db86fbd 100644 --- a/survey.php +++ b/survey.php @@ -338,7 +338,11 @@ // <-- END FEATURE - SAVE -echo templatereplace(file_get_contents("$thistpl/welcome.pstpl"))."\n"; +if(isset($thissurvey['showwelcome']) && $thissurvey['showwelcome'] == 'N') { + //Hide the welcome screen if explicitly set +} else { + echo templatereplace(file_get_contents("$thistpl/welcome.pstpl"))."\n"; +} if ($thissurvey['private'] == "Y") {