configuration.dist.php 62 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295
  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. // Add "send_to_coaches" checkbox field in: main/admin/extra_fields.php?type=scheduled_announcement&action=add
  530. //$_configuration['allow_scheduled_announcements'] = false;
  531. // Add the list of emails as a bcc when sending an email.
  532. /*
  533. $_configuration['send_all_emails_to'] = [
  534. 'emails' => [
  535. 'admin1@example.com',
  536. 'admin2@example.com',
  537. ]
  538. ];*/
  539. // Allow ticket projects to be access by specific chamilo roles
  540. /*$_configuration['ticket_project_user_roles'] = [
  541. 'permissions' => [
  542. 1 => [17] // project_id = 1, STUDENT_BOSS = 17
  543. ]
  544. ];*/
  545. // Exercises configuration settings
  546. // Send only quiz answer notifications to course coaches and not general coach
  547. //$_configuration['block_quiz_mail_notification_general_coach'] = false;
  548. // Show question feedback (requires DB change: "ALTER TABLE c_quiz_question ADD COLUMN feedback text;")
  549. //$_configuration['allow_quiz_question_feedback'] = false;
  550. // Add option in exercise to show or hide the "previous" button.
  551. //ALTER TABLE c_quiz ADD show_previous_button TINYINT(1) DEFAULT 1;
  552. //$_configuration['allow_quiz_show_previous_button_setting'] = false;
  553. // Allow to teachers review exercises question with audio notes
  554. //$_configuration["allow_teacher_comment_audio"] = false;
  555. // Block copy/paste/save/print keys and right-clicks in exercises
  556. //$_configuration['quiz_prevent_copy_paste'] = false;
  557. // Always show the test description on the results page of the test
  558. //$_configuration['quiz_show_description_on_results_page'] = false;
  559. // Allow add additional actions (as links) in exercises list for teachers.
  560. // Callback get the $exerciseId and $iconSize as parameters.
  561. // e.g. ['myplugin' => ['MyPlugin', 'urlGeneratorCallback']]
  562. //$_configuration['exercise_additional_teacher_modify_actions'] = []
  563. // Generate certificate when ending a quiz.
  564. // The quiz needs to be linked to a gradebook category and have set the pass percentage.
  565. //$_configuration['quiz_generate_certificate_ending'] = false;
  566. // Hide search form in session list
  567. //$_configuration['hide_search_form_in_session_list'] = false;
  568. // Allow exchange of messages from teachers/bosses about a user.
  569. //$_configuration['private_messages_about_user'] = false;
  570. // Allow the messages to be visible for the students
  571. //$_configuration['private_messages_about_user_visible_to_user'] = false;
  572. // Allow send email notification per exercise
  573. //ALTER TABLE c_quiz ADD COLUMN notifications VARCHAR(255) NULL DEFAULT NULL;
  574. //$_configuration['allow_notification_setting_per_exercise'] = false;
  575. // Hide free/oral/annotation question result see BT#12613
  576. //$_configuration['hide_free_question_score'] = false;
  577. // Hide user information in the quiz result's page
  578. //$_configuration['hide_user_info_in_quiz_result'] = false;
  579. // Show the username field in exercise results report
  580. //$_configuration['exercise_attempts_report_show_username'] = false;
  581. // Score model
  582. // Allow to convert a score into a text/color label
  583. // using a model if score is inside those values. See BT#12898
  584. /*
  585. $_configuration['score_grade_model'] = [
  586. 'models' => [
  587. [
  588. 'id' => 1,
  589. 'name' => 'ThisIsMyModel', // Value will be translated using get_lang
  590. 'score_list' => [
  591. [
  592. 'name' => 'VeryBad', // Value will be translated using get_lang
  593. 'css_class' => 'btn-danger',
  594. 'min' => 0,
  595. 'max' => 20,
  596. 'score_to_qualify' => 0
  597. ],
  598. [
  599. 'name' => 'Bad',
  600. 'css_class' => 'btn-danger',
  601. 'min' => 21,
  602. 'max' => 50,
  603. 'score_to_qualify' => 25
  604. ],
  605. [
  606. 'name' => 'Good',
  607. 'css_class' => 'btn-warning',
  608. 'min' => 51,
  609. 'max' => 70,
  610. 'score_to_qualify' => 60
  611. ],
  612. [
  613. 'name' => 'VeryGood',
  614. 'css_class' => 'btn-success',
  615. 'min' => 71,
  616. 'max' => 100,
  617. 'score_to_qualify' => 100
  618. ]
  619. ]
  620. ]
  621. ]
  622. ];
  623. */
  624. // Allow show link to request relation between HRM and user
  625. //$_configuration['show_link_request_hrm_user'] = false;
  626. // Allow CKEditor start up with ShowBlocks plugin active
  627. //$_configuration['ckeditor_startup_outline_blocks'] = false;
  628. // SETTINGS FOR USER COURSE LIST
  629. // Manage the links to Session Index page
  630. // 1 = Default. Works as it is now (default is to link to the special session page)
  631. // 0 = No link (hide session title)
  632. // 2 = Link to the course if there is only one course
  633. // 3 = Session link will make course list foldable
  634. // 4 = No link (only session title)
  635. //$_configuration['courses_list_session_title_link'] = 1;
  636. // New grid view the list of courses
  637. //$_configuration['view_grid_courses'] = true;
  638. // Show courses grouped by categories when $_configuration['view_grid_courses'] is enabled
  639. //$_configuration['view_grid_courses_grouped_categories_in_sessions'] = true;
  640. // Load course notifications in user_portal.php using ajax
  641. //$_configuration['user_portal_load_notification_by_ajax'] = false;
  642. // Hide the "what's new" icon notifications in course list
  643. // $_configuration['hide_course_notification'] = true;
  644. // Show less session information in course list
  645. //$_configuration['show_simple_session_info'] = true;
  646. // Show course category list on My Courses page before the courses. Requires a DB change
  647. //ALTER TABLE course_category ADD image varchar(255) NULL;
  648. //ALTER TABLE course_category ADD description LONGTEXT NULL;
  649. //$_configuration['my_courses_list_as_category'] = false;
  650. // ------
  651. // Skills can only be visible for admins, teachers (related to a user via a course),
  652. // and HRM users (if related to a user).
  653. // $_configuration['allow_private_skills'] = false;
  654. // Additional gradebook dependencies BT#13099
  655. // ALTER TABLE gradebook_category ADD COLUMN depends TEXT DEFAULT NULL;
  656. // ALTER TABLE gradebook_category ADD COLUMN minimum_to_validate INT DEFAULT NULL;
  657. // ALTER TABLE gradebook_category ADD COLUMN gradebooks_to_validate_in_dependence INT DEFAULT NULL;
  658. // $_configuration['gradebook_dependency'] = false;
  659. // Courses id list to check in the gradebook sidebar see BT#13099
  660. /*$_configuration['gradebook_dependency_mandatory_courses'] = [
  661. 'courses' => [1, 2]
  662. ];*/
  663. // Gradebook id list needed to build the gradebook sidebar see BT#13099
  664. /*
  665. $_configuration['gradebook_badge_sidebar'] = [
  666. 'gradebooks' => [1, 2, 3]
  667. ];*/
  668. // Show language selector in main menu an update the language in the user's
  669. // profile.
  670. //$_configuration['show_language_selector_in_menu'] = false;
  671. // When using the my-courses list filter by category, set this option to true
  672. // to only show courses in the user's configured language
  673. // $_configuration['my_courses_show_courses_in_user_language_only'] = false;
  674. // Hide base course announcements when entering a group.
  675. //$_configuration['hide_base_course_announcements_in_group'] = false;
  676. // Disable delete all announcements button
  677. //$_configuration['disable_delete_all_announcements'] = false;
  678. // Default glossary view "table" or "list"
  679. //$_configuration['default_glossary_view'] = 'table';
  680. // Allow or block user subscriptions to a lp/lp category
  681. /*$_configuration['lp_subscription_settings'] = [
  682. 'options' => [
  683. 'allow_add_users_to_lp' => true,
  684. 'allow_add_users_to_lp_category' => true,
  685. ]
  686. ];*/
  687. // Allow public courses access with no terms and conditions validation.
  688. //$_configuration['allow_public_course_with_no_terms_conditions'] = false;
  689. // Allow delete user for session admin
  690. //$_configuration['allow_delete_user_for_session_admin'] = false;
  691. // Allow enable/disable user accounts for session admin
  692. //$_configuration['allow_disable_user_for_session_admin'] = false;
  693. // Allow edit/delete agenda events for HRM users
  694. //$_configuration['allow_agenda_edit_for_hrm'] = false;
  695. // Allow double validation in registration page
  696. //$_configuration['allow_double_validation_in_registration'] = false;
  697. // Allow multiple anon users see BT#13324
  698. //$_configuration['max_anonymous_users'] = 0;
  699. // Send email notification to admin when a user is created
  700. //$_configuration['send_notification_when_user_added'] = ['admins' => [1] ];
  701. // Send email notification to course members when document is added BT#13964
  702. //$_configuration['send_notification_when_document_added'] = false;
  703. // Hide email content forcing using to click in a link to visit the portal to check the message
  704. //$_configuration['messages_hide_mail_content'] = false;
  705. // If you install plugin redirection you need to change to true
  706. //$_configuration['plugin_redirection_enabled'] = false;
  707. // Customize on hover agenda view. Show agenda comment and/or description
  708. /*$_configuration['agenda_on_hover_info'] = [
  709. 'options' => [
  710. 'comment' => true,
  711. 'description' => true,
  712. ]
  713. ];*/
  714. // Disable jquery, jquery-ui libs added in the learning path view
  715. //$_configuration['disable_js_in_lp_view'] = true;
  716. // Show all sessions (old, current, future) in my course page
  717. //$_configuration['show_all_sessions_on_my_course_page'] = true;
  718. // Redirect to home tool after uploading a student publication or a adding a comment
  719. //$_configuration['allow_redirect_to_main_page_after_work_upload'] = false;
  720. // Empty the session student list when subscribing multiple users
  721. //$_configuration['session_multiple_subscription_students_list_avoid_emptying'] = false;
  722. // Disable the option to set course coach in session when editing course
  723. //$_configuration['disabled_edit_session_coaches_course_editing_course'] = false;
  724. // Show sender's email when receiving email notifications.
  725. //$_configuration['show_user_email_in_notification'] = false;
  726. // Set skill levels name, then later it will be parsed using get_lang BT#13586
  727. /*$_configuration['skill_levels_names'] = [
  728. 'levels' => [
  729. 1 => 'Skills',
  730. 2 => 'Capability',
  731. 3 => 'Dimension',
  732. ]
  733. ];*/
  734. // Show popular sessions on homepage
  735. //$_configuration['show_hot_sessions'] = false;
  736. // Hide skill levels options
  737. //$_configuration['hide_skill_levels'] = false;
  738. // Hide the session list in Reporting tool. Useful when a course has too many sessions.
  739. //$_configuration['hide_reporting_session_list'] = false;
  740. // Allow session admin to read careers
  741. //$_configuration['allow_session_admin_read_careers'] = true;
  742. // Enable cloud links in document tool
  743. // $_configuration['enable_add_file_link'] = false;
  744. // Send score in percentage in the exam result notification
  745. //$_configuration['send_notification_score_in_percentage'] = false;
  746. // Google translate key (for the text2speech feature in the documents tool)
  747. // To get it, go to https://console.cloud.google.com/apis/library, create or
  748. // use your own project, then search for "speech" and follow the instructions
  749. // This service has a cost above 60 minutes of use.
  750. //$_configuration['translate_app_google_key'] = '';
  751. // Block access to any user to "my progress" page
  752. //$_configuration['block_my_progress_page'] = false;
  753. // Add user extra fields in report: main/mySpace/exercise_category_report.php
  754. //$_configuration['exercise_category_report_user_extra_fields'] = ['fields' => ['skype', 'rssfeeds']];
  755. // Order sessions
  756. // Requires DB change: ALTER TABLE session ADD COLUMN position INT DEFAULT 0;
  757. // Requires edit Entity Session: src/Chamilo/CoreBundle/Entity/Session.php uncomment "position" variable.
  758. // Requires uncomment the position get and set
  759. //$_configuration['session_list_order'] = false;
  760. // Show skills as a hierarchical table
  761. //$_configuration['table_of_hierarchical_skill_presentation'] = false;
  762. // Restrict course chat only for course coach in sessions
  763. // Course coaches will can chat with students only. And students will can chat with all course coaches
  764. //$_configuration['course_chat_restrict_to_coach'] = false;
  765. // Allow teachers, drhs and admins to access blocked LP's because a prerequisite.
  766. //$_configuration['allow_teachers_to_access_blocked_lp_by_prerequisite'] = false;
  767. // Allow connect skills with course tools (exercises, forum threads, works, etc)
  768. // 1. Add "@ORM\Entity" in these Entities:
  769. //SkillRelItemRelUser/SkillRelItem
  770. // 2. Add "@ORM\OneToMany" in the "Skill.items" variable definition
  771. // 3. Run DB changes:
  772. /*
  773. 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;
  774. 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;
  775. ALTER TABLE skill_rel_item_rel_user ADD CONSTRAINT FK_D1133E0DFD4B12DC FOREIGN KEY (skill_rel_item_id) REFERENCES skill_rel_item (id);
  776. ALTER TABLE skill_rel_item_rel_user ADD CONSTRAINT FK_D1133E0DA76ED395 FOREIGN KEY (user_id) REFERENCES user (id);
  777. ALTER TABLE skill_rel_item ADD CONSTRAINT FK_EB5B2A0D5585C142 FOREIGN KEY (skill_id) REFERENCES skill (id);
  778. ALTER TABLE skill_rel_item_rel_user ADD result_id INT DEFAULT NULL;
  779. 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;
  780. ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA5585C142 FOREIGN KEY (skill_id) REFERENCES skill (id);
  781. ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA91D79BD3 FOREIGN KEY (c_id) REFERENCES course (id);
  782. ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA613FECDF FOREIGN KEY (session_id) REFERENCES session (id);
  783. */
  784. // 4. Set "allow_skill_rel_items" to true
  785. //$_configuration['allow_skill_rel_items'] = false;
  786. // Generate random login when importing users
  787. //$_configuration['generate_random_login'] = false;
  788. // Remove html tags when exporting glossary definitions in a CSV file
  789. //$_configuration['allow_remove_tags_in_glossary_export'] = false;
  790. // Show base course categories in portal children
  791. //$_configuration['allow_base_course_category'] = false;
  792. // Send two emails when creating a user. One with the username other with the password.
  793. //$_configuration['send_two_inscription_confirmation_mail'] = false;
  794. // LP view custom settings
  795. /*$_configuration['lp_view_settings'] = [
  796. 'display' => [
  797. 'show_reporting_icon' => true,
  798. 'hide_lp_arrow_navigation' => false,
  799. 'show_toolbar_by_default' => false,
  800. ],
  801. ];*/
  802. // Force to hide the invisible course documents in sessions
  803. //$_configuration['hide_invisible_course_documents_in_sessions'] = false;
  804. // Show more expected choice and status in exercise results BT#13950
  805. //$_configuration['show_exercise_expected_choice'] = false;
  806. // Hide exercise question label (ribbon) BT#13950
  807. //$_configuration['exercise_hide_label'] = false;
  808. // Send welcome message by email and to the chamilo inbox BT#14034
  809. //$_configuration['send_inscription_msg_to_inbox'] = false;
  810. // Allow administrators to see personal messages between a teacher and a student.
  811. // Please make sure you include a note in your terms and conditions as this might
  812. // affect privacy protection.
  813. //$_configuration['allow_user_message_tracking'] = false;
  814. // Add a portfolio tool (duplicating the Notebook tool). Requires DB changes:
  815. /*
  816. 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;
  817. 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;
  818. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED1062A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE;
  819. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED106291D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE;
  820. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED1062613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE;
  821. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED106212469DE2 FOREIGN KEY (category_id) REFERENCES portfolio_category (id) ON DELETE SET NULL;
  822. ALTER TABLE portfolio_category ADD CONSTRAINT FK_7AC64359A76ED395 FOREIGN KEY (user_id) REFERENCES user (id);
  823. 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);
  824. */
  825. // In 1.11.8, before enabling this feature, you also need to:
  826. // - edit src/Chamilo/CoreBundle/Entity/Portfolio.php and PortfolioCategory.php
  827. // and follow the instructions about the @ORM\Entity() line
  828. // - launch composer install to rebuild the autoload.php
  829. //$_configuration['allow_portfolio_tool'] = false;
  830. // Enable best score column in gradebook. Previously called disable_gradebook_stats
  831. //$_configuration['gradebook_enable_best_score'] = false;
  832. // Allow teachers to access student skills BT#14161 (skills setting must be enabled in the platform)
  833. //$_configuration['allow_teacher_access_student_skills'] = false;
  834. // Allow sharing options for the documents inside a group
  835. //ALTER TABLE c_group_info ADD document_access INT DEFAULT 0 NOT NULL;
  836. //$_configuration['group_document_access'] = false;
  837. // Allow sharing options for the documents inside a group category
  838. //ALTER TABLE c_group_category ADD document_access INT DEFAULT 0 NOT NULL;
  839. //$_configuration['group_category_document_access'] = false;
  840. // Allow LP export to chamilo format (CourseBackup)
  841. //$_configuration['allow_lp_chamilo_export'] = false;
  842. // Allow exercise auto launch
  843. //$_configuration['allow_exercise_auto_launch'] = false;
  844. // ALTER TABLE c_quiz ADD autolaunch TINYINT(1) DEFAULT 0;
  845. // Enable speed controller in video player
  846. // $_configuration['video_features'] = ['features' => ['speed']];
  847. // Disable token verification when sending a message
  848. // $_configuration['disable_token_in_new_message'] = false;
  849. // My courses session order. Possible field values: "start_date" or "end_date". Order values: "asc" or "desc"
  850. // $_configuration['my_courses_session_order'] = ['field' => 'end_date', 'order' => 'desc'];
  851. // Allow set courses in session in read-only mode. Require DB changes:
  852. /*
  853. INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, visible_to_self, changeable, filter, created_at)
  854. VALUES (2, 13, 'session_courses_read_only_mode', 'Lock Course In Session', 1, 1, 1, NOW());
  855. */
  856. // $_configuration['session_courses_read_only_mode'] = false;
  857. // Allow SCORM packages when importing a course
  858. // $_configuration['allow_import_scorm_package_in_course_builder'] = false;
  859. // Hide announcement "sent to" label
  860. // $_configuration['hide_announcement_sent_to_users_info'] = false;
  861. // Hide gradebook graph
  862. // $_configuration['gradebook_hide_graph'] = false;
  863. // Hide gradebook "download report in PDF" button
  864. // $_configuration['gradebook_hide_pdf_report_button'] = false;
  865. // Show pending survey link in user menu
  866. // $_configuration['show_pending_survey_in_menu'] = false;
  867. // GDPR: European's General Data Protection Rules activation option
  868. // Set to true to disable the new personal data page inside the social network menu
  869. // $_configuration['disable_gdpr'] = true;
  870. // GDPR requires users to be informed of the Data Protection Officer name and contact point
  871. // These can only be defined here for now, but will be moved to web settings in the future.
  872. // Name of the person or organization that is responsible for the treatment of personal info
  873. //$_configuration['data_protection_officer_name'] = '';
  874. // A description of the role of the DP Officer in this context
  875. //$_configuration['data_protection_officer_role'] = '';
  876. // An e-mail address where to contact the data protection officer for queries
  877. //$_configuration['data_protection_officer_email'] = '';
  878. // Show multiple conditions to user during sign up process
  879. // Example with a GDPR condition
  880. /*$_configuration['show_conditions_to_user'] = [
  881. 'conditions' => [
  882. [
  883. 'variable' => 'gdpr', // internal extra field name
  884. 'display_text' => 'GDPRTitle', // checkbox title will be translated with get_lang('GDPRTitle')
  885. 'text_area' => 'GDPRTextArea', // this will be translated using get_lang('GDPRTextArea')
  886. ],
  887. [
  888. 'variable' => 'my_terms',
  889. 'display_text' => 'My test conditions',
  890. 'text_area' => 'This is a long text area, with lot of terms and conditions ... ',
  891. ],
  892. ],
  893. ];*/
  894. // Hide LP item prerequisite label in the LP view
  895. //$_configuration['hide_accessibility_label_on_lp_item'] = true;
  896. // Round score in exercise category export
  897. //$_configuration['exercise_category_round_score_in_export'] = false;
  898. // Redirect index to url for logged in users
  899. // In this example the index.php will be redirected to user_portal.php for logged in users
  900. //$_configuration['redirect_index_to_url_for_logged_users'] = 'user_portal.php';
  901. // Teachers can CRUD classes
  902. // ALTER TABLE usergroup ADD author_id INT DEFAULT NULL;
  903. //$_configuration['allow_teachers_to_classes'] = false;
  904. // Validate user login via a webservice, Chamilo will send a "login" and "password" parameters
  905. // to the "myWebServiceFunctionToLogin" function, the result should be "1" if the user have access.
  906. /*$_configuration['webservice_validation'] = [
  907. 'options' => [
  908. 'wsdl' => 'https://example.com/soap?wsdl',
  909. 'check_login_function' => 'myWebServiceFunctionToLogin'
  910. ]
  911. ];*/
  912. // Hide the username when showing the complete name for a user.
  913. // Example: using api_get_user_info()['complete_name_with_username'] or $user->getCompleteNameWithUsername()
  914. //$_configuration['hide_username_with_complete_name'] = false;
  915. // Hide the username in course chat
  916. //$_configuration['hide_username_in_course_chat'] = false;
  917. // Allow multiple attempts in gradebook evaluations
  918. // 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;
  919. //$_configuration['gradebook_multiple_evaluation_attempts'] = false;
  920. // Hide country flags in the language switcher
  921. // $_configuration['hide_flag_language_switcher'] = false;
  922. // Hide complete name in who is online page
  923. // $_configuration['hide_complete_name_in_whoisonline'] = false;
  924. // Block student publication edition BT#14985
  925. // $_configuration['block_student_publication_edition'] = false;
  926. // Block student publication add documents BT#14986
  927. //$_configuration['block_student_publication_add_documents'] = false;
  928. // Block student publication score edition BT#14987
  929. // $_configuration['block_student_publication_score_edition'] = false;
  930. // Enable system to manage e-mail templates in users registration forms
  931. /*CREATE TABLE mail_template(
  932. id int not null primary key auto_increment,
  933. name varchar(255) not null, -- a friendly name for the template, to remember what it is like
  934. template text, -- the template content (in Twig format)
  935. type varchar(255) not null, -- the type of the mail (we can use current template names to fill that)
  936. created_at DATETIME NOT NULL,
  937. updated_at DATETIME NOT NULL,
  938. author_id INT NOT NULL,
  939. url_id INT NOT NULL,
  940. default_template TINYINT not null,
  941. 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)
  942. );*/
  943. // $_configuration['mail_template_system'] = false;
  944. // Students can only upload one publication
  945. // $_configuration['allow_only_one_student_publication_per_user'] = false;
  946. // Hide percentage in best/average gradebook results
  947. //$_configuration['hide_gradebook_percentage_user_result'] = true;
  948. // Use exercise platform score settings in the gradebook graph
  949. // $_configuration['gradebook_use_exercise_score_settings_in_categories'] = true;
  950. // Activate the view with ViewerJS for PDF files within the lessons for IPad and IPhone
  951. // $_configuration['allow_pdf_viewerjs_in_lp'] = false;
  952. // Allow DRH user to access all visible session course announcements
  953. // $_configuration['allow_drh_access_announcement'] = false;
  954. // Allow my personal files link in the homepage
  955. // $_configuration['allow_my_files_link_in_homepage'] = false;
  956. // This option sets default parameters in the main/session/session_import.php
  957. /*$_configuration['session_import_settings'] = [
  958. 'options' => [
  959. 'session_exists_default_option' => '1',
  960. 'send_mail_default_option' => '1',
  961. ]
  962. ];*/
  963. /*
  964. * Fields visibility in the profile user page
  965. $_configuration['profile_fields_visibility'] = [
  966. 'options' => [
  967. 'vcard' => false,
  968. 'firstname' => false,
  969. 'lastname' => false,
  970. 'photo' => true,
  971. 'email' => true,
  972. 'chat' => true,
  973. 'terms_ville' => false, // extra field value
  974. ]
  975. ];*/
  976. // This option sets default parameters in the main/admin/user_import.php
  977. /*$_configuration['user_import_settings'] = [
  978. 'options' => [
  979. 'send_mail_default_option' => '1',
  980. ]
  981. ];*/
  982. // Disable all new exercise attempts in all the platform
  983. // $_configuration['exercises_disable_new_attempts'] = false;
  984. // Improve speed when rendering gradebook student reports using Doctrine APCU cache
  985. // $_configuration['gradebook_use_apcu_cache'] = true;
  986. // Add a minimum time limit to be in the learning path
  987. // in order to get the last item completed
  988. // Requires a DB change:
  989. // ALTER TABLE c_lp ADD accumulate_work_time INT NOT NULL;
  990. // 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;
  991. // CREATE INDEX user_course_session ON track_e_access_complete (user_id, c_id, session_id);
  992. // Only applied for courses with extra field "new_tracking_system" to "1"
  993. //$_configuration['lp_minimum_time'] = false;
  994. // Track LP attempts using the new tracking system.
  995. // Requires to add an LP extra field called "track_lp_item" (checkbox) in order to use this feature.
  996. //$_configuration['use_new_tracking_in_lp_item'] = false;
  997. // Add collapsable option for user course categories
  998. // ALTER TABLE user_course_category ADD collapsed TINYINT(1) DEFAULT NULL;
  999. // $_configuration['allow_user_course_category_collapsable'] = false;
  1000. // Add collapsable option when showing the course list inside a session in userportal.php
  1001. // ALTER TABLE session_rel_user ADD collapsed TINYINT(1) DEFAULT NULL;
  1002. // Create a new session extra field called "collapsed" (checkbox yes/no - option)
  1003. // $_configuration['allow_user_session_collapsable'] = false;
  1004. // Allow to session admins login as teachers
  1005. //$_configuration['allow_session_admin_login_as_teacher'] = false;
  1006. // Allow gradebook stats
  1007. // Requires to edit the GradebookLink.php And GradebookEvaluation.php files adding the "@" in the ORM phpdoc block
  1008. /* 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)' ;
  1009. 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)' ;
  1010. */
  1011. //$_configuration['allow_gradebook_stats'] = false;
  1012. // Hide social media links
  1013. //$_configuration['hide_social_media_links'] = false;
  1014. // Show chamilo unique question id in exercises
  1015. // $_configuration['show_question_id'] = false;
  1016. // Show pagination if question list is bigger than "x" value, if 0 pagination will not appear.
  1017. // Option only when building an exercise as a teacher
  1018. // $_configuration['show_question_pagination'] = 100;
  1019. // Number of questions to show in every page
  1020. // Option only when building an exercise as a teacher
  1021. // $_configuration['question_pagination_length'] = 20;
  1022. // Teachers cannot delete an exercise/questions, change exercise visibility, download to qti, clean results
  1023. // $_configuration['limit_exercise_teacher_access'] = false;
  1024. // Changes the row list when using jqgrid/sortable tables
  1025. //$_configuration['table_row_list'] = ['options' => [50, 100, 200, 500]];
  1026. // Default selected row in jqgrid/sortable tables
  1027. //$_configuration['table_default_row'] = 50;
  1028. // Disable Chamilo.org announcements at the top of the admin page
  1029. //$_configuration['admin_chamilo_announcements_disable'] = false;
  1030. // Disable course report graphs
  1031. //$_configuration['hide_course_report_graph'] = false;
  1032. // Visually "fold" forum categories by default
  1033. // $_configuration['forum_fold_categories'] = false;
  1034. // Set extra fields as required in the inscription.php page
  1035. /*$_configuration['required_extra_fields_in_inscription'] = [
  1036. 'options' => [
  1037. 'terms_ville',
  1038. 'terms_paysresidence',
  1039. ],
  1040. ];*/
  1041. /* Set extra fields as required in the profile.php page
  1042. $_configuration['required_extra_fields_in_profile'] = [
  1043. 'options' => [
  1044. 'terms_villedustage'
  1045. ],
  1046. ];
  1047. */
  1048. // Community manager users
  1049. //$_configuration['community_managers_user_list'] = ['users' => [1]];
  1050. // Hide global chat video
  1051. //$_configuration['hide_chat_video'] = false;
  1052. // global forum in social network BT#15309
  1053. //$_configuration['global_forums_course_id'] = 0;
  1054. // Hide forum post revision checkbox
  1055. //$_configuration['hide_forum_post_revision_language'] = false;
  1056. // Allow forum post revisions
  1057. // Requires new forum_category and forum_post "language" extra fields (multiple select)
  1058. //$_configuration['allow_forum_post_revisions'] = false;
  1059. // Allow to show users in a map, users need to have a coordinates extra field BT#15176
  1060. //$_configuration['allow_social_map_fields'] = ['fields' => ['terms_villedustage', 'terms_ville']];
  1061. // Translate HTML based in the HTML "lang" attribute see BT#15166
  1062. //$_configuration['translate_html'] = false;
  1063. // Avoid add a reply-to header when a no-reply address is set.
  1064. //$_configuration['mail_no_reply_avoid_reply_to'] = false;
  1065. // Allows to user add feedback (likes or dislikes) to posts in social wall. Requires DB changes:
  1066. // 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;
  1067. // ALTER TABLE message_feedback ADD CONSTRAINT FK_DB0F8049537A1329 FOREIGN KEY (message_id) REFERENCES message (id) ON DELETE CASCADE;
  1068. // ALTER TABLE message_feedback ADD CONSTRAINT FK_DB0F8049A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE;
  1069. // In 1.11.8, before enabling this feature, you also need to:
  1070. // - edit src/Chamilo/CoreBundle/Entity/MessageFeedback.php
  1071. // and follow the instructions about the @ORM\Entity() line
  1072. // - edit src/Chamilo/CoreBundle/Entity/Message.php
  1073. // and follow the instructions about the @ORM\OneToMany line for the $likes property
  1074. // - launch "composer install" to rebuild the autoload.php
  1075. //$_configuration['social_enable_messages_feedback'] = false;
  1076. // Disable dislike button in the social network.
  1077. //$_configuration['disable_dislike_option'] = false;
  1078. // Block student's access to the course documents when using the ckeditor "Browse server" button
  1079. //$_configuration['block_editor_file_manager_for_students'] = false;
  1080. // Show a language flag next to the user picture in the social network
  1081. //$_configuration['social_show_language_flag_in_profile'] = false;
  1082. // Add subject and body in the mailto: footer
  1083. //$_configuration['add_user_course_information_in_mailto'] = false;
  1084. // Add gradebook score style configuration in the flat view
  1085. // See api.lib.php in order to find the options: examples SCORE_DIV = 1, SCORE_PERCENT = 2, etc
  1086. //$_configuration['gradebook_report_score_style'] = 1; // Means the score will be (X / Y) "SCORE_DIV"
  1087. // Blocks "my files" access to anon users
  1088. //$_configuration['block_my_files_access'] = false;
  1089. // Allow .htaccess files in SCORM packages
  1090. //$_configuration['allow_htaccess_import_from_scorm'] = false;
  1091. // Allow general certificate
  1092. //$_configuration['allow_general_certificate'] = false;
  1093. // Allow exercise categories
  1094. // 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;
  1095. // ALTER TABLE c_quiz ADD exercise_category_id INT DEFAULT NULL;
  1096. // enable @ORM in CExerciseCategory adn CQuiz::exerciseCategoryId
  1097. //$_configuration['allow_exercise_categories'] = false;
  1098. // Send new user inscription notification only to general admins (table settings_current = emailAdministrator)
  1099. //$_configuration['send_inscription_notification_to_general_admin_only'] = false;
  1100. // Allow extra settings for the quiz results page
  1101. // ALTER TABLE c_quiz ADD page_result_configuration LONGTEXT DEFAULT NULL COMMENT '(DC2Type:array)';
  1102. //$_configuration['allow_quiz_results_page_config'] = false;
  1103. // Allow multiple options for the exercise "save answer" option
  1104. // ALTER TABLE c_quiz MODIFY COLUMN save_correct_answers INT NULL DEFAULT NULL;
  1105. //$_configuration['allow_quiz_save_correct_options'] = false;
  1106. // Show languages flags by country in the language switcher.
  1107. //$_configuration['language_flags_by_country'] = false;
  1108. // Allow compilatio plagiarism prevention tool
  1109. /*
  1110. CREATE TABLE c_plagiarism_compilatio_docs (
  1111. id INT AUTO_INCREMENT NOT NULL,
  1112. c_id int(11) NOT NULL,
  1113. document_id int(11) NOT NULL,
  1114. compilatio_id varchar(32) CHARACTER SET utf8 NOT NULL,
  1115. PRIMARY KEY (id)
  1116. ) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
  1117. // If table exists already
  1118. ALTER TABLE c_plagiarism_compilatio_docs drop primary key;
  1119. ALTER TABLE c_plagiarism_compilatio_docs ADD COLUMN id INT AUTO_INCREMENT NOT NULL PRIMARY KEY;
  1120. ALTER TABLE c_plagiarism_compilatio_docs CHANGE COLUMN id_doc document_id INT NOT NULL;
  1121. requires extension "php-soap" sudo apt-get install php-soap
  1122. */
  1123. //$_configuration['allow_compilatio_tool'] = false;
  1124. //$_configuration['compilatio_tool'] = [
  1125. // 'settings' => [
  1126. // 'key' => '',
  1127. // 'soap_url' => '',
  1128. // 'proxy_host' => '',
  1129. // 'proxy_port' => '',
  1130. // 'max_filesize' => '',
  1131. // 'transport_mode' => '',
  1132. // 'wget_uri' => '',
  1133. // 'wget_login' => '',
  1134. // 'wget_password' => '',
  1135. // ]
  1136. //];
  1137. // Allow user to enter a LP item if it was validated in another session.
  1138. // $_configuration['validate_lp_prerequisite_from_other_session'] = false;
  1139. // 1 = SCORE_AVERAGE (5 / 10)
  1140. // 2 = SCORE_PERCENT (50%)
  1141. // 3 = SCORE_DIV_PERCENT (5 / 10 (50%))
  1142. // $_configuration['exercise_score_format'] = 0;
  1143. // KEEP THIS AT THE END
  1144. // -------- Custom DB changes
  1145. // Add user activation by confirmation email
  1146. // This option prevents the new user to login in the platform if your account is not confirmed via email
  1147. // You need add a new option called "confirmation" to the registration settings
  1148. //INSERT INTO settings_options (variable, value, display_text) VALUES ('allow_registration', 'confirmation', 'MailConfirmation');
  1149. // ------ (End) Custom DB changes