<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Regexaurus</id>
	<title>LimeSurvey Manual - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Regexaurus"/>
	<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/Special:Contributions/Regexaurus"/>
	<updated>2026-08-12T18:33:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=ComfortUpdate&amp;diff=72967</id>
		<title>ComfortUpdate</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=ComfortUpdate&amp;diff=72967"/>
		<updated>2017-04-01T04:07:29Z</updated>

		<summary type="html">&lt;p&gt;Regexaurus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=General= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
The ComfortUpdate tool is a LimeSurvey professional service to update your installation of LimeSurvey easily from your web browser, with just a few mouse clicks - instead of having to perform [[Upgrading from a previous version|a manual update]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
To use and test ComfortUpdate you will have to register [https://www.limesurvey.org/en/services#pricing with our website] to receive a free trial key. After that trial key has expired you can either [https://www.limesurvey.org/en/services#pricing buy one of our premium packages] or [[Upgrading from a previous version|update your installation manually]].&lt;br /&gt;
&lt;br /&gt;
=Requirements= &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
Your PHP installation must be compiled with support for ZLib. Check your PHPInfo to see, and contact your system administrator to confirm. [http://php.net/manual/es/book.zlib.php].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
Your server must be able to connect by SSL to update.limesurvey.org and update-data.limesurvey.org in order to use the ComfortUpdate tool. If you have problems with this and get error messages like&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
10060 could not connect to the host &amp;quot;update.limesurvey.org&amp;quot;&lt;br /&gt;
you should tweak/edit your proxy/firewall security settings or ask your server administrator for help.&lt;br /&gt;
&lt;br /&gt;
=Using ComfortUpdate= &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
The LimeSurvey ComfortUpdate feature is safe to use even with active surveys. It does not delete or destroy any existing data. However you should keep in mind that this is a beta feature and ensure you have backed up your database and files manually before proceeding.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
*Go to the Global Settings Icon, select the first tab, and click the button for “Updates”&lt;br /&gt;
*The ComfortUpdate screen will display an update link if a new version of LimeSurvey is available. If not click “Check now” to see if a new update is available.&lt;br /&gt;
*If an update is found, LimeSurvey will display a link to allow you to update. Click on this to begin updating.&lt;br /&gt;
*If you have never used ComfortUpdate before or the ComfortUpdate upgrade key is not valid, you will be asked to enter an upgrade key. During the trial period use the default key for free updates.&lt;br /&gt;
*LimeSurvey will now verify your installation directory to check the appropriate permissions are set to allow an update. A list of proposed changes will be displayed.&lt;br /&gt;
*If there are any problems, you must correct them at this point, and then proceed to the next step.&lt;br /&gt;
*The ComfortUpdate will now make a backup of your database (if you use MySQL) and save your old installation files in the /tmp directory. If you use a different database, you should backup your database manually before proceeding.&lt;br /&gt;
ComfortUpdate will now update your installation to the latest version, including updating the database for any new changes. &lt;br /&gt;
&lt;br /&gt;
=Disabling ComfortUpdate= &amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
If you want to disable ComfortUpdate to not get the &#039;&#039;New release available&#039;&#039; popup messages after each new release you can add the following option to your &amp;quot;config.php&amp;quot; file which can be found at &#039;&#039;/limesurvey/application/config&#039;&#039; (Always create a backup first!):&lt;br /&gt;
&#039;updatable&#039; =&amp;gt; false&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
This is documented in more detail at &amp;quot;[http://www.limesurvey-consulting.com/how-to-disable-the-comfortupdate-updating-feature-at-limesurvey/ How to disable the Limesurvey ComfortUpdate updating feature]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Known problems= &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Blank page on step 3== &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
If you get a blank page on step 3 it usually means that the memory limit of your PHP configuration is set too low. During that step LimeSurvey tries to create a database backup and a file backup (of the files that will be replaced).&lt;br /&gt;
&lt;br /&gt;
==Using a proxy server to connect to update.limesurvey.com== &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
If you are behind a proxy, you may have to adjust some settings to be able to use comfort update. In LimeSurvey 2.05 later than build 140404, you can set the details of your proxy server in the configuration file (see [https://manual.limesurvey.org/Optional_settings#General_settings General settings]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
For earlier versions, you have to edit the http.php file in your LimeSurvey installation. Have a look at the variables in the first lines of this file in a text editor and add values if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
Example: Connect to a proxy server 111.111.111.111 port 1234 without authentication edit the following lines to look like&lt;br /&gt;
  var $proxy_host_name=&amp;quot;111.111.111.111&amp;quot;;&lt;br /&gt;
  var $proxy_host_port=1234;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
Depending on your version, you will find the file in the /admin/classes/ folder or in /application/libraries/admin/http/. There are pre-coded variables within the file so only details of your proxy are needed. If your installation is running unusually slow, wrong proxy settings may be the cause.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Regexaurus</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Upgrading_from_a_previous_version&amp;diff=72966</id>
		<title>Upgrading from a previous version</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Upgrading_from_a_previous_version&amp;diff=72966"/>
		<updated>2017-04-01T03:59:33Z</updated>

		<summary type="html">&lt;p&gt;Regexaurus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;Additional pages:{toc}&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Before you start...= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;... read this because it is very important: &#039;&#039;&#039;Always backup the files and the database of your current installation!!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
You can do this using a database adminstration tool like [http://www.phpmyadmin.net phpMyAdmin] etc. and a file manager! If you don&#039;t know how to do this you should not proceed but ask someone who knows or use the [[ComfortUpdate]] instead.&lt;br /&gt;
&lt;br /&gt;
=The quick way (for minor version changes)= &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
You can use these instructions if you are doing a minor upgrade  (for example from 2.00 to 2.01)&lt;br /&gt;
*Backup your files and database (did we already mention that?)&lt;br /&gt;
*Delete all the old files/directory except for&lt;br /&gt;
**/application/config/config.php&lt;br /&gt;
**/upload directory (NOTE: If you have any customized templates sitting under /upload/templates, make sure you refresh those with any changes from the new version. The easiest way to check for such changes is to file-compare your old template with the new version of the default template, and if you see any differences other than your customizations, a refresh is needed.)&lt;br /&gt;
*Copy the new files from the new LimeSurvey package to the existing location.&lt;br /&gt;
* Open the admin page in your browser, e.g. https://www.example.com/limesurvey/admin and check if a database scheme upgrade is necessary.&lt;br /&gt;
*&#039;&#039;&#039;After the upgrade: Clear your browser cache and cookies!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=The thorough way (for big version jumps)= &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
Unfortunately there are a couple of things to consider, so please scan the following instructions closely.&lt;br /&gt;
&lt;br /&gt;
==Upgrading from version 2.0x to 2.50 or later== &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
*Please note that the template structure has changed. Your old templates will not be working anymore as the template system is now using responsive templates.&lt;br /&gt;
&lt;br /&gt;
==Upgrading from version 1.50 or later to any later 2.xx version== &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
#[http://www.limesurvey.org#download Download] the latest version of LimeSurvey.&lt;br /&gt;
# Prepare and backup the old installation&lt;br /&gt;
## Backup your installation directory files and SQL-based database just in case.&lt;br /&gt;
### At the command-line level, make a &#039;&#039;&#039;.zip&#039;&#039;&#039; or similar archive of the whole installation directory tree of files. For example in Linux tar cvzf foo.tgz cps100 will tar and zip the whole of the cps100 directory.&lt;br /&gt;
### Using phpMyAdmin or similar to export all tables; or use the according &#039;&#039;&#039;LimeSurvey Administration&#039;&#039;&#039; button [[File:button-export-sql.png]] to backup the entire database&lt;br /&gt;
## Copy your &#039;&#039;&#039;config.php&#039;&#039;&#039; file, modified &#039;&#039;&#039;template&#039;&#039;&#039; directories and the /upload directory separately for quick access later.&lt;br /&gt;
# Replace all the installation directory files&lt;br /&gt;
## Delete all old files in the existing installation directory&lt;br /&gt;
## Upload and unpack the new code version into the same installation directory&lt;br /&gt;
## If your previous version was older than 1.90: Copy any customized templates to /upload/templates - you will also need to rename each template directory whose name matches an existing template in /templates.&lt;br /&gt;
## Copy your /upload directory back to the old location&lt;br /&gt;
## Double check the &#039;&#039;&#039;permissions&#039;&#039;&#039; set on the directories (write access to &#039;&#039;&#039;/tmp&#039;&#039;&#039;, &#039;&#039;&#039;/upload&#039;&#039;&#039; and and their subdirectories is required) as described in [[Installation#Set_Directory_permissions|Installation]]&lt;br /&gt;
## Open http://&amp;lt;yourdomain&amp;gt;/&amp;lt;yourlimesurveydir&amp;gt;/admin in your browser and follow the instructions (you can use the old config.php as reference). The existing database will be automatically detected and if necessary, upgraded after confirmation.&lt;br /&gt;
# Check if any special manual checks apply as listed below&lt;br /&gt;
# &#039;&#039;&#039;Now clear your browser cache and cookies!&#039;&#039;&#039;&lt;br /&gt;
# You are done (:biggrin:).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
{{Alert|title=Attention|text=If you upgrade from e.g. 1.92, it might be necessary to &#039;&#039;first&#039;&#039; upgrade to latest 1.92, then to 2.00, then to 2.06, and then finally to the latest version (e.g. 2.55.x).}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;&#039;Special checks after an upgrade&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;from any earlier version to 2.xx&#039;&#039;&#039;: &lt;br /&gt;
**The &#039;&#039;&#039;templates&#039;&#039;&#039; have been changed in a lot of places. Please check your customized templates if they are still looking right. If not you will have to edit your templates accordingly (check out the original templates to see what was changed). The upgrade process tries to replace the template.js inclusion by the placeholder {TEMPLATEJS}. If you have javascript issue with your custom template, verify if your template have the placeholder {TEMPLATEJS} in startpage.pstpl.&lt;br /&gt;
**Proper question codes are mandatory now. After upgrade check the survey logic of all surveys and correct the codes where necessary.&lt;br /&gt;
*&#039;&#039;&#039;from a version earlier than v1.53&#039;&#039;&#039;: When upgrading from a version before v1.53 to the latest version, please check the &#039;&#039;&#039;global user rights&#039;&#039;&#039; of each user. There was a new &#039;&#039;&#039;superadmin&#039;&#039;&#039; right introduced in v1.53 that can give a user the same privilege as the master administration account created during the install. The upgrade script is guessing who to give this right to in the older versions.  As this is not perfect, it should be carefully checked.&lt;br /&gt;
*&#039;&#039;&#039;from any earlier version to v2.06&#039;&#039;&#039;: From 2.05 to 2.06 some unused permissions when editing global permission for &#039;surveys&#039; were activated. So if a user has any permission besides the &#039;create&#039; they will be able to apply this additional permission on other surveys then their own. So please check the global permission of admin users that should only be able to see their own surveys and make sure they only have the &#039;create&#039; permission assigned for &#039;surveys&#039;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Upgrading from version 1.50 or later to any later 1.xx version== &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
#[http://www.limesurvey.org/download Download] the desired version of LimeSurvey.&lt;br /&gt;
# Prepare and backup the old installation&lt;br /&gt;
## Backup your installation directory files and SQL-based database just in case.&lt;br /&gt;
### At the command-line level, make a &#039;&#039;&#039;.zip&#039;&#039;&#039; or similar archive of the whole installation directory tree of files. e.g. tar cvzf foo.tgz cps100 will tar and zip the whole of the cps100 directory&lt;br /&gt;
### Using phpMyAdmin or similar to export all tables; or using the &#039;&#039;&#039;LimeSurvey Administration&#039;&#039;&#039; button [[File:button-export-sql.png]] to backup the entire database&lt;br /&gt;
## Copy your &#039;&#039;&#039;config.php&#039;&#039;&#039; file, modified &#039;&#039;&#039;template&#039;&#039;&#039; directories and the /upload directory separately for quick access later.&lt;br /&gt;
# Replace all the installation directory files&lt;br /&gt;
## Delete all old files in the existing installation directory&lt;br /&gt;
## Upload and unpack the new code version into the same installation directory&lt;br /&gt;
## Edit or replace the &#039;&#039;&#039;config.php&#039;&#039;&#039; file:&lt;br /&gt;
### If your previous version was &amp;lt; 1.70: Edit the new &#039;&#039;&#039;config.php&#039;&#039;&#039; to reflect changed settings in the backup &#039;&#039;&#039;config.php&#039;&#039;&#039; file. &#039;&#039;&#039;Do not just overwrite the new &#039;&#039;&#039;config.php&#039;&#039;&#039; with your old one!&#039;&#039;&#039;&lt;br /&gt;
### If your previous version was &amp;gt;= 1.70: Simply replace the new &#039;&#039;&#039;config.php&#039;&#039;&#039; with your backup &#039;&#039;&#039;config.php&#039;&#039;&#039; (as the file format has not changed).&lt;br /&gt;
## If your previous version was older than 1.90: Copy any customized templates to /upload/templates - you will also need to rename each template directory whose name matches an existing template in /templates.&lt;br /&gt;
## Copy your /upload directory back to the old location&lt;br /&gt;
## Double check the &#039;&#039;&#039;permissions&#039;&#039;&#039; set on the directories (write access to &#039;&#039;&#039;/tmp&#039;&#039;&#039;, &#039;&#039;&#039;/upload&#039;&#039;&#039; and and their subdirectories is required) as described in [[Installation#Set Directory permissions|Installation]]&lt;br /&gt;
# Finishing the installation&lt;br /&gt;
## Once you open the URL to your LimeSurvey administration the database tables will be updated after confirmation&lt;br /&gt;
## Remove or rename the &#039;&#039;&#039;/admin/install&#039;&#039;&#039; directory as/if instructed by the installation script&lt;br /&gt;
## Check if any special, manual checks apply as listed below&lt;br /&gt;
# You are done (:biggrin:). If you notice any problems after the upgrade: Clear your browser cache and cookies!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;&#039;Special checks after an upgrade&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;from any earlier version to 1.92&#039;&#039;&#039;: The &#039;&#039;&#039;templates&#039;&#039;&#039; have been changed in a lot of places. Please check your customized templates if they are still looking right. If not you will have to edit your templates accordingly (check out the original templates to see what was changed)&amp;lt;br /&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;from a version earlier than v1.53&#039;&#039;&#039;: When upgrading from a version before v1.53 to the latest version, please check the &#039;&#039;&#039;global user rights&#039;&#039;&#039; of each user. There was a new &#039;&#039;&#039;superadmin&#039;&#039;&#039; right introduced in v1.53 that can give a user the same privilege as the master administration account created during the install. The upgrade script is guessing who to give this right to in the older versions.  As this is not perfect, it should be carefully checked.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Upgrading from a version earlier than v1.50 (v1.0 through v1.44)== &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Since the data structure and a lot of other things were changed, &#039;&#039;&#039;upgrading from any version previous to v1.50 is NOT possible&#039;&#039;&#039;.  If you have old survey structure files with a *.sql extension the only way to get these into a newer version is to install [http://www.limesurvey.org/en/archived-releases/289-limesurvey150zip version 1.50], import the .sql file(s) there, then upgrade that version to the most recent LimeSurvey version. See the also then page [[Transferring an installation]] for more details.&lt;br /&gt;
&lt;br /&gt;
=Upgrade FAQ= &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What is the most recent LimeSurvey version that still supports PHP4?== &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
The last release offering PHP4 support was version 1.82+.&lt;br /&gt;
&lt;br /&gt;
==Can I upgrade even if I have active surveys?== &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
Yes, you can. Exceptions may be mentioned in the thorough instructions above. We strongly advise to test your surveys after upgrade to check if your design templates still work alright.&lt;br /&gt;
&lt;br /&gt;
==What is best way to port LimeSurvey *.sql survey structure files to the latest version?== &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
Install version 1.50, import the file and export the survey structure to the newer .csv format. The latest version still can read the .csv survey structure format.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Regexaurus</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Optional_settings&amp;diff=72965</id>
		<title>Optional settings</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Optional_settings&amp;diff=72965"/>
		<updated>2017-04-01T03:29:30Z</updated>

		<summary type="html">&lt;p&gt;Regexaurus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=How to modify optional settings= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
The optional settings can only be found in the file /application/config/config-defaults.php of a standard installation - some of them are only used for first installation, some of them overriden in [[Global settings]]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
{{Alert|If you want to change these settings please do not change it in config-defaults.php but copy the particular setting/line over to /application/config/config.php in &amp;lt;nowiki&amp;gt;&#039;config&#039;=&amp;gt;array()&amp;lt;/nowiki&amp;gt; and change it there.}}&lt;br /&gt;
All settings in config.php overwrite the default values from config-defaults.php and some of these settings get overridden in the Global settings dialog{{NewIn|1.87}} . This way it is much easier to upgrade your installation at a later time!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
To update/add the LimeSurvey settings in /application/config/config.php you have to update the config array:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
    &#039;config&#039;=&amp;gt;array(&lt;br /&gt;
        &#039;debug&#039;=&amp;gt;0,&lt;br /&gt;
        &#039;debugsql&#039;=&amp;gt;0,&lt;br /&gt;
        &#039;LimeSurveySetting&#039;=&amp;gt;&#039;New value&#039;,&lt;br /&gt;
    )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Yii settings= &amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
LimeSurvey uses the Yii framework and Yii has its own configuration parameters in the application/config/config.php file. You can access some specific configuration settings of LimeSurvey also via the Yii configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
The Yii-specific settings are set in the components array:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
    &#039;components&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;db&#039; =&amp;gt; array(&lt;br /&gt;
            ....&lt;br /&gt;
        ),&lt;br /&gt;
        &#039;Specific settings&#039;=&amp;gt;array(&lt;br /&gt;
            ....&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Database settings== &amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
The database settings are written by the installer to the config.php file when you install LimeSurvey for the first time. If needed you can update this part of the config. Please remember that you do this at your own risk.&lt;br /&gt;
See also the [[http://www.yiiframework.com/doc/blog/1.1/en/prototype.database#establishing-database-connection Yii documentation]], and please remember that LimeSurvey supports only the database types mysql,pgsql,dblib,mssql, and sqlsrv.&lt;br /&gt;
&lt;br /&gt;
==Session settings== &amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
You can set some session parameters in config.php, the first example is the session in the database. You can uncomment/add the part needed in config.php. See [[http://www.yiiframework.com/doc/api/1.1/CHttpSession Yii Documentation]] for other settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
If you use SSL (&#039;https&#039;) for your LimeSurvey installation adding the following lines to your config.php will increase session security:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Set the cookie via SSL&lt;br /&gt;
        &#039;session&#039; =&amp;gt; array (&lt;br /&gt;
            &#039;cookieParams&#039; =&amp;gt; array(&lt;br /&gt;
                    &#039;secure&#039; =&amp;gt; true, // use SSL for cookies&lt;br /&gt;
                    &#039;httponly&#039; =&amp;gt; true // Cookies may not be used by other protocols - experimental&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
If you want to fix the domain for a cookie use this in config.php:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Set the domain for cookie&lt;br /&gt;
        &#039;session&#039; =&amp;gt; array (&lt;br /&gt;
            &#039;cookieParams&#039; =&amp;gt; array(&lt;br /&gt;
                    &#039;domain&#039; =&amp;gt; &#039;.example.org&#039;,&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Request settings== &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
The request settings are important, but the default settings are already optimized for LimeSurvey usage. See [http://www.yiiframework.com/doc/api/1.1/CHttpRequest Yii Documentation] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
Some example you can modify in your LimeSurvey configuration:&amp;lt;sup&amp;gt;At your own risk&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Disable CSRF protection&lt;br /&gt;
        &#039;request&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;enableCsrfValidation&#039;=&amp;gt;false,    &lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Enforce a certain base URL &lt;br /&gt;
        &#039;request&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;hostInfo&#039; =&amp;gt; &#039;http://www.example.org/&#039;  &lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Set the cookie domain name for CSRF protection&lt;br /&gt;
        &#039;request&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;csrfCookie&#039; =&amp;gt; array( &#039;domain&#039; =&amp;gt; &#039;.example.com&#039; )&lt;br /&gt;
        ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
If you need updating only the url for token email : you can set your [[Optional_settings#Advanced_Path_Settings|publicurl]] in your config.php file.&lt;br /&gt;
&lt;br /&gt;
==URL settings== &amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
To have the same behaviour like the old &#039;Fancy URL&#039; feature , you can update the urlManager&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;       // Use short URL&lt;br /&gt;
		&#039;urlManager&#039; =&amp;gt; array(&lt;br /&gt;
			&#039;urlFormat&#039; =&amp;gt; &#039;path&#039;,&lt;br /&gt;
			&#039;showScriptName&#039; =&amp;gt; false,&lt;br /&gt;
		),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Adding .html after the survey id&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;       // Use short URL&lt;br /&gt;
		&#039;urlManager&#039; =&amp;gt; array(&lt;br /&gt;
			&#039;urlFormat&#039; =&amp;gt; &#039;path&#039;,&lt;br /&gt;
			&#039;rules&#039; =&amp;gt; array (&lt;br /&gt;
			    &#039;&amp;lt;sid:\d+&amp;gt;&#039; =&amp;gt; array(&#039;survey/index&#039;,&#039;urlSuffix&#039;=&amp;gt;&#039;.html&#039;,&#039;matchValue&#039;=&amp;gt;true),&lt;br /&gt;
			 ),&lt;br /&gt;
			&#039;showScriptName&#039; =&amp;gt; false,&lt;br /&gt;
		),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Find more information in the [http://www.yiiframework.com/doc/guide/1.1/en/topics.url Yii documentation].&lt;br /&gt;
&lt;br /&gt;
=General settings= &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;sitename&#039;&#039;&#039;: Give your survey site a name. This name will appear in the survey list overview and in the administration header. This setting is used only as default value and overridden in the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;siteadminemail:&#039;&#039;&#039; This is the default email address of the site administrator and used for system messages and contact options. This setting is used only as default value and overridden by the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;siteadminbounce:&#039;&#039;&#039; This is the email address where bounced emails will be sent to. This setting is used only as default value and overridden by the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;siteadminname:&#039;&#039;&#039; The real name of the site administrator. This setting is used only as default value and overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;proxy_host_name:&#039;&#039;&#039; This is the host name of your proxy server (if you are behind a proxy and want to update LimeSurvey using ComfortUpdate) {{NewIn|2.05}}.&lt;br /&gt;
*&#039;&#039;&#039;proxy_host_port:&#039;&#039;&#039; This is the port of your proxy server (if you are behind a proxy and want to update LimeSurvey  using ComfortUpdate) {{NewIn|2.05}}.&lt;br /&gt;
&lt;br /&gt;
= Security= &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;maxLoginAttempt&#039;&#039;&#039;: If the user enters password incorrectly this is the number of attempts before the users is locked out by IP address. &lt;br /&gt;
* &#039;&#039;&#039;timeOutTime&#039;&#039;&#039;:  If the user enters password incorrectly for  &amp;lt;maxLoginAttempt&amp;gt; set the lock out time (in seconds).&lt;br /&gt;
* &#039;&#039;&#039;surveyPreview_require_Auth&#039;&#039;&#039;: true by default. If you set this to false any person can test your survey using the survey URL - without logging in to the administration and without having to activate the survey first. This setting is a default value and can be overridden in the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
* &#039;&#039;&#039;usercontrolSameGroupPolicy&#039;&#039;&#039; :  Set to true by default. By default non-admin users defined in the LimeSurvey management interface will only be able to see users they create or users that belongs to at least one same group. This setting is a default value and can be overridden in the [[Global settings]] dialog.&lt;br /&gt;
*&#039;&#039;&#039;filterxsshtml:&#039;&#039;&#039; This setting enables filtering of suspicious html tags in survey, group, questions and answer texts in the administration interface. Only leave this to &#039;false&#039; if you absolutely trust the users you created for the administration of  LimeSurvey and if you want to allow these users to be able to use Javascript, Flash Movies, etc. &amp;lt;span class=&amp;quot;warning&amp;quot;&amp;gt;Super admin never have their HTML filtered&amp;lt;/span&amp;gt;.  This setting is a default value and can be overridden in the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;demoModeOnly:&#039;&#039;&#039; If this option is set to true, then LimeSurvey will go into demo mode. The demo mode changes the following things:&lt;br /&gt;
** Disables changing of the admin user&#039;s details and password&lt;br /&gt;
** Disables uploading files on the template editor&lt;br /&gt;
** Disables sending email invitations and reminders&lt;br /&gt;
** Disables doing a database dump&lt;br /&gt;
** Disables the ability to modify the following global settings: Site name, Default language, Default Htmleditor Mode, XSS filter&lt;br /&gt;
&lt;br /&gt;
= Resources= &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;sessionlifetime:&#039;&#039;&#039; Defines the time in seconds after which a survey session expires. It applies only if you are using database sessions. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;memorylimit:&#039;&#039;&#039; This sets how much memory LimeSurvey can access. &#039;128M&#039; is the minimum (M=Megabyte) recommended. If you receive time out errors or have problems generating statistics or exporting files raise this limit to &#039;256M&#039; or higher. If your webserver has set a higher limit then this setting will be ignored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;warningbox&amp;quot;&amp;gt;Please mind that such local settings by an application can always be overruled by global server settings.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
To increase the memory limit to 128M you could also try adding:&lt;br /&gt;
*memory_limit = 128M to your server&#039;s main php.ini file (recommended, if you have access)&lt;br /&gt;
*memory_limit = 128M to a php.ini file in the LimeSurvey root&lt;br /&gt;
*php_value memory_limit 128M in a .htaccess file in the LimeSurvey root&lt;br /&gt;
&lt;br /&gt;
=Appearance= &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;lwcdropdowns:&#039;&#039;&#039;{{ObsoleteIn|2.0}} This can be set to either &amp;quot;L&amp;quot; or &amp;quot;R&amp;quot;. Setting it to &amp;quot;R&amp;quot; will result in &#039;List with Comment&#039; questions being displayed as radio buttons, whereas &amp;quot;L&amp;quot; will result in &#039;List with Comment&#039; questions being displayed in a &#039;dropdown&#039; list box .&lt;br /&gt;
*&#039;&#039;&#039;dropdownthreshold:&#039;&#039;&#039;&#039;{{ObsoleteIn|2.50}} When you have selected &amp;quot;R&amp;quot; for $dropdowns, this allows you to set a maximum number of options that will display as radio buttons, before converting back to a dropdown list. If you have a question that has a large number of options, displaying them all as radio buttons can look unweildy, and be counter-intuitive to users. Setting this to a maximum of, say 25 (which is the default) means that large lists are easier for the survey participant to use.&lt;br /&gt;
*&#039;&#039;&#039;repeatheadings:&#039;&#039;&#039; With the Array type question, often you&#039;ll have a lot of subquestions, which - when displayed on screen - take up more than one page. This setting lets you decide how many subquestions should be displayed before repeating the header information for the question. A good setting for this is around 15. If you don&#039;t want the headings to repeat at all, set this to 0. This setting is overridden in the [[Global settings]] dialog) {{NewIn|2.05}}.&lt;br /&gt;
*&#039;&#039;&#039;minrepeatheadings:&#039;&#039;&#039; The minimum number of remaining subquestions that are required before repeating the headings in Array questions.&lt;br /&gt;
*&#039;&#039;&#039;defaulttemplate:&#039;&#039;&#039; This setting specifys the default theme used for the &#039;public list&#039; of surveys. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;defaulthtmleditormode:&#039;&#039;&#039; Sets the default mode for integrated HTML editor. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}. Valid settings are:&lt;br /&gt;
** &#039;&#039;inline&#039;&#039;: Inline replacement of fields by an HTML editor. Slow but convenient and user friendly&lt;br /&gt;
** &#039;&#039;popup&#039;&#039;: Adds an icon that runs the HTML editor in a popup if needed. Faster, but HTML code is displayed in the form.&lt;br /&gt;
** &#039;&#039;none&#039;&#039;: No HTML editor&lt;br /&gt;
*&#039;&#039;&#039;column_style:&#039;&#039;&#039; Defines how columns are rendered for survey answers when using [[QS:Display_columns|display_columns]]. Valid settings are: &lt;br /&gt;
** &#039;css&#039; using one of the various CSS only methods for creating columns (see template style sheet for details).&lt;br /&gt;
** &#039;ul&#039; using multiple floated unordered lists. (default)&lt;br /&gt;
** &#039;table&#039; using conventional tables based layout.&lt;br /&gt;
** NULL disable the use of columns&lt;br /&gt;
&lt;br /&gt;
=Language &amp;amp; time= &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;defaultlang:&#039;&#039;&#039; This should be set to the default language to be used in your administration scripts, and also the default setting for language in the public survey list. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;timeadjust:&#039;&#039;&#039; If your web server is in a different time zone to the location where your surveys will be based, put the difference between your server and your home time zone here. For example, I live in Australia but use a US web server. The web server is 14 hours behind my local time zone. So my setting here is &amp;quot;14&amp;quot;. In other words, it adds 14 hours to the web servers time. This setting is particularly important when surveys timestamp the responses. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
&lt;br /&gt;
=Survey behavior= &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;deletenonvalues:&#039;&#039;&#039; Use this feature with caution.  By default (a value of 1), irrelevant questions are NULLed in the database.  This ensures that the data in your database is internally consistent.  However, there are rare cases where you might want to hold onto irrelevant values, in which case you can set the value to 0.  Say you ask the person his gender, and he accidentally says &#039;female&#039; and then answers some female-specific questions (questions that are conditioned on being female, so are only relevant for women).  Then, he realizes his mistake, backs up, sets the gender to &#039;male&#039;, and continues with the survey.  Now, the female-specific questions are irrelevant.  If $deletenonvalues==1, those irrelevant values will be cleared (NULLed) in the database.  If $deletenonvalues==0, his erroneous answers will not be deleted, so they will still be present in the database when you analyze it.&lt;br /&gt;
*&#039;&#039;&#039;shownoanswer:&#039;&#039;&#039; When a question of a radio button/select type that contains editable answers (ie: List, Array questions) is not mandatory and shownoanswer is set to 1, an additional &#039;No answer&#039; entry is shown - so that participants may choose to not answer the question. Some people prefer this not to be available. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}. Valid values are:&lt;br /&gt;
**0 = no , &lt;br /&gt;
**1 = yes , &lt;br /&gt;
**2 = survey admin can choose.  &lt;br /&gt;
*&#039;&#039;&#039;printanswershonorsconditions:&#039;&#039;&#039; This setting determines if the printanswers feature will display entries from questions that were hidden by conditions-branching (Default: 1 = hide answers from questions hidden by conditions).&lt;br /&gt;
*&#039;&#039;&#039;hide_groupdescr_allinone:&#039;&#039;&#039;{{NewIn|1.85}} This setting is relevant for all-in-one surveys using conditions . When this is set to true the group name and description is hidden if all questions in the group are hidden. (Default: true  - hide group name and description when all questions in the group are hidden by conditions)&lt;br /&gt;
*&#039;&#039;&#039;showpopups:&#039;&#039;&#039;  Show popup messages if mandatory or conditional questions have not been answered correctly. 1=Show popup message (default), 0=Show message on page instead, -1=Do not show the message at all (in this case, users will still see the question-specific tips indicating which questions must be answered).&lt;br /&gt;
&lt;br /&gt;
=Development and debugging= &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;debug:&#039;&#039;&#039; With this setting you set the PHP error reporting to E_ALL. That means every little notice, warning or error with the script is shown. This setting should be only switched to 1 if you are trying to debug the application for any reason, if you are a developer switch it to 2. Don&#039;t switch it to 1 or 2 in production since it might cause path disclosure. (Default: 0) &lt;br /&gt;
*&#039;&#039;&#039;debugsql:&#039;&#039;&#039; Activate this setting if you want to display all SQL queries executed for the script on the bottom of each page. Very useful for optimizing the number of queries&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
If you experience an error in the application, we strongly recommend to acivate the debug setting so you usually get some more detailed error that you can submit with the bug report:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
    &#039;config&#039;=&amp;gt;array(&lt;br /&gt;
        &#039;debug&#039;=&amp;gt;2,&lt;br /&gt;
        &#039;debugsql&#039;=&amp;gt;0,&lt;br /&gt;
    )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Email Settings= &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
Note: All these settings in this section are overridden in the [[Global settings]] dialog{{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;emailmethod:&#039;&#039;&#039;  This determines how E-mail messages are being sent. The following options are available:&lt;br /&gt;
**&#039;&#039;&#039;mail:&#039;&#039;&#039; use internal PHP mailer&lt;br /&gt;
**&#039;&#039;&#039;sendmail:&#039;&#039;&#039; use sendmail mailer&lt;br /&gt;
**&#039;&#039;&#039;smtp:&#039;&#039;&#039;use SMTP relaying. Use this setting when you are running LimeSurvey on a host that is not your mail server.&lt;br /&gt;
*&#039;&#039;&#039;emailsmtphost:&#039;&#039;&#039; If you use &#039;smtp&#039; as $emailmethod then you have to put your SMTP-server here. If you are using Google mail you might have to add the port number like $emailsmtphost = &#039;smtp.gmail.com:465&#039;;&lt;br /&gt;
*&#039;&#039;&#039;emailsmtpuser:&#039;&#039;&#039; If your SMTP-server needs authentication then set this to your user name, otherwise it must be blank.&lt;br /&gt;
*&#039;&#039;&#039;emailsmtppassword:&#039;&#039;&#039; If your SMTP-server needs authentication then set this to your password, otherwise it must be blank.&lt;br /&gt;
*&#039;&#039;&#039;emailsmtpssl:&#039;&#039;&#039; Set this to &#039;ssl&#039; or &#039;tls&#039; to use SSL/TLS for SMTP connection&lt;br /&gt;
*&#039;&#039;&#039;maxemails:&#039;&#039;&#039; When sending invitations or reminders to survey participants, this setting is used to determine how many emails can be sent in one bunch. Different web servers have different email capacities, and if your script takes too long to send a bunch of emails, the script could time out and cause errors. Most web servers can send 100 emails at a time within the default 30 second time limit for a PHP script. If you get script timeout errors when sending large numbers of emails, reduce the number in this setting.  Clicking the &#039;send email invitation&#039; button on the token control toolbar, (not the button on the right of each token), sends the maxemails number of invitations, then displays a list of the addresses sent to and a warning that &amp;quot;There are more emails pending than could be sent in one batch. Continue sending emails by clicking below. There are ### emails still to be sent.&amp;quot; and provides a &amp;quot;continue button&amp;quot; to proceed with the next batch. I.e., the user determines when to send the next batch after each batch gets emailed.  It is not necessary to wait with this screen active.  The admin could log off and come back at a later time to send the next batch of invites.&lt;br /&gt;
&lt;br /&gt;
= Statistics and Response Browsing= &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;usejpgraph:&#039;&#039;&#039; {{ObsoleteIn|1.8}} The [http://www.aditus.nu/jpgraph/ JPGraph-library] lets you display the results of your survey in the statistics part of LimeSurvey  in bar- and pie charts. If you have a correctly configured jpgraph class set up on your server, you can turn this feature on or off (1=on, 0=off). Please have a look, every version of PHP needs another version of JPGraph! This feature is currently in development, so expect a few weird outcomes.&lt;br /&gt;
*&#039;&#039;&#039;jpgraphdir:&#039;&#039;&#039; {{ObsoleteIn|1.8}} The physical disk location of the jpgraph class scripts. This setting is only required if $usejpgraph is equal to 1.&lt;br /&gt;
*&#039;&#039;&#039;jpgraphfont:&#039;&#039;&#039; {{ObsoleteIn|1.8}} The font to use with graphs. A failsafe setting would be &amp;quot;FF_FONT1&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;embedded:&#039;&#039;&#039;{{ObsoleteIn|2.0}} If you want to integrate LimeSurvey into another page then you can turn off sending HTML headers by using this setting and point instead to the header method of a custom function. This is a dirty hack but should work for a quick integration.&lt;br /&gt;
*&#039;&#039;&#039;filterout_incomplete_answers:&#039;&#039;&#039; Control the default behaviour of  filtering incomplete answers when browsing or analyzing responses. For a discussion on incomplete Responses see [[Browsing survey results]]. Since these records can corrupt the statistics, an option is given to switch this filter on or off in several GUI forms. This parameter config.php is just the default state for the incomplete answer filter. The following options are available:&lt;br /&gt;
**&#039;&#039;show&#039;&#039;: Show both complete and incomplete answers&lt;br /&gt;
**&#039;&#039;filter&#039;&#039;: Show only complete answers&lt;br /&gt;
**&#039;&#039;incomplete&#039;&#039;: Show only incomplete answers&lt;br /&gt;
*&#039;&#039;&#039;strip_query_from_referer_url&#039;&#039;&#039;: This setting determine if the referrer URL saves parameter or not. Default value is &amp;quot;false&amp;quot; (in this case referrer URL saves all parameter). Alternatively this value can be set to &amp;quot;true&amp;quot; and the parameter part of the referrer URL will be removed.&lt;br /&gt;
*&#039;&#039;&#039;showaggregateddata:&#039;&#039;&#039; {{NewIn|1.8}} When activated there are additional values like arithmetic mean and standard deviation at statistics. Furthermore data is aggregated to get a faster overview e.g. results of scale 1+2 and 4+5 are added to have a general ranking like &amp;quot;good&amp;quot; (1/2), &amp;quot;average&amp;quot; (3) and &amp;quot;bad&amp;quot; (4/5). This only affects question types &amp;quot;A&amp;quot; (5 point array) and &amp;quot;5&amp;quot; (5 point choice).&lt;br /&gt;
* &#039;&#039;&#039;PDF Export Settings:&#039;&#039;&#039; {{NewIn|1.85}} This feature activates PDF export for printable survey and Print Answers. The PDF export is totally experimental. The output is mostly ugly. At this point no support can be given - if you want to help to fix it please get in touch with us.&lt;br /&gt;
**usepdfexport: Set 0 to disable; 1 to enable&lt;br /&gt;
**pdfdefaultfont: Default font for the pdf Export&lt;br /&gt;
**alternatepdffontfile: an array with key for language and specific font for this language can be replaced or just updated .&lt;br /&gt;
**pdffontsize: Fontsize for normal text; Surveytitle is +4; grouptitle is +2&lt;br /&gt;
**notsupportlanguages = array(&#039;zh-Hant-TW&#039;,&#039;zh-Hant-HK&#039;,&#039;zh-Hans&#039;,&#039;ja&#039;,&#039;th&#039;);&lt;br /&gt;
**pdforientation: Set L for Landscape or P for portrait format&lt;br /&gt;
*&#039;&amp;quot;Graph setting&amp;quot;&#039;&lt;br /&gt;
** chartfontfile : Font file to be used : must be in the server font directory or ./fonts directory&lt;br /&gt;
** alternatechartfontfile : an array with key for language and specific font for this language can be replaced or just updated .&lt;br /&gt;
*&#039;&#039;&#039;showsgqacode:&#039;&#039;&#039; {{NewIn|1.91}} This setting is used at the printable survey feature and defaults to &#039;&#039;false&#039;&#039;. If you set &#039;&#039;showsgqacode = true;&#039;&#039; the IDs for each question - and answer if applicable - will be shown; these IDs match the column heading at the Lime_survey_12345 table which holds the answer data for a certain survey. These Ids can be used for a code book for manual database queries.&lt;br /&gt;
&lt;br /&gt;
= [[LDAP settings]]= &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
As this is an extensive topic we have moved [[LDAP settings]] to [[LDAP settings|another page.]]&lt;br /&gt;
&lt;br /&gt;
= Authentication= &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
Starting with LimeSurvey 2.05 authentication will be handled by plugins. Because of this the information below might be outdated. See [[Plugins]] for most up to date information.&lt;br /&gt;
&lt;br /&gt;
== Delegate Authentication to the Webserver== &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
System Administrators may want to have their &#039;&#039;&#039;survey administrators&#039;&#039;&#039; authenticated against a central authentication system (Active Directory, openLdap, Radius, ...) rather than using the internal LimeSurvey database. An easy way to do this is to setup your Webserver software to use this external authentication system, and then ask LimeSurvey to trust the user identity reported by the webserver. In order to enable this feature you have to:&lt;br /&gt;
* set &#039;&#039;&#039;auth_webserver&#039;&#039;&#039; to true in config.php&lt;br /&gt;
* enable authentication at the webserver side&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
Please note that:&lt;br /&gt;
* LimeSurvey will then bypass its own authentication process (by using the login name reported by the webserver without asking for a password)&lt;br /&gt;
* this can only replace the LimeSurvey GUI authentication system, &#039;&#039;&#039;not the survey invitation system&#039;&#039;&#039; (participant interface)&lt;br /&gt;
&lt;br /&gt;
== Authentication Delegation with no automatic user import== &amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Please note however than &amp;lt;u&amp;gt;by default Authentication Delegation doesn&#039;t bypass the LimeSurvey authorization system&amp;lt;/u&amp;gt;: this means that, even if you don&#039;t have to manage passwords in LimeSurvey, you still need to define the users in the LimeSurvey database and assign them the correct set of rights in order to let them access survey resources.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
A user is then granted access to LimeSurvey if and only if:&lt;br /&gt;
* he has been authenticated to the webserver&lt;br /&gt;
* his login name is defined as a user in the LimeSurvey user database (the user is then granted the privileges of the user defined in the LimeSurvey user database).&lt;br /&gt;
&lt;br /&gt;
== Authentication Delegation with automatic user import== &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
When managing huge user database, it is sometimes easier to auto-import user in the LimeSurvey database.&lt;br /&gt;
*&#039;&#039;&#039;auth_webserver_autocreate_user&#039;&#039;&#039;: if set to true LimeSurvey will try to autoimport users authenticated by the webserver but not already in its users&#039; DB&lt;br /&gt;
*&#039;&#039;&#039;auth_webserver_autocreate_profile&#039;&#039;&#039;: an array describing the default profile that will be assigned to the user (including fake First and Last name, email, privileges)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
If you want to customize the user profile so that it matches the logged-in user, you&#039;ll have to develop a simple function called &#039;&#039;&#039;hook_get_autouserprofile&#039;&#039;&#039;: with this function you can retrieve from a central User account database (for instance an LDAP directory), the true First&amp;amp;Last; names and email of a particular user. You can even customize his privileges on the system based on his groups on the external DB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;hook_get_auth_webserver_profile&#039;&#039;&#039; function takes the user login name as the only argument and can return:&lt;br /&gt;
* False or an empty array: in this case the user is denied access to LimeSurvey&lt;br /&gt;
* an array containing all common userprofile entries as described in the  &#039;&#039;&#039;$WebserverAuth_autouserprofile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;function hook_get_auth_webserver_profile($user_name)&lt;br /&gt;
{&lt;br /&gt;
     // Retrieve user&#039;s data from your database backend (for instance LDAP) here&lt;br /&gt;
     ... get $user_name_from_backend&lt;br /&gt;
     ... get $user_email_from_backend&lt;br /&gt;
     ... get $user_lang_from_backend&lt;br /&gt;
     ... from groups defined in your backend set $user_admin_status_frombackend_0_or_1&lt;br /&gt;
     return Array(&lt;br /&gt;
                     &#039;full_name&#039; =&amp;gt; &amp;quot;$user_name_from_backend&amp;quot;,&lt;br /&gt;
                     &#039;email&#039; =&amp;gt; &amp;quot;$user_email_from_backend&amp;quot;,&lt;br /&gt;
                     &#039;lang&#039; =&amp;gt; &#039;$user_lang_from_backend&#039;,&lt;br /&gt;
                     &#039;htmleditormode&#039; =&amp;gt; &#039;inline&#039;,&lt;br /&gt;
                     &#039;templatelist&#039; =&amp;gt; &#039;default,basic,MyOrgTemplate&#039;,&lt;br /&gt;
                     &#039;create_survey&#039; =&amp;gt; 1,&lt;br /&gt;
                     &#039;create_user&#039; =&amp;gt; 0,&lt;br /&gt;
                     &#039;delete_user&#039; =&amp;gt; 0,&lt;br /&gt;
                     &#039;superadmin&#039; =&amp;gt; $user_admin_status_frombackend_0_or_1,&lt;br /&gt;
                     &#039;configurator&#039; =&amp;gt;0,&lt;br /&gt;
                     &#039;manage_template&#039; =&amp;gt; 0,&lt;br /&gt;
                     &#039;manage_label&#039; =&amp;gt; 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
     // If user should be denied access, return an empty array&lt;br /&gt;
&lt;br /&gt;
     // return Array();&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User name mapping== &amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
In case some users have an external user name that is different from their LimeSurvey user name, you may find useful to use a user name mapping. This is done in LimeSurvey by using the &#039;&#039;&#039;auth_webserver_user_map&#039;&#039;&#039; parameter. For instance imagine you don&#039;t have an &#039;admin&#039; username defined in your external authentication database. Then in order to login to LimeSurvey as admin, you&#039;ll have to map your external username let&#039;s call it &#039;myname&#039; to the admin login name in LimeSurvey. The corresponding setup is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;$config[&#039;auth_webserver_user_map&#039;] = Array (&#039;myname&#039; =&amp;gt; &#039;admin&#039;);&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
After a successful authentication with the &#039;myname&#039; login and password to the webserver, you&#039;ll be directly authorized to use LimeSurvey as the &#039;admin&#039; user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
This obviously has serious security implications, so use it with care, and please protect your config.php from write access by the web server.&lt;br /&gt;
&lt;br /&gt;
== Use one time passwords== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
{{NewIn|1.81}} A user can open the LimeSurvey login at /limesurvey/admin and pass username and a one time password which was previously written into the users table (column one_time_pw) by an external application.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
This setting has to be turned on (&#039;&#039;&#039;use_one_time_passwords&#039;&#039;&#039; =&amp;gt; true) to enable the usage of one time passwords (default = false). More information can be found at [[Manage users#Use one-time passwords|&amp;quot;Manage Users&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
= Advanced Path Settings= &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;homeurl:&#039;&#039;&#039; This should be set to the URL location of your administration scripts. These are the scripts in the /limesurvey/admin folder. This should be set to the WEB URL location - for example &amp;quot;http://www.example.com/limesurvey/html/admin&amp;quot;. Don&#039;t add a trailing slash to this entry. The default setting in config.php attempts to detect the name of your server automatically using a php variable setting - {$_SERVER&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&#039;SERVER_NAME&#039;]}. In most cases you can leave this and just modify the remainder of this string to match the directory name you have put the LimeSurvey scripts in.&lt;br /&gt;
*&#039;&#039;&#039;publicurl:&#039;&#039;&#039; This should be set to the URL location of your &#039;public scripts&#039;. The public scripts are those located in the &amp;quot;limesurvey&amp;quot; folder (or whatever name you gave to the directory that all the other scripts and directories are kept in). &#039;&#039;&#039;This settings is available in config.php and is used when sending token email.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;tempurl:&#039;&#039;&#039; This should be set to the URL location of your &amp;quot;/limesurvey/tmp&amp;quot; directory - or a directory which you would like LimeSurvey to use to store temporary files, including uploads. This directory must be set to read &amp;amp; write for your webserver (e.g. chmod 755). &lt;br /&gt;
*&#039;&#039;&#039;imagefiles:&#039;&#039;&#039; By default you should leave this pointing to the URL location of /limesurvey/admin/images - where the images are installed initially. You may, however, prefer to move these images to another location and if so point this to the URL directory where they are stored.&lt;br /&gt;
*&#039;&#039;&#039;homedir:&#039;&#039;&#039; This should be set to the physical disk location of your administration scripts - for example &amp;quot;/home/usr/htdocs/limesurvey/admin&amp;quot;. Don&#039;t add a trailing slash to this entry. The default setting in config.php attempts to detect the default root path of all your documents using the php variable setting - {$_SERVER&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&#039;DOCUMENT_ROOT&#039;]}. In most cases you can leave this and just modify the remainder of this string to match the directory name you have put the LimeSurvey scripts in.&lt;br /&gt;
*&#039;&#039;&#039;publicdir:&#039;&#039;&#039; This should be set to the physical disk location of your &#039;public scripts&#039;.&lt;br /&gt;
*&#039;&#039;&#039;tempdir:&#039;&#039;&#039; This should be set to the physical disk location of your /limesurvey/tmp directory so that the script can read and write files.&lt;br /&gt;
*&#039;&#039;&#039;sCKEditorURL:&#039;&#039;&#039; url of the fckeditor script&lt;br /&gt;
*&#039;&#039;&#039;fckeditexpandtoolbar:&#039;&#039;&#039; defines if the FCKeditor toolbar should be opened by default&lt;br /&gt;
*&#039;&#039;&#039;pdfexportdir:&#039;&#039;&#039; Directory with the tcpdf.php extensiontcpdf.php&lt;br /&gt;
*&#039;&#039;&#039;pdffonts:&#039;&#039;&#039; Directory for the TCPDF fonts&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Regexaurus</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Optional_settings&amp;diff=72964</id>
		<title>Optional settings</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Optional_settings&amp;diff=72964"/>
		<updated>2017-04-01T03:12:33Z</updated>

		<summary type="html">&lt;p&gt;Regexaurus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=How to modify optional settings= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
The optional settings can only be found in the file /application/config/config-defaults.php of a standard installation - some of them are only used for first installation, some of them overriden in [[Global settings]]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
{{Alert|If you want to change these settings please do not change it in config-defaults.php but copy the particular setting/line over to /application/config/config.php in &amp;lt;nowiki&amp;gt;&#039;config&#039;=&amp;gt;array()&amp;lt;/nowiki&amp;gt; and change it there.}}&lt;br /&gt;
All settings in config.php overwrite the default values from config-defaults.php and some of these settings get overridden in the Global settings dialog{{NewIn|1.87}} . This way it is much easier to upgrade your installation at a later time!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
To update/add the LimeSurvey settings in /application/config/config.php you have to update the config array:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
    &#039;config&#039;=&amp;gt;array(&lt;br /&gt;
        &#039;debug&#039;=&amp;gt;0,&lt;br /&gt;
        &#039;debugsql&#039;=&amp;gt;0,&lt;br /&gt;
        &#039;LimeSurveySetting&#039;=&amp;gt;&#039;New value&#039;,&lt;br /&gt;
    )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Yii settings= &amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
LimeSurvey uses the Yii framework and Yii has its own configuration parameters in the application/config/config.php file. You can access some specific configuration settings of LimeSurvey also via the Yii configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
The Yii-specific settings are set in the components array:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
    &#039;components&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;db&#039; =&amp;gt; array(&lt;br /&gt;
            ....&lt;br /&gt;
        ),&lt;br /&gt;
        &#039;Specific settings&#039;=&amp;gt;array(&lt;br /&gt;
            ....&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Database settings== &amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
The database settings are written by the installer to the config.php file when you install LimeSurvey for the first time. If needed you can update this part of the config. Please remember that you do this at your own risk.&lt;br /&gt;
See also the [[http://www.yiiframework.com/doc/blog/1.1/en/prototype.database#establishing-database-connection Yii documentation]], and please remember that LimeSurvey supports only the database types mysql,pgsql,dblib,mssql, and sqlsrv.&lt;br /&gt;
&lt;br /&gt;
==Session settings== &amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
You can set some session parameters in config.php, the first example is the session in the database. You can uncomment/add the part needed in config.php. See [[http://www.yiiframework.com/doc/api/1.1/CHttpSession Yii Documentation]] for other settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
If you use SSL (&#039;https&#039;) for your LimeSurvey installation adding the following lines to your config.php will increase session security:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Set the cookie via SSL&lt;br /&gt;
        &#039;session&#039; =&amp;gt; array (&lt;br /&gt;
            &#039;cookieParams&#039; =&amp;gt; array(&lt;br /&gt;
                    &#039;secure&#039; =&amp;gt; true, // use SSL for cookies&lt;br /&gt;
                    &#039;httponly&#039; =&amp;gt; true // Cookies may not be used by other protocols - experimental&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
If you want to fix the domain for a cookie use this in config.php:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Set the domain for cookie&lt;br /&gt;
        &#039;session&#039; =&amp;gt; array (&lt;br /&gt;
            &#039;cookieParams&#039; =&amp;gt; array(&lt;br /&gt;
                    &#039;domain&#039; =&amp;gt; &#039;.example.org&#039;,&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Request settings== &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
The request settings are important, but the default settings are already optimized for LimeSurvey usage. See [http://www.yiiframework.com/doc/api/1.1/CHttpRequest Yii Documentation] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
Some example you can modify in your LimeSurvey configuration:&amp;lt;sup&amp;gt;At your own risk&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Disable CSRF protection&lt;br /&gt;
        &#039;request&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;enableCsrfValidation&#039;=&amp;gt;false,    &lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Enforce a certain base URL &lt;br /&gt;
        &#039;request&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;hostInfo&#039; =&amp;gt; &#039;http://www.example.org/&#039;  &lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Set the cookie domain name for CSRF protection&lt;br /&gt;
        &#039;request&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;csrfCookie&#039; =&amp;gt; array( &#039;domain&#039; =&amp;gt; &#039;.example.com&#039; )&lt;br /&gt;
        ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
If you need updating only the url for token email : you can set your [[Optional_settings#Advanced_Path_Settings|publicurl]] in your config.php file.&lt;br /&gt;
&lt;br /&gt;
==URL settings== &amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
To have the same behaviour like the old &#039;Fancy URL&#039; feature , you can update the urlManager&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;       // Use short URL&lt;br /&gt;
		&#039;urlManager&#039; =&amp;gt; array(&lt;br /&gt;
			&#039;urlFormat&#039; =&amp;gt; &#039;path&#039;,&lt;br /&gt;
			&#039;showScriptName&#039; =&amp;gt; false,&lt;br /&gt;
		),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Adding .html after the survey id&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;       // Use short URL&lt;br /&gt;
		&#039;urlManager&#039; =&amp;gt; array(&lt;br /&gt;
			&#039;urlFormat&#039; =&amp;gt; &#039;path&#039;,&lt;br /&gt;
			&#039;rules&#039; =&amp;gt; array (&lt;br /&gt;
			    &#039;&amp;lt;sid:\d+&amp;gt;&#039; =&amp;gt; array(&#039;survey/index&#039;,&#039;urlSuffix&#039;=&amp;gt;&#039;.html&#039;,&#039;matchValue&#039;=&amp;gt;true),&lt;br /&gt;
			 ),&lt;br /&gt;
			&#039;showScriptName&#039; =&amp;gt; false,&lt;br /&gt;
		),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Find more information in the [http://www.yiiframework.com/doc/guide/1.1/en/topics.url Yii documentation].&lt;br /&gt;
&lt;br /&gt;
=General settings= &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;sitename&#039;&#039;&#039;: Give your survey site a name. This name will appear in the survey list overview and in the administration header. This setting is used only as default value and overridden in the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;siteadminemail:&#039;&#039;&#039; This is the default email address of the site administrator and used for system messages and contact options. This setting is used only as default value and overridden by the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;siteadminbounce:&#039;&#039;&#039; This is the email address where bounced emails will be sent to. This setting is used only as default value and overridden by the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;siteadminname:&#039;&#039;&#039; The real name of the site administrator. This setting is used only as default value and overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;proxy_host_name:&#039;&#039;&#039; This is the host name of your proxy server (if you are behind a proxy and want to update LimeSurvey using ComfortUpdate) {{NewIn|2.05}}.&lt;br /&gt;
*&#039;&#039;&#039;proxy_host_port:&#039;&#039;&#039; This is the port of your proxy server (if you are behind a proxy and want to update LimeSurvey  using ComfortUpdate) {{NewIn|2.05}}.&lt;br /&gt;
&lt;br /&gt;
= Security= &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;maxLoginAttempt&#039;&#039;&#039;: If the user enters password incorrectly this is the number of attempts before the users is locked out by IP address. &lt;br /&gt;
* &#039;&#039;&#039;timeOutTime&#039;&#039;&#039;:  If the user enters password incorrectly for  &amp;lt;maxLoginAttempt&amp;gt; set the lock out time (in seconds).&lt;br /&gt;
* &#039;&#039;&#039;surveyPreview_require_Auth&#039;&#039;&#039;: true by default. If you set this to false any person can test your survey using the survey URL - without logging in to the administration and without having to activate the survey first. This setting is a default value and can be overridden in the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
* &#039;&#039;&#039;usercontrolSameGroupPolicy&#039;&#039;&#039; :  Set to true by default. By default non-admin users defined in the LimeSurvey management interface will only be able to see users they create or users that belongs to at least one same group. This setting is a default value and can be overridden in the [[Global settings]] dialog.&lt;br /&gt;
*&#039;&#039;&#039;filterxsshtml:&#039;&#039;&#039; This setting enables filtering of suspicious html tags in survey, group, questions and answer texts in the administration interface. Only leave this to &#039;false&#039; if you absolutely trust the users you created for the administration of  LimeSurvey and if you want to allow these users to be able to use Javascript, Flash Movies, etc. &amp;lt;span class=&amp;quot;warning&amp;quot;&amp;gt;Super admin never have their HTML filtered&amp;lt;/span&amp;gt;.  This setting is a default value and can be overridden in the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;demoModeOnly:&#039;&#039;&#039; If this option is set to true, then LimeSurvey will go into demo mode. The demo mode changes the following things:&lt;br /&gt;
** Disables changing of the admin user&#039;s details and password&lt;br /&gt;
** Disables uploading files on the template editor&lt;br /&gt;
** Disables sending email invitations and reminders&lt;br /&gt;
** Disables doing a database dump&lt;br /&gt;
** Disables the ability to modify the following global settings: Site name, Default language, Default Htmleditor Mode, XSS filter&lt;br /&gt;
&lt;br /&gt;
= Resources= &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;sessionlifetime:&#039;&#039;&#039; Defines the time in seconds after which a survey session expires. It applies only if you are using database sessions. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;memorylimit:&#039;&#039;&#039; This sets how much memory LimeSurvey can access. &#039;128M&#039; is the minimum (M=Megabyte) recommended. If you receive time out errors or have problems generating statistics or exporting files raise this limit to &#039;256M&#039; or higher. If your webserver has set a higher limit then this setting will be ignored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;warningbox&amp;quot;&amp;gt;Please mind that such local settings by an application can always be overruled by global server settings.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
To increase the memory limit to 128M you could also try adding:&lt;br /&gt;
*memory_limit = 128M to your server&#039;s main php.ini file (recommended, if you have access)&lt;br /&gt;
*memory_limit = 128M to a php.ini file in the LimeSurvey root&lt;br /&gt;
*php_value memory_limit 128M in a .htaccess file in the LimeSurvey root&lt;br /&gt;
&lt;br /&gt;
=Appearance= &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;lwcdropdowns:&#039;&#039;&#039;{{ObsoleteIn|2.0}} This can be set to either &amp;quot;L&amp;quot; or &amp;quot;R&amp;quot;. Setting it to &amp;quot;R&amp;quot; will result in &#039;List with Comment&#039; questions being displayed as radio buttons, whereas &amp;quot;L&amp;quot; will result in &#039;List with Comment&#039; questions being displayed in a &#039;dropdown&#039; list box .&lt;br /&gt;
*&#039;&#039;&#039;dropdownthreshold:&#039;&#039;&#039;&#039;{{ObsoleteIn|2.50}} When you have selected &amp;quot;R&amp;quot; for $dropdowns, this allows you to set a maximum number of options that will display as radio buttons, before converting back to a dropdown list. If you have a question that has a large number of options, displaying them all as radio buttons can look unweildy, and be counter-intuitive to users. Setting this to a maximum of, say 25 (which is the default) means that large lists are easier for the survey participant to use.&lt;br /&gt;
*&#039;&#039;&#039;repeatheadings:&#039;&#039;&#039; With the Array type question, often you&#039;ll have a lot of subquestions, which - when displayed on screen - take up more than one page. This setting lets you decide how many subquestions should be displayed before repeating the header information for the question. A good setting for this is around 15. If you don&#039;t want the headings to repeat at all, set this to 0. This setting is overridden in the [[Global settings]] dialog) {{NewIn|2.05}}.&lt;br /&gt;
*&#039;&#039;&#039;minrepeatheadings:&#039;&#039;&#039; The minimum number of remaining subquestions that are required before repeating the headings in Array questions.&lt;br /&gt;
*&#039;&#039;&#039;defaulttemplate:&#039;&#039;&#039; This setting specifys the default theme used for the &#039;public list&#039; of surveys. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;defaulthtmleditormode:&#039;&#039;&#039; Sets the default mode for integrated HTML editor. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}. Valid settings are:&lt;br /&gt;
** &#039;&#039;inline&#039;&#039;: Inline replacement of fields by an HTML editor. Slow but convenient and user friendly&lt;br /&gt;
** &#039;&#039;popup&#039;&#039;: Adds an icon that runs the HTML editor in a popup if needed. Faster, but HTML code is displayed in the form.&lt;br /&gt;
** &#039;&#039;none&#039;&#039;: No HTML editor&lt;br /&gt;
*&#039;&#039;&#039;column_style:&#039;&#039;&#039; Defines how columns are rendered for survey answers when using [[QS:Display_columns|display_columns]]. Valid settings are: &lt;br /&gt;
** &#039;css&#039; using one of the various CSS only methods for creating columns (see template style sheet for details).&lt;br /&gt;
** &#039;ul&#039; using multiple floated unordered lists. (default)&lt;br /&gt;
** &#039;table&#039; using conventional tables based layout.&lt;br /&gt;
** NULL disable the use of columns&lt;br /&gt;
&lt;br /&gt;
=Language &amp;amp; time= &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;defaultlang:&#039;&#039;&#039; This should be set to the default language to be used in your administration scripts, and also the default setting for language in the public survey list. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;timeadjust:&#039;&#039;&#039; If your web server is in a different time zone to the location where your surveys will be based, put the difference between your server and your home time zone here. For example, I live in Australia but use a US web server. The web server is 14 hours behind my local time zone. So my setting here is &amp;quot;14&amp;quot;. In other words, it adds 14 hours to the web servers time. This setting is particularly important when surveys timestamp the responses. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
&lt;br /&gt;
=Survey behavior= &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;deletenonvalues:&#039;&#039;&#039; Use this feature with caution.  By default (a value of 1), irrelevant questions are NULLed in the database.  This ensures that the data in your database is internally consistent.  However, there are rare cases where you might want to hold onto irrelevant values, in which case you can set the value to 0.  Say you ask the person his gender, and he accidentally says &#039;female&#039; and then answers some female-specific questions (questions that are conditioned on being female, so are only relevant for women).  Then, he realizes his mistake, backs up, sets the gender to &#039;male&#039;, and continues with the survey.  Now, the female-specific questions are irrelevant.  If $deletenonvalues==1, those irrelevant values will be cleared (NULLed) in the database.  If $deletenonvalues==0, his erroneous answers will not be deleted, so they will still be present in the database when you analyze it.&lt;br /&gt;
*&#039;&#039;&#039;shownoanswer:&#039;&#039;&#039; When a question of a radio button/select type that contains editable answers (ie: List, Array questions) is not mandatory and shownoanswer is set to 1, an additional &#039;No answer&#039; entry is shown - so that participants may choose to not answer the question. Some people prefer this not to be available. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}. Valid values are:&lt;br /&gt;
**0 = no , &lt;br /&gt;
**1 = yes , &lt;br /&gt;
**2 = survey admin can choose.  &lt;br /&gt;
*&#039;&#039;&#039;printanswershonorsconditions:&#039;&#039;&#039; This setting determines if the printanswers feature will display entries from questions that were hidden by conditions-branching (Default: 1 = hide answers from questions hidden by conditions).&lt;br /&gt;
*&#039;&#039;&#039;hide_groupdescr_allinone:&#039;&#039;&#039;{{NewIn|1.85}} This setting is relevant for all-in-one surveys using conditions . When this is set to true the group name and description is hidden if all questions in the group are hidden. (Default: true  - hide group name and description when all questions in the group are hidden by conditions)&lt;br /&gt;
*&#039;&#039;&#039;showpopups:&#039;&#039;&#039;  Show popup messages if mandatory or conditional questions have not been answered correctly. 1=Show popup message (default), 0=Show message on page instead, -1=Do not show the message at all (in this case, users will still see the question-specific tips indicating which questions must be answered).&lt;br /&gt;
&lt;br /&gt;
=Development and debugging= &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;debug:&#039;&#039;&#039; With this setting you set the PHP error reporting to E_ALL. That means every little notice, warning or error with the script is shown. This setting should be only switched to 1 if you are trying to debug the application for any reason, if you are a developer switch it to 2. Don&#039;t switch it to 1 or 2 in production since it might cause path disclosure. (Default: 0) &lt;br /&gt;
*&#039;&#039;&#039;debugsql:&#039;&#039;&#039; Activate this setting if you want to display all SQL queries executed for the script on the bottom of each page. Very useful for optimizing the number of queries&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
If you experience an error in the application, we strongly recommend to acivate the debug setting so you usually get some more detailed error that you can submit with the bug report:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
    &#039;config&#039;=&amp;gt;array(&lt;br /&gt;
        &#039;debug&#039;=&amp;gt;2,&lt;br /&gt;
        &#039;debugsql&#039;=&amp;gt;0,&lt;br /&gt;
    )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Email Settings= &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
Note: All these settings in this section are overridden in the [[Global settings]] dialog{{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;emailmethod:&#039;&#039;&#039;  This determines how E-mail messages are being sent. The following options are available:&lt;br /&gt;
**&#039;&#039;&#039;mail:&#039;&#039;&#039; use internal PHP mailer&lt;br /&gt;
**&#039;&#039;&#039;sendmail:&#039;&#039;&#039; use sendmail mailer&lt;br /&gt;
**&#039;&#039;&#039;smtp:&#039;&#039;&#039;use SMTP relaying. Use this setting when you are running LimeSurvey on a host that is not your mail server.&lt;br /&gt;
*&#039;&#039;&#039;emailsmtphost:&#039;&#039;&#039; If you use &#039;smtp&#039; as $emailmethod then you have to put your SMTP-server here. If you are using Google mail you might have to add the port number like $emailsmtphost = &#039;smtp.gmail.com:465&#039;;&lt;br /&gt;
*&#039;&#039;&#039;emailsmtpuser:&#039;&#039;&#039; If your SMTP-server needs authentication then set this to your user name, otherwise it must be blank.&lt;br /&gt;
*&#039;&#039;&#039;emailsmtppassword:&#039;&#039;&#039; If your SMTP-server needs authentication then set this to your password, otherwise it must be blank.&lt;br /&gt;
*&#039;&#039;&#039;emailsmtpssl:&#039;&#039;&#039; Set this to &#039;ssl&#039; or &#039;tls&#039; to use SSL/TLS for SMTP connection&lt;br /&gt;
*&#039;&#039;&#039;maxemails:&#039;&#039;&#039; When sending invitations or reminders to survey participants, this setting is used to determine how many emails can be sent in one bunch. Different web servers have different email capacities, and if your script takes too long to send a bunch of emails, the script could time out and cause errors. Most web servers can send 100 emails at a time within the default 30 second time limit for a PHP script. If you get script timeout errors when sending large numbers of emails, reduce the number in this setting.  Clicking the &#039;send email invitation&#039; button on the token control toolbar, (not the button on the right of each token), sends the maxemails number of invitations, then displays a list of the addresses sent to and a warning that &amp;quot;There are more emails pending than could be sent in one batch. Continue sending emails by clicking below. There are ### emails still to be sent.&amp;quot; and provides a &amp;quot;continue button&amp;quot; to proceed with the next batch. I.e., the user determines when to send the next batch after each batch gets emailed.  It is not necessary to wait with this screen active.  The admin could log off and come back at a later time to send the next batch of invites.&lt;br /&gt;
&lt;br /&gt;
= Statistics and Response Browsing= &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;usejpgraph:&#039;&#039;&#039; {{ObsoleteIn|1.8}} The [http://www.aditus.nu/jpgraph/ JPGraph-library] lets you display the results of your survey in the statistics part of LimeSurvey  in bar- and pie charts. If you have a correctly configured jpgraph class set up on your server, you can turn this feature on or off (1=on, 0=off). Please have a look, every version of PHP needs another version of JPGraph! This feature is currently in development, so expect a few weird outcomes.&lt;br /&gt;
*&#039;&#039;&#039;jpgraphdir:&#039;&#039;&#039; {{ObsoleteIn|1.8}} The physical disk location of the jpgraph class scripts. This setting is only required if $usejpgraph is equal to 1.&lt;br /&gt;
*&#039;&#039;&#039;jpgraphfont:&#039;&#039;&#039; {{ObsoleteIn|1.8}} The font to use with graphs. A failsafe setting would be &amp;quot;FF_FONT1&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;embedded:&#039;&#039;&#039;{{ObsoleteIn|2.0}} If you want to integrate LimeSurvey into another page then you can turn off sending HTML headers by using this setting and point instead to the header method of a custom function. This is a dirty hack but should work for a quick integration.&lt;br /&gt;
*&#039;&#039;&#039;filterout_incomplete_answers:&#039;&#039;&#039; Control the default behaviour of  filtering incomplete answers when browsing or analyzing responses. For a discussion on incomplete Responses see [[Browsing survey results]]. Since these records can corrupt the statistics, an option is given to switch this filter on or off in several GUI forms. This parameter config.php is just the default state for the incomplete answer filter. The following options are available:&lt;br /&gt;
**&#039;&#039;show&#039;&#039;: Show both complete and incomplete answers&lt;br /&gt;
**&#039;&#039;filter&#039;&#039;: Show only complete answers&lt;br /&gt;
**&#039;&#039;incomplete&#039;&#039;: Show only incomplete answers&lt;br /&gt;
*&#039;&#039;&#039;strip_query_from_referer_url&#039;&#039;&#039;: This setting determine if the referrer URL saves parameter or not. Default value is &amp;quot;false&amp;quot; (in this case referrer URL saves all parameter). Alternatively this value can be set to &amp;quot;true&amp;quot; and the parameter part of the referrer URL will be removed.&lt;br /&gt;
*&#039;&#039;&#039;showaggregateddata:&#039;&#039;&#039; {{NewIn|1.8}} When activated there are additional values like arithmetic mean and standard deviation at statistics. Furthermore data is aggregated to get a faster overview e.g. results of scale 1+2 and 4+5 are added to have a general ranking like &amp;quot;good&amp;quot; (1/2), &amp;quot;average&amp;quot; (3) and &amp;quot;bad&amp;quot; (4/5). This only affects question types &amp;quot;A&amp;quot; (5 point array) and &amp;quot;5&amp;quot; (5 point choice).&lt;br /&gt;
* &#039;&#039;&#039;PDF Export Settings:&#039;&#039;&#039; {{NewIn|1.85}} This feature activates PDF export for printable survey and Print Answers. The PDF export is totally experimental. The output is mostly ugly. At this point no support can be given - if you want to help to fix it please get in touch with us.&lt;br /&gt;
**usepdfexport: Set 0 to disable; 1 to enable&lt;br /&gt;
**pdfdefaultfont: Default font for the pdf Export&lt;br /&gt;
**alternatepdffontfile: an array with key for language and specific font for this language can be replaced or just updated .&lt;br /&gt;
**pdffontsize: Fontsize for normal text; Surveytitle is +4; grouptitle is +2&lt;br /&gt;
**notsupportlanguages = array(&#039;zh-Hant-TW&#039;,&#039;zh-Hant-HK&#039;,&#039;zh-Hans&#039;,&#039;ja&#039;,&#039;th&#039;);&lt;br /&gt;
**pdforientation: Set L for Landscape or P for portrait format&lt;br /&gt;
*&#039;&amp;quot;Graph setting&amp;quot;&#039;&lt;br /&gt;
** chartfontfile : Font file to be used : must be in the server font directory or ./fonts directory&lt;br /&gt;
** alternatechartfontfile : an array with key for language and specific font for this language can be replaced or just updated .&lt;br /&gt;
*&#039;&#039;&#039;showsgqacode:&#039;&#039;&#039; {{NewIn|1.91}} This setting is used at the printable survey feature and defaults to &#039;&#039;false&#039;&#039;. If you set &#039;&#039;showsgqacode = true;&#039;&#039; the IDs for each question - and answer if applicable - will be shown; these IDs match the column heading at the Lime_survey_12345 table which holds the answer data for a certain survey. These Ids can be used for a code book for manual database queries.&lt;br /&gt;
&lt;br /&gt;
= [[LDAP settings]]= &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
As this is an extensive topic we have moved [[LDAP settings]] to [[LDAP settings|another page.]]&lt;br /&gt;
&lt;br /&gt;
= Authentication= &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
Starting with LimeSurvey 2.05 authentication will be handled by plugins. Because of this the information below might be outdated. See [[Plugins]] for most up to date information.&lt;br /&gt;
&lt;br /&gt;
== Delegate Authentication to the Webserver== &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
System Administrators may want to have their &#039;&#039;&#039;survey administrators&#039;&#039;&#039; authenticated against a central authentication system (Active Directory, openLdap, Radius, ...) rather than using the internal LimeSurvey database. An easy way to do this is to setup your Webserver software to use this external authentication system, and then ask LimeSurvey to trust the user identity reported by the webserver. In order to enable this feature you have to:&lt;br /&gt;
* set &#039;&#039;&#039;auth_webserver&#039;&#039;&#039; to true in config.php&lt;br /&gt;
* enable authentication at the webserver side&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
Please note that:&lt;br /&gt;
* LimeSurvey will then bypass its own authentication process (by using the login name reported by the webserver without asking for a password)&lt;br /&gt;
* this can only replace the LimeSurvey GUI authentication system, &#039;&#039;&#039;not the survey invitation system&#039;&#039;&#039; (participant interface)&lt;br /&gt;
&lt;br /&gt;
== Authentication Delegation with no automatic user import== &amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Please note however than &amp;lt;u&amp;gt;by default Authentication Delegation doesn&#039;t bypass the LimeSurvey authorization system&amp;lt;/u&amp;gt;: this means that, even if you don&#039;t have to manage passwords in LimeSurvey, you still need to define the users in the LimeSurvey database and assign them the correct set of rights in order to let them access survey resources.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
A user is then granted access to LimeSurvey if and only if:&lt;br /&gt;
* he has been authenticated to the webserver&lt;br /&gt;
* his login name is defined as a user in the LimeSurvey user database (the user is then granted the privileges of the user defined in the LimeSurvey user database).&lt;br /&gt;
&lt;br /&gt;
== Authentication Delegation with automatic user import== &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
When managing huge user database, it is sometimes easier to auto-import user in the LimeSurvey database.&lt;br /&gt;
*&#039;&#039;&#039;auth_webserver_autocreate_user&#039;&#039;&#039;: if set to true LimeSurvey will try to autoimport users authenticated by the webserver but not already in its users&#039; DB&lt;br /&gt;
*&#039;&#039;&#039;auth_webserver_autocreate_profile&#039;&#039;&#039;: an array describing the default profile that will be assigned to the user (including fake First and Last name, email, privileges)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
If you want to customize the user profile so that it matches the logged-in user, you&#039;ll have to develop a simple function called &#039;&#039;&#039;hook_get_autouserprofile&#039;&#039;&#039;: with this function you can retrieve from a central User account database (for instance an LDAP directory), the true First&amp;amp;Last; names and email of a particular user. You can even customize his privileges on the system based on his groups on the external DB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;hook_get_auth_webserver_profile&#039;&#039;&#039; function takes the user login name as the only argument and can return:&lt;br /&gt;
* False or an empty array: in this case the user is denied access to LimeSurvey&lt;br /&gt;
* an array containing all common userprofile entries as described in the  &#039;&#039;&#039;$WebserverAuth_autouserprofile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;function hook_get_auth_webserver_profile($user_name)&lt;br /&gt;
{&lt;br /&gt;
     // Retrieve user&#039;s data from your database backend (for instance LDAP) here&lt;br /&gt;
     ... get $user_name_from_backend&lt;br /&gt;
     ... get $user_email_from_backend&lt;br /&gt;
     ... get $user_lang_from_backend&lt;br /&gt;
     ... from groups defined in your backend set $user_admin_status_frombackend_0_or_1&lt;br /&gt;
     return Array(&lt;br /&gt;
                     &#039;full_name&#039; =&amp;gt; &amp;quot;$user_name_from_backend&amp;quot;,&lt;br /&gt;
                     &#039;email&#039; =&amp;gt; &amp;quot;$user_email_from_backend&amp;quot;,&lt;br /&gt;
                     &#039;lang&#039; =&amp;gt; &#039;$user_lang_from_backend&#039;,&lt;br /&gt;
                     &#039;htmleditormode&#039; =&amp;gt; &#039;inline&#039;,&lt;br /&gt;
                     &#039;templatelist&#039; =&amp;gt; &#039;default,basic,MyOrgTemplate&#039;,&lt;br /&gt;
                     &#039;create_survey&#039; =&amp;gt; 1,&lt;br /&gt;
                     &#039;create_user&#039; =&amp;gt; 0,&lt;br /&gt;
                     &#039;delete_user&#039; =&amp;gt; 0,&lt;br /&gt;
                     &#039;superadmin&#039; =&amp;gt; $user_admin_status_frombackend_0_or_1,&lt;br /&gt;
                     &#039;configurator&#039; =&amp;gt;0,&lt;br /&gt;
                     &#039;manage_template&#039; =&amp;gt; 0,&lt;br /&gt;
                     &#039;manage_label&#039; =&amp;gt; 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
     // If user should be denied access, return an empty array&lt;br /&gt;
&lt;br /&gt;
     // return Array();&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User name mapping== &amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
In case some users have an external user name that is different from their LimeSurvey user name, you may find useful to use a user name mapping. This is done in LimeSurvey by using the &#039;&#039;&#039;auth_webserver_user_map&#039;&#039;&#039; parameter. For instance imagine you don&#039;t have an &#039;admin&#039; username defined in your external authentication database. Then in order to login to LimeSurvey as admin, you&#039;ll have to map your external username let&#039;s call it &#039;myname&#039; to the admin login name ine LimeSurvey. The corresponding setup is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;$config[&#039;auth_webserver_user_map&#039;] = Array (&#039;myname&#039; =&amp;gt; &#039;admin&#039;);&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
After a successful authentication with the &#039;myname&#039; login and password to the webserver, you&#039;ll be directly authorized to use LimeSurvey as the &#039;admin&#039; user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
This obviously has serious security implications, so use it with care, and please protect your config.php from write access by the web server.&lt;br /&gt;
&lt;br /&gt;
== Use one time passwords== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
{{NewIn|1.81}} A user can open the LimeSurvey login at /limesurvey/admin and pass username and a one time password which was previously written into the users table (column one_time_pw) by an external application.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
This setting has to be turned on (&#039;&#039;&#039;use_one_time_passwords&#039;&#039;&#039; =&amp;gt; true) to enable the usage of one time passwords (default = false). More information can be found at [[Manage users#Use one-time passwords|&amp;quot;Manage Users&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
= Advanced Path Settings= &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;homeurl:&#039;&#039;&#039; This should be set to the URL location of your administration scripts. These are the scripts in the /limesurvey/admin folder. This should be set to the WEB URL location - for example &amp;quot;http://www.example.com/limesurvey/html/admin&amp;quot;. Don&#039;t add a trailing slash to this entry. The default setting in config.php attempts to detect the name of your server automatically using a php variable setting - {$_SERVER&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&#039;SERVER_NAME&#039;]}. In most cases you can leave this and just modify the remainder of this string to match the directory name you have put the LimeSurvey scripts in.&lt;br /&gt;
*&#039;&#039;&#039;publicurl:&#039;&#039;&#039; This should be set to the URL location of your &#039;public scripts&#039;. The public scripts are those located in the &amp;quot;limesurvey&amp;quot; folder (or whatever name you gave to the directory that all the other scripts and directories are kept in). &#039;&#039;&#039;This settings is available in config.php and is used when sending token email.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;tempurl:&#039;&#039;&#039; This should be set to the URL location of your &amp;quot;/limesurvey/tmp&amp;quot; directory - or a directory which you would like LimeSurvey to use to store temporary files, including uploads. This directory must be set to read &amp;amp; write for your webserver (e.g. chmod 755). &lt;br /&gt;
*&#039;&#039;&#039;imagefiles:&#039;&#039;&#039; By default you should leave this pointing to the URL location of /limesurvey/admin/images - where the images are installed initially. You may, however, prefer to move these images to another location and if so point this to the URL directory where they are stored.&lt;br /&gt;
*&#039;&#039;&#039;homedir:&#039;&#039;&#039; This should be set to the physical disk location of your administration scripts - for example &amp;quot;/home/usr/htdocs/limesurvey/admin&amp;quot;. Don&#039;t add a trailing slash to this entry. The default setting in config.php attempts to detect the default root path of all your documents using the php variable setting - {$_SERVER&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&#039;DOCUMENT_ROOT&#039;]}. In most cases you can leave this and just modify the remainder of this string to match the directory name you have put the LimeSurvey scripts in.&lt;br /&gt;
*&#039;&#039;&#039;publicdir:&#039;&#039;&#039; This should be set to the physical disk location of your &#039;public scripts&#039;.&lt;br /&gt;
*&#039;&#039;&#039;tempdir:&#039;&#039;&#039; This should be set to the physical disk location of your /limesurvey/tmp directory so that the script can read and write files.&lt;br /&gt;
*&#039;&#039;&#039;sCKEditorURL:&#039;&#039;&#039; url of the fckeditor script&lt;br /&gt;
*&#039;&#039;&#039;fckeditexpandtoolbar:&#039;&#039;&#039; defines if the FCKeditor toolbar should be opened by default&lt;br /&gt;
*&#039;&#039;&#039;pdfexportdir:&#039;&#039;&#039; Directory with the tcpdf.php extensiontcpdf.php&lt;br /&gt;
*&#039;&#039;&#039;pdffonts:&#039;&#039;&#039; Directory for the TCPDF fonts&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Regexaurus</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Optional_settings&amp;diff=72963</id>
		<title>Optional settings</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Optional_settings&amp;diff=72963"/>
		<updated>2017-03-31T22:56:00Z</updated>

		<summary type="html">&lt;p&gt;Regexaurus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=How to modify optional settings= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
The optional settings can only be found in the file /application/config/config-defaults.php of a standard installation - some of them are only used for first installation, some of them overriden in [[Global settings]]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
{{Alert|If you want to change these settings please do not change it in config-defaults.php but copy the particular setting/line over to /application/config/config.php in &amp;lt;nowiki&amp;gt;&#039;config&#039;=&amp;gt;array()&amp;lt;/nowiki&amp;gt; and change it there.}}&lt;br /&gt;
All settings in config.php overwrite the default values from config-defaults.php and some of these settings get overridden in the Global settings dialog{{NewIn|1.87}} . This way it is much easier to upgrade your installation at a later time!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
To update/add the LimeSurvey settings in /application/config/config.php you have to update the config array:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
    &#039;config&#039;=&amp;gt;array(&lt;br /&gt;
        &#039;debug&#039;=&amp;gt;0,&lt;br /&gt;
        &#039;debugsql&#039;=&amp;gt;0,&lt;br /&gt;
        &#039;LimeSurveySetting&#039;=&amp;gt;&#039;New value&#039;,&lt;br /&gt;
    )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Yii settings= &amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
LimeSurvey uses the Yii framework and Yii has its own configuration parameters in the application/config/config.php file. You can access some specific configuration settings of LimeSurvey also via the Yii configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
The Yii-specific settings are set in the components array:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
    &#039;components&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;db&#039; =&amp;gt; array(&lt;br /&gt;
            ....&lt;br /&gt;
        ),&lt;br /&gt;
        &#039;Specific settings&#039;=&amp;gt;array(&lt;br /&gt;
            ....&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Database settings== &amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
The database settings are written by the installer to the config.php file when you install LimeSurvey for the first time. If needed you can update this part of the config. Please remember that you do this at your own risk.&lt;br /&gt;
See also the [[http://www.yiiframework.com/doc/blog/1.1/en/prototype.database#establishing-database-connection Yii documentation]], and please remember that LimeSurvey supports only the database types mysql,pgsql,dblib,mssql, and sqlsrv.&lt;br /&gt;
&lt;br /&gt;
==Session settings== &amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
You can set some session parameters in config.php, the first example is the session in the database. You can uncomment/add the part needed in config.php. See [[http://www.yiiframework.com/doc/api/1.1/CHttpSession Yii Documentation]] for other settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
If you use SSL (&#039;https&#039;) for your LimeSurvey installation adding the following lines to your config.php will increase session security:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Set the cookie via SSL&lt;br /&gt;
        &#039;session&#039; =&amp;gt; array (&lt;br /&gt;
            &#039;cookieParams&#039; =&amp;gt; array(&lt;br /&gt;
                    &#039;secure&#039; =&amp;gt; true, // use SSL for cookies&lt;br /&gt;
                    &#039;httponly&#039; =&amp;gt; true // Cookies may not be used by other protocols - experimental&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
If you want to fix the domain for a cookie use this in config.php:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Set the domain for cookie&lt;br /&gt;
        &#039;session&#039; =&amp;gt; array (&lt;br /&gt;
            &#039;cookieParams&#039; =&amp;gt; array(&lt;br /&gt;
                    &#039;domain&#039; =&amp;gt; &#039;.example.org&#039;,&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Request settings== &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
The request settings are important, but the default settings are already optimized for LimeSurvey usage. See [http://www.yiiframework.com/doc/api/1.1/CHttpRequest Yii Documentation] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
Some example you can modify in your LimeSurvey configuration:&amp;lt;sup&amp;gt;At your own risk&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Disable CSRF protection&lt;br /&gt;
        &#039;request&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;enableCsrfValidation&#039;=&amp;gt;false,    &lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Enforce a certain base URL &lt;br /&gt;
        &#039;request&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;hostInfo&#039; =&amp;gt; &#039;http://www.example.org/&#039;  &lt;br /&gt;
            ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;        // Set the cookie domain name for CSRF protection&lt;br /&gt;
        &#039;request&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;csrfCookie&#039; =&amp;gt; array( &#039;domain&#039; =&amp;gt; &#039;.example.com&#039; )&lt;br /&gt;
        ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
If you need updating only the url for token email : you can set your [[Optional_settings#Advanced_Path_Settings|publicurl]] in your config.php file.&lt;br /&gt;
&lt;br /&gt;
==URL settings== &amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
To have the same behaviour like the old &#039;Fancy URL&#039; feature , you can update the urlManager&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;       // Use short URL&lt;br /&gt;
		&#039;urlManager&#039; =&amp;gt; array(&lt;br /&gt;
			&#039;urlFormat&#039; =&amp;gt; &#039;path&#039;,&lt;br /&gt;
			&#039;showScriptName&#039; =&amp;gt; false,&lt;br /&gt;
		),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Adding .html after the survey id&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;       // Use short URL&lt;br /&gt;
		&#039;urlManager&#039; =&amp;gt; array(&lt;br /&gt;
			&#039;urlFormat&#039; =&amp;gt; &#039;path&#039;,&lt;br /&gt;
			&#039;rules&#039; =&amp;gt; array (&lt;br /&gt;
			    &#039;&amp;lt;sid:\d+&amp;gt;&#039; =&amp;gt; array(&#039;survey/index&#039;,&#039;urlSuffix&#039;=&amp;gt;&#039;.html&#039;,&#039;matchValue&#039;=&amp;gt;true),&lt;br /&gt;
			 ),&lt;br /&gt;
			&#039;showScriptName&#039; =&amp;gt; false,&lt;br /&gt;
		),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Find more information in the [http://www.yiiframework.com/doc/guide/1.1/en/topics.url Yii documentation].&lt;br /&gt;
&lt;br /&gt;
=General settings= &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;sitename&#039;&#039;&#039;: Give your survey site a name. This name will appear in the survey list overview and in the administration header. This setting is used only as default value and overridden in the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;siteadminemail:&#039;&#039;&#039; This is the default email address of the site administrator and used for system messages and contact options. This setting is used only as default value and overridden by the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;siteadminbounce:&#039;&#039;&#039; This is the email address where bounced emails will be sent to. This setting is used only as default value and overridden by the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;siteadminname:&#039;&#039;&#039; The real name of the site administrator. This setting is used only as default value and overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;proxy_host_name:&#039;&#039;&#039; This is the host name of your proxy server (if you are behind a proxy and want to update LimeSurvey using ComfortUpdate) {{NewIn|2.05}}.&lt;br /&gt;
*&#039;&#039;&#039;proxy_host_port:&#039;&#039;&#039; This is the port of your proxy server (if you are behind a proxy and want to update LimeSurvey  using ComfortUpdate) {{NewIn|2.05}}.&lt;br /&gt;
&lt;br /&gt;
= Security= &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;maxLoginAttempt&#039;&#039;&#039;: If the user enters password incorrectly this is the number of attempts before the users is locked out by IP address. &lt;br /&gt;
* &#039;&#039;&#039;timeOutTime&#039;&#039;&#039;:  If the user enters password incorrectly for  &amp;lt;maxLoginAttempt&amp;gt; set the lock out time (in seconds).&lt;br /&gt;
* &#039;&#039;&#039;surveyPreview_require_Auth&#039;&#039;&#039;: true by default. If you set this to false any person can test your survey using the survey URL - without logging in to the administration and without having to activate the survey first. This setting is a default value and can be overridden in the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
* &#039;&#039;&#039;usercontrolSameGroupPolicy&#039;&#039;&#039; :  Set to true by default. By default non-admin users defined in the LimeSurvey management interface will only be able to see users they create or users that belongs to at least one same group. This setting is a default value and can be overridden in the [[Global settings]] dialog.&lt;br /&gt;
*&#039;&#039;&#039;filterxsshtml:&#039;&#039;&#039; This setting enables filtering of suspicious html tags in survey, group, questions and answer texts in the administration interface. Only leave this to &#039;false&#039; if you absolutely trust the users you created for the administration of  LimeSurvey and if you want to allow these users to be able to use Javascript, Flash Movies, etc. &amp;lt;span class=&amp;quot;warning&amp;quot;&amp;gt;Super admin never have their HTML filtered&amp;lt;/span&amp;gt;.  This setting is a default value and can be overridden in the [[Global settings]] dialog {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;demoModeOnly:&#039;&#039;&#039; If this option is set to true, then LimeSurvey will go into demo mode. The demo mode changes the following things:&lt;br /&gt;
** Disables changing of the admin user&#039;s details and password&lt;br /&gt;
** Disables uploading files on the template editor&lt;br /&gt;
** Disables sending email invitations and reminders&lt;br /&gt;
** Disables doing a database dump&lt;br /&gt;
** Disables the ability to modify the following global settings: Site name, Default language, Default Htmleditor Mode, XSS filter&lt;br /&gt;
&lt;br /&gt;
= Resources= &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;sessionlifetime:&#039;&#039;&#039; Defines the time in seconds after which a survey session expires. It applies only if you are using database sessions. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;memorylimit:&#039;&#039;&#039; This sets how much memory LimeSurvey can access. &#039;128M&#039; is the minimum (M=Megabyte) recommended. If you receive time out errors or have problems generating statistics or exporting files raise this limit to &#039;256M&#039; or higher. If your webserver has set a higher limit then this setting will be ignored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;warningbox&amp;quot;&amp;gt;Please mind that such local settings by an application can always be overruled by global server settings.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
To increase the memory limit to 128M you could also try adding:&lt;br /&gt;
*memory_limit = 128M to your server&#039;s main php.ini file (recommended, if you have access)&lt;br /&gt;
*memory_limit = 128M to a php.ini file in the LimeSurvey root&lt;br /&gt;
*php_value memory_limit 128M in a .htaccess file in the LimeSurvey root&lt;br /&gt;
&lt;br /&gt;
=Appearance= &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;lwcdropdowns:&#039;&#039;&#039;{{ObsoleteIn|2.0}} This can be set to either &amp;quot;L&amp;quot; or &amp;quot;R&amp;quot;. Setting it to &amp;quot;R&amp;quot; will result in &#039;List with Comment&#039; questions being displayed as radio buttons, whereas &amp;quot;L&amp;quot; will result in &#039;List with Comment&#039; questions being displayed in a &#039;dropdown&#039; list box .&lt;br /&gt;
*&#039;&#039;&#039;dropdownthreshold:&#039;&#039;&#039;&#039;{{ObsoleteIn|2.50}} When you have selected &amp;quot;R&amp;quot; for $dropdowns, this allows you to set a maximum number of options that will display as radio buttons, before converting back to a dropdown list. If you have a question that has a large number of options, displaying them all as radio buttons can look unweildy, and be counter-intuitive to users. Setting this to a maximum of, say 25 (which is the default) means that large lists are easier for the survey participant to use.&lt;br /&gt;
*&#039;&#039;&#039;repeatheadings:&#039;&#039;&#039; With the Array type question, often you&#039;ll have a lot of subquestions, which - when displayed on screen - take up more than one page. This setting lets you decide how many subquestions should be displayed before repeating the header information for the question. A good setting for this is around 15. If you don&#039;t want the headings to repeat at all, set this to 0. This setting is overridden in the [[Global settings]] dialog) {{NewIn|2.05}}.&lt;br /&gt;
*&#039;&#039;&#039;minrepeatheadings:&#039;&#039;&#039; The minimum number of remaining subquestions that are required before repeating the headings in Array questions.&lt;br /&gt;
*&#039;&#039;&#039;defaulttemplate:&#039;&#039;&#039; This setting specifys the default theme used for the &#039;public list&#039; of surveys. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;defaulthtmleditormode:&#039;&#039;&#039; Sets the default mode for integrated HTML editor. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}. Valid settings are:&lt;br /&gt;
** &#039;&#039;inline&#039;&#039;: Inline replacement of fields by an HTML editor. Slow but convenient and user friendly&lt;br /&gt;
** &#039;&#039;popup&#039;&#039;: Adds an icon that runs the HTML editor in a popup if needed. Faster, but HTML code is displayed in the form.&lt;br /&gt;
** &#039;&#039;none&#039;&#039;: No HTML editor&lt;br /&gt;
*&#039;&#039;&#039;column_style:&#039;&#039;&#039; Defines how columns are rendered for survey answers when using [[QS:Display_columns|display_columns]]. Valid settings are: &lt;br /&gt;
** &#039;css&#039; using one of the various CSS only methods for creating columns (see template style sheet for details).&lt;br /&gt;
** &#039;ul&#039; using multiple floated unordered lists. (default)&lt;br /&gt;
** &#039;table&#039; using conventional tables based layout.&lt;br /&gt;
** NULL disable the use of columns&lt;br /&gt;
&lt;br /&gt;
=Language &amp;amp; time= &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;defaultlang:&#039;&#039;&#039; This should be set to the default language to be used in your administration scripts, and also the default setting for language in the public survey list. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;timeadjust:&#039;&#039;&#039; If your web server is in a different time zone to the location where your surveys will be based, put the difference between your server and your home time zone here. For example, I live in Australia but use a US web server. The web server is 14 hours behind my local time zone. So my setting here is &amp;quot;14&amp;quot;. In other words, it adds 14 hours to the web servers time. This setting is particularly important when surveys timestamp the responses. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}.&lt;br /&gt;
&lt;br /&gt;
=Survey behavior= &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;deletenonvalues:&#039;&#039;&#039; Use this feature with caution.  By default (a value of 1), irrelevant questions are NULLed in the database.  This ensures that the data in your database is internally consistent.  However, there are rare cases where you might want to hold onto irrelevant values, in which case you can set the value to 0.  Say you ask the person his gender, and he accidentally says &#039;female&#039; and then answers some female-specific questions (questions that are conditioned on being female, so are only relevant for women).  Then, he realizes his mistake, backs up, sets the gender to &#039;male&#039;, and continues with the survey.  Now, the female-specific questions are irrelevant.  If $deletenonvalues==1, those irrelevant values will be cleared (NULLed) in the database.  If $deletenonvalues==0, his erroneous answers will not be deleted, so they will still be present in the database when you analyze it.&lt;br /&gt;
*&#039;&#039;&#039;shownoanswer:&#039;&#039;&#039; When a question of a radio button/select type that contains editable answers (ie: List, Array questions) is not mandatory and shownoanswer is set to 1, an additional &#039;No answer&#039; entry is shown - so that participants may choose to not answer the question. Some people prefer this not to be available. This setting is overridden in the [[Global settings]] dialog) {{NewIn|1.87}}. Valid values are:&lt;br /&gt;
**0 = no , &lt;br /&gt;
**1 = yes , &lt;br /&gt;
**2 = survey admin can choose.  &lt;br /&gt;
*&#039;&#039;&#039;printanswershonorsconditions:&#039;&#039;&#039; This setting determines if the printanswers feature will display entries from questions that were hidden by conditions-branching (Default: 1 = hide answers from questions hidden by conditions).&lt;br /&gt;
*&#039;&#039;&#039;hide_groupdescr_allinone:&#039;&#039;&#039;{{NewIn|1.85}} This setting is relevant for all-in-one surveys using conditions . When this is set to true the group name and description is hidden if all questions in the group are hidden. (Default: true  - hide group name and description when all questions in the group are hidden by conditions)&lt;br /&gt;
*&#039;&#039;&#039;showpopups:&#039;&#039;&#039;  Show popup messages if mandatory or conditional questions have not been answered correctly. 1=Show popup message (default), 0=Show message on page instead, -1=Do not show the message at all (in this case, users will still see the question-specific tips indicating which questions must be answered).&lt;br /&gt;
&lt;br /&gt;
=Development and debugging= &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;debug:&#039;&#039;&#039; With this setting you set the PHP error reporting to E_ALL. That means every little notice, warning or error with the script is shown. This setting should be only switched to 1 if you are trying to debug the application for any reason, if you are a developer switch it to 2. Don&#039;t switch it to 1 or 2 in production since it might cause path disclosure. (Default: 0) &lt;br /&gt;
*&#039;&#039;&#039;debugsql:&#039;&#039;&#039; Activate this setting if you want to display all SQL queries executed for the script on the bottom of each page. Very useful for optimizing the number of queries&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
If you experience an error in the application, we strongly recommend to acivate the debug setting so you usually get some more detailed error that you can submit with the bug report:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
    &#039;config&#039;=&amp;gt;array(&lt;br /&gt;
        &#039;debug&#039;=&amp;gt;2,&lt;br /&gt;
        &#039;debugsql&#039;=&amp;gt;0,&lt;br /&gt;
    )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Email Settings= &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
Note: All these settings in this section are overridden in the [[Global settings]] dialog{{NewIn|1.87}}.&lt;br /&gt;
*&#039;&#039;&#039;emailmethod:&#039;&#039;&#039;  This determines how E-mail messages are being sent. The following options are available:&lt;br /&gt;
**&#039;&#039;&#039;mail:&#039;&#039;&#039; use internal PHP mailer&lt;br /&gt;
**&#039;&#039;&#039;sendmail:&#039;&#039;&#039; use sendmail mailer&lt;br /&gt;
**&#039;&#039;&#039;smtp:&#039;&#039;&#039;use SMTP relaying. Use this setting when you are running LimeSurvey on a host that is not your mail server.&lt;br /&gt;
*&#039;&#039;&#039;emailsmtphost:&#039;&#039;&#039; If you use &#039;smtp&#039; as $emailmethod then you have to put your SMTP-server here. If you are using Google mail you might have to add the port number like $emailsmtphost = &#039;smtp.gmail.com:465&#039;;&lt;br /&gt;
*&#039;&#039;&#039;emailsmtpuser:&#039;&#039;&#039; If your SMTP-server needs authentication then set this to your user name, otherwise it must be blank.&lt;br /&gt;
*&#039;&#039;&#039;emailsmtppassword:&#039;&#039;&#039; If your SMTP-server needs authentication then set this to your password, otherwise it must be blank.&lt;br /&gt;
*&#039;&#039;&#039;emailsmtpssl:&#039;&#039;&#039; Set this to &#039;ssl&#039; or &#039;tls&#039; to use SSL/TLS for SMTP connection&lt;br /&gt;
*&#039;&#039;&#039;maxemails:&#039;&#039;&#039; When sending invitations or reminders to survey participants, this setting is used to determine how many emails can be sent in one bunch. Different web servers have different email capacities, and if your script takes too long to send a bunch of emails, the script could time out and cause errors. Most web servers can send 100 emails at a time within the default 30 second time limit for a PHP script. If you get script timeout errors when sending large numbers of emails, reduce the number in this setting.  Clicking the &#039;send email invitation&#039; button on the token control toolbar, (not the button on the right of each token), sends the maxemails number of invitations, then displays a list of the addresses sent to and a warning that &amp;quot;There are more emails pending than could be sent in one batch. Continue sending emails by clicking below. There are ### emails still to be sent.&amp;quot; and provides a &amp;quot;continue button&amp;quot; to proceed with the next batch. I.e., the user determines when to send the next batch after each batch gets emailed.  It is not necessary to wait with this screen active.  The admin could log off and come back at a later time to send the next batch of invites.&lt;br /&gt;
&lt;br /&gt;
= Statistics and Response Browsing= &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;usejpgraph:&#039;&#039;&#039; {{ObsoleteIn|1.8}} The [http://www.aditus.nu/jpgraph/ JPGraph-library] lets you display the results of your survey in the statistics part of LimeSurvey  in bar- and pie charts. If you have a correctly configured jpgraph class set up on your server, you can turn this feature on or off (1=on, 0=off). Please have a look, every version of PHP needs another version of JPGraph! This feature is currently in development, so expect a few weird outcomes.&lt;br /&gt;
*&#039;&#039;&#039;jpgraphdir:&#039;&#039;&#039; {{ObsoleteIn|1.8}} The physical disk location of the jpgraph class scripts. This setting is only required if $usejpgraph is equal to 1.&lt;br /&gt;
*&#039;&#039;&#039;jpgraphfont:&#039;&#039;&#039; {{ObsoleteIn|1.8}} The font to use with graphs. A failsafe setting would be &amp;quot;FF_FONT1&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;embedded:&#039;&#039;&#039;{{ObsoleteIn|2.0}} If you want to integrate LimeSurvey into another page then you can turn off sending HTML headers by using this setting and point instead to the header method of a custom function. This is a dirty hack but should work for a quick integration.&lt;br /&gt;
*&#039;&#039;&#039;filterout_incomplete_answers:&#039;&#039;&#039; Control the default behaviour of  filtering incomplete answers when browsing or analyzing responses. For a discussion on incomplete Responses see [[Browsing survey results]]. Since these records can corrupt the statistics, an option is given to switch this filter on or off in several GUI forms. This parameter config.php is just the default state for the incomplete answer filter. The following options are available:&lt;br /&gt;
**&#039;&#039;show&#039;&#039;: Show both complete and incomplete answers&lt;br /&gt;
**&#039;&#039;filter&#039;&#039;: Show only complete answers&lt;br /&gt;
**&#039;&#039;incomplete&#039;&#039;: Show only incomplete answers&lt;br /&gt;
*&#039;&#039;&#039;strip_query_from_referer_url&#039;&#039;&#039;: This setting determine if the referrer URL saves parameter or not. Default value is &amp;quot;false&amp;quot; (in this case referrer URL saves all parameter). Alternatively this value can be set to &amp;quot;true&amp;quot; and the parameter part of the referrer URL will be removed.&lt;br /&gt;
*&#039;&#039;&#039;showaggregateddata:&#039;&#039;&#039; {{NewIn|1.8}} When activated there are additional values like arithmetic mean and standard deviation at statistics. Furthermore data is aggregated to get a faster overview e.g. results of scale 1+2 and 4+5 are added to have a general ranking like &amp;quot;good&amp;quot; (1/2), &amp;quot;average&amp;quot; (3) and &amp;quot;bad&amp;quot; (4/5). This only affects question types &amp;quot;A&amp;quot; (5 point array) and &amp;quot;5&amp;quot; (5 point choice).&lt;br /&gt;
* &#039;&#039;&#039;PDF Export Settings:&#039;&#039;&#039; {{NewIn|1.85}} This feature activates PDF export for printable survey and Print Answers. The PDF export is totally experimental. The output is mostly ugly. At this point no support can be given - if you want to help to fix it please get in touch with us.&lt;br /&gt;
**usepdfexport: Set 0 to disable; 1 to enable&lt;br /&gt;
**pdfdefaultfont: Default font for the pdf Export&lt;br /&gt;
**alternatepdffontfile: an array with key for language and specific font for this language can be replaced or just updated .&lt;br /&gt;
**pdffontsize: Fontsize for normal text; Surveytitle is +4; grouptitle is +2&lt;br /&gt;
**notsupportlanguages = array(&#039;zh-Hant-TW&#039;,&#039;zh-Hant-HK&#039;,&#039;zh-Hans&#039;,&#039;ja&#039;,&#039;th&#039;);&lt;br /&gt;
**pdforientation: Set L for Landscape or P for portrait format&lt;br /&gt;
*&#039;&amp;quot;Graph setting&amp;quot;&#039;&lt;br /&gt;
** chartfontfile : Font file to be used : must be in the server font directory or in ./fot directory&lt;br /&gt;
** alternatechartfontfile : an array with key for language and specific font for this language can be replaced or just updated .&lt;br /&gt;
*&#039;&#039;&#039;showsgqacode:&#039;&#039;&#039; {{NewIn|1.91}} This setting is used at the printable survey feature and defaults to &#039;&#039;false&#039;&#039;. If you set &#039;&#039;showsgqacode = true;&#039;&#039; the IDs for each question - and answer if applicable - will be shown; these IDs match the column heading at the Lime_survey_12345 table which holds the answer data for a certain survey. These Ids can be used for a code book for manual database queries.&lt;br /&gt;
&lt;br /&gt;
= [[LDAP settings]]= &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
As this is an extensive topic we have moved [[LDAP settings]] to [[LDAP settings|another page.]]&lt;br /&gt;
&lt;br /&gt;
= Authentication= &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
Starting with LimeSurvey 2.05 authentication will be handled by plugins. Because of this the information below might be outdated. See [[Plugins]] for most up to date information.&lt;br /&gt;
&lt;br /&gt;
== Delegate Authentication to the Webserver== &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
System Administrators may want to have their &#039;&#039;&#039;survey administrators&#039;&#039;&#039; authenticated against a central authentication system (Active Directory, openLdap, Radius, ...) rather than using the internal LimeSurvey database. An easy way to do this is to setup your Webserver software to use this external authentication system, and then ask LimeSurvey to trust the user identity reported by the webserver. In order to enable this feature you have to:&lt;br /&gt;
* set &#039;&#039;&#039;auth_webserver&#039;&#039;&#039; to true in config.php&lt;br /&gt;
* enable authentication at the webserver side&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
Please note that:&lt;br /&gt;
* LimeSurvey will then bypass its own authentication process (by using the login name reported by the webserver without asking for a password)&lt;br /&gt;
* this can only replace the LimeSurvey GUI authentication system, &#039;&#039;&#039;not the survey invitation system&#039;&#039;&#039; (participant interface)&lt;br /&gt;
&lt;br /&gt;
== Authentication Delegation with no automatic user import== &amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Please note however than &amp;lt;u&amp;gt;by default Authentication Delegation doesn&#039;t bypass the LimeSurvey authorization system&amp;lt;/u&amp;gt;: this means that, even if you don&#039;t have to manage passwords in LimeSurvey, you still need to define the users in the LimeSurvey database and assign them the correct set of rights in order to let them access survey resources.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
A user is then granted access to LimeSurvey if and only if:&lt;br /&gt;
* he has been authenticated to the webserver&lt;br /&gt;
* his login name is defined as a user in the LimeSurvey user database (the user is then granted the privileges of the user defined in the LimeSurvey user database).&lt;br /&gt;
&lt;br /&gt;
== Authentication Delegation with automatic user import== &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
When managing huge user database, it is sometimes easier to auto-import user in the LimeSurvey database.&lt;br /&gt;
*&#039;&#039;&#039;auth_webserver_autocreate_user&#039;&#039;&#039;: if set to true LimeSurvey will try to autoimport users authenticated by the webserver but not already in its users&#039; DB&lt;br /&gt;
*&#039;&#039;&#039;auth_webserver_autocreate_profile&#039;&#039;&#039;: an array describing the default profile that will be assigned to the user (including fake First and Last name, email, privileges)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
If you want to customize the user profile so that it matches the logged-in user, you&#039;ll have to develop a simple function called &#039;&#039;&#039;hook_get_autouserprofile&#039;&#039;&#039;: with this function you can retrieve from a central User account database (for instance an LDAP directory), the true First&amp;amp;Last; names and email of a particular user. You can even customize his privileges on the system based on his groups on the external DB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;hook_get_auth_webserver_profile&#039;&#039;&#039; function takes the user login name as the only argument and can return:&lt;br /&gt;
* False or an empty array: in this case the user is denied access to LimeSurvey&lt;br /&gt;
* an array containing all common userprofile entries as described in the  &#039;&#039;&#039;$WebserverAuth_autouserprofile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;function hook_get_auth_webserver_profile($user_name)&lt;br /&gt;
{&lt;br /&gt;
     // Retrieve user&#039;s data from your database backend (for instance LDAP) here&lt;br /&gt;
     ... get $user_name_from_backend&lt;br /&gt;
     ... get $user_email_from_backend&lt;br /&gt;
     ... get $user_lang_from_backend&lt;br /&gt;
     ... from groups defined in your backend set $user_admin_status_frombackend_0_or_1&lt;br /&gt;
     return Array(&lt;br /&gt;
                     &#039;full_name&#039; =&amp;gt; &amp;quot;$user_name_from_backend&amp;quot;,&lt;br /&gt;
                     &#039;email&#039; =&amp;gt; &amp;quot;$user_email_from_backend&amp;quot;,&lt;br /&gt;
                     &#039;lang&#039; =&amp;gt; &#039;$user_lang_from_backend&#039;,&lt;br /&gt;
                     &#039;htmleditormode&#039; =&amp;gt; &#039;inline&#039;,&lt;br /&gt;
                     &#039;templatelist&#039; =&amp;gt; &#039;default,basic,MyOrgTemplate&#039;,&lt;br /&gt;
                     &#039;create_survey&#039; =&amp;gt; 1,&lt;br /&gt;
                     &#039;create_user&#039; =&amp;gt; 0,&lt;br /&gt;
                     &#039;delete_user&#039; =&amp;gt; 0,&lt;br /&gt;
                     &#039;superadmin&#039; =&amp;gt; $user_admin_status_frombackend_0_or_1,&lt;br /&gt;
                     &#039;configurator&#039; =&amp;gt;0,&lt;br /&gt;
                     &#039;manage_template&#039; =&amp;gt; 0,&lt;br /&gt;
                     &#039;manage_label&#039; =&amp;gt; 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
     // If user should be denied access, return an empty array&lt;br /&gt;
&lt;br /&gt;
     // return Array();&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User name mapping== &amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
In case some users have an external user name that is different from their LimeSurvey user name, you may find useful to use a user name mapping. This is done in LimeSurvey by using the &#039;&#039;&#039;auth_webserver_user_map&#039;&#039;&#039; parameter. For instance imagine you don&#039;t have an &#039;admin&#039; username defined in your external authentication database. Then in order to login to LimeSurvey as admin, you&#039;ll have to map your external username let&#039;s call it &#039;myname&#039; to the admin login name ine LimeSurvey. The corresponding setup is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;$config[&#039;auth_webserver_user_map&#039;] = Array (&#039;myname&#039; =&amp;gt; &#039;admin&#039;);&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
After a successful authentication with the &#039;myname&#039; login and password to the webserver, you&#039;ll be directly authorized to use LimeSurvey as the &#039;admin&#039; user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
This obviously has serious security implications, so use it with care, and please protect your config.php from write access by the web server.&lt;br /&gt;
&lt;br /&gt;
== Use one time passwords== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
{{NewIn|1.81}} A user can open the LimeSurvey login at /limesurvey/admin and pass username and a one time password which was previously written into the users table (column one_time_pw) by an external application.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
This setting has to be turned on (&#039;&#039;&#039;use_one_time_passwords&#039;&#039;&#039; =&amp;gt; true) to enable the usage of one time passwords (default = false). More information can be found at [[Manage users#Use one-time passwords|&amp;quot;Manage Users&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
= Advanced Path Settings= &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;homeurl:&#039;&#039;&#039; This should be set to the URL location of your administration scripts. These are the scripts in the /limesurvey/admin folder. This should be set to the WEB URL location - for example &amp;quot;http://www.example.com/limesurvey/html/admin&amp;quot;. Don&#039;t add a trailing slash to this entry. The default setting in config.php attempts to detect the name of your server automatically using a php variable setting - {$_SERVER&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&#039;SERVER_NAME&#039;]}. In most cases you can leave this and just modify the remainder of this string to match the directory name you have put the LimeSurvey scripts in.&lt;br /&gt;
*&#039;&#039;&#039;publicurl:&#039;&#039;&#039; This should be set to the URL location of your &#039;public scripts&#039;. The public scripts are those located in the &amp;quot;limesurvey&amp;quot; folder (or whatever name you gave to the directory that all the other scripts and directories are kept in). &#039;&#039;&#039;This settings is available in config.php and is used when sending token email.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;tempurl:&#039;&#039;&#039; This should be set to the URL location of your &amp;quot;/limesurvey/tmp&amp;quot; directory - or a directory which you would like LimeSurvey to use to store temporary files, including uploads. This directory must be set to read &amp;amp; write for your webserver (e.g. chmod 755). &lt;br /&gt;
*&#039;&#039;&#039;imagefiles:&#039;&#039;&#039; By default you should leave this pointing to the URL location of /limesurvey/admin/images - where the images are installed initially. You may, however, prefer to move these images to another location and if so point this to the URL directory where they are stored.&lt;br /&gt;
*&#039;&#039;&#039;homedir:&#039;&#039;&#039; This should be set to the physical disk location of your administration scripts - for example &amp;quot;/home/usr/htdocs/limesurvey/admin&amp;quot;. Don&#039;t add a trailing slash to this entry. The default setting in config.php attempts to detect the default root path of all your documents using the php variable setting - {$_SERVER&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&#039;DOCUMENT_ROOT&#039;]}. In most cases you can leave this and just modify the remainder of this string to match the directory name you have put the LimeSurvey scripts in.&lt;br /&gt;
*&#039;&#039;&#039;publicdir:&#039;&#039;&#039; This should be set to the physical disk location of your &#039;public scripts&#039;.&lt;br /&gt;
*&#039;&#039;&#039;tempdir:&#039;&#039;&#039; This should be set to the physical disk location of your /limesurvey/tmp directory so that the script can read and write files.&lt;br /&gt;
*&#039;&#039;&#039;sCKEditorURL:&#039;&#039;&#039; url of the fckeditor script&lt;br /&gt;
*&#039;&#039;&#039;fckeditexpandtoolbar:&#039;&#039;&#039; defines if the FCKeditor toolbar should be opened by default&lt;br /&gt;
*&#039;&#039;&#039;pdfexportdir:&#039;&#039;&#039; Directory with the tcpdf.php extensiontcpdf.php&lt;br /&gt;
*&#039;&#039;&#039;pdffonts:&#039;&#039;&#039; Directory for the TCPDF fonts&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Regexaurus</name></author>
	</entry>
</feed>