Skip to content

Commit

Permalink
Fixed Issue 4832 : Offer a possibility to deactivate javascript selector
Browse files Browse the repository at this point in the history
Dev : add a new personal option to deactivate selector, add a new option to deactivate template editor, add a max-height of 15em on javacript selector
Dev : update DB to 146, tested with mysql
TODO : global option, functions to get state

git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey_dev@9697 b72ed6b6-b9f8-46b5-92b4-906544132732
  • Loading branch information
Shnoulle committed Jan 16, 2011
1 parent fcdbbca commit f58bec4
Show file tree
Hide file tree
Showing 17 changed files with 91 additions and 18 deletions.
4 changes: 3 additions & 1 deletion admin/database.php
Expand Up @@ -1448,11 +1448,13 @@ function get_max_question_order($gid)
elseif ($action == "savepersonalsettings")
{
$_POST = array_map('db_quote', $_POST);
$uquery = "UPDATE {$dbprefix}users SET lang='{$_POST['lang']}', dateformat='{$_POST['dateformat']}', htmleditormode= '{$_POST['htmleditormode']}'
$uquery = "UPDATE {$dbprefix}users SET lang='{$_POST['lang']}', dateformat='{$_POST['dateformat']}', htmleditormode= '{$_POST['htmleditormode']}', questionselectormode= '{$_POST['questionselectormode']}', templateeditormode= '{$_POST['templateeditormode']}'
WHERE uid={$_SESSION['loginID']}";
$uresult = $connect->Execute($uquery) or safe_die ($isrquery."<br />".$connect->ErrorMsg()); // Checked
$_SESSION['adminlang']=$_POST['lang'];
$_SESSION['htmleditormode']=$_POST['htmleditormode'];
$_SESSION['questionselectormode']=$_POST['questionselectormode'];
$_SESSION['templateeditormode']=$_POST['templateeditormode'];
$_SESSION['dateformat']= $_POST['dateformat'];
$_SESSION['flashmessage'] = $clang->gT("Your personal settings were successfully saved.");
}
Expand Down
28 changes: 28 additions & 0 deletions admin/html.php
Expand Up @@ -74,7 +74,35 @@
. "<option value='none' {$edmod2}>".$clang->gT("No HTML editor")."</option>\n";
$cssummary .= "</select>\n"
. "</li>\n";

// Current selectormode ENCOURS
$cssummary .= "<li>\n"
. "<label for='questionselectormode'>".$clang->gT("Question selector mode").":</label>\n"
. "<select id='questionselectormode' name='questionselectormode'>\n"
. "<option value='default'>".$clang->gT("Default")."</option>\n";
$cssummary .= "<option value='full'";
if (isset($_SESSION['questionselectormode']) && ($_SESSION['questionselectormode']=="full")){$cssummary .= "selected='selected'";}
$cssummary .= ">".$clang->gT("Full question selector")."</option>\n";
$cssummary .= "<option value='none'";
if (isset($_SESSION['questionselectormode']) && ($_SESSION['questionselectormode']=="none")){$cssummary .= "selected='selected'";}
$cssummary .= ">".$clang->gT("Simple question selector")."</option>\n";
$cssummary .= "</select>\n"
. "</li>\n";

// Current Template editor ENCOURS
$cssummary .= "<li>\n"
. "<label for='templateeditormode'>".$clang->gT("Template editor mode").":</label>\n"
. "<select id='templateeditormode' name='templateeditormode'>\n"
. "<option value='default'>".$clang->gT("Default")."</option>\n";
$cssummary .= "<option value='full'";
if (isset($_SESSION['templateeditormode']) && ($_SESSION['templateeditormode']=="full")){$cssummary .= "selected='selected'";}
$cssummary .= ">".$clang->gT("Full template editor")."</option>\n";
$cssummary .= "<option value='none'";
if (isset($_SESSION['templateeditormode']) && ($_SESSION['templateeditormode']=="none")){$cssummary .= "selected='selected'";}
$cssummary .= ">".$clang->gT("Simple template editor")."</option>\n";
$cssummary .= "</select>\n"
. "</li>\n";

// Date format
$cssummary .= "<li>\n"
. "<label for='dateformat'>".$clang->gT("Date format").":</label>\n"
Expand Down
4 changes: 3 additions & 1 deletion admin/install/create-mssql.sql
Expand Up @@ -388,6 +388,8 @@ CREATE TABLE [prefix_users] (
[manage_template] TINYINT NOT NULL default '0',
[manage_label] TINYINT NOT NULL default '0',
[htmleditormode] char(7) default 'default',
[templateeditormode] char(7) default 'default',
[questionselectormode] char(7) default 'default',
[one_time_pw] TEXT NULL,
[dateformat] INT NOT NULL DEFAULT 1
);
Expand Down Expand Up @@ -446,7 +448,7 @@ create index [parent_qid_idx] on [prefix_questions] ([parent_qid]);
--
-- Version Info
--
INSERT INTO [prefix_settings_global] VALUES ('DBVersion', '145');
INSERT INTO [prefix_settings_global] VALUES ('DBVersion', '146');
INSERT INTO [prefix_settings_global] VALUES ('SessionName', '$sessionname');


Expand Down
4 changes: 3 additions & 1 deletion admin/install/create-mssqlnative.sql
Expand Up @@ -398,6 +398,8 @@ CREATE TABLE [prefix_users] (
[manage_template] TINYINT NOT NULL default '0',
[manage_label] TINYINT NOT NULL default '0',
[htmleditormode] char(7) default 'default',
[templateeditormode] char(7) default 'default',
[questionselectormode] char(7) default 'default',
[one_time_pw] varchar(max),
[dateformat] INT NOT NULL DEFAULT 1
);
Expand Down Expand Up @@ -458,7 +460,7 @@ create index [parent_qid_idx] on [prefix_questions] ([parent_qid]);
--
-- Version Info
--
INSERT INTO [prefix_settings_global] VALUES ('DBVersion', '145');
INSERT INTO [prefix_settings_global] VALUES ('DBVersion', '146');
INSERT INTO [prefix_settings_global] VALUES ('SessionName', '$sessionname');


Expand Down
4 changes: 3 additions & 1 deletion admin/install/create-mysql.sql
Expand Up @@ -374,6 +374,8 @@ CREATE TABLE `prefix_users` (
`manage_template` tinyint(1) NOT NULL default '0',
`manage_label` tinyint(1) NOT NULL default '0',
`htmleditormode` varchar(7) default 'default',
`templateeditormode` varchar(7) default 'default',
`questionselectormode` varchar(7) default 'default',
`one_time_pw` BLOB,
`dateformat` INT UNSIGNED NOT NULL DEFAULT 1
) ENGINE=$databasetabletype CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Expand Down Expand Up @@ -432,7 +434,7 @@ create index `parent_qid_idx` on `prefix_questions` (`parent_qid`);
--
-- Version Info
--
INSERT INTO `prefix_settings_global` VALUES ('DBVersion', '145');
INSERT INTO `prefix_settings_global` VALUES ('DBVersion', '146');
INSERT INTO `prefix_settings_global` VALUES ('SessionName', '$sessionname');


Expand Down
4 changes: 3 additions & 1 deletion admin/install/create-postgres.sql
Expand Up @@ -400,6 +400,8 @@ CREATE TABLE prefix_users (
manage_template integer DEFAULT 0 NOT NULL,
manage_label integer DEFAULT 0 NOT NULL,
htmleditormode character(7) DEFAULT 'default'::bpchar,
templateeditormode character(7) DEFAULT 'default'::bpchar,
questionselectormode character(7) DEFAULT 'default'::bpchar,
one_time_pw bytea,
"dateformat" integer DEFAULT 1 NOT NULL
);
Expand Down Expand Up @@ -457,7 +459,7 @@ create index parent_qid_idx on prefix_questions (parent_qid);
--
-- Version Info
--
INSERT INTO prefix_settings_global VALUES ('DBVersion', '145');
INSERT INTO prefix_settings_global VALUES ('DBVersion', '146');
INSERT INTO prefix_settings_global VALUES ('SessionName', '$sessionname');


Expand Down
2 changes: 2 additions & 0 deletions admin/login_check.php
Expand Up @@ -101,6 +101,8 @@
$_SESSION['loginID'] = $srow['uid'];
$_SESSION['dateformat'] = $srow['dateformat'];
$_SESSION['htmleditormode'] = $srow['htmleditormode'];
$_SESSION['questionselectormode'] = $srow['questionselectormode'];
$_SESSION['templateeditormode'] = $srow['templateeditormode'];
$_SESSION['full_name'] = $srow['full_name'];
GetSessionUserRights($_SESSION['loginID']);

Expand Down
8 changes: 7 additions & 1 deletion admin/questionhandling.php
Expand Up @@ -17,6 +17,7 @@
//Ensure script is not run directly, avoid path disclosure
include_once("login_check.php");


if (isset($_POST['sortorder'])) {$postsortorder=sanitize_int($_POST['sortorder']);}
if ($action == "copyquestion")
{
Expand Down Expand Up @@ -236,6 +237,8 @@
$baselang = GetBaseLanguageFromSurveyID($surveyid);
$questlangs[] = $baselang;
$questlangs = array_flip($questlangs);
// prepare selector Mode TODO: with and without image

if (!$adding)
{
$egquery = "SELECT * FROM ".db_table_name('questions')." WHERE sid=$surveyid AND gid=$gid AND qid=$qid";
Expand Down Expand Up @@ -408,7 +411,10 @@
. "<li><label for='question_type'>".$clang->gT("Question Type:")."</label>\n";
if ($activated != "Y")
{
$editquestion .= "<select id='question_type' style='margin-bottom:5px' name='type' "
// Prepare selector Class for javascript function : TODO with or without picture
$selectormodeclass='full'; // default
if (isset($_SESSION['questionselectormode']) && ($_SESSION['questionselectormode']=='none')){$selectormodeclass='none';}
$editquestion .= "<select id='question_type' style='margin-bottom:5px' name='type' class='{$selectormodeclass}'"
. ">\n"
. getqtypelist($eqrow['type'],'group')
. "</select>\n";
Expand Down
4 changes: 2 additions & 2 deletions admin/scripts/admin_core.js
Expand Up @@ -252,8 +252,8 @@ $(document).ready(function(){
});
});

if ($("#question_type").length > 0){
$("#question_type").msDropDown();
if ($("#question_type.full").length > 0){
$("#question_type").msDropDown({style:'max-height:20em;'});

$("#question_type").change(function(event){
var selected_value = qDescToCode[''+$("#question_type_child .selected").text()];
Expand Down
2 changes: 1 addition & 1 deletion admin/scripts/templates.js
Expand Up @@ -2,7 +2,7 @@
// based on TTabs from http://interface.eyecon.ro/

$(document).ready(function(){
if($("#changes").length > 0) {
if($("#changes.full").length > 0) {
editAreaLoader.init({
language: adminlanguage,
id : "changes" // textarea id
Expand Down
5 changes: 4 additions & 1 deletion admin/templates.php
Expand Up @@ -934,6 +934,9 @@
//FILE CONTROL DETAILS
if (is_template_editable($templatename)==true)
{
// prepare textarea class for optional javascript
$templateclasseditormode='full'; // default
if (isset($_SESSION['templateeditormode']) && ($_SESSION['templateeditormode']=='none')){$templateclasseditormode='none';}
$templatesoutput.= "\t<table class='templatecontrol'>\n"
."\t<tr>\n"
."<th colspan='3'>\n"
Expand All @@ -948,7 +951,7 @@
."\t<input type='hidden' name='screenname' value='".html_escape($screenname)."' />\n"
."\t<input type='hidden' name='editfile' value='$editfile' />\n"
."\t<input type='hidden' name='action' value='templatesavechanges' />\n"
."<textarea name='changes' id='changes' rows='15' cols='40' class='codepress html'>";
."<textarea name='changes' id='changes' rows='15' cols='40' class='codepress html {$templateclasseditormode}'>";
if ($editfile) {
$templatesoutput.= textarea_encode(filetext($templatename,$editfile));
}
Expand Down
9 changes: 7 additions & 2 deletions admin/update/upgrade-mssql.php
Expand Up @@ -481,7 +481,12 @@ function db_upgrade($oldversion) {


}

if ($oldversion < 146)
{
modify_database("", "ALTER TABLE [prefix_users] ADD templateeditormode VARCHAR(7) NOT NULL default 'default'"); echo $modifyoutput; flush();ob_flush();
modify_database("", "ALTER TABLE [prefix_users] ADD questionselectormode VARCHAR(7) NOT NULL default 'default'"); echo $modifyoutput; flush();ob_flush();
modify_database("", "UPDATE [prefix_settings_global] SET stg_value='146' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
}
echo '<br /><br />Database update finished ('.date('Y-m-d H:i:s').')<br />';
return true;
}
Expand Down Expand Up @@ -805,4 +810,4 @@ function upgrade_tables143()
closedir($handle);
}

}
}
7 changes: 6 additions & 1 deletion admin/update/upgrade-mssqlnative.php
Expand Up @@ -478,7 +478,12 @@ function db_upgrade($oldversion) {


}

if ($oldversion < 146)
{
modify_database("", "ALTER TABLE [prefix_users] ADD templateeditormode VARCHAR( 7 ) NOT NULL default 'default'"); echo $modifyoutput; flush();ob_flush();
modify_database("", "ALTER TABLE [prefix_users] ADD questionselectormode VARCHAR( 7 ) NOT NULL default 'default'"); echo $modifyoutput; flush();ob_flush();
modify_database("", "UPDATE [prefix_settings_global] SET stg_value='146' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
}
echo '<br /><br />Database update finished ('.date('Y-m-d H:i:s').')<br />';
return true;
}
Expand Down
7 changes: 6 additions & 1 deletion admin/update/upgrade-mysql.php
Expand Up @@ -575,7 +575,12 @@ function db_upgrade($oldversion) {
modify_database("", "UPDATE `prefix_settings_global` SET `stg_value`='145' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
}


if ($oldversion < 146)
{
modify_database("", "ALTER TABLE `prefix_users` ADD `templateeditormode` VARCHAR( 7 )NOT NULL DEFAULT 'default' AFTER `htmleditormode`"); echo $modifyoutput; flush();ob_flush();
modify_database("", "ALTER TABLE `prefix_users` ADD `questionselectormode` VARCHAR( 7 )NOT NULL DEFAULT 'default' AFTER `templateeditormode`"); echo $modifyoutput; flush();ob_flush();
modify_database("", "UPDATE `prefix_settings_global` SET `stg_value`='146' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
}
echo '<br /><br />Database update finished ('.date('Y-m-d H:i:s').')<br />';
return true;
}
Expand Down
9 changes: 7 additions & 2 deletions admin/update/upgrade-postgres.php
Expand Up @@ -296,7 +296,12 @@ function db_upgrade($oldversion) {
upgrade_token_tables145();
modify_database("", "UPDATE prefix_settings_global SET stg_value='145' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
}

if ($oldversion < 146)
{
modify_database("", "ALTER TABLE prefix_users ADD \"templateeditormode\" VARCHAR( 7 ) NOT NULL DEFAULT 'default'"); echo $modifyoutput; flush();ob_flush();
modify_database("", "ALTER TABLE prefix_users ADD \"questionselectormode\" VARCHAR( 7 ) NOT NULL DEFAULT 'default'"); echo $modifyoutput; flush();ob_flush();
modify_database("", "UPDATE prefix_settings_global SET stg_value='146' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
}

echo '<br /><br />Database update finished ('.date('Y-m-d H:i:s').')<br />';
return true;
Expand Down Expand Up @@ -551,4 +556,4 @@ function upgrade_tables143()
closedir($handle);
}

}
}
6 changes: 5 additions & 1 deletion admin/usercontrol.php
Expand Up @@ -176,6 +176,8 @@
$_SESSION['user'] = $fields['users_name'];
$_SESSION['full_name'] = $fields['full_name'];
$_SESSION['htmleditormode'] = $fields['htmleditormode'];
$_SESSION['templateeditormode'] = $fields['templateeditormode'];
$_SESSION['questionselectormode'] = $fields['questionselectormode'];
$_SESSION['dateformat'] = $fields['dateformat'];
// Compute a checksession random number to test POSTs
$_SESSION['checksessionpost'] = sRandomChars(10);
Expand Down Expand Up @@ -261,7 +263,7 @@
}

include("database.php");
$query = "SELECT uid, users_name, password, parent_id, email, lang, htmleditormode, dateformat FROM ".db_table_name('users')." WHERE users_name=".$connect->qstr($mappeduser);
$query = "SELECT uid, users_name, password, parent_id, email, lang, htmleditormode,questionselectormode, templateeditormode, dateformat FROM ".db_table_name('users')." WHERE users_name=".$connect->qstr($mappeduser);
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; //Checked
$result = $connect->SelectLimit($query, 1) or safe_die ($query."<br />".$connect->ErrorMsg());
if ($result->RecordCount() < 1)
Expand Down Expand Up @@ -356,6 +358,8 @@
$_SESSION['user'] = $fields['users_name'];
$_SESSION['adminlang'] = $fields['lang'];
$_SESSION['htmleditormode'] = $fields['htmleditormode'];
$_SESSION['questionselectormode'] = $fields['questionselectormode'];
$_SESSION['templateeditormode'] = $fields['templateeditormode'];
$_SESSION['dateformat'] = $fields['dateformat'];
$_SESSION['checksessionpost'] = sRandomChars(10);
$_SESSION['pw_notify']=false;
Expand Down
2 changes: 1 addition & 1 deletion version.php
@@ -1,7 +1,7 @@
<?php

$versionnumber = "1.92dev";
$dbversionnumber = 145;
$dbversionnumber = 146;
$buildnumber = '';

?>

0 comments on commit f58bec4

Please sign in to comment.