Actions

Необязательные параметры

From LimeSurvey Manual

This page is a translated version of the page Optional settings and the translation is 31% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎Nederlands • ‎português • ‎русский • ‎slovenščina • ‎Türkçe • ‎中文(简体)‎

__ОГЛАВЛЕНИЕ__

The following section is addressed to those of you who would like to edit those configuration settings that could not be modified with the help of the GUI (Graphical User Interface) of the LimeSurvey installation. Please bear in mind that all the changes from the LimeSurvey root directory are done at your own risk. Nevertheless, in the case in which you are experiencing problems/need further guidance, join the discussion forums or the IRC channel for help from the LimeSurvey community.

Данные вариативные настройки могут быть найдены в файле application/config/config-defaults.php стандартной установки - некоторые из них используются только для первой установки и переопределены в Глобальных параметрах. Template:Внимание Все параметры в config.php переопределяют стандартные значения переменных указанные в config-defaults.php и некоторые их них переопределяются в Глобальных параметрах dialogTemplate:Newln. Таким образом намного проще обновить Вашу установку в будущем!

Important.png
If you want to change these settings, please do not change them in config-defaults.php, but copy the particular setting/line to /application/config/config.php in 'config'=>array( ) and change it there. All the newly modified/introduced settings from the config.php file will override the default values from config-defaults.php.

When an upgrade occurs, only the config-defaults.php settings are changed. Therefore, editing the config.php file will save your customized settings.

To update/add the LimeSurvey settings in /application/config/config.php, you have to update the config array:

    'config'=>array(
        'debug'=>0,
        'debugsql'=>0,
        'LimeSurveySetting'=>'New value', // Update default LimeSurvey config here
    )

Yii settings

LimeSurvey uses the Yii framework, which has its own configuration parameters in application/config/internal.php and application/config/config.php file. You can also access some specific configuration settings of LimeSurvey via the Yii configuration.

Since config.php array is merged to the whole config, you can replace any Yii params in the config.php file.

The Yii specific settings are set in the components array:

    'components' => array(
        'db' => array(
            ....
        ),
        'Specific settings'=>array(
            ....
        ),
    ),
Help.pngFor more information about the Yii framework, please access the following link.

Database settings

The database settings are written to config.php by the installer file when you install LimeSurvey for the first time. If needed, you can update this part of the config.php file. Please remember that you do this at your own risk! See also the Yii documentation and please remember that LimeSurvey supports only the following types of database: mysql, pgsql, dblib, mssql, and sqlsrv.

Session settings

You can set some session parameters in config.php (check the two examples from below). You can uncomment/add the part needed in config.php. See the Yii Documentation for other settings.

Important.png
If you need to update session settings to have multiple LimeSurvey instances running on the same server, check if you don't have to update request settings for crsf cookie.

Use table-based sessions

LimeSurvey can use table-based sessions, you find a commented part on the default config.php generated file. To use table-based session, remove the // before each line.

        'session' => array (
            'class' => 'application.core.web.DbHttpSession',
            'connectionID' => 'db',
            'sessionTableName' => '{{sessions}}',
        ),
Important.png
Table-based sessions are currently not supported on MSSQL server.

Other sessions update

If you use SSL ('https') for your LimeSurvey installation, adding the following lines to your config.php will increase the security of the session:

        // Set the cookie via SSL
        'session' => array (
            'cookieParams' => array(
                    'secure' => true, // use SSL for cookies
                    'httponly' => true // Cookies may not be used by other protocols - experimental
                ),
            ),

If you want to fix the domain for a cookie, use the following syntax in config.php:

        // Set the domain for cookie
        'session' => array (
            'cookieParams' => array(
                    'domain' => '.example.org',
                ),
            ),

If you have mutiples installation on the same server, it can be more quick and easy to set different session name for each LimeSurvey instance. This can be need for IE11 in some condition (see issue 12083)

        // Set the name of the session
        'session' => array (
            'sessionName' => "LimeSurveyN1",
            ),

Request settings

The request settings are important, but the default settings are already optimized for LimeSurvey usage. To read more about them, see the Yii Documentation.

For example, the LimeSurvey request settings configuration may be modified in the following way (at your own risk) :

        // Disable CSRF protection
        'request' => array(
            'enableCsrfValidation'=>false,    
            ),
        // Enforce a certain URL base 
        'request' => array(
            'hostInfo' => 'http://www.example.org/'  
            ),
        // Set the cookie domain name and path for CSRF protection, path is used if you have different instance on same domain
        'request' => array(
            'csrfCookie' => array( 
                'domain' => '.example.com',
                'path' => '/limesurvey/',
            )
        ),

If you need to update only the url for token emails, set your publicurl in your config.php file.

URL settings

To change the default URL settings, update the urlManager:

       // Use short URL
		'urlManager' => array(
			'urlFormat' => 'path',
			'showScriptName' => false,
		),

You can also add .html after the survey id in the following way:

       // Use short URL
		'urlManager' => array(
			'urlFormat' => 'path',
			'rules' => array (
			    '<sid:\d+>' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
			 ),
			'showScriptName' => false,
		),

For more information, check the Yii documentation.

Logging settings

Yii provides different solutions to generate logs. To find out more about them, check the logging special topic. LimeSurvey uses '1' or '2' by default, which allows every web user to see the logs. You can create your own settings using Yii directly.

For example, a quick solution to log errors and warnings in files is:

return array(
	'components' => array(
		/* Other component part here 'db' for example */
		'log' => array(
			'routes' => array(
				'fileError' => array(
					'class' => 'CFileLogRoute',
					'levels' => 'warning, error',
					'except' => 'exception.CHttpException.404',
				),
			),
		),
		/* Other component part here 'urlManager' for example */
	),
	/* Final part (with 'runtimePath' 'config' for example) */
);
Notice.png
Hint: The file is saved by default to limesurvey/tmp/runtime/application.log, which is located in the LimeSurvey root folder.
Important.png
Yii uses runtime path. By default, the logs are web accessible. They may contain a lot of information from your server. It is better to use a directory that cannot be accessed via the web. You can set it in routes or by updating the Runtime path.

.

Runtime path

The runtime path must be a readable and writable directory for the “web user”. However, the runtime path contains files with potential security information that are located in the public web access area. LimeSurvey collects these files in the temp directory of the LimeSurvey root directory. In order to eliminate the access to such important data, you can set the runtime path outside the public web access by editing the respective lines in the /application/config/config.php file:

 
return array(
  'components' => array(
    []
    'runtimePath'=>'/var/limesurvey/runtime/',
    'config'=>array(
    []
    )
  )
)

Общие настройки

  • sitename: Определяет имя Вашего сайта опросов. Это имя отображается в обзоре списка опросов и шапке административной панели. Этот параметр переопределяется в Общие настройки Template:Newln.
  • siteadminemail: Это стандартный адрес почты Администратора и используется для системных сообщений и опций контакта. Этот параметр переопределяется в Общие настройки Template:Newln.
  • suteadminbounce: Это адрес для пришедших возвратов. Этот параметр переопределяется в Общие настройки Template:Newln.
  • siteadminname: Это реальное имя Администратора сайта. Этот параметр переопределяется в Общие настройки Template:Newln.

Безопасность

  • surveyPreview_require_Auth: истинно по-умолчанию. Если вы установите в значение "ложь", то любой человек может тестировать Ваш опрос воспользовавшись URL - без авторизации и без предварительной активации опроса. Этот параметр переопределяется в Общие настройки Template:Newln.
  • usercontrolSameGroupPolicy: истинно по-умолчанию. По-умолчанию, не привилегированные пользователи в LimeSurvey могут видеть только пользователей, которых они создали или пользователей принадлежащих той же группе в которую входят они сами. Вы можете отключить данную возможность.
  • filterxsshtml: Данный параметр включает фильтрацию подозрительных HTML-тегов в опросах, группах вопросов, вопросах и текстовых ответах в административном интерфейсе. Данный параметр стоит выключить лишь в том случае, если Вы полностью доверяете людям осуществляющим администрирование LimeSurvey и если Вы хотите позволить этим людям использовать Javascript, Flash-ролики, и т. д. Супер-администратор никогда не фильтруется на подозрительные HTML-теги.. Этот параметр переопределяется в Общие настройки Template:Newln.
  • demoModeOnly: Если данный параметр включен, то LimeSurvey перейдет в demo-режим. Демо-режим влияет на следующие вещи:
    • Отключает возможность изменения пароля администратора и прочих параметров его учетной записи
    • Отключает выгрузку файлов в редактор шаблонов
    • Отключает рассылку почтовых приглашений и напоминаний
    • Отключает возможность дампа базы данных
    • Отключает возможность сохранения следующих глобальных параметров: имя сайта, язык по-умолчанию, режим HTML-редактора по-умолчанию, XSS фильтр

Ресурсы

  • sessionlifetime: Определяет время в секундах после истечения которого сессия считается просроченной. По-умолчанию: $sessionlifetime = 3600;. Этот параметр переопределяется в Общие настройки Template:Newln.
  • memorylimit: Устанавливает количество памяти к которой имеет доступ LimeSurvey. '32' (M=MiB) минимальное рекомендуемое значение. Если Вы получаете ошибки по истечению времени ожидания или проблемы с генерацией статистики или экспортом файлов, то попробуйте увеличить данный лимит до '128' или '256'.
Пожалуйста, обратите Ваше внимание на то, что такие локальные параметры приложения могут всегда быть переопределены глобальными настройками сервера.

Для увеличения лимита памяти до 128M (MiB) Вам необходимо добавить:

  • memory_limit = 128M в php.ini Вашего сервера (рекомендовано, если Вы имеете туда доступ)
  • memory_limit = 128M в php.ini файл корневой директории LimeSurvey
  • php_value memory_limit 128M в .htaccess файл корневой директории LimeSurvey
  • max_execution_time: Set the number of seconds a script is allowed to run. If this is reached, the script returns a fatal error. To be allowed to export big survey data and statistics, LimeSurvey try to set it by default to 1200 seconds. You can set a bigger time or a lower time if needed. Only accessible via php config file.

Отображение

  • $lwcdropdowns: (Obsolete since 2.0) Возможные значения: "L" или "R". Установка на "R" даст в результате отображение вопросов типа 'Список с комментариями' как радио кнопки, в то время как "L" даст в результате отображение вопросов типа 'Список с комментариями' как 'выпадающий список'.
  • $dropdownthreshold: Если Вы выбрали "R" для $dropdowns, это позволит Вам установить максимальный порог количества вариантов которые будут отображаться как радио-кнопки, перед превращением в выпадающий список. Если у Вас имеется вопрос с большим числом вариантов, то их отображение как радио-кнопок может выглядеть громоздко и нелогично для пользователей. Установка на максимум (25 - по-умолчанию) означает, что чем больше список тем быстрее его заполнять для участников опроса.
  • $repeatheadings: У вопросов типа "Массив" зачастую имеется большое количество вариантов ответов, которые при отображении занимают более чем одну страницу. Данный параметр позволяет Вам решать как много вариантов ответов будет показано прежде чем повторятся заголовки массива с информацией о вопросе. Хорошим выбором будет установка данного параметра в значение равное 15. Если же Вы не хотите повторять заголовки, установите значение параметра равное нулю (которое является значением по-умолчанию).
  • $minrepeatheadings: Минимальное количество ответов, которое требуется перед повторением заголовков в вопросе типа "Массив".
  • $addTitleToLinks: Если данный параметр включен, то LimeSurvey будет добавлять html элемент 'title' ко всем ссылкам используемым в меню. Это поможет экранным считывателям анализировать меню. Включайте данный параметр только если Вы используете экранный считыватель потому что он пересекается с подсказками.
  • $defaulttemplate: Эта настройка определяет тему по-умолчанию, используемую в 'публичном списке' опросов. Этот параметр переопределяется в Общие настройки Template:Newln.
  • $defaulthtmleditormode: Устанавливает режим по-умолчанию для интегрированного HTML-редактора. Этот параметр переопределяется в Общие настройки Template:Newln. Действительные параметры: inline (по-умолчанию), popup and none:
    • inline: Встроенная замена полей HTML-редактором. Обладает дружеским интерфейсом, но медленный в исполнении.
    • popup: Добавляет значок который вызывает всплывающее меню HTML-редактора. Быстрее, но в форме отображается html-код.
    • none: без HTML-редактора.

Язык и Время

  • $defaultlang: Устанавливает основной язык используемый в административных скриптах, а также настраивает основной язык в публичных опросах. Вы можете изменить данный параметр для публичных опросов на опрос-опрос базе с помощью административных скриптов. Этот параметр переопределяется в Общие настройки Template:Newln.
  • $timeadjust: Если Ваш web-сервер в отличной временной зоне от местоположения где проводятся Ваши опросы, поместите разницу между Вашим сервером и Вашей домашней временной зоной здесь. Например, Я живу в Австралии, но сервер находится в США. У Web-сервера разница с моей временной зоной в 14 часов. Таким образом, параметр необходимо установить равным "14". Другими словами, данный параметр добавляет 14 часов ко времени web-сервера. Этот параметр особенно важен для временных штампов вопросов и ответов. Этот параметр переопределяется в Общие настройки Template:Newln.
  • $modrewrite: (Obsolete since 2.0) Если установлено в 1, то активирует возможность переписывания URL особым способом (Например: http://survey.example.com/123456/lang-fr/tk-sdlfkjozeiru в отличие от http://survey.example.com/index.php?sid=123456〈=fr&token;=sdlfkjozeiru). Прежде чем Вы активируете этот параметр, Вы должны переименовать файл из "htaccess.txt" в ".htaccess". Вам необходим Web-сервер Apache с корректно установленным модулем mod_rewrite.

Поведение опросов

  • $allowmandbackwards: Если данной переменной присвоить значение 1, то это позволит участникам опроса возвратиться к предыдущим вопросам даже если они не отвечали на текущие обязательные вопросы. Если же присвоено значение 0, то участники должны ответить на текущие обязательные вопросы, чтобы перейти к предыдущим.
  • $deletenonvalues: Пользуйтесь данной возможностью с присущей осторожностью. По-умолчанию (значение 1) все нелогичные ответы в базе данных затираются на NULL. Это позволяет быть уверенным в том, что данные в Вашей базе хранятся должным образом. Хотя, в некоторых случаях, возможно, Вам понадобится сохранить некорректные ответы в базе данных. Для этого Вам необходимо присвоить значение переменной 0. Давайте представим, что в своем опросе Вы спросили у участника его пол и тот указал ошибочно 'женский' и в дальнейшем пошел по ветке вопросов присущих женщинам. Когда участник понял свою ошибку он возвращается, меняет пол на 'мужской' и продолжает опрос. Теперь ответы на 'женские' вопросы становятся некорректными для данного участника. Если переменная равна 1, то такие данные немедленно очищаются (NULL) в базе данных. Если же значение переменной равно 0, то его ответы остаются в базе и Вы можете их видеть при ее анализе.
  • $shownoanswer: Когда вопрос типа радио-кнопка/список содержащий редактируемые поля (т.е. список, массив вопросов) не обязателен к ответу и $shownoanswer установлено в 1, то показывается дополнительный вариант ответа "N/A" - который означает "Нет ответа", чтобы участники могли не отвечать на данный вопрос. Некоторые предпочитают, чтобы данная возможность не была доступна. Установка переменной в 0, отключает данную возможность. Параметр переопределяется в диалоговом окне Общие настройки Template:Newln.
  • $printanswershonorsconditions: Данная настройка определяет будут ли отображаться вопросы, которые были скрыты согласно условия. (По-умолчанию: 1 = скрывать ответы на вопросы скрытые по условию).
  • $hide_groupdescr_allinone: (New in 1.85RC3 ) Данная настройка предназначена для опросов "все в одном" содержащих условия. Когда она включена имя группа и ее описание, а также все условия в группе скрыты. (По-умолчанию: истина (скрыть имя группы, описание, когда все условия в группе скрыты по условию)).
  • $showpopups: Показывать всплывающие окна сообщений если обязательный или вопрос с условием не был отвечен корректно. 1=показывать всплывающие окна сообщений (по-умолчанию), 0=показывать сообщения внутри текущего окна, -1=не показывать сообщения совсем (в таком случае пользователи будут видеть специфичные для вопроса подсказки, сообщающие о том, на какой вопрос необходимо ответить).

Разработка

  • $debug: Включив эту настройку Вы активируете отчеты об ошибках PHP в режим E_ALL (показывать все). Это значит, что малейшие примечания возникающие в скриптах будут отображены. Настройка должна быть выставлена в значение 1 если вы пытаетесь отладить приложение по какой либо причине, если же Вы являетесь разработчиком, то переключите в 2. Не включайте режим отладки (1 или 2) на боевой машине, т.к. это предоставит дополнительную информацию третьим лицам.(По-умолчанию: 0)

In the case in which you experience an error in the application, we strongly recommend to activate the debug setting in order to get a more detailed error that you can submit with the bug report:

    'config'=>array(
        'debug'=>2,
        'debugsql'=>0,
    )

Настройки электронной почты

Примечание:

Данные настройки определяются в диалоговом окне общих настроек  (New in 1.87 ).
  • $emailmethod: Данный параметр определяет как будет отправлено письмо. Доступны следующие варианты отправки:
    • mail: с помощью PHP
    • sendmail: с помощью почтового сервера sendmail
    • smtp: с помощью релея SMTP. Данный способ предпочтителен тогда, когда LimeSurvey установлен на узел не являющийся Вашим почтовым сервером.
  • $emailsmtphost: Если Вы пользуетесь 'smtp' как $emailmethod, то Вы можете записать сюда адрес Вашего сервера. Если же Вы пользуетесь почтой от Google, то Вам необходимо дополнительно указать порт наподобие как здесь: $emailsmtphost = 'smtp.gmail.com:465';
  • $emailsmtpuser: Если Ваш SMTP-сервер запрашивает аутентификацию, то укажите здесь имя пользователя, в противном случае оставьте пустым.
  • $emailsmtppassword: Если Ваш SMTP-сервер запрашивает аутентификацию, то укажите здесь пароль, в противном случае оставьте пустым.
  • $emailsmtpssl: Установите здесь 'ssl' или 'tls' чтобы устанавливать SSL/TLS SMTP-соединение.
  • $maxemails: При рассылке приглашений или напоминаний данный параметр определяет какое количество писем может быть отправлено за раз. Различные web-серверы имеют различные почтовые емкости и если Ваш скрипт очень долго отправляет письма, то существует риск, что он завершится с ошибками (превышено время выполнения скрипта). Большинство web-серверов могут отправлять по 100 писем за раз в течение 30 секунд (ограничение для PHP-скрипта). Если у Вас возникли проблемы с отправкой писем и сыпятся ошибка с превышением времени ожидания выполнения скрипта, то советуем Вам уменьшить значение данного параметра. Кликнув по кнопке 'Отправить приглашение по e-mail' на панели управления ключами доступа (не по кнопке справа от каждого ключа доступа!), будет отправлено максимальное количество писем-приглашений, затем будет отображен список адресатов и предупреждение "Ожидается отправка писем большего количества, чем может быть отправлено за раз. Продолжить отправку сообщений можно нажав кнопку ниже. Имеется ### писем к отправке." и предложение нажать кнопку "Продолжить", чтобы приступить к рассылке следующей партии писем. Т.е. пользователю предоставляется право решать, когда будет отправлена следующая партия писем. Не обязательно оставлять данный экран активным. Администратор может выйти из системы и вернуться назад позднее, чтобы разослать следующую партию приглашений.

Обзор статистики и ответов

  • usejpgraph: (Obsolete since 1.8) JPGraph-библиотека позволяет Вам отображать результаты опросов в разделе Статистика системы LimeSurvey в виде столбцов и круговых диаграмм. Если Вы правильно настроили jpgraph на Вашем сервера, то Вы можете включить эту возможность (1=вкл., 0=выкл.). Удостоверьтесь, что на сервере стоит минимально необходимая версия PHP для конкретной версии JPGraph! В настоящее время данная возможность находится в стадии разработки, поэтому не удивляйтесь если получили странные результаты.
  • jpgraphdir: (Obsolete since 1.8) Расположение скриптов jpgraph на диске. Данная опция требуется только тогда, когда $usejpgraph установлено в 1.
  • jpgraphfont: (Obsolete since 1.8) Параметр определяющий шрифт используемый в графиках. Полностью рабочий вариант: "FF_FONT1"
  • embedded: (Obsolete since 2.0) Если Вы хотите интегрировать LimeSurvey в другую страницу, то необходимо отключить отправку HTML-заголовков используя данную настройку и точки в заголовках методов пользовательских функций. Это грязный хак, но, тем не менее, должно помочь при быстрой интеграции.
  • filterout_incomplete_answers: Для управления поведением по-умолчанию при фильтрации незавершенных ответов во время обзора ответом см. Обзор результатов опроса. Поскольку данные записи могут нарушить статистику, варианты переключения данного параметра в графическом интерфейсе следующие (этот параметр в config.php установлен по-умолчанию для незавершенных ответов):
    • show: Показывать все ответы
    • filter: Показывать только завершенные ответы
    • incomplete: Показывать только незавершенные ответы
  • strip_query_from_referer_url: Данный параметр определяет будут ли сохраняться параметры из партнерских ссылок или нет. По-умолчанию "false" (в этом случае сохраняются все параметры). Альтернативой этому может быть установка значения "true" и часть ссылки с параметрами будет отсекаться.
  • showaggregateddata: (New in 1.8 ) При активации данного параметра будут дополнительно показаны среднее арифметическое и среднее отклонение в статистике. Кроме того собираются для быстрого просмотра т.е. результаты диапазона 1+2 и 4+5 складываются, чтобы иметь общий ранг "хорший" (1/2), "средний" (3) и "плохой" (4/5). Это относится только к вопросам типа "A" (массив с пятибальной шкалой) и "5" (выбор из пяти вариантов).
  • PDF Export Settings: (New in 1.85 ) Эта возможность активирует экспорт в PDF для печатных форм опросов и печати ответов. Экспорт в PDF - экспериментальный. Итоговый вывод не красивый. По этому вопросу отсутствует всяческая поддержка - свяжитесь с нами если Вы хотите помочь нам в этом.
    • usepdfexport: Установите 0 для выключения; 1 для включения
    • pdfdefaultfont: Шрифт используемый по-умолчанию
    • pdffontsize: Размер шрифта для нормального текста; Заголовок опроса +4; заголовок группы +2
    • notsupportlanguages = Массив не поддерживаемых языков: array('zh-Hant-TW','zh-Hant-HK','zh-Hans','ja','th');
    • pdforientation: Ориентация PDF. Установите L для ландшафтного или P для портретного формата
  • $showsgqacode: (New in 1.91 ) Эта настройка используется для возможности печати опроса {IMG(attId="78",height="16",width="16")} и по-умолчанию false. Если Вы установите showsgqacode = true; то будут отображены ID каждого вопроса и ответа; данные идентификаторы совпадают с заголовками столбцов в таблице Lime_survey_12345 которая содержит данные конкретного опроса. Эти идентификаторы могут быть использованы как код книги для ручных запросов к базе данных.
  • {IMG(attId="79",height="200",width="400")}

Настройки LDAP

Т.к. данная тема весьма и весьма обширна, то мы переместили Настройки LDAP на другую страницу.

Аутентификация

В LimeSurvey 2.05 аутентификация осуществляется при помощи плагинов. В связи с этим данная информация может быть устаревшей. См. Плагины для получения свежей информации.

Передача проверки подлинности Web-серверу

Системные администраторы могут желать, чтобы их "администраторы опросов" проходили централизованную проверку подлинности системы (Active Directory, openLDAP, Radius, ...), без участия локальной базы данных LimeSurvey. Простой способ для осуществления данной возможности - настройка Web-сервера на использование внешней системы аутентификации и настройка LimeSurvey доверять аутентификацию Web-серверу. Для активации данной возможности Вам необходимо:

  • установить auth_webserver равным 'true' в файле config.php
  • включить аутентификацию на стороне сервера

Обратите внимание на то, что:

  • LimeSurvey будет обходить собственную процедуру аутентификации процесса (используя имя переданное web-серверу без запроса пароля)
  • это может заменить графический интерфейс аутентификации системы не приглашение в систему опроса (интерфейс участника)

Передача аутентификации без автоматического импорта пользователей

Обратите внимание на то, что по-умолчанию Передача аутентификации не обходит систему авторизации: это означает, что хоть Вам и не нужно управлять пользовательскими паролями в системе, все равно необходимо завести пользователей в базу LimeSurvey и присвоить им необходимые наборы прав доступа к определенным ресурсам.

Пользовательский доступ будет гарантировано предоставлен только в случае:

  • если он прошел аутентификацию на Web-сервере
  • если он имеет такой же логин в локальной базе данных LimeSurvey (с присущими ему привилегиями)

Передача аутентификации с автоматическим импортом пользователей

При управлении огромной базой данных пользователей, иногда становится проще импортировать его в локальную базу данных LimeSurvey.

  • auth_webserver_autocreate_user: если равно 'true', то LimeSurvey будет производить автоматический импорт пользователей прошедших аутентификацию на Web-сервере, но не находящихся в локальной базе данных
  • auth_webserver_autocreate_profile: массив описывающий профиль по-умолчанию, который будет присвоен пользователю (в т.ч. поддельные Имя, Фамилию, email, привилегии)

Если Вы хотите настроить профиль пользователя так, чтобы он совпадал с вошедшим в систему пользователем, то Вам придется разработать простую функцию под названием hook_get_autouserprofile: с помощью которой Вы сможете получить данные из центральной базы данных пользователей (к примеру, из LDAP каталогов), настоящие Имя и Фамилию, и email текущего пользователя. Также Вы можете настроить его привилегии в системе основываясь на его принадлежности к группам во внешней базе данных.

Функция hook_get_autouserprofile берет логин пользователя в качестве своего единственного аргумента и возвращает:

  • False или пустой массив: в случае если пользователю запрещен доступ в LimeSurvey
  • массив содержащий все общие атрибуты пользовательского профиля как описано в $WebserverAuth_autouserprofile
function hook_get_auth_webserver_profile($user_name)
{
     // Retrieve user's data from your database backend (for instance LDAP) here
     ... get $user_name_from_backend
     ... get $user_email_from_backend
     ... get $user_lang_from_backend
     ... from groups defined in your backend set $user_admin_status_frombackend_0_or_1
     return Array(
                     'full_name' => "$user_name_from_backend",
                     'email' => "$user_email_from_backend",
                     'lang' => '$user_lang_from_backend',
                     'htmleditormode' => 'inline',
                     'templatelist' => 'default,basic,MyOrgTemplate',
                     'create_survey' => 1,
                     'create_user' => 0,
                     'delete_user' => 0,
                     'superadmin' => $user_admin_status_frombackend_0_or_1,
                     'configurator' =>0,
                     'manage_template' => 0,
                     'manage_label' => 0);
}

     // If user should be denied access, return an empty array

     // return Array();
Important.png
The optionnal 'hook_get_auth_webserver_profile' function is for advanced user usage only! For further details, please read the comments from the config-defaults.php file.

Сопоставление имен пользователей

В случае, если имя пользователя во внешней базе отличается от имени в локальной базе LimeSurvey, Вы можете найти полезной использование функции сопоставления имен пользователей. В LimeSurvey это осуществляется за счет использования параметра auth_webserver_user_map. Представим себе, что у Вас во внешней базе отсутствует пользователь с именем 'admin'. Чтобы в дальнейшем иметь возможность войти в LimeSurvey как admin, Вам необходимо сопоставить имя пользователя во внешней базе (пусть это будет 'myname') с логином 'admin' в LimeSurvey. Соответствующие этому настройки:

'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)

После успешной аутентификации на Web-сервере с использованием логина 'myname' и пароля, Вы будете напрямую авторизованы в LimeSurvey как пользователь 'admin'.

Очевидно, что данная процедура имеет определенные последствия в плане безопасности, так что применяйте это с осторожностью, и, пожалуйста, защитите Ваш config.php от записи Web-сервером.

Использование одноразовых паролей

Пользователь может запросить у LimeSurvey логин и одноразовый пароль (ранее записанный в таблице `users` и столбце `one_time_pw`) в /limesurvey/admin при помощи внешнего приложения.

Данный параметр должен быть включен (use_one_time_passwords => true) для разрешения использования одноразовых паролей (по-умолчанию = false). Больше информации может быть найдено

More information can be found in the "Manage Users" section.

Расширенные настройки директорий

Если можно, то старайтесь не трогать данные настройки. Данные настройки могут быть установлены в файле config-defaults.php.

  • $homeurl: Это URL расположения Ваших административных скриптов. Это скрипты находящиеся в папке /limesurvey/admin. Это должно быть WEB URL расположением - например "http://www.example.com/limesurvey/html/admin". Don'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['SERVER_NAME']}. 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.
  • $publicurl: This should be set to the URL location of your 'public scripts'. The public scripts are those located in the "limesurvey" folder (or whatever name you gave to the directory that all the other scripts and directories are kept in).
  • $tempurl: This should be set to the URL location of your "/limesurvey/tmp" directory - or a directory which you would like LimeSurvey to use to store temporary files, including uploads. This directory must be set to read & write for your webserver (e.g. chmod 755)
  • $imagefiles: 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.
  • $homedir: This should be set to the physical disk location of your administration scripts - for example "/home/usr/htdocs/limesurvey/admin". Не добавляйте слеш в эту запись. По-умолчанию настройка в config.php пытается автоматически определить корневую папку Ваших документов используя переменную PHP окружения - {$_SERVER['DOCUMENT_ROOT']}. В большинстве случаем Вы можете не менять эту запись, а лишь дополнить ее, чтобы соответствовать пути по которому Вы хотите расположить скрипты LimeSurvey.
  • $publicdir: Это расположение на физическом диске Ваших 'публичных скриптов'.
  • $tempdir: Это расположение на физическом диске Вашей /limesurvey/tmp директории с правами на чтение и запись для скрипта.
  • $fckeditordir: url скрипта fckeditor
  • $fckeditexpandtoolbar: определяет будет ли открыта панель редактора FCKeditor по-умолчанию
  • $pdfexportdir: Директория с tcpdf.php, extensiontcpdf.php
  • $pdffonts: Директория со TCPDF шрифтами

Other advanced settings

Upload files

  • magic_database: (New in 3.17.17 ) Allow to use a different MIME database for finfo_open. Can be updated only in config.php file. Example : /usr/share/misc/magic.mgc for redhat based linux.
  • magic_file: (New in 3.17.17 ) Allow to use a different file to get the array of extension by mime type than the included one. Must be a PHP file return an array. Can be updated only in config.php file.

Update

  • updatable: This setting is in version.php. Can be true or false. If you set to true : when an super admin user log in : LimeSurvey checks if an update is available and show you a warning. If set to false : no check is done and you can't use ComfortUpdate.