الإعدادات الاختيارية
From LimeSurvey Manual
هذا القسم موجّه لمن يرغب في تحرير إعدادات التهيئة التي لا يمكن تعديلها من خلال الواجهة الرسومية (GUI) لتثبيت LimeSurvey. يُرجى العلم أن جميع التغييرات التي تُجرى في المجلد الجذر لـ LimeSurvey تتم على مسؤوليتك الخاصة. ومع ذلك، إذا واجهت مشكلات أو احتجت إلى مزيد من الإرشاد، فانضم إلى منتديات النقاش للحصول على مساعدة من مجتمع LimeSurvey.
مقدمة
لتعديل إعدادات التهيئة الخاصة بالتثبيت، عليك تحرير الإعدادات الاختيارية. يمكنك العثور عليها في الملف /application/config/config-defaults.php الموجود في المجلد الجذر لـ LimeSurvey. توجد الإعدادات الافتراضية للتثبيت القياسي في config-defaults.php. يمكن تجاوز بعضها باستخدام مربع حوار الإعدادات العامة، بينما يجب تحرير الباقي يدويًا.
عند إجراء ترقية، يتم تغيير إعدادات config-defaults.php فقط. لذلك فإن تحرير ملف config.php سيحفظ إعداداتك المخصصة.
لتحديث/إضافة إعدادات LimeSurvey في /application/config/config.php، عليك تحديث الصفيف config:
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'New value', // Update default LimeSurvey config here
)
إعدادات Yii
يستخدم LimeSurvey إطار العمل Yii، الذي له معاملات تهيئة خاصة به في الملفين application/config/internal.php وapplication/config/config.php. يمكنك أيضًا الوصول إلى بعض إعدادات التهيئة الخاصة بـ LimeSurvey عبر تهيئة Yii.
بما أن صفيف config.php يُدمج مع التهيئة الكاملة، يمكنك استبدال أي معاملات Yii في ملف config.php.
تُعيَّن الإعدادات الخاصة بـ Yii في صفيف components:
'components' => array(
'db' => array(
....
),
'Specific settings'=>array(
....
),
),
اعدادات قاعدة البيانات
تتم كتابة إعدادات قاعدة البيانات في config.php بواسطة ملف المثبّت عند تثبيت LimeSurvey للمرة الأولى. إذا لزم الأمر، يمكنك تحديث هذا الجزء من ملف config.php. يُرجى تذكر أنك تفعل ذلك على مسؤوليتك الخاصة! راجع أيضًا وثائق Yii**، وتذكّر أن LimeSurvey يدعم أنواع قواعد البيانات التالية فقط: mysql وpgsql وdblib وmssql وsqlsrv.
إعدادات الجلسة
يمكنك تعيين بعض معاملات الجلسة في config.php (راجع المثالين أدناه). يمكنك إلغاء التعليق عن الجزء المطلوب أو إضافته في config.php. راجع وثائق Yii للاطلاع على الإعدادات الأخرى.
استخدام الجلسات المعتمدة على الجداول
يمكن لـ LimeSurvey استخدام الجلسات المعتمدة على الجداول، وستجد جزءًا معلّقًا في ملف config.php الافتراضي الذي يتم إنشاؤه. لاستخدام الجلسات المعتمدة على الجداول، أزل // من بداية كل سطر.
'session' => array (
'class' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sessions}}',
),
تحديثات أخرى للجلسات
إذا كنت تستخدم SSL ('https') لتثبيت LimeSurvey الخاص بك، فإن إضافة الأسطر التالية إلى ملف config.php ستزيد من أمان الجلسة:
// 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
),
),
إذا أردت تثبيت النطاق لملف تعريف الارتباط، فاستخدم الصيغة التالية في config.php:
// Set the domain for cookie
'session' => array (
'cookieParams' => array(
'domain' => '.example.org',
),
),
إذا كانت لديك عدة تثبيتات على الخادم نفسه، فقد يكون من الأسرع والأسهل تعيين اسم جلسة مختلف لكل نسخة من LimeSurvey. قد يكون ذلك ضروريًا لمتصفح IE11 في بعض الحالات (راجع المشكلة 12083)
// Set the name of the session
'session' => array (
'sessionName' => "LimeSurveyN1",
),
إعدادات الطلب
إعدادات الطلب مهمة، لكن الإعدادات الافتراضية محسّنة بالفعل لاستخدام LimeSurvey. لمعرفة المزيد عنها، راجع وثائق Yii.
على سبيل المثال، يمكن تعديل تهيئة إعدادات الطلب في LimeSurvey بالطريقة التالية (على مسؤوليتك الخاصة):
// 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/',
)
),
إذا كنت بحاجة إلى تحديث عنوان URL الخاص برسائل الرموز (token) فقط، فعيّن publicurl في ملف config.php.
السماح باستخدام الجلسة والتحقق من CSRF في iFrame
إن تفعيل تضمين IFrame مسموح في إعدادات الأمان العامة يسمح للمتصفحات فقط بعرض استبياناتك داخل iframe. ولكي يتمكن المشاركون من ملء الاستبيان وإرساله داخل iframe، يجب عليك أيضًا تغيير إعدادات ملفي تعريف الارتباط الخاصين بالجلسة وCSRF في config.php كما هو موضح أدناه. يجب إرسال كلا الملفين مع SameSite=None، والذي لا تقبله المتصفحات إلا عبر اتصال HTTPS صالح.
السماح ببدء الجلسة في iframe
يجب أن يكون ملف تعريف ارتباط الجلسة آمنًا (يتطلب اتصال HTTPS صالحًا) وhttponly، ويجب ضبط samesite على None. يجب كتابة المفاتيح داخل cookieParams بأحرف صغيرة بالكامل.
'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',
),
),
السماح بملف تعريف ارتباط csrf في iframe
كما هو الحال مع ملف تعريف ارتباط الجلسة، يجب أن يكون ملف تعريف ارتباط CSRF آمنًا، ويجب ضبط sameSite على None. لاحظ أن المفتاح يُكتب هنا sameSite. أضف مصفوفة request بالكامل في نفس مستوى session.
'request' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'None',
'secure' => true,
),
),
إعدادات عنوان URL
لتغيير إعدادات عنوان URL الافتراضية، قم بتحديث urlManager:
// Use short URL
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
),
يمكنك أيضًا إضافة .html بعد معرّف الاستبيان بالطريقة التالية:
// Use short URL
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array (
'<sid:\d+>' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
),
'showScriptName' => false,
),
لمزيد من المعلومات، راجع وثائق Yii.
إعدادات السجلات
يوفر Yii حلولًا مختلفة لإنشاء السجلات. لمعرفة المزيد عنها، راجع موضوع السجلات الخاص. يستخدم LimeSurvey القيمة '1' أو '2' افتراضيًا، مما يسمح لكل مستخدم للويب برؤية السجلات. يمكنك إنشاء إعداداتك الخاصة باستخدام Yii مباشرةً.
على سبيل المثال، حل سريع لتسجيل الأخطاء والتحذيرات في ملفات هو:
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) */
);
limesurvey/tmp/runtime/application.log، الموجود في المجلد الجذر لـ LimeSurvey..
مسار وقت التشغيل
يجب أن يكون مسار وقت التشغيل دليلًا قابلًا للقراءة والكتابة بالنسبة إلى "مستخدم الويب". ومع ذلك، يحتوي هذا المسار على ملفات تتضمن معلومات أمنية محتملة وهي موجودة في منطقة الوصول العام عبر الويب. يجمع LimeSurvey هذه الملفات في الدليل المؤقت (temp) ضمن الدليل الجذر لـ LimeSurvey. ولمنع الوصول إلى هذه البيانات المهمة، يمكنك ضبط مسار وقت التشغيل خارج منطقة الوصول العام عبر الويب بتعديل الأسطر المعنية في الملف /application/config/config.php:
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
إعدادات عامة
- sitename: يمنح موقع الاستبيان الخاص بك اسمًا. سيظهر هذا الاسم في نظرة عامة على لائحة الاستبيان وفي رأس الإدارة. القيمة الافتراضية هي 'LimeSurvey' ويمكن تجاوزها في مربع حوار الإعدادات العامة أو تعديلها في config.php.
- siteadminemail: هو البريد الإلكتروني الافتراضي لمدير الموقع ويُستخدم لرسائل النظام وخيارات الاتصال. يُستخدم هذا الإعداد كقيمة افتراضية فقط ويمكن تجاوزه في مربع حوار الإعدادات العامة.
- showEmailInError: استخدم البريد الإلكتروني الافتراضي لمدير الموقع (siteadminemail) لرابط mailto في صفحة الخطأ. عطّله لعرض اسم المدير فقط. الافتراضي هو تجنب المزيد من الرسائل غير المرغوب فيها على البريد الإلكتروني الخاص بالإدارة.
- siteadminbounce: هو عنوان البريد الإلكتروني الذي سترسل إليه رسائل البريد الإلكتروني المرتدة. يُستخدم هذا الإعداد كقيمة افتراضية فقط ويمكن تجاوزه من خلال مربع حوار الإعدادات العامة.
- siteadminname: الاسم الحقيقي لمدير الموقع. يُستخدم هذا الإعداد كقيمة افتراضية فقط ويمكن تجاوزه في مربع حوار الإعدادات العامة).
- proxy_host_name: هو اسم المضيف لخادم الوكيل (proxy) الخاص بك (يجب ذكره إذا كنت خلف وكيل وترغب في تحديث LimeSurvey باستخدام ComfortUpdate).
- proxy_host_port: هو المنفذ لخادم الوكيل (proxy) الخاص بك (يجب ذكره إذا كنت خلف وكيل وترغب في تحديث LimeSurvey باستخدام ComfortUpdate).
الأمان
- maxLoginAttempt: هو عدد المحاولات المتاحة للمستخدم لإدخال كلمة المرور الصحيحة قبل حظر عنوان IP الخاص به/قفله. القيمة الافتراضية هي 3 ويمكن تعديلها من config.php.
- timeOutTime: إذا أدخل المستخدم كلمة المرور بشكل غير صحيح لعدد <maxLoginAttempt> من المرات، فسيتم قفله لمدة <timeOutTime> ثانية. القيمة الافتراضية هي 10 دقائق ويمكن تعديلها من config.php.
- maxLoginAttemptParticipants: هو عدد المحاولات المتاحة للمشارك لإدخال رمز مميز صالح قبل حظر عنوان IP الخاص به/قفله. القيمة الافتراضية هي 3 ويمكن تعديلها من config.php.
- timeOutParticipants: إذا أدخل المشارك الرمز المميز بشكل غير صحيح لعدد <maxLoginAttemptParticipants> من المرات، فسيتم قفله لمدة <timeOutParticipants> ثانية. القيمة الافتراضية هي 10 دقائق ويمكن تعديلها من config.php.
- surveyPreview_require_Auth: مضبوط على true افتراضيًا. إذا ضبطته على 'false'، يمكن لأي شخص اختبار الاستبيان الخاص بك باستخدام عنوان URL للاستبيان، دون تسجيل الدخول إلى لوحة الإدارة ودون الحاجة إلى تنشيط الاستبيان أولًا. هذا الإعداد قيمة افتراضية ويمكن تجاوزه في مربع حوار الإعدادات العامة أو تعديله في config.php.
- usercontrolSameGroupPolicy: مضبوط على true افتراضيًا. افتراضيًا، لن يتمكن المستخدمون من غير المديرين المعرّفين في واجهة إدارة LimeSurvey من رؤية سوى المستخدمين الذين أنشأوهم أو المستخدمين الذين ينتمون إلى مجموعة واحدة مشتركة على الأقل. يمكن تجاوز القيمة الافتراضية في مربع حوار الإعدادات العامة أو تعديلها في config.php.
- demoMode: إذا تم ضبط هذا الخيار على 'true' في config.php، فسيدخل LimeSurvey في وضع العرض التجريبي. يغيّر وضع العرض التجريبي الأمور التالية:
- تعطيل تفاصيل المستخدم المدير وتغيير كلمة المرور؛
- تعطيل تحميل الملفات في محرر القالب؛
- تعطيل إرسال دعوات البريد الإلكتروني والتذكيرات؛
- تعطيل إنشاء نسخة احتياطية لقاعدة البيانات؛
- تعطيل إمكانية تعديل الإعدادات العامة التالية: اسم الموقع، اللغة الافتراضية، وضع محرر HTML الافتراضي، مرشح XSS.
- forcedsuperadmin: صفيف من معرفات المستخدمين الذين لديهم جميع الصلاحيات على كامل LimeSurvey. لا يمكن تحديث هذا الإعداد إلا في ملف config.php. لا يمكن تعديل صلاحيات هذا المستخدم في الصلاحيات العامة للمستخدم حتى من قبل مدير أعلى مفروض آخر. افتراضيًا: المستخدم الذي يملك هذه الصلاحيات هو المستخدم صاحب المعرف 1، وهو أول مستخدم يتم إنشاؤه بعد التثبيت مباشرةً.
- force_ssl: يجبر LimeSurvey على العمل عبر HTTPS أو يمنع HTTPS. راجع اجبار HTTPS في واجهة الإعدادات العامة للإدارة.
- ssl_emergency_override: يفرض هذا الإعداد إيقاف SSL. إذا كنت قد فعّلت HTTPS/SSL في الإعدادات العامة لكن الخادم الخاص بك لا يدعم HTTPS، فإن الطريقة الوحيدة لإيقافه هي تغيير قيمة في قاعدة البيانات مباشرةً. يتيح لك هذا إجبار HTTPS على الإيقاف أثناء تغيير الإعدادات العامة الخاصة بفرض الاتصال الآمن. يجب أن يكون هذا دائمًا false إلا في حالات الطوارئ التي تغيّره فيها إلى true إلى أن تحل المشكلة. يمكن ضبط هذا الإعداد فقط عبر ملف config.php.
- ssl_disable_alert: تعطيل التنبيه الموجّه للمدير الأعلى بشأن عدم فرض SSL، إذا كنت لا تستطيع فرض SSL فعلًا أو لا ترغب في ذلك. يمكن ضبط هذا الإعداد فقط عبر ملف config.php.
- allow_unserialize_attributedescriptions: السماح بإلغاء تسلسل (باستخدام دالة unserialize في PHP) سمات الرمز المميز عند استيراد كائن استبيان أو قراءته. يتم حفظ بيانات سمات الرمز المميز بصيغة JSON. إذا استوردت ملف استبيان من إصدار قديم جدًا من LimeSurvey وكنت بحاجة إلى الحصول على سمات الرمز المميز الخاصة به، فيجب تمكين هذا الإعداد. تحذير: قد يؤدي إلغاء التسلسل إلى تحميل شيفرة وتنفيذها بسبب إنشاء الكائنات والتحميل التلقائي، وقد يتمكن مستخدم خبيث من استغلال ذلك. يمكن ضبط هذا الإعداد فقط عبر ملف config.php.
- allow_unserialize_attachments: السماح بإلغاء تسلسل (باستخدام دالة unserialize في PHP) سمات المرفقات عند استيراد استبيان. في limesurvey 6.16.17: تم نقل سمة المرفقات من serialize إلى json_encode. إذا كنت بحاجة إلى الاحتفاظ بالمرفقات عند استيراد ملف LSS قديم، فعليك السماح بذلك. تحذير: قد يؤدي إلغاء التسلسل إلى تحميل شيفرة وتنفيذها بسبب إنشاء الكائنات والتحميل التلقائي، وقد يتمكن مستخدم خبيث من استغلال ذلك. يمكن ضبط هذا الإعداد فقط عبر ملف config.php.
- twig_getConfig_extraallowlist: يتيح السماح بعناصر محددة لدالة getConfig في twig. يسمح LimeSurvey بالفعل بمعظم الإعدادات الأكثر حاجة واستخدامًا، لكنك قد تحتاج إلى المزيد. إذا أردت السماح بـ 'securesetting' و'anothersetting'، فاضبط هذا الإعداد على
['securesetting','anothersetting']هكذا'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. يمكن ضبط هذا الإعداد فقط عبر ملف config.php.
الحماية من البرمجة النصية عبر المواقع (XSS)
لا يسمح LimeSurvey بأي نص برمجي للمستخدم في صفحة الإدارة. إذا وجدت طريقة لإضافة نص XSS البرمجي في صفحة الإدارة بواسطة أي مستخدم، فيرجى الاطلاع على سياسة الأمان الخاصة بنا.
تتم إدارة النصوص البرمجية للصفحات العامة بواسطة إعدادات تصفية XSS.
- filterxsshtml: يتيح هذا الإعداد تصفية وسوم HTML المشبوهة الموجودة داخل الاستبيانات والمجموعات ونصوص الأسئلة والإجابات في واجهة الإدارة. اترك هذه القيمة 'false' فقط إذا كنت تثق تمامًا بالمستخدمين الذين أنشأتهم لإدارة LimeSurvey وتريد السماح لهم باستخدام Javascript وأفلام Flash وغيرها. لا تتم تصفية HTML الخاص بالمسؤولين الرئيسيين أبدًا. يمكن تجاوز القيمة الافتراضية من مربع حوار الإعدادات العامة.
- filterxsshtml_forcedall: فرض القيمة true للإعداد
filterxsshtmlلجميع المستخدمين وتعطيل التعديلات من واجهة الإدارة. يفعّل تصفية وسوم HTML المشبوهة للمسؤول الرئيسي أيضًا. - filterxsshtml_allowforcedsuperadmin: يُستخدم فقط إذا كانت قيمة
filterxsshtml_forcedallهي true. يسمح للمستخدمforcedsuperadmin(وهو افتراضيًا المستخدم المسؤول رقم 1) بإضافة أي برنامج نصي وأي HTML. - disablescriptwithxss: السماح بتعديل البرنامج النصي في السؤال: القيمة الافتراضية true أي اتباع قواعد XSS؛ اضبطها على false للسماح بذلك لجميع المستخدمين. يمكن تجاوز القيمة الافتراضية من مربع حوار الإعدادات العامة.
- filterxsshtml_enablescript: يُستخدم فقط إذا كانت قيمة filterxsshtml_forcedall هي true. تفعيل البرنامج النصي للسؤال لمستخدم محدد:
gui: السماح بتعديل الإعداد عبر الواجهة الرسومية؛superadmin: المسؤول الرئيسي فقط؛forcedsuperadmin: المسؤول الرئيسي المفروض فقط؛ الافتراضي: لا أحد ولا يُسمح بالتعديل عبر الواجهة الرسومية
السماح بتحميل الملفات
- allowedthemeimageformats : أنواع ملفات الصور المسموح بتحميلها في قسم القوالب. يتم تعطيل ملفات SVG افتراضيًا بسبب احتمال التعرض لهجمات XSS.
- allowedthemeuploads : أنواع الملفات الأخرى المسموح بتحميلها في قسم القوالب (ملف zip)
- allowedresourcesuploads : أنواع الملفات المسموح بتحميلها في أقسام الموارد ومع محرر HTML
- allowedpluginuploads : نوع الملف المسموح به عند تحميل ملف zip الخاص بالبرنامج المساعد.
أدخل فقط سلسلة نصية من الامتدادات مفصولة بفواصل. على سبيل المثال:
'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',
تحذير: كن حذرًا دائمًا عند السماح بتحميل الملفات، إذ قد تحدث أنشطة ضارة.
البرامج المساعدة
- usePluginWhitelist : إذا كانت القيمة true، فلا يمكن تثبيت أو تحميل البرامج المساعدة غير الموجودة في قائمة السماح (انظر 'pluginWhitelist'). قد يؤدي ذلك إلى تعطيل برامج مساعدة مثبتة مسبقًا.
- pluginWhitelist : قائمة بأسماء البرامج المساعدة المسموح بتثبيتها وتحميلها عندما تكون قيمة 'usePluginWhitelist' هي true. البرامج المساعدة الأساسية مدرجة ضمنيًا في قائمة السماح.
- corePluginBlacklist : قائمة بأسماء البرامج المساعدة الأساسية الممنوعة عندما تكون قيمة 'usePluginWhitelist' هي true.
- disablePluginUpload : عندما تكون هذه القيمة true، يتم تعطيل ميزة "Plugin Upload"
التحكم في المضيف
- allowedHosts : لتجنب هجمات حقن ترويسة المضيف (Host Header Injection)، يمكنك تحديد المضيف المسموح به لجميع الإجراءات. إذا كنت تستخدم مضيفين مختلفين للصفحة العامة وصفحة الإدارة، فيجب عليك تعيين كليهما كمضيف مسموح به.
'config'=>array(
....
, // Update default LimeSurvey config here
'allowedHosts' => [
'survey.example.org',
'proxy.survey.example.com',
'example.limesurvey.org',
],
),
الموارد
- iSessionExpirationTime: يحدد المدة بالثواني التي تنتهي بعدها جلسة الاستبيان. ينطبق ذلك فقط إذا كنت تستخدم جلسات قاعدة البيانات. إذا كنت تستخدمها، فغيّر المعامل في config.php أو تجاوز القيمة الافتراضية من مربع حوار الإعدادات العامة.
- memory_limit: يحدد مقدار الذاكرة التي يمكن لـ LimeSurvey استخدامها بالميغابايت. القيمة الافتراضية هي '256'. إذا ظهرت لك أخطاء انتهاء المهلة أو واجهت مشكلات في إنشاء الإحصاءات أو تصدير الملفات، فارفع هذا الحد إلى '512' أو أكثر. إذا كان خادم الويب لديك قد حدد حدًا أعلى في php.ini، فسيتم تجاهل هذا الإعداد.
لزيادة حد الذاكرة إلى 128M، يمكنك أيضًا تجربة إضافة:
- memory_limit = 128M إلى ملف php.ini الرئيسي لخادمك (موصى به، إذا كان لديك صلاحية الوصول)
- memory_limit = 128M إلى ملف php.ini في الدليل الجذر لـ LimeSurvey
- php_value memory_limit 128M في ملف .htaccess في الدليل الجذر لـ LimeSurvey
- max_execution_time: يحدد عدد الثواني المسموح بها لتشغيل البرنامج النصي. عند بلوغ هذا الحد، يُرجع البرنامج النصي خطأً فادحًا. للسماح بتصدير بيانات الاستبيانات الكبيرة والإحصاءات، يحاول LimeSurvey ضبط هذه القيمة افتراضيًا على 1200 ثانية. يمكنك تحديد وقت أطول أو أقصر عند الحاجة. يمكن الوصول إليه فقط عبر ملف إعدادات php.
المظهر
- repeatheadings: مع نوع السؤال صفيف (Array)، غالبًا ما يكون لديك عدد كبير من الأسئلة الفرعية التي تشغل أكثر من صفحة عند عرضها على الشاشة. يتيح لك هذا الإعداد تحديد عدد الأسئلة الفرعية التي يجب عرضها قبل تكرار معلومات الرأس للسؤال. القيمة المناسبة لذلك هي نحو 15. إذا كنت لا تريد تكرار العناوين إطلاقًا، فاضبط القيمة على 0. يتم تجاوز هذا الإعداد من مربع حوار الإعدادات العامة.
- minrepeatheadings: الحد الأدنى لعدد الأسئلة الفرعية المتبقية المطلوب قبل تكرار العناوين في أسئلة الصفيف. القيمة الافتراضية هي 3 ويمكن تعديلها في config.php.
- defaulttheme: يحدد هذا الإعداد القالب الافتراضي المستخدم في 'القائمة العامة' للاستبيانات. يمكن تجاوز هذا الإعداد من مربع حوار الإعدادات العامة أو تعديله في config.php.
- defaulthtmleditormode: يحدد الوضع الافتراضي لمحرر HTML المدمج. يمكن تجاوز هذا الإعداد من مربع حوار الإعدادات العامة أو تعديله في config.php. الإعدادات الصالحة هي:
- 'inline' - استبدال الحقول مباشرةً بمحرر HTML. بطيء لكنه مريح وسهل الاستخدام؛
- 'popup' - يضيف أيقونة تشغّل محرر HTML في نافذة منبثقة عند الحاجة. أسرع، لكن يتم عرض كود HTML في النموذج؛
- 'none'- بدون محرر HTML؛
- column_style: يحدد كيفية عرض الأعمدة لإجابات الاستبيان عند استخدام display_columns. يمكن تعديله في ملف config.php. الإعدادات الصالحة هي:
- 'css' - يستخدم إحدى طرق CSS المختلفة لإنشاء الأعمدة (راجع ورقة أنماط القالب للتفاصيل)؛
- 'ul' - يتم عرض الأعمدة على شكل عدة قوائم غير مرتبة عائمة (الافتراضي)؛
- 'table' - يستخدم تخطيطًا تقليديًا قائمًا على الجداول؛
- NULL - يعطّل استخدام الأعمدة.
اللغة والوقت
- defaultlang: يجب ضبطه على اللغة الافتراضية المستخدمة في برامج الإدارة النصية، وهو أيضًا الإعداد الافتراضي للغة في قائمة الاستبيانات العامة. يمكن تجاوز هذا الإعداد من مربع حوار الإعدادات العامة أو تعديله في config.php.
- timeadjust: إذا كان خادم الويب لديك في منطقة زمنية مختلفة عن الموقع الذي ستستند إليه استبياناتك، فأدخل هنا الفرق بين خادمك ومنطقتك الزمنية. على سبيل المثال، أعيش في أستراليا لكنني أستخدم خادم ويب أمريكيًا. يتأخر الخادم 14 ساعة عن منطقتي الزمنية المحلية، لذا فإعدادي هنا هو "14". بعبارة أخرى، تتم إضافة 14 ساعة إلى وقت خادم الويب. هذا الإعداد مهم بشكل خاص عندما تسجّل الاستبيانات الطابع الزمني للإجابات. يمكن تجاوز هذا الإعداد من مربع حوار الإعدادات العامة أو تعديله في config.php.
سلوك الاستبيان
- deletenonvalues: استخدم هذه الميزة بحذر. افتراضيًا (القيمة 1)، يتم تعيين الأسئلة غير ذات الصلة إلى NULL في قاعدة البيانات. وهذا يضمن اتساق البيانات في قاعدة بياناتك داخليًا. ومع ذلك، هناك حالات نادرة قد ترغب فيها في الاحتفاظ بالقيم غير ذات الصلة، وفي هذه الحالة يمكنك ضبط القيمة على 0. على سبيل المثال، تسأل شخصًا ذكرًا عن جنسه، فيجيب عن طريق الخطأ بـ 'أنثى' ثم يجيب عن بعض الأسئلة الخاصة بالإناث (أسئلة مشروطة بكون المستجيب أنثى، وبالتالي ذات صلة بالنساء فقط). بعد ذلك، يدرك خطأه ويرجع ويضبط الجنس على 'ذكر' ويواصل الاستبيان. الآن أصبحت الأسئلة الخاصة بالإناث غير ذات صلة. إذا كانت
$deletenonvalues==1، فسيتم مسح تلك القيم غير ذات الصلة (تعيينها إلى NULL) في قاعدة البيانات. أما إذا كانت$deletenonvalues==0، فلن يتم حذف إجاباته الخاطئة، وستبقى موجودة في قاعدة البيانات عند تحليلها. - shownoanswer: عندما يكون سؤال من نوع زر الاختيار/القائمة المنسدلة يحتوي على إجابات قابلة للتحرير (مثل أسئلة القائمة والصفيف) غير إلزامي وتكون قيمة 'shownoanswer' هي 1، يتم عرض خيار إضافي 'بدون إجابة' ليتمكن المشاركون من عدم الإجابة عن السؤال. يفضّل بعض الأشخاص ألا يكون هذا الخيار متاحًا. يمكن تجاوز هذا الإعداد من مربع حوار الإعدادات العامة أو تعديله في config.php. القيم الصالحة هي:
- '0': لا؛
- '1': نعم؛
- '2': يمكن لمسؤول الاستبيان الاختيار.
- printanswershonorsconditions: يحدد هذا الإعداد ما إذا كانت ميزة printanswers ستعرض إدخالات من أسئلة تم إخفاؤها بواسطة التفرع الشرطي (الافتراضي: 1 = إخفاء إجابات الأسئلة المخفية بواسطة الشروط).
- showpopups: عرض رسائل منبثقة إذا لم تتم الإجابة عن الأسئلة الإلزامية أو الشرطية بشكل صحيح:
- '2' = يحدده خيار القالب (الافتراضي)
- '1'= عرض رسالة منبثقة؛
- '0'= عرض الرسالة في الصفحة بدلًا من ذلك؛
- '-1'= عدم عرض الرسالة إطلاقًا (في هذه الحالة، سيظل المستخدمون يرون التلميحات الخاصة بكل سؤال والتي توضح الأسئلة التي يجب الإجابة عنها).
سلوك نوع السؤال الرقمي
- bFixNumAuto: يمكن تصفية الحقول الرقمية تلقائيًا لإزالة جميع القيم غير الرقمية. هذا الخيار مفعّل افتراضيًا ويمكنك تعطيله بشكل عام. يرتبط هذا الإعداد بالخيار إصلاح تلقائي للقيم الرقمية في خيارات القالب الأساسي. يكون مفعّلًا عند اختيار نعم، ومعطّلًا عند اختيار للتعبير التالى ولا.
- bNumRealValue: يمكن إصلاح الحقول الرقمية المستخدمة في مدير التعبيرات أو عدم إصلاحها. الإصلاح مفعّل افتراضيًا. إذا كان NUMERIC سؤالًا رقميًا: عند التعطيل أو 0 : يرسل {NUMERIC} الذي يحتوي على أحرف غير صالحة ''، وعند التفعيل أو 1 : يرسل {NUMERIC} جميع الأحرف المدخلة. يرتبط هذا الإعداد بالخيار إصلاح تلقائي للقيم الرقمية في خيارات القالب الأساسي. يكون مفعّلًا عند اختيار نعم وللتعبير التالى، ومعطّلًا عند اختيار لا.
التطوير وتصحيح الأخطاء
- debug: بهذا الإعداد، تضبط الإبلاغ عن أخطاء PHP على E_ALL. وهذا يعني عرض كل إشعار أو تحذير أو خطأ صغير متعلق بالبرنامج النصي. يجب تبديل هذا الإعداد إلى '1' فقط إذا كنت تحاول تصحيح أخطاء التطبيق لأي سبب. إذا كنت مطورًا، فبدّله إلى '2'. لا تضبطه على '1' أو '2' في بيئة الإنتاج لأنه قد يؤدي إلى كشف المسارات. القيمة الافتراضية هي '0' ويمكن تعديلها في config.php.
- debugsql: فعّل هذا الإعداد إذا كنت تريد عرض جميع استعلامات SQL المنفذة للبرنامج النصي أسفل كل صفحة. مفيد جدًا لتحسين عدد الاستعلامات. لتفعيله، غيّر القيمة الافتراضية إلى '1' من ملف config.php.
- use_asset_manager: افتراضيًا: يعطّل وضع التصحيح مدير الأصول (asset manager)، ويمكنك السماح باستخدام مدير الأصول مع تفعيل وضع التصحيح.
في حال واجهت خطأً في التطبيق، نوصي بشدة بتفعيل إعداد التصحيح (debug) للحصول على رسالة خطأ أكثر تفصيلًا يمكنك إرسالها مع تقرير الخطأ:
'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
إذا كنت تعمل على برنامج مساعد وتحتاج إلى طريقة سريعة لعرض المتغيرات على الشاشة، فيمكنك استخدام الدالة traceVar. إذا تم تفعيل التصحيح (debug)، تستخدم هذه الدالة CWebLogRoute لعرض النتائج في صفحة HTML. الاستخدام: traceVar($MyVariable)
اعدادات البريد الالكتروني
يمكن تجاوز جميع الإعدادات الواردة أدناه في مربع حوار الإعدادات العامة.
- 'emailmethod: يحدد هذا الإعداد طريقة إرسال رسائل البريد الإلكتروني. الخيارات التالية متاحة:
- 'mail:' يستخدم مرسل البريد الداخلي في PHP؛
- 'sendmail:' يستخدم مرسل sendmail؛
- 'smtp:' يستخدم ترحيل SMTP. استخدم هذا الإعداد عندما تقوم بتشغيل LimeSurvey على مضيف ليس هو خادم البريد الخاص بك.
- 'emailsmtphost: إذا كنت تستخدم 'smtp' كقيمة لـ
$emailmethod، فيجب عليك وضع خادم SMTP الخاص بك هنا. إذا كنت تستخدم بريد Google فقد تحتاج إلى إضافة رقم المنفذ مثل $emailsmtphost = 'smtp.gmail.com:465'. - emailsmtpuser: إذا كان خادم SMTP الخاص بك يتطلب مصادقة، فاضبط هذا الإعداد على اسم المستخدم الخاص بك، وإلا فيجب أن يكون فارغًا.
- emailsmtppassword: إذا كان خادم SMTP الخاص بك يتطلب مصادقة، فاضبط هذا الإعداد على كلمة المرور الخاصة بك، وإلا فيجب أن يكون فارغًا.
- emailsmtpssl: اضبط هذا الإعداد على 'ssl' أو 'tls' لاستخدام SSL/TLS في اتصال SMTP.
- maxemails: عند إرسال الدعوات أو التذكيرات إلى المشاركين في الاستبيان، يُستخدم هذا الإعداد لتحديد عدد رسائل البريد الإلكتروني التي يمكن إرسالها في دفعة واحدة. تختلف قدرة خوادم الويب على إرسال البريد الإلكتروني، وإذا استغرق البرنامج النصي وقتًا طويلًا جدًا لإرسال دفعة من الرسائل، فقد تنتهي مهلته وتحدث أخطاء. يمكن لمعظم خوادم الويب إرسال 100 رسالة في المرة الواحدة ضمن حد الوقت الافتراضي البالغ 30 ثانية لبرنامج PHP النصي. إذا ظهرت لك أخطاء انتهاء المهلة عند إرسال أعداد كبيرة من الرسائل، فقلل الرقم في هذا الإعداد. عند النقر على زر 'أرسل دعوة بالبريد الإلكتروني' من شريط أدوات التحكم في الرموز (وليس الزر الموجود على يمين كل رمز)، يتم إرسال عدد من الدعوات يساوي <maxemails>، ثم تُعرض قائمة بعناوين المستلمين مع تحذير بأن هناك رسائل بريد إلكتروني معلقة أكثر مما يمكن إرساله في دفعة واحدة. تابع إرسال الرسائل بالنقر أدناه. لا يزال هناك ### رسالة بريد إلكتروني بانتظار الإرسال. ويتوفر زر "متابعة" للانتقال إلى الدفعة التالية. أي أن المستخدم هو من يحدد وقت إرسال الدفعة التالية بعد إرسال كل دفعة. ليس من الضروري الانتظار مع إبقاء هذه الشاشة نشطة. يمكن للمسؤول تسجيل الخروج والعودة في وقت لاحق لإرسال الدفعة التالية من الدعوات.
الإحصاءات وتصفح الردود
- filterout_incomplete_answers: يتحكم في السلوك الافتراضي لتصفية الإجابات غير المكتملة عند تصفح الردود أو تحليلها. للاطلاع على مناقشة حول الردود غير المكتملة راجع ويكي تصفح نتائج الاستبيان. نظرًا لأن هذه السجلات قد تفسد الإحصاءات، فقد أُتيح خيار لتشغيل هذه التصفية أو إيقافها في عدة نماذج من الواجهة الرسومية. يمكن تعديل هذا المعامل في ملف config.php. الخيارات التالية متاحة:
- 'all': يتيح لك عرض الإجابات المكتملة وغير المكتملة معًا؛
- 'complete': يعرض الإجابات المكتملة فقط؛
- 'incomplete': يعرض الإجابات غير المكتملة فقط.
- strip_query_from_referer_url: يحدد هذا الإعداد ما إذا كان الرابط المرجعي يحفظ المعامل أم لا. القيمة الافتراضية هي 'false' (وفي هذه الحالة يحفظ الرابط المرجعي جميع المعاملات). بدلًا من ذلك، يمكن ضبط هذه القيمة على 'true' وعندها تتم إزالة جزء المعاملات من الرابط المرجعي.
- showaggregateddata: عند تنشيطه، تُعرض قيم إحصائية إضافية مثل المتوسط الحسابي والانحراف المعياري. علاوة على ذلك، يتم تجميع البيانات للحصول على نظرة عامة أسرع. على سبيل المثال، تُجمع نتائج المقياس 1+2 و4+5 للحصول على ترتيب عام مثل "جيد" (1/2) و"متوسط" (3) و"سيئ" (4/5). يؤثر هذا فقط على أنواع الأسئلة "A" (صفيف من 5 نقاط) و"5" (اختيار 5 نقاط).
- إعدادات تصدير PDF: تقوم هذه الميزة بتنشيط تصدير PDF للاستبيانات القابلة للطباعة وطباعة الإجابات. وظيفة تصدير PDF تجريبية بالكامل والمخرجات بعيدة عن الكمال. للأسف، لا يمكن تقديم دعم في الوقت الحالي - إذا كنت ترغب في المساعدة في إصلاحها، يُرجى التواصل معنا.
- 'pdfdefaultfont': يمثل الخط الافتراضي الذي ستستخدمه وظيفة تصدير PDF. القيمة الافتراضية هي 'auto'. لتغييره، يجب ضبطه على أحد خطوط PDF الأساسية.
- 'alternatepdffontfile': هو صفيف يحتوي على مفاتيح اللغات والخط المقابل لكل منها. يمكن استبدال الخط الافتراضي لكل لغة في ملف config.php؛
- 'pdffontsize': يعرض حجم الخط للنصوص العادية؛ أما عنوان الاستبيان فحجمه <pdffontsize>+4، بينما عنوان المجموعة حجمه <pdffontsize>+2. يمكن تعديله في ملف config.php أو من مربع حوار الإعدادات العامة.
- إعدادات الرسوم البيانية
- 'chartfontfile': يحدد اسم ملف الخط المستخدم لإنشاء المخططات الإحصائية. يجب أن يكون الملف موجودًا في دليل الخطوط (fonts) الموجود في المجلد الجذر لـ LimeSurvey. يمكن تعديله في ملف config.php؛
- 'alternatechartfontfile': هو صفيف يحتوي على مفاتيح اللغات والخط المقابل لكل منها. يمكن تعديله في ملف config.php.
- showsgqacode: يُستخدم هذا الإعداد في ميزة الاستبيان القابل للطباعة وقيمته الافتراضية 'false'. إذا قمت بضبط showsgqacode = 'true';، فستُعرض معرّفات كل سؤال - والإجابة إن وُجدت. تطابق هذه المعرّفات عناوين الأعمدة في جدول Lime_survey_12345 الذي يحتوي على بيانات الإجابات لاستبيان معين. يمكن استخدام هذه المعرّفات كدليل رموز لاستعلامات قاعدة البيانات اليدوية.
إعدادات LDAP
نظرًا لأن هذا موضوع واسع، فقد نقلنا إعدادات LDAP إلى صفحة أخرى.
المصادقة
تتم معالجة المصادقة بواسطة الإضافات. تُستخدم الإعدادات أدناه بواسطة إضافة مصادقة خادم الويب، راجع إضافات المصادقة.
تفويض المصادقة إلى خادم الويب
قد يرغب مسؤولو النظام في مصادقة مسؤولي الاستبيانات لديهم عبر نظام مصادقة مركزي (Active Directory أو openLdap أو Radius ...) بدلًا من استخدام قاعدة بيانات LimeSurvey الداخلية. من الطرق السهلة لتحقيق ذلك إعداد برنامج خادم الويب لاستخدام نظام المصادقة الخارجي هذا، ثم جعل LimeSurvey يثق في هوية المستخدم التي يبلغ عنها خادم الويب. لتمكين هذه الميزة عليك القيام بما يلي:
- تنشيط إضافة Webserver في إعدادات > إضافة وضبط مفتاح الخادم الذي يحتوي على اسم المستخدم (الافتراضي: REMOTE_USER) في إعدادات الإضافة؛
- تمكين المصادقة من جانب خادم الويب.
يرجى ملاحظة ما يلي:
- سيتجاوز LimeSurvey عندئذٍ عملية المصادقة الخاصة به (باستخدام اسم تسجيل الدخول الذي يبلغ عنه خادم الويب دون طلب كلمة مرور)؛
- يمكن لهذا فقط أن يحل محل نظام المصادقة في واجهة LimeSurvey الرسومية، وليس نظام دعوات الاستبيان (واجهة المشاركين).
تفويض المصادقة دون استيراد تلقائي للمستخدمين
يرجى ملاحظة أن تفويض المصادقة لا يتجاوز نظام التفويض في LimeSurvey افتراضيًا - بمعنى أنه حتى إذا لم تكن مضطرًا لإدارة كلمات المرور في LimeSurvey، فلا يزال عليك تعريف المستخدمين في قاعدة بيانات LimeSurvey ومنحهم المجموعة الصحيحة من الحقوق ليتمكنوا من الوصول إلى لوحة الإدارة.
يُمنح المستخدم حق الوصول إلى LimeSurvey إذا وفقط إذا:
- تمت مصادقته لدى خادم الويب؛
- كان اسم تسجيل دخوله معرّفًا كمستخدم في قاعدة بيانات مستخدمي LimeSurvey (وعندئذٍ يُمنح امتيازات المستخدم المعرّف في قاعدة بيانات مستخدمي LimeSurvey)؛
- كان لديه الإذن العام استخدام مصادقة خادم الويب.
تفويض المصادقة مع الاستيراد التلقائي للمستخدمين
عند إدارة قاعدة بيانات مستخدمين ضخمة، يكون من الأسهل أحيانًا استيراد المستخدمين تلقائيًا إلى قاعدة بيانات LimeSurvey:
- auth_webserver_autocreate_user: إذا تم ضبطه على 'true'، فسيحاول LimeSurvey استيراد المستخدمين الذين صادق عليهم خادم الويب تلقائيًا ولكنهم غير موجودين في قاعدة بيانات المستخدمين لديه.
- auth_webserver_autocreate_profile: صفيف يصف الملف الشخصي الافتراضي الذي سيتم تعيينه للمستخدم: الاسم الكامل (الوهمي) والبريد الإلكتروني واللغة.
- auth_webserver_autocreate_permissions: صفيف يحتوي على الأذونات العامة التي سيتم تعيينها للمستخدم.
إذا كنت ترغب في تخصيص الملف الشخصي للمستخدم بحيث يطابق المستخدم الذي سجّل الدخول، فسيتعين عليك تطوير دالة بسيطة تسمى hook_get_auth_webserver_profile في ملف config.php - ومن خلال هذه الدالة يمكنك استرجاع الاسم الكامل الحقيقي والبريد الإلكتروني واللغة لمستخدم معين من قاعدة بيانات مركزية لحسابات المستخدمين (على سبيل المثال، من دليل LDAP).
تأخذ الدالة hook_get_auth_webserver_profile اسم تسجيل دخول المستخدم كوسيط وحيد ويمكنها أن تُرجع:
- False أو صفيفًا فارغًا - وفي هذه الحالة يتم رفض وصول المستخدم إلى LimeSurvey؛
- صفيفًا يحتوي على نفس العناصر الموجودة في
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();
ربط اسم المستخدم
في حال كان لبعض المستخدمين اسم مستخدم خارجي يختلف عن اسم المستخدم الخاص بهم في LimeSurvey، فقد يكون من المفيد استخدام ربط أسماء المستخدمين. يتم ذلك في LimeSurvey باستخدام المعامل auth_webserver_user_map. على سبيل المثال، تخيل أنه ليس لديك اسم مستخدم 'admin' معرّف في قاعدة بيانات المصادقة الخارجية. عندئذٍ، لتسجيل الدخول إلى LimeSurvey بصفة admin، سيتعين عليك ربط اسم المستخدم الخارجي (لنسمّه 'myname') باسم تسجيل الدخول admin في LimeSurvey. الإعداد المناسب هو:
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
بعد المصادقة الناجحة باسم تسجيل الدخول 'myname' وكلمة مرور خادم الويب، سيتم السماح لك مباشرةً باستخدام LimeSurvey بصفة المستخدم 'admin'.
لهذا الأمر تبعات أمنية خطيرة، لذا استخدمه بحذر. كما يجب حماية ملف config.php من الكتابة بواسطة خادم الويب.
استخدام كلمات المرور لمرة واحدة
يمكن للمستخدم فتح صفحة تسجيل الدخول إلى LimeSurvey على العنوان default.com/limesurvey/admin وكتابة اسم المستخدم وكلمة المرور لمرة واحدة التي تمت كتابتها مسبقًا في جدول المستخدمين (العمود one_time_pw) بواسطة تطبيق خارجي.
يجب تشغيل هذا الإعداد في ملف config.php لتمكين استخدام كلمات المرور لمرة واحدة (الافتراضي = false).
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
يمكن العثور على مزيد من المعلومات في قسم "إدارة المستخدمين".
إعدادات التشفير
application/config/security.php. يمكنك نقل هذه الإعدادات إلى config.php إذا رغبت في ذلك أو تركها في security.php.راجع تشفير البيانات لمعرفة تفاصيل هذه الميزة.
- encryptionkeypair
- encryptionpublickey
- encryptionsecretkey
- encryptionnonce
- encryptionsecretboxkey
إعدادات متقدمة للعناوين (URL)
- publicurl: يجب ضبط هذا الإعداد على عنوان URL الخاص بموقع "السكربتات العامة" لديك. السكربتات العامة هي الموجودة في المجلد "limesurvey" (أو أي اسم أعطيته للمجلد الذي تُحفظ فيه جميع السكربتات والمجلدات الأخرى). هذا الإعداد متاح في ملف config.php ويُستخدم عندما يحتاج LimeSurvey إلى عنوان URL مطلق (على سبيل المثال عند إرسال رسائل البريد الإلكتروني الخاصة بالرموز).
- tempurl: يجب ضبط هذا الإعداد على عنوان URL الخاص بالمجلد "/limesurvey/tmp" - أو بمجلد تريد أن يستخدمه LimeSurvey لتقديم الملفات المؤقتة.
- uploadurl: يجب ضبط هذا الإعداد على عنوان URL الخاص بالمجلد "/limesurvey/upload" - أو بمجلد تريد أن يستخدمه LimeSurvey لتقديم الملفات المحمّلة. يتيح لك ذلك وضع الملفات المحمّلة على نطاق عنوان URL آخر.
إعدادات متقدمة للمسارات
- homedir: يجب ضبط هذا الإعداد على موقع القرص الفعلي لسكربتات الإدارة لديك - على سبيل المثال "/home/usr/htdocs/limesurvey/admin". لا تُضف شرطة مائلة في نهاية هذا الإدخال. يحاول الإعداد الافتراضي في ملف config.php اكتشاف المسار الجذر الافتراضي لجميع مستنداتك باستخدام متغير PHP
{$_SERVER['DOCUMENT_ROOT']}. في معظم الحالات يمكنك ترك هذا كما هو وتعديل بقية هذه السلسلة فقط لتطابق اسم المجلد الذي وضعت فيه سكربتات LimeSurvey. - publicdir: يجب ضبط هذا الإعداد على موقع القرص الفعلي لـ "السكربتات العامة" لديك.
- tempdir: يجب ضبط هذا الإعداد على موقع القرص الفعلي للمجلد /limesurvey/tmp حتى يتمكن السكربت من قراءة الملفات وكتابتها.
- uploaddir: يجب ضبط هذا الإعداد على موقع القرص الفعلي للمجلد /limesurvey/upload حتى يتمكن السكربت من قراءة الملفات وكتابتها.
- sCKEditorURL: عنوان URL لسكربت CKEditor.
إعدادات متقدمة أخرى
تحميل الملفات
- magic_database: يتيح استخدام قاعدة بيانات MIME مختلفة للدالة finfo_open. يمكن تحديثه فقط في ملف config.php. مثال:
/usr/share/misc/magic.mgcلأنظمة لينكس المبنية على redhat. - magic_file: يتيح استخدام ملف مختلف للحصول على صفيف الامتدادات حسب نوع MIME بدلاً من الملف المضمّن. يجب أن يكون ملف PHP يعيد صفيفًا. يمكن تحديثه فقط في ملف config.php.
التحديث
- updatable: هذا الإعداد موجود في الملف version.php. يمكن أن يكون true أو false. إذا ضبطته على true: عند تسجيل دخول مستخدم مسؤول أعلى، يتحقق LimeSurvey مما إذا كان هناك تحديث متاح ويعرض لك تحذيرًا. إذا ضبطته على false: لا يتم إجراء أي فحص ولا يمكنك استخدام ComfortUpdate.
الرموز (Tokens)
- allowedcharacters_pattern_token : تتيح هذه الإعدادات ضبط نمط التعبير النمطي (regexp) عند تصفية الرموز.