configuration.dist.php 60 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232
  1. <?php
  2. // Chamilo version {NEW_VERSION}
  3. // File generated by /install/index.php script - {DATE_GENERATED}
  4. /* For licensing terms, see /license.txt */
  5. /**
  6. * Campus configuration.
  7. *
  8. * This file contains a list of variables that can be modified by the campus
  9. * site's server administrator. Pay attention when changing these variables,
  10. * some changes may cause Chamilo to stop working.
  11. * If you changed some settings and want to restore them, please have a look at
  12. * configuration.dist.php. That file is an exact copy of the config file at
  13. * install time.
  14. */
  15. /**
  16. * $_configuration define only the bare essential variables
  17. * for configuring the platform (paths, database connections, ...).
  18. * Changing a $_configuration variable CAN generally break the installation.
  19. * Besides the $_configuration, a $_settings array also exists, that
  20. * contains variables that can be changed and will not break the platform.
  21. * These optional settings are defined in the database, now
  22. * (table settings_current).
  23. */
  24. /**
  25. * Database connection settings.
  26. */
  27. // Database host
  28. $_configuration['db_host'] = '{DATABASE_HOST}';
  29. // Database port
  30. $_configuration['db_port'] = '{DATABASE_PORT}';
  31. // Database name
  32. $_configuration['main_database'] = '{DATABASE_MAIN}';
  33. // Database username
  34. $_configuration['db_user'] = '{DATABASE_USER}';
  35. // Database password
  36. $_configuration['db_password'] = '{DATABASE_PASSWORD}';
  37. // Enable access to database management for platform admins.
  38. $_configuration['db_manager_enabled'] = false;
  39. /**
  40. * Directory settings.
  41. */
  42. // URL to the root of your Chamilo installation, e.g.: http://www.mychamilo.com/
  43. $_configuration['root_web'] = '{ROOT_WEB}';
  44. // Path to the webroot of system, example: /var/www/
  45. $_configuration['root_sys'] = '{ROOT_SYS}';
  46. // Path from your WWW-root to the root of your Chamilo installation,
  47. // example: chamilo (this means chamilo is installed in /var/www/chamilo/
  48. $_configuration['url_append'] = '{URL_APPEND_PATH}';
  49. /**
  50. * Login modules settings.
  51. */
  52. // CAS IMPLEMENTATION
  53. // -> Go to your portal Chamilo > Administration > CAS to activate CAS
  54. // You can leave these lines uncommented even if you don't use CAS authentification
  55. //$extAuthSource["cas"]["login"] = $_configuration['root_sys']."main/auth/cas/login.php";
  56. //$extAuthSource["cas"]["newUser"] = $_configuration['root_sys']."main/auth/cas/newUser.php";
  57. // NEW LDAP IMPLEMENTATION BASED ON external_login info
  58. // -> Uncomment the two lines bellow to activate LDAP AND edit main/auth/external_login/ldap.conf.php for configuration
  59. // $extAuthSource["extldap"]["login"] = $_configuration['root_sys']."main/auth/external_login/login.ldap.php";
  60. // $extAuthSource["extldap"]["newUser"] = $_configuration['root_sys']."main/auth/external_login/newUser.ldap.php";
  61. //
  62. // FACEBOOK IMPLEMENTATION BASED ON external_login info
  63. // -> Uncomment the line bellow to activate Facebook Auth AND edit app/config/auth.conf.php for configuration
  64. // $_configuration['facebook_auth'] = 1;
  65. //
  66. // OTHER EXTERNAL LOGIN INFORMATION
  67. // To fetch external login information, uncomment those 2 lines and modify files auth/external_login/newUser.php and auth/external_login/updateUser.php files
  68. // $extAuthSource["external_login"]["newUser"] = $_configuration['root_sys']."main/auth/external_login/newUser.php";
  69. // $extAuthSource["external_login"]["updateUser"] = $_configuration['root_sys']."main/auth/external_login/updateUser.php";
  70. /**
  71. * Hosting settings - Allows you to set limits to the Chamilo portal when
  72. * hosting it for a third party. These settings can be overwritten by an
  73. * optionally-loaded extension file with only the settings (no comments).
  74. * The settings use an index at the first level to represent the ID of the
  75. * URL in case you use multi-url (otherwise it will always use 1, which is
  76. * the ID of the only URL inside the access_url table).
  77. */
  78. // Set a maximum number of users. Default (0) = no limit
  79. $_configuration[1]['hosting_limit_users'] = 0;
  80. // Set a maximum number of teachers. Default (0) = no limit
  81. $_configuration[1]['hosting_limit_teachers'] = 0;
  82. // Set a maximum number of courses. Default (0) = no limit
  83. $_configuration[1]['hosting_limit_courses'] = 0;
  84. // Set a maximum number of sessions. Default (0) = no limit
  85. $_configuration[1]['hosting_limit_sessions'] = 0;
  86. // Set a maximum disk space used, in MB (set to 1024 for 1GB, 5120 for 5GB, etc)
  87. // Default (0) = no limit
  88. $_configuration[1]['hosting_limit_disk_space'] = 0;
  89. // Set a maximum number of usable courses. Default (0) = no limit.
  90. // Should always be lower than the hosting_limit_courses.
  91. // If set, defining a course as "hidden" will free room for
  92. // new courses (up to the hosting_limit_courses, if any value is set there).
  93. // hosting_limit_enabled_courses is the maximum number of courses that are *not* hidden.
  94. $_configuration[1]['hosting_limit_active_courses'] = 0;
  95. // Email to warn if limit was reached.
  96. //$_configuration[1]['hosting_contact_mail'] = 'example@example.org';
  97. // Portal size limit in MB (set to 1024 for 1GB, 5120 for 5GB, etc).
  98. // Check main/cron/hosting_total_size_limit.php for how to use this limit.
  99. $_configuration['hosting_total_size_limit'] = 0;
  100. /**
  101. * Content Delivery Network (CDN) settings. Only use if you need a separate
  102. * server to serve your static data. If you don't know what a CDN is, you
  103. * don't need it. These settings are for simple Origin Pull CDNs and are
  104. * experimental. Enable only if you really know what you're doing.
  105. * This might conflict with multiple-access urls.
  106. * Please note that recent browsers forbid the loading of resources from
  107. * a different portal URL then where they are, due to CORS rules.
  108. * To allow for CDN usage with different URLs, you need to specifically
  109. * allow CORS Access-Control-Allow-Origin for your main Chamilo URL.
  110. * This has to be done at the web server level, because Chamilo's PHP code
  111. * doesn't change HTTP headers of all files served from the Chamilo directory.
  112. * To do that on Apache, use
  113. * Header set Access-Control-Allow-Origin "http(s)://main-chamilo-url"
  114. * in Nginx:
  115. * add_header 'Access-Control-Allow-Origin' 'http(s)://main-chamilo-url';.
  116. */
  117. // Set the following setting to true to start using the CDN
  118. $_configuration['cdn_enable'] = false;
  119. // The following setting will be ignored if the previous one is set to false
  120. $_configuration['cdn'] = [
  121. // You can define several CDNs and split them by extensions
  122. // Replace the following by your full CDN URL, which should point to
  123. // your Chamilo's root directory. DO NOT INCLUDE a final slash! (won't work)
  124. 'http://cdn.chamilo.org' => [
  125. '.css',
  126. '.js',
  127. '.jpg',
  128. '.jpeg',
  129. '.png',
  130. '.gif',
  131. '.avi',
  132. '.flv',
  133. ],
  134. // copy the line above and modify following your needs
  135. ];
  136. /**
  137. * Misc. settings.
  138. */
  139. // Security word for password recovery
  140. $_configuration['security_key'] = '{SECURITY_KEY}';
  141. // Hash function method
  142. $_configuration['password_encryption'] = '{ENCRYPT_PASSWORD}';
  143. // You may have to restart your web server if you change this
  144. $_configuration['session_stored_in_db'] = false;
  145. // Session lifetime
  146. $_configuration['session_lifetime'] = SESSION_LIFETIME;
  147. // Activation for multi-url access
  148. // When enabling multi-url, settings can be configured by multi-url using a simple
  149. // sub-element. E.g. $_configuration['session_lifetime'][1] = true; could be turned into
  150. // something like $_configuration['session_lifetime'][2] = false; to affect only URL
  151. // with ID 2. The ID can be found in the access_url table.
  152. //$_configuration['multiple_access_urls'] = true;
  153. $_configuration['software_name'] = 'Chamilo';
  154. $_configuration['software_url'] = 'https://chamilo.org/';
  155. // Deny the elimination of users
  156. $_configuration['deny_delete_users'] = false;
  157. // Version settings
  158. $_configuration['system_version'] = '{NEW_VERSION}';
  159. $_configuration['system_stable'] = NEW_VERSION_STABLE;
  160. /**
  161. * Settings to be included as settings_current in future versions.
  162. */
  163. // Uncomment the following to prevent all admins to use the "login as" feature
  164. //$_configuration['login_as_forbidden_globally'] = true;
  165. // If session_stored_in_db is false, an alternative session storage mechanism
  166. // can be used, which allows for a volatile storage in Memcache, and a more
  167. // permanent "backup" storage in the database, every once in a while (see
  168. // frequency). This is generally used in HA clusters configurations
  169. // This requires memcache or memcached and the php5-memcache module to be setup
  170. //$_configuration['session_stored_in_db_as_backup'] = true;
  171. // Define the different memcache servers available
  172. //$_configuration['memcache_server'] = array(
  173. // 0 => array(
  174. // 'host' => 'chamilo8',
  175. // 'port' => '11211',
  176. // ),
  177. // 1 => array(
  178. // 'host' => 'chamilo9',
  179. // 'port' => '11211',
  180. // ),
  181. //);
  182. // Define the frequency to which the data must be stored in the database
  183. //$_configuration['session_stored_after_n_times'] = 10;
  184. // If the database is down this css style will be used to show the errors.
  185. //$_configuration['theme_fallback'] = 'chamilo'; // (chamilo theme)
  186. // The default template that will be use in the system.
  187. //$_configuration['default_template'] = 'default'; // (main/template/default)
  188. // Hide fields in the main/user/user.php page
  189. //$_configuration['hide_user_field_from_list'] = ['fields' => ['username']];
  190. // Aspell Settings
  191. //$_configuration['aspell_bin'] = '/usr/bin/hunspell';
  192. //$_configuration['aspell_opts'] = '-a -d en_GB -H -i utf-8';
  193. //$_configuration['aspell_temp_dir'] = './';
  194. // Custom name_order_conventions
  195. //$_configuration['name_order_conventions'] = array(
  196. // 'french' => array('format' => 'title last_name first_name', 'sort_by' => 'last_name')
  197. //);
  198. // Course log - Default columns to hide
  199. //$_configuration['course_log_hide_columns'] = ['columns' => [1, 9]];
  200. // Unoconv binary file
  201. //$_configuration['unoconv.binaries'] = '/usr/bin/unoconv';
  202. // Proxy settings for access external services
  203. /*$_configuration['proxy_settings'] = [
  204. 'stream_context_create' => [
  205. 'http' => [
  206. 'proxy' => 'tcp://example.com:8080',
  207. 'request_fulluri' => true
  208. ]
  209. ],
  210. 'curl_setopt_array' => [
  211. 'CURLOPT_PROXY' => 'http://example.com',
  212. 'CURLOPT_PROXYPORT' => '8080'
  213. ]
  214. ];*/
  215. // E-mail accounts to send notifications to when executing cronjobs - works for main/cron/import_csv.php
  216. //$_configuration['cron_notification_mails'] = array('email@example.com', 'email2@example.com');
  217. // Help desk emails that will recieve email notifications in import_csv.php
  218. //$_configuration['cron_notification_help_desk'] = array('email@example.com', 'email2@example.com');
  219. // Only shows the fields in this list
  220. /*$_configuration['allow_fields_inscription'] = [
  221. 'fields' => [
  222. 'official_code',
  223. 'phone',
  224. 'status',
  225. 'language'
  226. ],
  227. 'extra_fields' => [
  228. 'birthday'
  229. ]
  230. ];*/
  231. // Boost option to ignore encoding check for learning paths
  232. //$_configuration['lp_fixed_encoding'] = 'false';
  233. // Fix urls changing http with https in scorm packages.
  234. //$_configuration['lp_replace_http_to_https'] = false;
  235. // Fix embedded videos inside lps, adding an optional popup
  236. //$_configuration['lp_fix_embed_content'] = false;
  237. // Manage deleted files marked with "DELETED" (by course and only by allowed by admin)
  238. //$_configuration['document_manage_deleted_files'] = false;
  239. // Hide tabs in the main/session/index.php page
  240. //$_configuration['session_hide_tab_list'] = array();
  241. // Show invisible exercise in LP list
  242. //$_configuration['show_invisible_exercise_in_lp_list'] = false;
  243. // Chamilo is installed/downloaded. Packagers can change this
  244. // to reflect their packaging method. The default value is 'chamilo'. This will
  245. // be reflected on the https://version.chamilo.org/stats page in the future.
  246. //$_configuration['packager'] = 'chamilo';
  247. // If true exercises added in LP can be modified.
  248. //$_configuration['force_edit_exercise_in_lp'] = false;
  249. // List of driver to plugin in ckeditor
  250. //$_configuration['editor_driver_list'] = ['PersonalDriver', 'CourseDriver'];
  251. // Hide send to hrm users options in announcements
  252. //$_configuration['announcements_hide_send_to_hrm_users'] = true;
  253. // Hide certificate link in index/userportal pages
  254. //$_configuration['hide_my_certificate_link'] = false;
  255. // Hide header and footer in certificate pdf
  256. //$_configuration['hide_header_footer_in_certificate'] = false;
  257. // Security: block direct access from logged in users to contents in OPEN (but not public) courses. Set to true to block
  258. //$_configuration['block_registered_users_access_to_open_course_contents'] = false;
  259. // Allows syncing the database with the current entity schema
  260. //$_configuration['sync_db_with_schema'] = false;
  261. // When exporting a LP, all files and folders in the same path of an html will be exported too.
  262. //$_configuration['add_all_files_in_lp_export'] = false;
  263. // Send exercise student score to manager in email notification
  264. //$_configuration['send_score_in_exam_notification_mail_to_manager'] = false;
  265. // Show blocked LPs by prerequisite to students
  266. //$_configuration['show_prerequisite_as_blocked'] = false;
  267. // Mail header extra HTML attributes
  268. //$_configuration['mail_header_style'] = '';
  269. // Mail body extra HTML attributes
  270. //$_configuration['mail_content_style'] = '';
  271. // Show all agenda events in personal agenda from all session no matter the visibility.
  272. //$_configuration['personal_agenda_show_all_session_events'] = false;
  273. // Allows to redirect to the session after the inscription in session about
  274. // $_configuration['allow_redirect_to_session_after_inscription_about'] = false;
  275. // Allows to do a remove_XSS in course introduction with user status COURSEMANAGERLOWSECURITY
  276. // in order to accept all embed type videos (like vimeo, wistia, etc)
  277. // $_configuration['course_introduction_html_strict_filtering'] = true;
  278. // Prevents the duplicate upload in assignments
  279. // $_configuration['assignment_prevent_duplicate_upload'] = false;
  280. //Show student progress in My courses page
  281. //$_configuration['course_student_info']['score'] = false;
  282. //$_configuration['course_student_info']['progress'] = false;
  283. //$_configuration['course_student_info']['certificate'] = false;
  284. // Set ConsideredWorkingTime work extra field variable to show in MyStudents page works report
  285. // (with internal id 'work_time' as below) and enable the following line to show in MyStudents page works report
  286. // $_configuration['considered_working_time'] = 'work_time';
  287. // During CSV special imports update users emails to x@example.com
  288. // $_configuration['update_users_email_to_dummy_except_admins'] = false;
  289. // Certification pdf export orientation
  290. // $_configuration['certificate_pdf_orientation'] = 'landscape'; // It can be 'portrait' or 'landscape'
  291. // Hide main navigation menu (left column in userportal)
  292. // $_configuration['hide_main_navigation_menu'] = false;
  293. // PDF image dpi value. Default value 96
  294. // $_configuration['pdf_img_dpi'] = 96;
  295. // Hide LP time in reports.
  296. // $_configuration['hide_lp_time'] = false;
  297. // Hide rating elements in pages ("Courses catalog" & "Most Popular courses")
  298. // $_configuration['hide_course_rating'] = false;
  299. // Customize password generation and verification
  300. /*$_configuration['password_requirements'] = [
  301. 'min' => [
  302. 'lowercase' => 2,
  303. 'uppercase' => 2,
  304. 'numeric' => 2,
  305. 'length' => 8
  306. ]
  307. ];*/
  308. // Customize course session tracking columns
  309. /*
  310. $_configuration['tracking_columns'] = [
  311. 'course_session' => [
  312. 'course_title' => true,
  313. 'published_exercises' => true,
  314. 'new_exercises' => true,
  315. 'my_average' => true,
  316. 'average_exercise_result' => true,
  317. 'time_spent' => true,
  318. 'lp_progress' => true,
  319. 'score' => true,
  320. 'best_score' => true,
  321. 'last_connection' => true,
  322. 'details' => true,
  323. ],
  324. 'my_students_lp' => [
  325. 'lp' => true,
  326. 'time' => true,
  327. 'best_score' => true,
  328. 'latest_attempt_avg_score' => true,
  329. 'progress' => true,
  330. 'last_connection' => true,
  331. ],
  332. 'my_progress_lp' => [
  333. 'lp' => true,
  334. 'time' => true,
  335. 'progress' => true,
  336. 'score' => true,
  337. 'best_score' => true,
  338. 'last_connection' => true,
  339. ],
  340. 'my_progress_courses' => [
  341. 'course_title' => true,
  342. 'time_spent' => true,
  343. 'progress' => true,
  344. 'best_score_in_lp' => true,
  345. 'best_score_not_in_lp' => true,
  346. 'latest_login' => true,
  347. 'details' => true
  348. ]
  349. ];
  350. */
  351. // Hide session link of course_block on index/userportal
  352. //$_configuration['remove_session_url']= false ;
  353. //
  354. //
  355. // ------ AGENDA CONFIGURATION SETTINGS
  356. // Shows a legend in the agenda tool
  357. /*
  358. $_configuration['agenda_legend'] = [
  359. 'red' => 'red caption',
  360. '#f0f' => 'another caption'
  361. ];*/
  362. // Set customs colors to agenda events
  363. /*
  364. $_configuration['agenda_colors'] = [
  365. 'platform' => 'red',
  366. 'course' => '#458B00',
  367. 'group' => '#A0522D',
  368. 'session' => '#00496D',
  369. 'other_session' => '#999',
  370. 'personal' => 'steel blue',
  371. 'student_publication' => '#FF8C00'
  372. ];
  373. */
  374. // ------
  375. //
  376. // Save some tool titles with HTML editor. Require DB changes:
  377. /*
  378. ALTER TABLE course_category CHANGE name name LONGTEXT NOT NULL;
  379. ALTER TABLE c_course_description CHANGE title title LONGTEXT NOT NULL;
  380. ALTER TABLE c_thematic CHANGE title title LONGTEXT NOT NULL;
  381. ALTER TABLE c_quiz CHANGE title title LONGTEXT NOT NULL;
  382. ALTER TABLE c_lp_category CHANGE name name LONGTEXT NOT NULL;
  383. ALTER TABLE c_glossary CHANGE name name LONGTEXT NOT NULL;
  384. ALTER TABLE c_tool CHANGE name name LONGTEXT NOT NULL;
  385. -- Only with allow_portfolio_tool enabled
  386. ALTER TABLE portfolio CHANGE title title LONGTEXT NOT NULL;
  387. ALTER TABLE portfolio_category CHANGE title title LONGTEXT NOT NULL;
  388. --
  389. */
  390. // $_configuration['save_titles_as_html'] = false;
  391. // Show the full toolbar set to all CKEditor
  392. //$_configuration['full_ckeditor_toolbar_set'] = false;
  393. // Allow change the orientation when export a (course progress) thematic to pdf. Portrait or landscape
  394. //$_configuration['thematic_pdf_orientation'] = 'landscape';
  395. // Show number of users in session list
  396. //$_configuration['session_list_show_count_users'] = false;
  397. // Session admin access to all course content
  398. //$_configuration['session_admins_access_all_content'] = false;
  399. // Session admin allowed to edit all courses content
  400. //$_configuration['session_admins_edit_courses_content'] = false;
  401. // Adds roles to the system announcements (requires DB change BT#12476)
  402. //$_configuration['system_announce_extra_roles'] = false;
  403. // Limits that a session admin has access to list users
  404. //$_configuration['limit_session_admin_list_users'] = false;
  405. // Course tools visibility edition in sessions
  406. //$_configuration['allow_edit_tool_visibility_in_session'] = false;
  407. // Enable the support to ODF files
  408. //$_configuration['enabled_support_odf'] = true;
  409. // Pdf orientation when exporting documents
  410. // $_configuration['document_pdf_orientation'] = 'landscape'; // It can be 'portrait' or 'landscape'
  411. // Use alternative footer when exporting document to PDF
  412. //$_configuration['use_alternative_document_pdf_footer'] = false;
  413. // If the MySpace page takes too long to load, you might want to remove the
  414. // processing of generic statistics for the user. In this case set the following to true.
  415. //$_configuration['tracking_skip_generic_data'] = false;
  416. // Show view accordion lp_category
  417. //$_configuration['lp_category_accordion'] = false;
  418. //
  419. // Show view accordion lp_item_view
  420. // $_configuration['lp_view_accordion'] = false;
  421. //
  422. // ------ HTTP headers security
  423. // This section relates to options to increase the security of your Chamilo
  424. // portal against attacks specifically focused on HTTP headers vulnerabilities
  425. // These are all disabled by default, because some of these settings might
  426. // affect some features of Chamilo, like the inclusion of iframes or the
  427. // submission of forms by anonymous users. Please make sure you do the due
  428. // tests before enabling in production. Learn more about how to form secure
  429. // headers at https://securityheaders.io/
  430. //
  431. // HTTP Strict Transport Security is an excellent feature to support on your
  432. // site and strengthens your implementation of TLS by getting the User Agent
  433. // to enforce the use of HTTPS. Recommended value
  434. // "strict-transport-security: max-age=31536000; includeSubDomains".
  435. //$_configuration['security_strict_transport'] = 'strict-transport-security: max-age=31536000; includeSubDomains';
  436. //
  437. // Content Security Policy is an effective measure to protect your site from
  438. // XSS attacks. By whitelisting sources of approved content, you can prevent
  439. // the browser from loading malicious assets.
  440. // The provided default is an *example*, please customize.
  441. // This setting is particularly complicated to set with CKeditor, but if you
  442. // add all domains that you want to authorize for iframes inclusion in the
  443. // child-src statement, this example should work for you
  444. //$_configuration['security_content_policy'] = 'default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; child-src 'self' *.youtube.com yt.be *.vimeo.com *.slideshare.com;';
  445. //$_configuration['security_content_policy_report_only'] = 'default-src \'self\'; script-src *://*.google.com:*';
  446. //
  447. // HTTP Public Key Pinning protects your site from MiTM attacks using rogue
  448. // X.509 certificates. By whitelisting only the identities that the browser
  449. // should trust, your users are protected in the event a certificate
  450. // authority is compromised.
  451. //$_configuration['security_public_key_pins'] = '';
  452. //$_configuration['security_public_key_pins_report_only'] = '';
  453. //
  454. // X-Frame-Options tells the browser whether you want to allow your site to
  455. // be framed or not. By preventing a browser from framing your site you can
  456. // defend against attacks like clickjacking.
  457. // If defining a URL here, it should define the URL(s) from which your content
  458. // should be visible, not the URLs from which your site accepts content.
  459. // For example, if your main URL (root_web above) is https://11.chamilo.org/,
  460. // then this setting should be: 'ALLOW-FROM https://11.chamilo.org'.
  461. // These headers only apply to pages where Chamilo is responsible of the HTTP
  462. // headers generation (i.e. ".php" files). It does not apply to static files.
  463. // If playing with this feature, make sure you also update your web server
  464. // configuration to add the right headers for static files. See CDN
  465. // configuration documentation above (search for "add_header") for more
  466. // information.
  467. // Recommended (strict) value for this setting, if enabled: "SAMEORIGIN".
  468. //$_configuration['security_x_frame_options'] = 'SAMEORIGIN';
  469. //
  470. // X-XSS-Protection sets the configuration for the cross-site scripting
  471. // filter built into most browsers.
  472. // Recommended value "1; mode=block".
  473. //$_configuration['security_xss_protection'] = '1; mode=block';
  474. //
  475. // X-Content-Type-Options stops a browser from trying to MIME-sniff the
  476. // content type and forces it to stick with the declared content-type. The only
  477. // valid value for this header is "nosniff".
  478. //$_configuration['security_x_content_type_options'] = 'nosniff';
  479. //
  480. // Referrer Policy is a new header that allows a site to control how much
  481. // information the browser includes with navigation away from a document
  482. // and should be set by all sites.
  483. //$_configuration['security_referrer_policy'] = 'origin-when-cross-origin';
  484. // ------ HTTP headers security section ends here
  485. //
  486. // ------ Survey configuration settings
  487. // Add answered_at field in table survey_invitation
  488. // Requires DB change:
  489. // ALTER TABLE c_survey_invitation ADD answered_at DATETIME DEFAULT NULL;
  490. //$_configuration['survey_answered_at_field'] = false;
  491. // Add support to mandatory surveys. The user will not be able to enter to the course until fill the mandatory surveys
  492. // Requires DB change:
  493. /*
  494. INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, visible_to_self, changeable, created_at)
  495. VALUES (12, 13, 'is_mandatory', 'IsMandatory', 1, 1, NOW());
  496. */
  497. //$_configuration['allow_mandatory_survey'] = false;
  498. // Allow required survey questions. Applies to yesno/multiplechoice question type. Requires DB change:
  499. /*
  500. ALTER TABLE c_survey_question ADD is_required TINYINT(1) DEFAULT 0 NOT NULL;
  501. */
  502. //$_configuration['allow_required_survey_questions'] = false;
  503. // Hide Survey Reporting button
  504. //$_configuration['hide_survey_reporting_button'] = false;
  505. // Hide survey edition tools for all or some surveys.
  506. //Set an asterisk to hide for all, otherwise set an array with the survey codes in which the options will be blocked
  507. //$_configuration['hide_survey_edition'] = ['codes' => []];
  508. // Allows to set the date and time of availability for surveys. Requires DB changes:
  509. // ALTER TABLE c_survey CHANGE avail_from avail_from DATETIME DEFAULT NULL, CHANGE avail_till avail_till DATETIME DEFAULT NULL;
  510. // Requires change the Doctrine type from date to datime in CSurvey::$availFrom and CSurvey::$availTill
  511. //$_configuration['allow_survey_availability_datetime'] = false;
  512. // Mark the "Required" field during question creation process when displaying the form.
  513. //$_configuration['survey_mark_question_as_required'] = false;
  514. // Allow add additional actions (as links) in survey list for teachers.
  515. // e.g. ['myplugin' => ['MyPlugin', 'urlGeneratorCallback']]
  516. //$_configuration['survey_additional_teacher_modify_actions'] = [];
  517. // Allow show answers in anonymous surveys
  518. //$_configuration['survey_anonymous_show_answered'] = false;
  519. // ------
  520. // Allow career diagram, requires a DB change:
  521. //UPDATE extra_field_values SET created_at = NULL WHERE CAST(created_at AS CHAR(20)) = '0000-00-00 00:00:00';
  522. //UPDATE extra_field_values SET updated_at = NULL WHERE CAST(updated_at AS CHAR(20)) = '0000-00-00 00:00:00';
  523. //ALTER TABLE extra_field_values modify column value longtext null;
  524. //$_configuration['allow_career_diagram'] = false;
  525. // Allow scheduled emails to session users.
  526. //CREATE TABLE scheduled_announcements (id INT AUTO_INCREMENT NOT NULL, subject VARCHAR(255) NOT NULL, message LONGTEXT NOT NULL, date DATETIME DEFAULT NULL, sent TINYINT(1) NOT NULL, session_id INT NOT NULL, c_id INT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
  527. // sudo mkdir app/upload/scheduled_announcement
  528. // Add "attachment" file extra field in: main/admin/extra_fields.php?type=scheduled_announcement&action=add
  529. //$_configuration['allow_scheduled_announcements'] = false;
  530. // Add the list of emails as a bcc when sending an email.
  531. /*
  532. $_configuration['send_all_emails_to'] = [
  533. 'emails' => [
  534. 'admin1@example.com',
  535. 'admin2@example.com',
  536. ]
  537. ];*/
  538. // Allow ticket projects to be access by specific chamilo roles
  539. /*$_configuration['ticket_project_user_roles'] = [
  540. 'permissions' => [
  541. 1 => [17] // project_id = 1, STUDENT_BOSS = 17
  542. ]
  543. ];*/
  544. // Exercises configuration settings
  545. // Send only quiz answer notifications to course coaches and not general coach
  546. //$_configuration['block_quiz_mail_notification_general_coach'] = false;
  547. // Show question feedback (requires DB change: "ALTER TABLE c_quiz_question ADD COLUMN feedback text;")
  548. //$_configuration['allow_quiz_question_feedback'] = false;
  549. // Add option in exercise to show or hide the "previous" button.
  550. //ALTER TABLE c_quiz ADD show_previous_button TINYINT(1) DEFAULT 1;
  551. //$_configuration['allow_quiz_show_previous_button_setting'] = false;
  552. // Allow to teachers review exercises question with audio notes
  553. //$_configuration["allow_teacher_comment_audio"] = false;
  554. // Block copy/paste/save/print keys and right-clicks in exercises
  555. //$_configuration['quiz_prevent_copy_paste'] = false;
  556. // Always show the test description on the results page of the test
  557. //$_configuration['quiz_show_description_on_results_page'] = false;
  558. // Allow add additional actions (as links) in exercises list for teachers.
  559. // Callback get the $exerciseId and $iconSize as parameters.
  560. // e.g. ['myplugin' => ['MyPlugin', 'urlGeneratorCallback']]
  561. //$_configuration['exercise_additional_teacher_modify_actions'] = []
  562. // Generate certificate when ending a quiz.
  563. // The quiz needs to be linked to a gradebook category and have set the pass percentage.
  564. //$_configuration['quiz_generate_certificate_ending'] = false;
  565. // Hide search form in session list
  566. //$_configuration['hide_search_form_in_session_list'] = false;
  567. // Allow exchange of messages from teachers/bosses about a user.
  568. //$_configuration['private_messages_about_user'] = false;
  569. // Allow the messages to be visible for the students
  570. //$_configuration['private_messages_about_user_visible_to_user'] = false;
  571. // Allow send email notification per exercise
  572. //ALTER TABLE c_quiz ADD COLUMN notifications VARCHAR(255) NULL DEFAULT NULL;
  573. //$_configuration['allow_notification_setting_per_exercise'] = false;
  574. // Hide free/oral/annotation question result see BT#12613
  575. //$_configuration['hide_free_question_score'] = false;
  576. // Hide user information in the quiz result's page
  577. //$_configuration['hide_user_info_in_quiz_result'] = false;
  578. // Show the username field in exercise results report
  579. //$_configuration['exercise_attempts_report_show_username'] = false;
  580. // Score model
  581. // Allow to convert a score into a text/color label
  582. // using a model if score is inside those values. See BT#12898
  583. /*
  584. $_configuration['score_grade_model'] = [
  585. 'models' => [
  586. [
  587. 'id' => 1,
  588. 'name' => 'ThisIsMyModel', // Value will be translated using get_lang
  589. 'score_list' => [
  590. [
  591. 'name' => 'VeryBad', // Value will be translated using get_lang
  592. 'css_class' => 'btn-danger',
  593. 'min' => 0,
  594. 'max' => 20,
  595. 'score_to_qualify' => 0
  596. ],
  597. [
  598. 'name' => 'Bad',
  599. 'css_class' => 'btn-danger',
  600. 'min' => 21,
  601. 'max' => 50,
  602. 'score_to_qualify' => 25
  603. ],
  604. [
  605. 'name' => 'Good',
  606. 'css_class' => 'btn-warning',
  607. 'min' => 51,
  608. 'max' => 70,
  609. 'score_to_qualify' => 60
  610. ],
  611. [
  612. 'name' => 'VeryGood',
  613. 'css_class' => 'btn-success',
  614. 'min' => 71,
  615. 'max' => 100,
  616. 'score_to_qualify' => 100
  617. ]
  618. ]
  619. ]
  620. ]
  621. ];
  622. */
  623. // Allow show link to request relation between HRM and user
  624. //$_configuration['show_link_request_hrm_user'] = false;
  625. // Allow CKEditor start up with ShowBlocks plugin active
  626. //$_configuration['ckeditor_startup_outline_blocks'] = false;
  627. // SETTINGS FOR USER COURSE LIST
  628. // Manage the links to Session Index page
  629. // 1 = Default. Works as it is now (default is to link to the special session page)
  630. // 0 = No link (hide session title)
  631. // 2 = Link to the course if there is only one course
  632. // 3 = Session link will make course list foldable
  633. // 4 = No link (only session title)
  634. //$_configuration['courses_list_session_title_link'] = 1;
  635. // New grid view the list of courses
  636. //$_configuration['view_grid_courses'] = true;
  637. // Show courses grouped by categories when $_configuration['view_grid_courses'] is enabled
  638. //$_configuration['view_grid_courses_grouped_categories_in_sessions'] = true;
  639. // Load course notifications in user_portal.php using ajax
  640. //$_configuration['user_portal_load_notification_by_ajax'] = false;
  641. // Hide the "what's new" icon notifications in course list
  642. // $_configuration['hide_course_notification'] = true;
  643. // Show less session information in course list
  644. //$_configuration['show_simple_session_info'] = true;
  645. // Show course category list on My Courses page before the courses. Requires a DB change
  646. //ALTER TABLE course_category ADD image varchar(255) NULL;
  647. //ALTER TABLE course_category ADD description LONGTEXT NULL;
  648. //$_configuration['my_courses_list_as_category'] = false;
  649. // ------
  650. // Skills can only be visible for admins, teachers (related to a user via a course),
  651. // and HRM users (if related to a user).
  652. // $_configuration['allow_private_skills'] = false;
  653. // Additional gradebook dependencies BT#13099
  654. // ALTER TABLE gradebook_category ADD COLUMN depends TEXT DEFAULT NULL;
  655. // ALTER TABLE gradebook_category ADD COLUMN minimum_to_validate INT DEFAULT NULL;
  656. // ALTER TABLE gradebook_category ADD COLUMN gradebooks_to_validate_in_dependence INT DEFAULT NULL;
  657. // $_configuration['gradebook_dependency'] = false;
  658. // Courses id list to check in the gradebook sidebar see BT#13099
  659. /*$_configuration['gradebook_dependency_mandatory_courses'] = [
  660. 'courses' => [1, 2]
  661. ];*/
  662. // Gradebook id list needed to build the gradebook sidebar see BT#13099
  663. /*
  664. $_configuration['gradebook_badge_sidebar'] = [
  665. 'gradebooks' => [1, 2, 3]
  666. ];*/
  667. // Show language selector in main menu an update the language in the user's
  668. // profile.
  669. //$_configuration['show_language_selector_in_menu'] = false;
  670. // When using the my-courses list filter by category, set this option to true
  671. // to only show courses in the user's configured language
  672. // $_configuration['my_courses_show_courses_in_user_language_only'] = false;
  673. // Hide base course announcements when entering a group.
  674. //$_configuration['hide_base_course_announcements_in_group'] = false;
  675. // Disable delete all announcements button
  676. //$_configuration['disable_delete_all_announcements'] = false;
  677. // Default glossary view "table" or "list"
  678. //$_configuration['default_glossary_view'] = 'table';
  679. // Allow or block user subscriptions to a lp/lp category
  680. /*$_configuration['lp_subscription_settings'] = [
  681. 'options' => [
  682. 'allow_add_users_to_lp' => true,
  683. 'allow_add_users_to_lp_category' => true,
  684. ]
  685. ];*/
  686. // Allow public courses access with no terms and conditions validation.
  687. //$_configuration['allow_public_course_with_no_terms_conditions'] = false;
  688. // Allow delete user for session admin
  689. //$_configuration['allow_delete_user_for_session_admin'] = false;
  690. // Allow enable/disable user accounts for session admin
  691. //$_configuration['allow_disable_user_for_session_admin'] = false;
  692. // Allow edit/delete agenda events for HRM users
  693. //$_configuration['allow_agenda_edit_for_hrm'] = false;
  694. // Allow double validation in registration page
  695. //$_configuration['allow_double_validation_in_registration'] = false;
  696. // Allow multiple anon users see BT#13324
  697. //$_configuration['max_anonymous_users'] = 0;
  698. // Send email notification to admin when a user is created
  699. //$_configuration['send_notification_when_user_added'] = ['admins' => [1] ];
  700. // Send email notification to course members when document is added BT#13964
  701. //$_configuration['send_notification_when_document_added'] = false;
  702. // Hide email content forcing using to click in a link to visit the portal to check the message
  703. //$_configuration['messages_hide_mail_content'] = false;
  704. // If you install plugin redirection you need to change to true
  705. //$_configuration['plugin_redirection_enabled'] = false;
  706. // Customize on hover agenda view. Show agenda comment and/or description
  707. /*$_configuration['agenda_on_hover_info'] = [
  708. 'options' => [
  709. 'comment' => true,
  710. 'description' => true,
  711. ]
  712. ];*/
  713. // Disable jquery, jquery-ui libs added in the learning path view
  714. //$_configuration['disable_js_in_lp_view'] = true;
  715. // Show all sessions (old, current, future) in my course page
  716. //$_configuration['show_all_sessions_on_my_course_page'] = true;
  717. // Redirect to home tool after uploading a student publication or a adding a comment
  718. //$_configuration['allow_redirect_to_main_page_after_work_upload'] = false;
  719. // Empty the session student list when subscribing multiple users
  720. //$_configuration['session_multiple_subscription_students_list_avoid_emptying'] = false;
  721. // Disable the option to set course coach in session when editing course
  722. //$_configuration['disabled_edit_session_coaches_course_editing_course'] = false;
  723. // Show sender's email when receiving email notifications.
  724. //$_configuration['show_user_email_in_notification'] = false;
  725. // Set skill levels name, then later it will be parsed using get_lang BT#13586
  726. /*$_configuration['skill_levels_names'] = [
  727. 'levels' => [
  728. 1 => 'Skills',
  729. 2 => 'Capability',
  730. 3 => 'Dimension',
  731. ]
  732. ];*/
  733. // Show popular sessions on homepage
  734. //$_configuration['show_hot_sessions'] = false;
  735. // Hide skill levels options
  736. //$_configuration['hide_skill_levels'] = false;
  737. // Hide the session list in Reporting tool. Useful when a course has too many sessions.
  738. //$_configuration['hide_reporting_session_list'] = false;
  739. // Allow session admin to read careers
  740. //$_configuration['allow_session_admin_read_careers'] = true;
  741. // Enable cloud links in document tool
  742. // $_configuration['enable_add_file_link'] = false;
  743. // Send score in percentage in the exam result notification
  744. //$_configuration['send_notification_score_in_percentage'] = false;
  745. // Google translate key (for the text2speech feature in the documents tool)
  746. // To get it, go to https://console.cloud.google.com/apis/library, create or
  747. // use your own project, then search for "speech" and follow the instructions
  748. // This service has a cost above 60 minutes of use.
  749. //$_configuration['translate_app_google_key'] = '';
  750. // Block access to any user to "my progress" page
  751. //$_configuration['block_my_progress_page'] = false;
  752. // Add user extra fields in report: main/mySpace/exercise_category_report.php
  753. //$_configuration['exercise_category_report_user_extra_fields'] = ['fields' => ['skype', 'rssfeeds']];
  754. // Order sessions
  755. // Requires DB change: ALTER TABLE session ADD COLUMN position INT DEFAULT 0;
  756. // Requires edit Entity Session: src/Chamilo/CoreBundle/Entity/Session.php uncomment "position" variable.
  757. // Requires uncomment the position get and set
  758. //$_configuration['session_list_order'] = false;
  759. // Show skills as a hierarchical table
  760. //$_configuration['table_of_hierarchical_skill_presentation'] = false;
  761. // Restrict course chat only for course coach in sessions
  762. // Course coaches will can chat with students only. And students will can chat with all course coaches
  763. //$_configuration['course_chat_restrict_to_coach'] = false;
  764. // Allow teachers, drhs and admins to access blocked LP's because a prerequisite.
  765. //$_configuration['allow_teachers_to_access_blocked_lp_by_prerequisite'] = false;
  766. // Allow connect skills with course tools (exercises, forum threads, works, etc)
  767. // 1. Add "@ORM\Entity" in these Entities:
  768. //SkillRelItemRelUser/SkillRelItem
  769. // 2. Add "@ORM\OneToMany" in the "Skill.items" variable definition
  770. // 3. Run DB changes:
  771. /*
  772. CREATE TABLE skill_rel_item_rel_user (id INT AUTO_INCREMENT NOT NULL, skill_rel_item_id INT NOT NULL, user_id INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, created_by INT NOT NULL, updated_by INT NOT NULL, INDEX IDX_D1133E0DFD4B12DC (skill_rel_item_id), INDEX IDX_D1133E0DA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
  773. CREATE TABLE skill_rel_item (id INT AUTO_INCREMENT NOT NULL, skill_id INT DEFAULT NULL, item_type INT NOT NULL, item_id INT NOT NULL, obtain_conditions VARCHAR(255) DEFAULT NULL, requires_validation TINYINT(1) NOT NULL, is_real TINYINT(1) NOT NULL, c_id INT DEFAULT NULL, session_id INT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, created_by INT NOT NULL, updated_by INT NOT NULL, INDEX IDX_EB5B2A0D5585C142 (skill_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
  774. ALTER TABLE skill_rel_item_rel_user ADD CONSTRAINT FK_D1133E0DFD4B12DC FOREIGN KEY (skill_rel_item_id) REFERENCES skill_rel_item (id);
  775. ALTER TABLE skill_rel_item_rel_user ADD CONSTRAINT FK_D1133E0DA76ED395 FOREIGN KEY (user_id) REFERENCES user (id);
  776. ALTER TABLE skill_rel_item ADD CONSTRAINT FK_EB5B2A0D5585C142 FOREIGN KEY (skill_id) REFERENCES skill (id);
  777. ALTER TABLE skill_rel_item_rel_user ADD result_id INT DEFAULT NULL;
  778. CREATE TABLE skill_rel_course (id INT AUTO_INCREMENT NOT NULL, skill_id INT DEFAULT NULL, c_id INT NOT NULL, session_id INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_E7CEC7FA5585C142 (skill_id), INDEX IDX_E7CEC7FA91D79BD3 (c_id), INDEX IDX_E7CEC7FA613FECDF (session_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
  779. ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA5585C142 FOREIGN KEY (skill_id) REFERENCES skill (id);
  780. ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA91D79BD3 FOREIGN KEY (c_id) REFERENCES course (id);
  781. ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA613FECDF FOREIGN KEY (session_id) REFERENCES session (id);
  782. */
  783. // 4. Set "allow_skill_rel_items" to true
  784. //$_configuration['allow_skill_rel_items'] = false;
  785. // Generate random login when importing users
  786. //$_configuration['generate_random_login'] = false;
  787. // Remove html tags when exporting glossary definitions in a CSV file
  788. //$_configuration['allow_remove_tags_in_glossary_export'] = false;
  789. // Show base course categories in portal children
  790. //$_configuration['allow_base_course_category'] = false;
  791. // Send two emails when creating a user. One with the username other with the password.
  792. //$_configuration['send_two_inscription_confirmation_mail'] = false;
  793. // LP view custom settings
  794. /*$_configuration['lp_view_settings'] = [
  795. 'display' => [
  796. 'show_reporting_icon' => true,
  797. 'hide_lp_arrow_navigation' => false,
  798. ],
  799. ];*/
  800. // Force to hide the invisible course documents in sessions
  801. //$_configuration['hide_invisible_course_documents_in_sessions'] = false;
  802. // Show more expected choice and status in exercise results BT#13950
  803. //$_configuration['show_exercise_expected_choice'] = false;
  804. // Hide exercise question label (ribbon) BT#13950
  805. //$_configuration['exercise_hide_label'] = false;
  806. // Send welcome message by email and to the chamilo inbox BT#14034
  807. //$_configuration['send_inscription_msg_to_inbox'] = false;
  808. // Allow administrators to see personal messages between a teacher and a student.
  809. // Please make sure you include a note in your terms and conditions as this might
  810. // affect privacy protection.
  811. //$_configuration['allow_user_message_tracking'] = false;
  812. // Add a portfolio tool (duplicating the Notebook tool). Requires DB changes:
  813. /*
  814. CREATE TABLE portfolio (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, c_id INT DEFAULT NULL, session_id INT DEFAULT NULL, category_id INT DEFAULT NULL, title VARCHAR(255) NOT NULL, content LONGTEXT NOT NULL, creation_date DATETIME NOT NULL, update_date DATETIME NOT NULL, is_visible TINYINT(1) DEFAULT '1' NOT NULL, INDEX user (user_id), INDEX course (c_id), INDEX session (session_id), INDEX category (category_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
  815. CREATE TABLE portfolio_category (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, title VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, is_visible TINYINT(1) DEFAULT '1' NOT NULL, INDEX user (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
  816. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED1062A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE;
  817. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED106291D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE;
  818. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED1062613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE;
  819. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED106212469DE2 FOREIGN KEY (category_id) REFERENCES portfolio_category (id) ON DELETE SET NULL;
  820. ALTER TABLE portfolio_category ADD CONSTRAINT FK_7AC64359A76ED395 FOREIGN KEY (user_id) REFERENCES user (id);
  821. INSERT INTO settings_current(variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES('course_create_active_tools','portfolio','checkbox','Tools','true','CourseCreateActiveToolsTitle','CourseCreateActiveToolsComment',NULL,'Portfolio', 0);
  822. */
  823. // In 1.11.8, before enabling this feature, you also need to:
  824. // - edit src/Chamilo/CoreBundle/Entity/Portfolio.php and PortfolioCategory.php
  825. // and follow the instructions about the @ORM\Entity() line
  826. // - launch composer install to rebuild the autoload.php
  827. //$_configuration['allow_portfolio_tool'] = false;
  828. // Enable best score column in gradebook. Previously called disable_gradebook_stats
  829. //$_configuration['gradebook_enable_best_score'] = false;
  830. // Allow teachers to access student skills BT#14161 (skills setting must be enabled in the platform)
  831. //$_configuration['allow_teacher_access_student_skills'] = false;
  832. // Allow sharing options for the documents inside a group
  833. //ALTER TABLE c_group_info ADD document_access INT DEFAULT 0 NOT NULL;
  834. //$_configuration['group_document_access'] = false;
  835. // Allow sharing options for the documents inside a group category
  836. //ALTER TABLE c_group_category ADD document_access INT DEFAULT 0 NOT NULL;
  837. //$_configuration['group_category_document_access'] = false;
  838. // Allow LP export to chamilo format (CourseBackup)
  839. //$_configuration['allow_lp_chamilo_export'] = false;
  840. // Allow exercise auto launch
  841. //$_configuration['allow_exercise_auto_launch'] = false;
  842. // ALTER TABLE c_quiz ADD autolaunch TINYINT(1) DEFAULT 0;
  843. // Enable speed controller in video player
  844. // $_configuration['video_features'] = ['features' => ['speed']];
  845. // Disable token verification when sending a message
  846. // $_configuration['disable_token_in_new_message'] = false;
  847. // My courses session order. Possible field values: "start_date" or "end_date". Order values: "asc" or "desc"
  848. // $_configuration['my_courses_session_order'] = ['field' => 'end_date', 'order' => 'desc'];
  849. // Allow set courses in session in read-only mode. Require DB changes:
  850. /*
  851. INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, visible_to_self, changeable, filter, created_at)
  852. VALUES (2, 13, 'session_courses_read_only_mode', 'Lock Course In Session', 1, 1, 1, NOW());
  853. */
  854. // $_configuration['session_courses_read_only_mode'] = false;
  855. // Allow SCORM packages when importing a course
  856. // $_configuration['allow_import_scorm_package_in_course_builder'] = false;
  857. // Hide announcement "sent to" label
  858. // $_configuration['hide_announcement_sent_to_users_info'] = false;
  859. // Hide gradebook graph
  860. // $_configuration['gradebook_hide_graph'] = false;
  861. // Hide gradebook "download report in PDF" button
  862. // $_configuration['gradebook_hide_pdf_report_button'] = false;
  863. // Show pending survey link in user menu
  864. // $_configuration['show_pending_survey_in_menu'] = false;
  865. // GDPR: European's General Data Protection Rules activation option
  866. // Set to true to disable the new personal data page inside the social network menu
  867. // $_configuration['disable_gdpr'] = true;
  868. // GDPR requires users to be informed of the Data Protection Officer name and contact point
  869. // These can only be defined here for now, but will be moved to web settings in the future.
  870. // Name of the person or organization that is responsible for the treatment of personal info
  871. //$_configuration['data_protection_officer_name'] = '';
  872. // A description of the role of the DP Officer in this context
  873. //$_configuration['data_protection_officer_role'] = '';
  874. // An e-mail address where to contact the data protection officer for queries
  875. //$_configuration['data_protection_officer_email'] = '';
  876. // Show multiple conditions to user during sign up process
  877. // Example with a GDPR condition
  878. /*$_configuration['show_conditions_to_user'] = [
  879. 'conditions' => [
  880. [
  881. 'variable' => 'gdpr', // internal extra field name
  882. 'display_text' => 'GDPRTitle', // checkbox title will be translated with get_lang('GDPRTitle')
  883. 'text_area' => 'GDPRTextArea', // this will be translated using get_lang('GDPRTextArea')
  884. ],
  885. [
  886. 'variable' => 'my_terms',
  887. 'display_text' => 'My test conditions',
  888. 'text_area' => 'This is a long text area, with lot of terms and conditions ... ',
  889. ],
  890. ],
  891. ];*/
  892. // Hide LP item prerequisite label in the LP view
  893. //$_configuration['hide_accessibility_label_on_lp_item'] = true;
  894. // Round score in exercise category export
  895. //$_configuration['exercise_category_round_score_in_export'] = false;
  896. // Redirect index to url for logged in users
  897. // In this example the index.php will be redirected to user_portal.php for logged in users
  898. //$_configuration['redirect_index_to_url_for_logged_users'] = 'user_portal.php';
  899. // Teachers can CRUD classes
  900. // ALTER TABLE usergroup ADD author_id INT DEFAULT NULL;
  901. //$_configuration['allow_teachers_to_classes'] = false;
  902. // Validate user login via a webservice, Chamilo will send a "login" and "password" parameters
  903. // to the "myWebServiceFunctionToLogin" function, the result should be "1" if the user have access.
  904. /*$_configuration['webservice_validation'] = [
  905. 'options' => [
  906. 'wsdl' => 'https://example.com/soap?wsdl',
  907. 'check_login_function' => 'myWebServiceFunctionToLogin'
  908. ]
  909. ];*/
  910. // Hide the username when showing the complete name for a user.
  911. // Example: using api_get_user_info()['complete_name_with_username'] or $user->getCompleteNameWithUsername()
  912. //$_configuration['hide_username_with_complete_name'] = false;
  913. // Hide the username in course chat
  914. //$_configuration['hide_username_in_course_chat'] = false;
  915. // Allow multiple attempts in gradebook evaluations
  916. // CREATE TABLE gradebook_result_attempt (id INT AUTO_INCREMENT NOT NULL, result_id INT NOT NULL, score DOUBLE, comment LONGTEXT DEFAULT NULL, created_at DATETIME, updated_at DATETIME, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
  917. //$_configuration['gradebook_multiple_evaluation_attempts'] = false;
  918. // Hide country flags in the language switcher
  919. // $_configuration['hide_flag_language_switcher'] = false;
  920. // Hide complete name in who is online page
  921. // $_configuration['hide_complete_name_in_whoisonline'] = false;
  922. // Block student publication edition BT#14985
  923. // $_configuration['block_student_publication_edition'] = false;
  924. // Block student publication add documents BT#14986
  925. //$_configuration['block_student_publication_add_documents'] = false;
  926. // Block student publication score edition BT#14987
  927. // $_configuration['block_student_publication_score_edition'] = false;
  928. // Enable system to manage e-mail templates in users registration forms
  929. /*CREATE TABLE mail_template(
  930. id int not null primary key auto_increment,
  931. name varchar(255) not null, -- a friendly name for the template, to remember what it is like
  932. template text, -- the template content (in Twig format)
  933. type varchar(255) not null, -- the type of the mail (we can use current template names to fill that)
  934. created_at DATETIME NOT NULL,
  935. updated_at DATETIME NOT NULL,
  936. author_id INT NOT NULL,
  937. url_id INT NOT NULL,
  938. default_template TINYINT not null,
  939. system int not null default 0 -- whether it can be deleted or not (system = 1 means it's initially from Chamilo, any other template can be created/deleted/edited, but the ones with system=1 cannot)
  940. );*/
  941. // $_configuration['mail_template_system'] = false;
  942. // Students can only upload one publication
  943. // $_configuration['allow_only_one_student_publication_per_user'] = false;
  944. // Hide percentage in best/average gradebook results
  945. //$_configuration['hide_gradebook_percentage_user_result'] = true;
  946. // Use exercise platform score settings in the gradebook graph
  947. // $_configuration['gradebook_use_exercise_score_settings_in_categories'] = true;
  948. // Activate the view with ViewerJS for PDF files within the lessons for IPad and IPhone
  949. // $_configuration['allow_pdf_viewerjs_in_lp'] = false;
  950. // Allow DRH user to access all visible session course announcements
  951. // $_configuration['allow_drh_access_announcement'] = false;
  952. // Allow my personal files link in the homepage
  953. // $_configuration['allow_my_files_link_in_homepage'] = false;
  954. // This option sets default parameters in the main/session/session_import.php
  955. /*$_configuration['session_import_settings'] = [
  956. 'options' => [
  957. 'session_exists_default_option' => '1',
  958. 'send_mail_default_option' => '1',
  959. ]
  960. ];*/
  961. /*
  962. * Fields visibility in the profile user page
  963. $_configuration['profile_fields_visibility'] = [
  964. 'options' => [
  965. 'vcard' => false,
  966. 'firstname' => false,
  967. 'lastname' => false,
  968. 'photo' => true,
  969. 'email' => true,
  970. 'chat' => true,
  971. 'terms_ville' => false, // extra field value
  972. ]
  973. ];*/
  974. // This option sets default parameters in the main/admin/user_import.php
  975. /*$_configuration['user_import_settings'] = [
  976. 'options' => [
  977. 'send_mail_default_option' => '1',
  978. ]
  979. ];*/
  980. // Disable all new exercise attempts in all the platform
  981. // $_configuration['exercises_disable_new_attempts'] = false;
  982. // Improve speed when rendering gradebook student reports using Doctrine APCU cache
  983. // $_configuration['gradebook_use_apcu_cache'] = true;
  984. // Add a minimum time limit to be in the learning path
  985. // in order to get the last item completed
  986. // Requires a DB change:
  987. // ALTER TABLE c_lp ADD accumulate_work_time INT NOT NULL;
  988. // CREATE TABLE track_e_access_complete (id int(11) NOT NULL AUTO_INCREMENT, user_id int(11) NOT NULL, date_reg datetime NOT NULL, tool varchar(255) NOT NULL, tool_id int(11) NOT NULL, tool_id_detail int(11) NOT NULL, action varchar(255) NOT NULL, action_details varchar(255) NOT NULL, current_id int(11) NOT NULL, ip_user varchar(255) NOT NULL, user_agent varchar(255) NOT NULL, session_id int(11) NOT NULL, c_id int(11) NOT NULL, ch_sid varchar(255) NOT NULL, login_as int(11) NOT NULL, info longtext NOT NULL, url text NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=13989 DEFAULT CHARSET=utf8;
  989. // CREATE INDEX user_course_session ON track_e_access_complete (user_id, c_id, session_id);
  990. // Only applied for courses with extra field "new_tracking_system" to "1"
  991. //$_configuration['lp_minimum_time'] = false;
  992. // Add collapsable option for user course categories
  993. // ALTER TABLE user_course_category ADD collapsed TINYINT(1) DEFAULT NULL;
  994. // $_configuration['allow_user_course_category_collapsable'] = false;
  995. // Add collapsable option when showing the course list inside a session in userportal.php
  996. // ALTER TABLE session_rel_user ADD collapsed TINYINT(1) DEFAULT NULL;
  997. // Create a new session extra field called "collapsed" (checkbox yes/no - option)
  998. // $_configuration['allow_user_session_collapsable'] = false;
  999. // Allow to session admins login as teachers
  1000. //$_configuration['allow_session_admin_login_as_teacher'] = false;
  1001. // Allow gradebook stats
  1002. // Requires to edit the GradebookLink.php And GradebookEvaluation.php files adding the "@" in the ORM phpdoc block
  1003. /* ALTER TABLE gradebook_link ADD score_weight DOUBLE PRECISION DEFAULT NULL, ADD average_score DOUBLE PRECISION DEFAULT NULL, ADD best_score DOUBLE PRECISION DEFAULT NULL, ADD user_score_list LONGTEXT DEFAULT NULL COMMENT '(DC2Type:array)' ;
  1004. ALTER TABLE gradebook_evaluation ADD score_weight DOUBLE PRECISION DEFAULT NULL, ADD average_score DOUBLE PRECISION DEFAULT NULL, ADD best_score DOUBLE PRECISION DEFAULT NULL, ADD user_score_list LONGTEXT DEFAULT NULL COMMENT '(DC2Type:array)' ;
  1005. */
  1006. //$_configuration['allow_gradebook_stats'] = false;
  1007. // Hide social media links
  1008. //$_configuration['hide_social_media_links'] = false;
  1009. // Show chamilo unique question id in exercises
  1010. // $_configuration['show_question_id'] = false;
  1011. // Show pagination if question list is bigger than "x" value, if 0 pagination will not appear.
  1012. // Option only when building an exercise as a teacher
  1013. // $_configuration['show_question_pagination'] = 100;
  1014. // Number of questions to show in every page
  1015. // Option only when building an exercise as a teacher
  1016. // $_configuration['question_pagination_length'] = 20;
  1017. // Teachers cannot delete an exercise/questions, change exercise visibility, download to qti, clean results
  1018. // $_configuration['limit_exercise_teacher_access'] = false;
  1019. // Changes the row list when using jqgrid/sortable tables
  1020. //$_configuration['table_row_list'] = ['options' => [50, 100, 200, 500]];
  1021. // Default selected row in jqgrid/sortable tables
  1022. //$_configuration['table_default_row'] = 50;
  1023. // Disable Chamilo.org announcements at the top of the admin page
  1024. //$_configuration['admin_chamilo_announcements_disable'] = false;
  1025. // Disable course report graphs
  1026. //$_configuration['hide_course_report_graph'] = false;
  1027. // Visually "fold" forum categories by default
  1028. // $_configuration['forum_fold_categories'] = false;
  1029. // Set extra fields as required in the inscription.php page
  1030. /*$_configuration['required_extra_fields_in_inscription'] = [
  1031. 'options' => [
  1032. 'terms_ville',
  1033. 'terms_paysresidence',
  1034. ],
  1035. ];*/
  1036. /* Set extra fields as required in the profile.php page
  1037. $_configuration['required_extra_fields_in_profile'] = [
  1038. 'options' => [
  1039. 'terms_villedustage'
  1040. ],
  1041. ];
  1042. */
  1043. // Community manager users
  1044. //$_configuration['community_managers_user_list'] = ['users' => [1]];
  1045. // Hide global chat video
  1046. //$_configuration['hide_chat_video'] = false;
  1047. // global forum in social network BT#15309
  1048. //$_configuration['global_forums_course_id'] = 0;
  1049. // Hide forum post revision checkbox
  1050. //$_configuration['hide_forum_post_revision_language'] = false;
  1051. // Allow forum post revisions
  1052. // Requires new forum_category and forum_post "language" extra fields (multiple select)
  1053. //$_configuration['allow_forum_post_revisions'] = false;
  1054. // Allow to show users in a map, users need to have a coordinates extra field BT#15176
  1055. //$_configuration['allow_social_map_fields'] = ['fields' => ['terms_villedustage', 'terms_ville']];
  1056. // Translate HTML based in the HTML "lang" attribute see BT#15166
  1057. //$_configuration['translate_html'] = false;
  1058. // Avoid add a reply-to header when a no-reply address is set.
  1059. //$_configuration['mail_no_reply_avoid_reply_to'] = false;
  1060. // Allows to user add feedback (likes or dislikes) to posts in social wall. Requires DB changes:
  1061. // CREATE TABLE message_feedback (id BIGINT AUTO_INCREMENT NOT NULL, message_id BIGINT NOT NULL, user_id INT NOT NULL, liked TINYINT(1) DEFAULT '0' NOT NULL, disliked TINYINT(1) DEFAULT '0' NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_DB0F8049537A1329 (message_id), INDEX IDX_DB0F8049A76ED395 (user_id), INDEX idx_message_feedback_uid_mid (message_id, user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
  1062. // ALTER TABLE message_feedback ADD CONSTRAINT FK_DB0F8049537A1329 FOREIGN KEY (message_id) REFERENCES message (id) ON DELETE CASCADE;
  1063. // ALTER TABLE message_feedback ADD CONSTRAINT FK_DB0F8049A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE;
  1064. // In 1.11.8, before enabling this feature, you also need to:
  1065. // - edit src/Chamilo/CoreBundle/Entity/MessageFeedback.php
  1066. // and follow the instructions about the @ORM\Entity() line
  1067. // - edit src/Chamilo/CoreBundle/Entity/Message.php
  1068. // and follow the instructions about the @ORM\OneToMany line for the $likes property
  1069. // - launch "composer install" to rebuild the autoload.php
  1070. //$_configuration['social_enable_messages_feedback'] = false;
  1071. // Block student's access to the course documents when using the ckeditor "Browse server" button
  1072. //$_configuration['block_editor_file_manager_for_students'] = false;
  1073. // Show a language flag next to the user picture in the social network
  1074. //$_configuration['social_show_language_flag_in_profile'] = false;
  1075. // Add subject and body in the mailto: footer
  1076. //$_configuration['add_user_course_information_in_mailto'] = false;
  1077. // Add gradebook score style configuration in the flat view
  1078. // See api.lib.php in order to find the options: examples SCORE_DIV = 1, SCORE_PERCENT = 2, etc
  1079. //$_configuration['gradebook_report_score_style'] = 1; // Means the score will be (X / Y) "SCORE_DIV"
  1080. // Blocks "my files" access to anon users
  1081. //$_configuration['block_my_files_access'] = false;
  1082. // Allow .htaccess files in SCORM packages
  1083. //$_configuration['allow_htaccess_import_from_scorm'] = false;
  1084. // Allow general certificate
  1085. //$_configuration['allow_general_certificate'] = false;
  1086. // Allow exercise categories
  1087. // CREATE TABLE c_exercise_category (id BIGINT AUTO_INCREMENT NOT NULL, c_id INT NOT NULL, name VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, position INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
  1088. // ALTER TABLE c_quiz ADD exercise_category_id INT DEFAULT NULL;
  1089. // enable @ORM in CExerciseCategory adn CQuiz::exerciseCategoryId
  1090. //$_configuration['allow_exercise_categories'] = false;
  1091. // KEEP THIS AT THE END
  1092. // -------- Custom DB changes
  1093. // Add user activation by confirmation email
  1094. // This option prevents the new user to login in the platform if your account is not confirmed via email
  1095. // You need add a new option called "confirmation" to the registration settings
  1096. //INSERT INTO settings_options (variable, value, display_text) VALUES ('allow_registration', 'confirmation', 'MailConfirmation');
  1097. // ------ (End) Custom DB changes