x

Hlavní kapitoly

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Rychlý průvodce - LimeSurvey 3.0+
  3. Instalace - LimeSurvey CE
  4. Jak vytvořit dobrý průzkum (návod)
  5. Začínáme
  6. Správa LimeSurvey
  7. Průzkumy - úvod
  8. Nastavení průzkumu
  9. Menu průzkumu
  10. Struktura průzkumu
  11. Otázky - úvod
  12. Skupiny otázek - úvod
  13. Průzkumy - správa
  14. Možnosti panelu nástrojů průzkumu
  15. Vícejazyčný průzkum
  16. ExpressionScript Engine - Rychlý průvodce
  17. Nezařazené a pokročilé funkce
  18. Obecné FAQ
  19. Řešení potíží
  20. Řešení a obejití problémů
  21. Licence
  22. Záznam změn verzí
  23. Zásuvné moduly
 Actions

Volitelná nastavení

From LimeSurvey Manual

Tato stránka mohla být přeložena strojově a může obsahovat chyby. Zobrazit anglický originál · Vylepšit tento překlad
This page is a translated version of the page Optional settings and the translation is 100% complete.

Následující část je určena těm z vás, kteří chtějí upravit konfigurační nastavení, jež nelze změnit pomocí grafického uživatelského rozhraní (GUI) instalace LimeSurvey. Mějte prosím na paměti, že všechny změny v kořenovém adresáři LimeSurvey provádíte na vlastní riziko. Pokud však narazíte na problémy nebo potřebujete další pomoc, připojte se k diskusním fórům, kde vám pomůže komunita LimeSurvey.

Úvod

Chcete-li změnit konfigurační nastavení instalace, musíte upravit volitelná nastavení. Najdete je v souboru /application/config/config-defaults.php, který se nachází v kořenovém adresáři LimeSurvey. Výchozí nastavení standardní instalace jsou uložena v config-defaults.php. Některá z nich lze přepsat v dialogu globální nastavení, ostatní je nutné upravit ručně.

  Pokud chcete tato nastavení změnit, neupravujte je prosím v config-defaults.php, ale zkopírujte příslušné nastavení/řádek do /application/config/config.php do 'config'=>array( ) a změňte jej tam. Všechna nově upravená/přidaná nastavení ze souboru config.php přepíší výchozí hodnoty z config-defaults.php.


Při aktualizaci se mění pouze nastavení v config-defaults.php. Úpravou souboru config.php proto zachováte svá vlastní nastavení.

Chcete-li aktualizovat/přidat nastavení LimeSurvey v /application/config/config.php, musíte upravit pole config:

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

Nastavení Yii

LimeSurvey používá framework Yii, který má vlastní konfigurační parametry v souborech application/config/internal.php a application/config/config.php. Pomocí konfigurace Yii můžete také přistupovat k některým specifickým konfiguračním nastavením LimeSurvey.

Protože se pole v config.php slučuje s celou konfigurací, můžete v souboru config.php nahradit libovolné parametry Yii.

Nastavení specifická pro Yii se zadávají v poli components:

    'components' => array(
        'db' => array(
            ....
        ),
        'Specific settings'=>array(
            ....
        ),
    ),
Další informace o frameworku Yii naleznete na následujícím odkazu.

Nastavení databáze

Nastavení databáze zapisuje do souboru config.php instalační soubor při první instalaci LimeSurvey. V případě potřeby můžete tuto část souboru config.php upravit. Pamatujte prosím, že to děláte na vlastní riziko! Podívejte se také do dokumentace Yii a mějte na paměti, že LimeSurvey podporuje pouze následující typy databází: mysql, pgsql, dblib, mssql a sqlsrv.

Nastavení sezení

Některé parametry sezení můžete nastavit v config.php (viz dva příklady níže). Potřebnou část můžete v config.php odkomentovat/přidat. Další nastavení naleznete v dokumentaci Yii.

  Pokud potřebujete upravit nastavení sezení, aby na stejném serveru běželo více instancí LimeSurvey, zkontrolujte, zda nemusíte upravit také nastavení požadavků pro cookie CSRF.


Použití sezení založených na tabulce

LimeSurvey může používat sezení založená na tabulce. Zakomentovanou část najdete ve výchozím vygenerovaném souboru config.php. Chcete-li použít sezení založená na tabulce, odstraňte // před každým řádkem.

        'session' => array (
            'class' => 'application.core.web.DbHttpSession',
            'connectionID' => 'db',
            'sessionTableName' => '{{sessions}}',
        ),
  Sezení založená na tabulce momentálně nejsou na serveru MSSQL podporována.


Další úpravy sezení

Pokud pro instalaci LimeSurvey používáte SSL ('https'), přidáním následujících řádků do config.php zvýšíte zabezpečení sezení:

        // 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
                ),
            ),

Pokud chcete pro cookie pevně nastavit doménu, použijte v config.php následující syntaxi:

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

Pokud máte na stejném serveru více instalací, může být rychlejší a snazší nastavit pro každou instanci LimeSurvey jiný název sezení. To může být za určitých podmínek nutné pro IE11 (viz problém 12083)

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

Nastavení požadavků

Nastavení požadavků jsou důležitá, ale výchozí nastavení jsou již optimalizována pro použití s LimeSurvey. Více informací naleznete v dokumentaci Yii.

Konfiguraci nastavení požadavků LimeSurvey lze například upravit následujícím způsobem (na vlastní riziko):

        // 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/',
            )
        ),

Pokud potřebujete změnit pouze URL pro e-maily s tokeny, nastavte publicurl v souboru config.php.


Povolení použití sezení a ověření CSRF v iFrame

Zapnutím volby Vložení IFrame povoleno v globálním nastavení zabezpečení pouze umožníte prohlížečům zobrazit vaše průzkumy v iframe. Aby účastníci mohli průzkum uvnitř iframe vyplnit a odeslat, musíte také změnit nastavení cookie sezení a CSRF v config.php, jak je popsáno níže. Obě cookie musí být odeslány s SameSite=None, což prohlížeče přijímají pouze přes platné připojení HTTPS.

  Ani se všemi těmito nastaveními nemusí průzkumy v iframe v některých prohlížečích nebo při některých nastaveních prohlížeče fungovat, například v anonymním režimu nebo při blokování cookies třetích stran. Tato nastavení byla testována ve Firefoxu 81.0.2 až 115, Chromiu 85.0.4183.121 až 119 a Edge 119 s jejich výchozím nastavením. LimeSurvey pro toto nastavení neposkytuje podporu, k dispozici je pouze podpora komunity.


Povolení zahájení sezení v iframe

Cookie sezení musí být zabezpečená (vyžaduje platné připojení HTTPS) a httponly a samesite musí být nastaveno na None. Klíče v cookieParams musí být zapsány malými písmeny.

 		 'session' => array (
			'sessionName'=>'LS-VBXZZORFJZCAKGYI',
			// Uncomment the following lines if you need table-based sessions.
			// Note: Table-based sessions are currently not supported on MSSQL server.
			// 'class' => 'application.core.web.DbHttpSession',
			// 'connectionID' => 'db',
			// 'sessionTableName' => '{{sessions}}',
			'cookieParams' => array(
				'secure' => true,
				'httponly' => true,
				'samesite' => 'None',
			),
		 ),

Povolení cookie CSRF v iframe

Stejně jako cookie sezení musí být i cookie CSRF zabezpečená a sameSite musí být nastaveno na None. Všimněte si, že zde se klíč zapisuje sameSite. Celé pole request přidejte na stejnou úroveň jako session.

		'request' => array(
			'enableCsrfValidation'=>true,
			'csrfCookie' => array(
				'sameSite' => 'None',
				'secure' => true,
			),
		),

Nastavení URL

  Pokud potřebujete upravit pouze adresu URL pro e-maily s tokeny a další e-maily, nastavte v souboru config.php hodnotu publicurl.


Chcete-li změnit výchozí nastavení URL, upravte urlManager:

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


Za ID průzkumu můžete také přidat .html následujícím způsobem:

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

Další informace naleznete v dokumentaci Yii.

Nastavení protokolování

Yii nabízí různá řešení pro generování protokolů. Další informace naleznete ve speciálním tématu o protokolování. LimeSurvey standardně používá hodnotu '1' nebo '2', která umožňuje každému uživateli webu zobrazit protokoly. Vlastní nastavení můžete vytvořit přímo pomocí Yii.

Například rychlé řešení pro zápis chyb a varování do souborů je:

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) */
);
 Hint: Soubor se standardně ukládá do limesurvey/tmp/runtime/application.log, který se nachází v kořenové složce LimeSurvey.
  Yii používá cestu runtime. Protokoly jsou standardně přístupné přes web a mohou obsahovat mnoho informací o vašem serveru. Je lepší použít adresář, který není přístupný přes web. Můžete jej nastavit v routes nebo úpravou cesty runtime.

.

Cesta runtime

Cesta runtime musí být adresář čitelný a zapisovatelný pro „webového uživatele“. Obsahuje však soubory s potenciálně citlivými informacemi, které se nacházejí ve veřejně přístupné oblasti webu. LimeSurvey tyto soubory ukládá do adresáře temp v kořenovém adresáři LimeSurvey. Chcete-li zamezit přístupu k těmto důležitým datům, můžete cestu runtime nastavit mimo veřejně přístupnou oblast úpravou příslušných řádků v souboru /application/config/config.php:

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

Obecná nastavení

  • sitename: Pojmenuje váš web s průzkumy. Tento název se zobrazí v přehledu seznamu průzkumů a v záhlaví administrace. Výchozí hodnota je 'LimeSurvey' a lze ji přepsat v dialogovém okně globální nastavení nebo upravit v souboru config.php.
  • siteadminemail: Toto je výchozí e-mailová adresa administrátora webu, která se používá pro systémové zprávy a kontaktní možnosti. Toto nastavení se používá pouze jako výchozí hodnota a lze jej přepsat v dialogovém okně globální nastavení.
  • showEmailInError: Použije výchozí e-mail administrátora webu (siteadminemail) pro odkaz mailto na chybové stránce. Po vypnutí se zobrazí pouze jméno administrátora. Ve výchozím nastavení je vypnuto, aby se omezil spam na e-mail administrace.
  • siteadminbounce: Toto je e-mailová adresa, na kterou budou odesílány nedoručené e-maily. Toto nastavení se používá pouze jako výchozí hodnota a lze jej přepsat v dialogovém okně globální nastavení.
  • siteadminname: Skutečné jméno administrátora webu. Toto nastavení se používá pouze jako výchozí hodnota a lze jej přepsat v dialogovém okně globální nastavení.
  • proxy_host_name: Toto je název hostitele vašeho proxy serveru (je nutné jej uvést, pokud se nacházíte za proxy serverem a chcete aktualizovat LimeSurvey pomocí ComfortUpdate).
  • proxy_host_port: Toto je port vašeho proxy serveru (je nutné jej uvést, pokud se nacházíte za proxy serverem a chcete aktualizovat LimeSurvey pomocí ComfortUpdate).

Zabezpečení

  • maxLoginAttempt: Počet pokusů, které má uživatel k zadání správného hesla, než bude jeho IP adresa zablokována. Výchozí hodnota je 3 a lze ji změnit v souboru config.php.
  • timeOutTime: Pokud uživatel zadá heslo nesprávně <maxLoginAttempt>krát, bude zablokován na <timeOutTime> sekund. Výchozí hodnota je 10 minut a lze ji změnit v souboru config.php.
  • maxLoginAttemptParticipants: Počet pokusů, které má respondent k zadání platného tokenu, než bude jeho IP adresa zablokována. Výchozí hodnota je 3 a lze ji změnit v souboru config.php.
  • timeOutParticipants: Pokud respondent zadá token nesprávně <maxLoginAttemptParticipants>krát, bude zablokován na <timeOutParticipants> sekund. Výchozí hodnota je 10 minut a lze ji změnit v souboru config.php.
  • surveyPreview_require_Auth: Ve výchozím nastavení je true. Pokud nastavíte 'false', může váš průzkum vyzkoušet kdokoli pomocí URL průzkumu, aniž by se přihlásil do administrace a aniž by bylo nutné průzkum nejprve aktivovat. Toto nastavení je výchozí hodnota a lze je přepsat v dialogovém okně globální nastavení nebo upravit v souboru config.php.
  • usercontrolSameGroupPolicy: Ve výchozím nastavení je true. Uživatelé bez administrátorských práv definovaní v rozhraní pro správu LimeSurvey uvidí standardně pouze uživatele, které sami vytvořili, nebo uživatele, kteří patří alespoň do jedné stejné skupiny. Výchozí hodnotu lze přepsat v dialogovém okně globální nastavení nebo upravit v souboru config.php.
  • demoMode: Pokud je tato možnost v souboru config.php nastavena na 'true', LimeSurvey přejde do demo režimu. Demo režim mění následující věci:
    • Zakáže změnu podrobností a hesla administrátora;
    • Zakáže nahrávání souborů v editoru šablon;
    • Zakáže odesílání e-mailových pozvánek a upomínek;
    • Zakáže vytvoření výpisu databáze;
    • Zakáže možnost měnit následující globální nastavení: název webu, výchozí jazyk, výchozí režim editoru HTML, filtr XSS.
  • forcedsuperadmin: Pole ID uživatelů se všemi právy v celém LimeSurvey. Toto nastavení lze změnit pouze v souboru config.php. Práva tohoto uživatele nelze upravit v globálních oprávněních uživatele ani jiným vynuceným superadministrátorem. Ve výchozím nastavení je uživatelem s těmito právy uživatel s ID 1, tedy první uživatel vytvořený hned po instalaci.
  • force_ssl: Vynutí provoz LimeSurvey přes HTTPS nebo HTTPS zablokuje. Viz Vynutit HTTPS v administračním rozhraní globálního nastavení.
  • ssl_emergency_override: Toto nastavení vynutí vypnutí SSL. Pokud jste v globálním nastavení zapnuli HTTPS/SSL, ale váš server HTTPS nepodporuje, jediným způsobem, jak jej vypnout, je změna hodnoty přímo v databázi. Toto nastavení vám umožní vynutit vypnutí HTTPS, zatímco změníte globální nastavení Vynutit HTTPS. Mělo by být vždy false, s výjimkou nouzových situací, kdy jej nastavíte na true, dokud problém nevyřešíte. Toto nastavení lze změnit pouze v souboru config.php.
  • ssl_disable_alert: Vypne upozornění pro superadministrátora na nevynucené SSL, pokud SSL opravdu nemůžete nebo nechcete vynucovat. Toto nastavení lze změnit pouze v souboru config.php.
  • allow_unserialize_attributedescriptions: Povolí deserializaci (pomocí funkce PHP unserialize) atributů tokenů při importu nebo čtení objektu průzkumu. Data atributů tokenů se ukládají jako JSON. Pokud importujete soubor průzkumu z velmi staré verze LimeSurvey a potřebujete získat jeho atributy tokenů, musíte toto nastavení povolit. Varování: Deserializace může vést k načtení a spuštění kódu v důsledku vytváření instancí objektů a automatického načítání a škodlivý uživatel by toho mohl zneužít. Toto nastavení lze změnit pouze v souboru config.php.
  • allow_unserialize_attachments: Povolí deserializaci (pomocí funkce PHP unserialize) atributů příloh při importu průzkumu. Ve verzi LimeSurvey 6.16.17 se atribut příloh změnil ze serialize na json_encode. Pokud potřebujete zachovat přílohy při importu starého souboru LSS, musíte to povolit. Varování: Deserializace může vést k načtení a spuštění kódu v důsledku vytváření instancí objektů a automatického načítání a škodlivý uživatel by toho mohl zneužít. Toto nastavení lze změnit pouze v souboru config.php.
  • twig_getConfig_extraallowlist: Umožňuje povolit další konkrétní prvky pro funkci getConfig v Twigu. LimeSurvey již povoluje většinu potřebných a používaných nastavení, ale můžete potřebovat další. Pokud chcete povolit 'securesetting' a 'anothersetting', nastavte hodnotu ['securesetting','anothersetting'], například takto: 'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. Toto nastavení lze změnit pouze v souboru config.php.

Ochrana proti skriptování mezi weby (XSS)

LimeSurvey nepovoluje žádné uživatelské skripty na stránce administrace. Pokud najdete způsob, jak by kterýkoli uživatel mohl na stránku administrace přidat skript XSS, přečtěte si naše bezpečnostní zásady.

Skripty na veřejných stránkách jsou řízeny nastavením filtru XSS.

  • filterxsshtml: Toto nastavení zapíná filtrování podezřelých značek HTML v textech průzkumů, skupin, otázek a odpovědí v administračním rozhraní. Ponechte hodnotu 'false' pouze v případě, že naprosto důvěřujete uživatelům, které jste vytvořili pro správu LimeSurvey, a chcete jim umožnit používat Javascript, Flash filmy atd. Superadministrátorům se HTML nikdy nefiltruje. Výchozí hodnotu lze přepsat v dialogovém okně globální nastavení.
  • filterxsshtml_forcedall: Vynutí filterxsshtml na true pro všechny uživatele a zakáže změny v administračním rozhraní. Zapne filtrování podezřelých značek HTML i pro superadministrátora.
  • filterxsshtml_allowforcedsuperadmin: Používá se pouze v případě, že filterxsshtml_forcedall je true. Umožní vynucenému superadministrátorovi forcedsuperadmin (ve výchozím nastavení administrátor č. 1) přidávat libovolné skripty a HTML.
  • disablescriptwithxss: Umožňuje úpravu skriptu v otázce: ve výchozím nastavení true, tedy platí pravidla XSS; nastavením na false jej povolíte všem uživatelům. Výchozí hodnotu lze přepsat v dialogovém okně globální nastavení.
  • filterxsshtml_enablescript: Používá se pouze v případě, že filterxsshtml_forcedall je true. Povolí skript otázky pro konkrétního uživatele: gui: umožní změnu nastavení v grafickém rozhraní; superadmin: pouze superadministrátor; forcedsuperadmin: pouze vynucený superadministrátor; ve výchozím nastavení: žádný uživatel a změna v grafickém rozhraní není povolena

Povolené načítání souborů

  • allowedthemeimageformats : Typy souborů obrázků, které lze nahrát v sekci motivů. Soubory SVG jsou ve výchozím nastavení zakázány kvůli možnému útoku XSS.
  • allowedthemeuploads : Další typy souborů, které lze nahrát v sekci motivů (soubor zip)
  • allowedresourcesuploads : Typy souborů, které lze nahrát v sekci zdrojů a pomocí editoru HTML
  • allowedpluginuploads : Typ souboru povolený při nahrávání souboru zip se zásuvným modulem.

Stačí zadat řetězec přípon oddělených čárkami. Například:

'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',

Upozornění: Při povolování nahrávání souborů buďte vždy opatrní. Je třeba počítat se škodlivou činností.

Zásuvné moduly

  • usePluginWhitelist : Pokud je nastaveno na true, zásuvné moduly, které nejsou na seznamu povolených (viz 'pluginWhitelist'), nelze nainstalovat ani načíst. Tím se mohou vypnout již nainstalované zásuvné moduly.
  • pluginWhitelist : Seznam názvů zásuvných modulů, které je povoleno instalovat a načítat, pokud je 'usePluginWhitelist' nastaveno na true. Základní zásuvné moduly jsou na seznamu povolených implicitně.
  • corePluginBlacklist : Seznam názvů základních zásuvných modulů, které jsou zakázány, pokud je 'usePluginWhitelist' nastaveno na true.
  • disablePluginUpload : Pokud je toto nastavení true, funkce „Plugin Upload“ je vypnuta

Kontrola hostitele

  • allowedHosts : Abyste předešli útoku typu Host Header Injection, můžete nastavit povolené hostitele pro všechny akce. Pokud používáte různé hostitele pro veřejnou stránku a pro administraci, musíte nastavit oba jako povolené hostitele.
    'config'=>array(
            ....
,		// Update default LimeSurvey config here
		'allowedHosts' => [
			'survey.example.org',
			'proxy.survey.example.com',
			'example.limesurvey.org',
		],
    ),

Zdroje

  • iSessionExpirationTime: Určuje čas v sekundách, po kterém vyprší sezení průzkumu. Platí pouze při použití databázových sezení. Pokud databázová sezení používáte, změňte parametr v souboru config.php nebo přepište výchozí hodnotu v dialogu globálního nastavení.
  • memory_limit: Určuje, kolik paměti může LimeSurvey využít, v megabajtech. Výchozí hodnota je '256'. Pokud se objevují chyby vypršení časového limitu nebo máte potíže s generováním statistik či exportem souborů, zvyšte tento limit na '512' nebo více. Pokud má váš webový server v souboru php.ini nastaven vyšší limit, bude toto nastavení ignorováno.
Mějte prosím na paměti, že taková místní nastavení mohou být vždy přepsána změnami provedenými v dialogu globálního nastavení.

Chcete-li zvýšit limit paměti na 128M, můžete také zkusit přidat:

  • memory_limit = 128M do hlavního souboru php.ini vašeho serveru (doporučeno, pokud máte přístup)
  • memory_limit = 128M do souboru php.ini v kořenovém adresáři LimeSurvey
  • php_value memory_limit 128M do souboru .htaccess v kořenovém adresáři LimeSurvey
  • max_execution_time: Nastavuje počet sekund, po které smí skript běžet. Pokud je tento čas dosažen, skript vrátí fatální chybu. Aby bylo možné exportovat velká data průzkumů a statistiky, LimeSurvey se ve výchozím nastavení pokouší nastavit hodnotu na 1200 sekund. Podle potřeby můžete nastavit delší nebo kratší čas. Dostupné pouze prostřednictvím konfiguračního souboru PHP.

Vzhled

  • repeatheadings: U typu otázky Pole budete často mít mnoho podotázek, které po zobrazení na obrazovce zaberou více než jednu stránku. Toto nastavení umožňuje určit, kolik podotázek se má zobrazit před opakováním informací v záhlaví otázky. Vhodná hodnota je okolo 15. Pokud nechcete, aby se záhlaví opakovala vůbec, nastavte hodnotu 0. Toto nastavení je přepsáno v dialogu globálního nastavení.
  • minrepeatheadings: Minimální počet zbývajících podotázek, který je vyžadován pro opakování záhlaví u otázek typu Pole. Výchozí hodnota je 3 a lze ji upravit v souboru config.php.
  • defaulttheme: Toto nastavení určuje výchozí motiv použitý pro „veřejný seznam“ průzkumů. Toto nastavení lze přepsat v dialogu globálního nastavení nebo upravit v souboru config.php.
  • defaulthtmleditormode: Nastavuje výchozí režim integrovaného HTML editoru. Toto nastavení lze přepsat v dialogu globálního nastavení nebo upravit v souboru config.php. Platná nastavení jsou:
    • 'inline' - Pole se nahradí přímo HTML editorem. Pomalé, ale pohodlné a uživatelsky přívětivé;
    • 'popup' - Přidá ikonu, která v případě potřeby spustí HTML editor ve vyskakovacím okně. Rychlejší, ale HTML kód se zobrazuje ve formuláři;
    • 'none'- Žádný HTML editor;
  • column_style: Určuje, jak se vykreslují sloupce u odpovědí na průzkum při použití display_columns. Lze upravit v souboru config.php. Platná nastavení jsou:
    • 'css' - k vytvoření sloupců se použije jedna z různých metod CSS (podrobnosti viz stylopis šablony);
    • 'ul' - sloupce se vykreslí jako několik plovoucích neuspořádaných seznamů (výchozí);
    • 'table' - použije se běžné rozvržení založené na tabulkách;
    • NULL - vypne použití sloupců.

Jazyk a čas

  • defaultlang: Zde by měl být nastaven výchozí jazyk používaný ve vašich administračních skriptech a také výchozí jazyk ve veřejném seznamu průzkumů. Toto nastavení lze přepsat v dialogu globálního nastavení nebo upravit v souboru config.php.
  • timeadjust: Pokud se váš webový server nachází v jiném časovém pásmu než místo, kde budou vaše průzkumy probíhat, zadejte sem rozdíl mezi serverem a vaším domácím časovým pásmem. Například bydlím v Austrálii, ale používám americký webový server. Webový server je o 14 hodin pozadu za mým místním časem, takže zde mám nastaveno „14“. Jinými slovy, k času webového serveru se přičte 14 hodin. Toto nastavení je obzvlášť důležité, pokud průzkumy ukládají časové razítko odpovědí. Toto nastavení lze přepsat v dialogu globálního nastavení nebo upravit v souboru config.php.

Chování průzkumu

  • deletenonvalues: Tuto funkci používejte opatrně. Ve výchozím nastavení (hodnota 1) se irelevantní otázky v databázi nastaví na NULL. Tím je zajištěno, že data ve vaší databázi jsou vnitřně konzistentní. Existují však vzácné případy, kdy můžete chtít irelevantní hodnoty zachovat, a pak můžete hodnotu nastavit na 0. Například se zeptáte muže na jeho pohlaví, on omylem odpoví „žena“ a poté odpoví na některé otázky určené pouze ženám (otázky podmíněné tím, že jde o ženu, a jsou tedy relevantní jen pro ženy). Poté si svůj omyl uvědomí, vrátí se zpět, nastaví pohlaví na „muž“ a v průzkumu pokračuje. Nyní jsou otázky určené ženám irelevantní. Pokud je $deletenonvalues==1, tyto irelevantní hodnoty budou v databázi vymazány (nastaveny na NULL). Pokud je $deletenonvalues==0, jeho chybné odpovědi nebudou smazány, takže budou v databázi stále přítomny, když ji budete analyzovat.
  • shownoanswer: Pokud otázka typu přepínač/výběr obsahující upravitelné odpovědi (např. otázky typu Seznam, Pole) není povinná a 'shownoanswer' je nastaveno na 1, zobrazí se navíc možnost „Bez odpovědi“, aby respondenti mohli na otázku neodpovědět. Někteří lidé preferují, aby tato možnost nebyla k dispozici. Toto nastavení lze přepsat v dialogu globálního nastavení nebo upravit v souboru config.php. Platné hodnoty jsou:
    • '0': Ne;
    • '1': Ano;
    • '2': Správce průzkumu si může vybrat.
  • printanswershonorsconditions: Toto nastavení určuje, zda funkce printanswers zobrazí položky z otázek, které byly skryty větvením podmínek (výchozí: 1 = skrýt odpovědi z otázek skrytých podmínkami).
  • showpopups: Zobrazit vyskakovací zprávy, pokud povinné nebo podmíněné otázky nebyly zodpovězeny správně:
    • '2' = určeno volbou motivu (výchozí)
    • '1'= zobrazit vyskakovací zprávu;
    • '0'= místo toho zobrazit zprávu na stránce;
    • '-1'= zprávu nezobrazovat vůbec (v tomto případě uživatelé stále uvidí tipy ke konkrétním otázkám, které označují, na které otázky je nutné odpovědět).

Chování číselného typu otázky

  • bFixNumAuto: Číselná pole lze automaticky filtrovat, aby se odstranily všechny nečíselné hodnoty. Ve výchozím nastavení je to zapnuto, ale můžete to vypnout globálně. Toto nastavení souvisí s volbou Opravit číselnou hodnotu automaticky v možnostech základního motivu. Je zapnuto pro Ano, vypnuto pro Pouze pro výraz a Ne.
  • bNumRealValue: Číselná pole používaná ve správci výrazů mohou být opravena, nebo ne. Ve výchozím nastavení jsou opravena. Pokud je NUMERIC číselná otázka: vypnuto nebo 0 : {NUMERIC} s nesprávnými znaky vrátí '', zapnuto nebo 1 : {NUMERIC} vrátí všechny zadané znaky. Toto nastavení souvisí s volbou Opravit číselnou hodnotu automaticky v možnostech základního motivu. Je zapnuto pro Ano a Pouze pro výraz a vypnuto pro Ne.

Vývoj a ladění

  • debug: Tímto nastavením nastavíte hlášení chyb PHP na E_ALL. To znamená, že se zobrazí každé upozornění, varování nebo chyba související se skriptem. Toto nastavení by mělo být přepnuto na '1' pouze tehdy, pokud se z jakéhokoli důvodu pokoušíte aplikaci ladit. Pokud jste vývojář, přepněte jej na '2'. Nepřepínejte jej na '1' ani '2' v ostrém provozu, protože by mohlo dojít k odhalení cest. Výchozí hodnota je '0' a lze ji upravit v souboru config.php.
  • debugsql: Aktivujte toto nastavení, pokud chcete na konci každé stránky zobrazit všechny SQL dotazy provedené skriptem. Velmi užitečné pro optimalizaci počtu dotazů. Chcete-li je aktivovat, změňte v souboru config.php výchozí hodnotu na '1'.
  • use_asset_manager: Ve výchozím nastavení režim ladění vypíná správce prostředků (asset manager). Pomocí tohoto nastavení můžete správce prostředků používat i při zapnutém režimu ladění.

Pokud se v aplikaci setkáte s chybou, důrazně doporučujeme aktivovat nastavení ladění, abyste získali podrobnější chybové hlášení, které můžete přiložit k hlášení chyby:

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

Pokud pracujete na zásuvném modulu a potřebujete rychlý způsob, jak vypsat proměnné na obrazovku, můžete použít funkci traceVar. Pokud je nastaveno ladění, tato funkce využívá CWebLogRoute k zobrazení na HTML stránce. Použití: traceVar($MyVariable)

Nastavení e-mailu

Všechna níže uvedená nastavení lze přepsat v dialogu globálního nastavení.

  • 'emailmethod: Určuje, jak se odesílají e-mailové zprávy. K dispozici jsou následující možnosti:
    • 'mail:' používá interní PHP mailer;
    • 'sendmail:' používá mailer sendmail;
    • 'smtp:' používá přeposílání přes SMTP. Toto nastavení použijte, pokud LimeSurvey provozujete na hostiteli, který není vaším poštovním serverem.
  • 'emailsmtphost: Pokud jako $emailmethod používáte 'smtp', musíte sem zadat svůj SMTP server. Pokud používáte Google mail, možná budete muset přidat číslo portu, například $emailsmtphost = 'smtp.gmail.com:465'.
  • emailsmtpuser: Pokud váš SMTP server vyžaduje ověření, nastavte zde své uživatelské jméno, jinak musí zůstat prázdné.
  • emailsmtppassword: Pokud váš SMTP server vyžaduje ověření, nastavte zde své heslo, jinak musí zůstat prázdné.
  • emailsmtpssl: Nastavte na 'ssl' nebo 'tls', chcete-li pro připojení SMTP použít SSL/TLS.
  • maxemails: Při odesílání pozvánek nebo připomínek respondentům průzkumu toto nastavení určuje, kolik e-mailů lze odeslat v jedné dávce. Různé webové servery mají různou kapacitu pro odesílání e-mailů, a pokud váš skript odesílá dávku e-mailů příliš dlouho, může vypršet jeho časový limit a způsobit chyby. Většina webových serverů dokáže odeslat 100 e-mailů najednou v rámci výchozího 30sekundového časového limitu pro skript PHP. Pokud při odesílání velkého počtu e-mailů dostáváte chyby vypršení časového limitu skriptu, snižte číslo v tomto nastavení. Kliknutím na tlačítko „Poslat e-mailové pozvánky“ na panelu nástrojů pro správu tokenů (nikoli na tlačítko umístěné vpravo u každého tokenu) se odešle <maxemails> pozvánek, poté se zobrazí seznam adres příjemců a upozornění, že čeká více e-mailů, než bylo možné odeslat v jedné dávce. Pokračujte v odesílání e-mailů kliknutím níže. Zbývá odeslat ### e-mailů. a nabídne se tlačítko „pokračovat“ pro zahájení další dávky. Tzn. uživatel určuje, kdy se po odeslání každé dávky odešle další dávka. Není nutné čekat s aktivní touto obrazovkou. Správce se může odhlásit a vrátit se později, aby odeslal další dávku pozvánek.

Statistiky a procházení odpovědí

  • filterout_incomplete_answers: Určuje výchozí chování filtrování neúplných odpovědí při procházení nebo analýze odpovědí. Diskusi o neúplných odpovědích najdete v naší wiki o procházení výsledků průzkumu. Protože tyto záznamy mohou zkreslit statistiky, je v několika formulářích grafického rozhraní k dispozici možnost tento filtr zapnout nebo vypnout. Parametr lze upravit v souboru config.php. K dispozici jsou následující možnosti:
    • 'all': Umožňuje zobrazit úplné i neúplné odpovědi;
    • 'complete': Zobrazí pouze úplné odpovědi;
    • 'incomplete': Zobrazí pouze neúplné odpovědi.
  • strip_query_from_referer_url: Toto nastavení určuje, zda odkazující URL ukládá parametr, či nikoli. Výchozí hodnota je 'false' (v tomto případě odkazující URL ukládá všechny parametry). Případně lze tuto hodnotu nastavit na 'true' a část s parametry bude z odkazující URL odstraněna.
  • showaggregateddata: Je-li aktivováno, zobrazí se dodatečné statistické hodnoty, například aritmetický průměr a směrodatná odchylka. Data jsou navíc agregována pro rychlejší přehled. Například výsledky škály 1+2 a 4+5 se sečtou, aby vzniklo obecné pořadí, např. "dobré" (1/2), "průměrné" (3) a "špatné" (4/5). Týká se pouze typů otázek "A" (pole s 5 možnostmi) a "5" (výběr z 5 možností).
  • Nastavení exportu PDF: Tato funkce aktivuje export do PDF pro tisknutelné průzkumy a tisk odpovědí. Funkce exportu do PDF je zcela experimentální a výstup je daleko od dokonalosti. Bohužel v tuto chvíli nelze poskytnout žádnou podporu – pokud nám chcete pomoci s opravou, kontaktujte nás.
    • 'pdfdefaultfont': Představuje výchozí písmo, které bude funkce exportu do PDF používat. Výchozí hodnota je 'auto'. Chcete-li ji změnit, nastavte jedno z základních písem PDF.
    • 'alternatepdffontfile': Je to pole s jazykovými klíči a jim odpovídajícími písmy. Výchozí písmo pro každý jazyk lze nahradit v souboru config.php;
    • 'pdffontsize': Určuje velikost písma běžných textů; pro název průzkumu je to <pdffontsize>+4, pro název skupiny <pdffontsize>+2. Lze ji upravit v souboru config.php nebo v dialogu globálního nastavení.
  • Nastavení grafů
    • 'chartfontfile': Nastavuje jméno souboru písma, které se používá k vytváření statistických grafů. Soubor musí být umístěn v adresáři fonts v kořenové složce LimeSurvey. Lze jej upravit v souboru config.php;
    • 'alternatechartfontfile': Je to pole s jazykovými klíči a jim odpovídajícími písmy. Lze je upravit v souboru config.php.
  • showsgqacode: Toto nastavení se používá u funkce tisknutelného průzkumu a ve výchozím stavu je 'false. Nastavíte-li showsgqacode = 'true';, zobrazí se ID každé otázky – a případně odpovědi. Tato ID odpovídají záhlaví sloupců v tabulce Lime_survey_12345, která obsahuje data odpovědí daného průzkumu. Tato ID lze použít jako kódovou knihu pro ruční dotazy do databáze.

Nastavení LDAP

Protože jde o rozsáhlé téma, přesunuli jsme nastavení LDAP na jinou stránku.

Ověřování

Ověřování zajišťují zásuvné moduly. Níže uvedená nastavení používá zásuvný modul pro ověřování pomocí webového serveru, viz Zásuvné moduly pro ověřování.

Delegování ověřování na webový server

Správci systému mohou chtít ověřovat své správce průzkumů vůči centrálnímu systému ověřování (Active Directory, openLdap, Radius, ...) namísto interní databáze LimeSurvey. Snadným způsobem je nastavit software webového serveru tak, aby používal tento externí systém ověřování, a poté požádat LimeSurvey, aby důvěřoval identitě uživatele, kterou hlásí webový server. Chcete-li tuto funkci povolit, musíte:

  • aktivovat zásuvný modul Webserver v části Konfigurace > Zásuvné moduly a v nastavení zásuvného modulu zadat klíč serveru, který obsahuje uživatelské jméno (výchozí: REMOTE_USER);
  • povolit ověřování na straně webového serveru.

Upozorňujeme, že:

  • LimeSurvey pak obejde vlastní proces ověřování (použije přihlašovací jméno hlášené webovým serverem a nebude se ptát na heslo);
  • tímto lze nahradit pouze systém ověřování v grafickém rozhraní LimeSurvey, nikoli systém pozvánek do průzkumu (rozhraní respondentů).

Delegování ověřování bez automatického importu uživatelů

Upozorňujeme, že delegování ověřování ve výchozím stavu neobchází systém autorizace LimeSurvey – to znamená, že i když nemusíte v LimeSurvey spravovat hesla, stále je nutné definovat uživatele v databázi LimeSurvey a přidělit jim správnou sadu oprávnění, aby mohli vstoupit do administračního panelu.

Uživatel získá přístup do LimeSurvey tehdy a jen tehdy, pokud:

  • byl ověřen webovým serverem;
  • jeho přihlašovací jméno je definováno jako uživatel v uživatelské databázi LimeSurvey (uživatel pak získá oprávnění uživatele definovaného v uživatelské databázi LimeSurvey);
  • má globální oprávnění Použít ověření web serveru.

Delegování ověřování s automatickým importem uživatelů

Při správě rozsáhlé databáze uživatelů je někdy snazší uživatele automaticky importovat do databáze LimeSurvey:

  • auth_webserver_autocreate_user: Je-li nastaveno na 'true', LimeSurvey se pokusí automaticky importovat uživatele ověřené webovým serverem, kteří ještě nejsou v jeho databázi uživatelů.
  • auth_webserver_autocreate_profile: Pole popisující výchozí profil, který bude uživateli přiřazen: celé (smyšlené) jméno, e-mail a jazyk.
  • auth_webserver_autocreate_permissions: Pole s globálními oprávněními, která budou uživateli přiřazena.

Chcete-li přizpůsobit uživatelský profil tak, aby odpovídal přihlášenému uživateli, budete muset v souboru config.php vytvořit jednoduchou funkci s názvem hook_get_auth_webserver_profile – pomocí této funkce můžete z centrální databáze uživatelských účtů (například z adresáře LDAP) získat skutečné celé jméno, e-mail a jazyk konkrétního uživatele.

Funkce hook_get_auth_webserver_profile přijímá jako jediný argument přihlašovací jméno uživatele a může vrátit:

  • False nebo prázdné pole – v tomto případě je uživateli odepřen přístup do LimeSurvey;
  • pole obsahující stejné položky jako auth_webserver_autocreate_profile.
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
    return array(
        'full_name' => $user_name_from_backend,
        'email' => $user_email_from_backend,
        'lang' => $user_lang_from_backend,
    );
}

// If user should be denied access, return an empty array
// return array();
  Volitelná funkce 'hook_get_auth_webserver_profile' je určena pouze pro pokročilé uživatele! Další podrobnosti naleznete v komentářích v souboru config-defaults.php.


Mapování uživatelských jmen

Pokud mají někteří uživatelé externí uživatelské jméno odlišné od jména v LimeSurvey, může být užitečné použít mapování uživatelských jmen. V LimeSurvey se to provádí pomocí parametru auth_webserver_user_map. Představte si například, že ve své externí databázi ověřování nemáte definováno uživatelské jméno 'admin'. Abyste se mohli do LimeSurvey přihlásit jako admin, musíte své externí uživatelské jméno (říkejme mu 'myname') namapovat na přihlašovací jméno admin v LimeSurvey. Odpovídající nastavení je:

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

Po úspěšném ověření pomocí přihlašovacího jména 'myname' a hesla webového serveru budete přímo oprávněni používat LimeSurvey jako uživatel 'admin'.

Má to vážné důsledky pro bezpečnost, proto to používejte opatrně. Také chraňte soubor config.php před zápisem ze strany webového serveru.

Použití jednorázových hesel

Uživatel může otevřít přihlašovací stránku LimeSurvey na adrese default.com/limesurvey/admin a zadat uživatelské jméno a jednorázové heslo, které bylo dříve zapsáno do tabulky users (sloupec one_time_pw) externí aplikací.

Aby bylo možné používat jednorázová hesla, musí být toto nastavení zapnuto v souboru config.php (výchozí = false).

    'config'=>array(
        'debug'=>0,
        'debugsql'=>0,
        'use_one_time_passwords'=>true,
    )

Další informace naleznete v části „Správa uživatelů“.


Nastavení šifrování

  Pozor : Po nastavení by se šifrovací klíče již nikdy neměly měnit, jinak by mohla být ztracena všechna šifrovaná data!


Při aktualizaci nebo instalaci jsou tyto parametry vygenerovány systémem LimeSurvey a uloženy do souboru application/config/security.php. Chcete-li, můžete tato nastavení přesunout do souboru config.php, nebo je ponechat v security.php.

Podrobnosti o této funkci naleznete v části Šifrování dat.

  • encryptionkeypair
  • encryptionpublickey
  • encryptionsecretkey
  • encryptionnonce
  • encryptionsecretboxkey

Pokročilé nastavení URL

  • publicurl: Toto nastavení by mělo obsahovat adresu URL umístění vašich „veřejných skriptů“. Veřejné skripty jsou ty, které se nacházejí ve složce „limesurvey“ (nebo v adresáři, který jste pojmenovali jinak a ve kterém jsou uloženy všechny ostatní skripty a adresáře). Toto nastavení je dostupné v souboru config.php a používá se, když LimeSurvey potřebuje absolutní adresu URL (například při odesílání e-mailů s tokeny).
  • tempurl: Toto nastavení by mělo obsahovat adresu URL umístění vašeho adresáře „/limesurvey/tmp“ nebo adresáře, který chcete v LimeSurvey používat pro poskytování dočasných souborů.
  • uploadurl: Toto nastavení by mělo obsahovat adresu URL umístění vašeho adresáře „/limesurvey/upload“ nebo adresáře, který chcete v LimeSurvey používat pro poskytování nahraných souborů. Díky tomu můžete nahrané soubory umístit na jinou doménu.

Rozšířená nastavení cest

  • homedir: Toto nastavení by mělo obsahovat fyzické umístění vašich administračních skriptů na disku, například „/home/usr/htdocs/limesurvey/admin“. Na konec tohoto záznamu nepřidávejte lomítko. Výchozí nastavení v souboru config.php se pokouší zjistit výchozí kořenovou cestu všech vašich dokumentů pomocí proměnné PHP {$_SERVER['DOCUMENT_ROOT']}. Ve většině případů to můžete ponechat a upravit pouze zbývající část tohoto řetězce tak, aby odpovídala názvu adresáře, do kterého jste skripty LimeSurvey umístili.
  • publicdir: Toto nastavení by mělo obsahovat fyzické umístění vašich „veřejných skriptů“ na disku.
  • tempdir: Toto nastavení by mělo obsahovat fyzické umístění vašeho adresáře /limesurvey/tmp na disku, aby skript mohl číst a zapisovat soubory.
  • uploaddir: Toto nastavení by mělo obsahovat fyzické umístění vašeho adresáře /limesurvey/upload na disku, aby skript mohl číst a zapisovat soubory.
  • sCKEditorURL: adresa URL skriptu CKEditor.

Další rozšířená nastavení

Nahrávání souborů

  • magic_database: Umožňuje použít pro finfo_open jinou databázi MIME. Lze upravit pouze v souboru config.php. Příklad: /usr/share/misc/magic.mgc pro linux založený na redhatu.
  • magic_file: Umožňuje použít jiný soubor pro získání pole přípon podle typu MIME, než je součástí instalace. Musí to být soubor PHP, který vrací pole. Lze upravit pouze v souboru config.php.

Aktualizace

  • updatable: Toto nastavení se nachází v souboru version.php. Může být true nebo false. Pokud je nastaveno na true, při přihlášení superadministrátora LimeSurvey zkontroluje, zda je dostupná aktualizace, a zobrazí upozornění. Pokud je nastaveno na false, kontrola se neprovádí a nelze použít komfortní aktualizaci (ComfortUpdate).

Tokeny

  • allowedcharacters_pattern_token : Toto nastavení umožňuje určit vzor regulárního výrazu pro filtrování tokenů.