configuration.dist.php 58 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203
  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. // Only shows the fields in this list
  218. /*$_configuration['allow_fields_inscription'] = [
  219. 'fields' => [
  220. 'official_code',
  221. 'phone',
  222. 'status',
  223. 'language'
  224. ],
  225. 'extra_fields' => [
  226. 'birthday'
  227. ]
  228. ];*/
  229. // Boost option to ignore encoding check for learning paths
  230. //$_configuration['lp_fixed_encoding'] = 'false';
  231. // Fix urls changing http with https in scorm packages.
  232. //$_configuration['lp_replace_http_to_https'] = false;
  233. // Fix embedded videos inside lps, adding an optional popup
  234. //$_configuration['lp_fix_embed_content'] = false;
  235. // Manage deleted files marked with "DELETED" (by course and only by allowed by admin)
  236. //$_configuration['document_manage_deleted_files'] = false;
  237. // Hide tabs in the main/session/index.php page
  238. //$_configuration['session_hide_tab_list'] = array();
  239. // Show invisible exercise in LP list
  240. //$_configuration['show_invisible_exercise_in_lp_list'] = false;
  241. // Chamilo is installed/downloaded. Packagers can change this
  242. // to reflect their packaging method. The default value is 'chamilo'. This will
  243. // be reflected on the https://version.chamilo.org/stats page in the future.
  244. //$_configuration['packager'] = 'chamilo';
  245. // If true exercises added in LP can be modified.
  246. //$_configuration['force_edit_exercise_in_lp'] = false;
  247. // List of driver to plugin in ckeditor
  248. //$_configuration['editor_driver_list'] = ['PersonalDriver', 'CourseDriver'];
  249. // Hide send to hrm users options in announcements
  250. //$_configuration['announcements_hide_send_to_hrm_users'] = true;
  251. // Hide certificate link in index/userportal pages
  252. //$_configuration['hide_my_certificate_link'] = false;
  253. // Hide header and footer in certificate pdf
  254. //$_configuration['hide_header_footer_in_certificate'] = false;
  255. // Security: block direct access from logged in users to contents in OPEN (but not public) courses. Set to true to block
  256. //$_configuration['block_registered_users_access_to_open_course_contents'] = false;
  257. // Allows syncing the database with the current entity schema
  258. //$_configuration['sync_db_with_schema'] = false;
  259. // When exporting a LP, all files and folders in the same path of an html will be exported too.
  260. //$_configuration['add_all_files_in_lp_export'] = false;
  261. // Send exercise student score to manager in email notification
  262. //$_configuration['send_score_in_exam_notification_mail_to_manager'] = false;
  263. // Show blocked LPs by prerequisite to students
  264. //$_configuration['show_prerequisite_as_blocked'] = false;
  265. // Mail header extra HTML attributes
  266. //$_configuration['mail_header_style'] = '';
  267. // Mail body extra HTML attributes
  268. //$_configuration['mail_content_style'] = '';
  269. // Show all agenda events in personal agenda from all session no matter the visibility.
  270. //$_configuration['personal_agenda_show_all_session_events'] = false;
  271. // Allows to redirect to the session after the inscription in session about
  272. // $_configuration['allow_redirect_to_session_after_inscription_about'] = false;
  273. // Allows to do a remove_XSS in course introduction with user status COURSEMANAGERLOWSECURITY
  274. // in order to accept all embed type videos (like vimeo, wistia, etc)
  275. // $_configuration['course_introduction_html_strict_filtering'] = true;
  276. // Prevents the duplicate upload in assignments
  277. // $_configuration['assignment_prevent_duplicate_upload'] = false;
  278. //Show student progress in My courses page
  279. //$_configuration['course_student_info']['score'] = false;
  280. //$_configuration['course_student_info']['progress'] = false;
  281. //$_configuration['course_student_info']['certificate'] = false;
  282. // Set ConsideredWorkingTime work extra field variable to show in MyStudents page works report
  283. // (with internal id 'work_time' as below) and enable the following line to show in MyStudents page works report
  284. // $_configuration['considered_working_time'] = 'work_time';
  285. // During CSV special imports update users emails to x@example.com
  286. // $_configuration['update_users_email_to_dummy_except_admins'] = false;
  287. // Certification pdf export orientation
  288. // $_configuration['certificate_pdf_orientation'] = 'landscape'; // It can be 'portrait' or 'landscape'
  289. // Hide main navigation menu (left column in userportal)
  290. // $_configuration['hide_main_navigation_menu'] = false;
  291. // PDF image dpi value. Default value 96
  292. // $_configuration['pdf_img_dpi'] = 96;
  293. // Hide LP time in reports.
  294. // $_configuration['hide_lp_time'] = false;
  295. // Hide rating elements in pages ("Courses catalog" & "Most Popular courses")
  296. // $_configuration['hide_course_rating'] = false;
  297. // Customize password generation and verification
  298. /*$_configuration['password_requirements'] = [
  299. 'min' => [
  300. 'lowercase' => 2,
  301. 'uppercase' => 2,
  302. 'numeric' => 2,
  303. 'length' => 8
  304. ]
  305. ];*/
  306. // Customize course session tracking columns
  307. /*
  308. $_configuration['tracking_columns'] = [
  309. 'course_session' => [
  310. 'course_title' => true,
  311. 'published_exercises' => true,
  312. 'new_exercises' => true,
  313. 'my_average' => true,
  314. 'average_exercise_result' => true,
  315. 'time_spent' => true,
  316. 'lp_progress' => true,
  317. 'score' => true,
  318. 'best_score' => true,
  319. 'last_connection' => true,
  320. 'details' => true,
  321. ],
  322. 'my_students_lp' => [
  323. 'lp' => true,
  324. 'time' => true,
  325. 'best_score' => true,
  326. 'latest_attempt_avg_score' => true,
  327. 'progress' => true,
  328. 'last_connection' => true,
  329. ],
  330. 'my_progress_lp' => [
  331. 'lp' => true,
  332. 'time' => true,
  333. 'progress' => true,
  334. 'score' => true,
  335. 'best_score' => true,
  336. 'last_connection' => true,
  337. ],
  338. 'my_progress_courses' => [
  339. 'course_title' => true,
  340. 'time_spent' => true,
  341. 'progress' => true,
  342. 'best_score_in_lp' => true,
  343. 'best_score_not_in_lp' => true,
  344. 'latest_login' => true,
  345. 'details' => true
  346. ]
  347. ];
  348. */
  349. // Hide session link of course_block on index/userportal
  350. //$_configuration['remove_session_url']= false ;
  351. //
  352. //
  353. // ------ AGENDA CONFIGURATION SETTINGS
  354. // Shows a legend in the agenda tool
  355. /*
  356. $_configuration['agenda_legend'] = [
  357. 'red' => 'red caption',
  358. '#f0f' => 'another caption'
  359. ];*/
  360. // Set customs colors to agenda events
  361. /*
  362. $_configuration['agenda_colors'] = [
  363. 'platform' => 'red',
  364. 'course' => '#458B00',
  365. 'group' => '#A0522D',
  366. 'session' => '#00496D',
  367. 'other_session' => '#999',
  368. 'personal' => 'steel blue',
  369. 'student_publication' => '#FF8C00'
  370. ];
  371. */
  372. // ------
  373. //
  374. // Save some tool titles with HTML editor. Require DB changes:
  375. /*
  376. ALTER TABLE course_category CHANGE name name LONGTEXT NOT NULL;
  377. ALTER TABLE c_course_description CHANGE title title LONGTEXT NOT NULL;
  378. ALTER TABLE c_thematic CHANGE title title LONGTEXT NOT NULL;
  379. ALTER TABLE c_quiz CHANGE title title LONGTEXT NOT NULL;
  380. ALTER TABLE c_lp_category CHANGE name name LONGTEXT NOT NULL;
  381. ALTER TABLE c_glossary CHANGE name name LONGTEXT NOT NULL;
  382. ALTER TABLE c_tool CHANGE name name LONGTEXT NOT NULL;
  383. -- Only with allow_portfolio_tool enabled
  384. ALTER TABLE portfolio CHANGE title title LONGTEXT NOT NULL;
  385. ALTER TABLE portfolio_category CHANGE title title LONGTEXT NOT NULL;
  386. --
  387. */
  388. // $_configuration['save_titles_as_html'] = false;
  389. // Show the full toolbar set to all CKEditor
  390. //$_configuration['full_ckeditor_toolbar_set'] = false;
  391. // Allow change the orientation when export a (course progress) thematic to pdf. Portrait or landscape
  392. //$_configuration['thematic_pdf_orientation'] = 'landscape';
  393. // Show number of users in session list
  394. //$_configuration['session_list_show_count_users'] = false;
  395. // Session admin access to all course content
  396. //$_configuration['session_admins_access_all_content'] = false;
  397. // Session admin allowed to edit all courses content
  398. //$_configuration['session_admins_edit_courses_content'] = false;
  399. // Adds roles to the system announcements (requires DB change BT#12476)
  400. //$_configuration['system_announce_extra_roles'] = false;
  401. // Limits that a session admin has access to list users
  402. //$_configuration['limit_session_admin_list_users'] = false;
  403. // Course tools visibility edition in sessions
  404. //$_configuration['allow_edit_tool_visibility_in_session'] = false;
  405. // Enable the support to ODF files
  406. //$_configuration['enabled_support_odf'] = true;
  407. // Pdf orientation when exporting documents
  408. // $_configuration['document_pdf_orientation'] = 'landscape'; // It can be 'portrait' or 'landscape'
  409. // Use alternative footer when exporting document to PDF
  410. //$_configuration['use_alternative_document_pdf_footer'] = false;
  411. // If the MySpace page takes too long to load, you might want to remove the
  412. // processing of generic statistics for the user. In this case set the following to true.
  413. //$_configuration['tracking_skip_generic_data'] = false;
  414. // Show view accordion lp_category
  415. //$_configuration['lp_category_accordion'] = false;
  416. //
  417. // Show view accordion lp_item_view
  418. // $_configuration['lp_view_accordion'] = false;
  419. //
  420. // ------ HTTP headers security
  421. // This section relates to options to increase the security of your Chamilo
  422. // portal against attacks specifically focused on HTTP headers vulnerabilities
  423. // These are all disabled by default, because some of these settings might
  424. // affect some features of Chamilo, like the inclusion of iframes or the
  425. // submission of forms by anonymous users. Please make sure you do the due
  426. // tests before enabling in production. Learn more about how to form secure
  427. // headers at https://securityheaders.io/
  428. //
  429. // HTTP Strict Transport Security is an excellent feature to support on your
  430. // site and strengthens your implementation of TLS by getting the User Agent
  431. // to enforce the use of HTTPS. Recommended value
  432. // "strict-transport-security: max-age=31536000; includeSubDomains".
  433. //$_configuration['security_strict_transport'] = 'strict-transport-security: max-age=31536000; includeSubDomains';
  434. //
  435. // Content Security Policy is an effective measure to protect your site from
  436. // XSS attacks. By whitelisting sources of approved content, you can prevent
  437. // the browser from loading malicious assets.
  438. // The provided default is an *example*, please customize.
  439. // This setting is particularly complicated to set with CKeditor, but if you
  440. // add all domains that you want to authorize for iframes inclusion in the
  441. // child-src statement, this example should work for you
  442. //$_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;';
  443. //$_configuration['security_content_policy_report_only'] = 'default-src \'self\'; script-src *://*.google.com:*';
  444. //
  445. // HTTP Public Key Pinning protects your site from MiTM attacks using rogue
  446. // X.509 certificates. By whitelisting only the identities that the browser
  447. // should trust, your users are protected in the event a certificate
  448. // authority is compromised.
  449. //$_configuration['security_public_key_pins'] = '';
  450. //$_configuration['security_public_key_pins_report_only'] = '';
  451. //
  452. // X-Frame-Options tells the browser whether you want to allow your site to
  453. // be framed or not. By preventing a browser from framing your site you can
  454. // defend against attacks like clickjacking.
  455. // If defining a URL here, it should define the URL(s) from which your content
  456. // should be visible, not the URLs from which your site accepts content.
  457. // For example, if your main URL (root_web above) is https://11.chamilo.org/,
  458. // then this setting should be: 'ALLOW-FROM https://11.chamilo.org'.
  459. // These headers only apply to pages where Chamilo is responsible of the HTTP
  460. // headers generation (i.e. ".php" files). It does not apply to static files.
  461. // If playing with this feature, make sure you also update your web server
  462. // configuration to add the right headers for static files. See CDN
  463. // configuration documentation above (search for "add_header") for more
  464. // information.
  465. // Recommended (strict) value for this setting, if enabled: "SAMEORIGIN".
  466. //$_configuration['security_x_frame_options'] = 'SAMEORIGIN';
  467. //
  468. // X-XSS-Protection sets the configuration for the cross-site scripting
  469. // filter built into most browsers.
  470. // Recommended value "1; mode=block".
  471. //$_configuration['security_xss_protection'] = '1; mode=block';
  472. //
  473. // X-Content-Type-Options stops a browser from trying to MIME-sniff the
  474. // content type and forces it to stick with the declared content-type. The only
  475. // valid value for this header is "nosniff".
  476. //$_configuration['security_x_content_type_options'] = 'nosniff';
  477. //
  478. // Referrer Policy is a new header that allows a site to control how much
  479. // information the browser includes with navigation away from a document
  480. // and should be set by all sites.
  481. //$_configuration['security_referrer_policy'] = 'origin-when-cross-origin';
  482. // ------ HTTP headers security section ends here
  483. //
  484. // ------ Survey configuration settings
  485. // Add answered_at field in table survey_invitation
  486. // Requires DB change:
  487. // ALTER TABLE c_survey_invitation ADD answered_at DATETIME DEFAULT NULL;
  488. //$_configuration['survey_answered_at_field'] = false;
  489. // Add support to mandatory surveys. The user will not be able to enter to the course until fill the mandatory surveys
  490. // Requires DB change:
  491. /*
  492. INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, visible_to_self, changeable, created_at)
  493. VALUES (12, 13, 'is_mandatory', 'IsMandatory', 1, 1, NOW());
  494. */
  495. //$_configuration['allow_mandatory_survey'] = false;
  496. // Allow required survey questions. Applies to yesno/multiplechoice question type. Requires DB change:
  497. /*
  498. ALTER TABLE c_survey_question ADD is_required TINYINT(1) DEFAULT 0 NOT NULL;
  499. */
  500. //$_configuration['allow_required_survey_questions'] = false;
  501. // Hide Survey Reporting button
  502. //$_configuration['hide_survey_reporting_button'] = false;
  503. // Hide survey edition tools for all or some surveys.
  504. //Set an asterisk to hide for all, otherwise set an array with the survey codes in which the options will be blocked
  505. //$_configuration['hide_survey_edition'] = ['codes' => []];
  506. // Allows to set the date and time of availability for surveys. Requires DB changes:
  507. // ALTER TABLE c_survey CHANGE avail_from avail_from DATETIME DEFAULT NULL, CHANGE avail_till avail_till DATETIME DEFAULT NULL;
  508. // Requires change the Doctrine type from date to datime in CSurvey::$availFrom and CSurvey::$availTill
  509. //$_configuration['allow_survey_availability_datetime'] = false;
  510. // Mark the "Required" field during question creation process when displaying the form.
  511. //$_configuration['survey_mark_question_as_required'] = false;
  512. // Allow add additional actions (as links) in survey list for teachers.
  513. // e.g. ['myplugin' => ['MyPlugin', 'urlGeneratorCallback']]
  514. //$_configuration['survey_additional_teacher_modify_actions'] = [];
  515. // Allow show answers in anonymous surveys
  516. //$_configuration['survey_anonymous_show_answered'] = false;
  517. // ------
  518. // Allow career diagram, requires a DB change:
  519. //UPDATE extra_field_values SET created_at = NULL WHERE CAST(created_at AS CHAR(20)) = '0000-00-00 00:00:00';
  520. //UPDATE extra_field_values SET updated_at = NULL WHERE CAST(updated_at AS CHAR(20)) = '0000-00-00 00:00:00';
  521. //ALTER TABLE extra_field_values modify column value longtext null;
  522. //$_configuration['allow_career_diagram'] = false;
  523. // Allow scheduled emails to session users.
  524. //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;
  525. // sudo mkdir app/upload/scheduled_announcement
  526. // Add "attachment" file extra field in: main/admin/extra_fields.php?type=scheduled_announcement&action=add
  527. //$_configuration['allow_scheduled_announcements'] = false;
  528. // Add the list of emails as a bcc when sending an email.
  529. /*
  530. $_configuration['send_all_emails_to'] = [
  531. 'emails' => [
  532. 'admin1@example.com',
  533. 'admin2@example.com',
  534. ]
  535. ];*/
  536. // Allow ticket projects to be access by specific chamilo roles
  537. /*$_configuration['ticket_project_user_roles'] = [
  538. 'permissions' => [
  539. 1 => [17] // project_id = 1, STUDENT_BOSS = 17
  540. ]
  541. ];*/
  542. // Exercises configuration settings
  543. // Send only quiz answer notifications to course coaches and not general coach
  544. //$_configuration['block_quiz_mail_notification_general_coach'] = false;
  545. // Show question feedback (requires DB change: "ALTER TABLE c_quiz_question ADD COLUMN feedback text;")
  546. //$_configuration['allow_quiz_question_feedback'] = false;
  547. // Add option in exercise to show or hide the "previous" button.
  548. //ALTER TABLE c_quiz ADD show_previous_button TINYINT(1) DEFAULT 1;
  549. //$_configuration['allow_quiz_show_previous_button_setting'] = false;
  550. // Allow to teachers review exercises question with audio notes
  551. //$_configuration["allow_teacher_comment_audio"] = false;
  552. // Block copy/paste/save/print keys and right-clicks in exercises
  553. //$_configuration['quiz_prevent_copy_paste'] = false;
  554. // Always show the test description on the results page of the test
  555. //$_configuration['quiz_show_description_on_results_page'] = false;
  556. // Allow add additional actions (as links) in exercises list for teachers.
  557. // Callback get the $exerciseId and $iconSize as parameters.
  558. // e.g. ['myplugin' => ['MyPlugin', 'urlGeneratorCallback']]
  559. //$_configuration['exercise_additional_teacher_modify_actions'] = []
  560. // Hide search form in session list
  561. //$_configuration['hide_search_form_in_session_list'] = false;
  562. // Allow exchange of messages from teachers/bosses about a user.
  563. //$_configuration['private_messages_about_user'] = false;
  564. // Allow the messages to be visible for the students
  565. //$_configuration['private_messages_about_user_visible_to_user'] = false;
  566. // Allow send email notification per exercise
  567. //ALTER TABLE c_quiz ADD COLUMN notifications VARCHAR(255) NULL DEFAULT NULL;
  568. //$_configuration['allow_notification_setting_per_exercise'] = false;
  569. // Hide free/oral/annotation question result see BT#12613
  570. //$_configuration['hide_free_question_score'] = false;
  571. // Hide user information in the quiz result's page
  572. //$_configuration['hide_user_info_in_quiz_result'] = false;
  573. // Show the username field in exercise results report
  574. //$_configuration['exercise_attempts_report_show_username'] = false;
  575. // Score model
  576. // Allow to convert a score into a text/color label
  577. // using a model if score is inside those values. See BT#12898
  578. /*
  579. $_configuration['score_grade_model'] = [
  580. 'models' => [
  581. [
  582. 'id' => 1,
  583. 'name' => 'ThisIsMyModel', // Value will be translated using get_lang
  584. 'score_list' => [
  585. [
  586. 'name' => 'VeryBad', // Value will be translated using get_lang
  587. 'css_class' => 'btn-danger',
  588. 'min' => 0,
  589. 'max' => 20,
  590. 'score_to_qualify' => 0
  591. ],
  592. [
  593. 'name' => 'Bad',
  594. 'css_class' => 'btn-danger',
  595. 'min' => 21,
  596. 'max' => 50,
  597. 'score_to_qualify' => 25
  598. ],
  599. [
  600. 'name' => 'Good',
  601. 'css_class' => 'btn-warning',
  602. 'min' => 51,
  603. 'max' => 70,
  604. 'score_to_qualify' => 60
  605. ],
  606. [
  607. 'name' => 'VeryGood',
  608. 'css_class' => 'btn-success',
  609. 'min' => 71,
  610. 'max' => 100,
  611. 'score_to_qualify' => 100
  612. ]
  613. ]
  614. ]
  615. ]
  616. ];
  617. */
  618. // Allow show link to request relation between HRM and user
  619. //$_configuration['show_link_request_hrm_user'] = false;
  620. // Allow CKEditor start up with ShowBlocks plugin active
  621. //$_configuration['ckeditor_startup_outline_blocks'] = false;
  622. // SETTINGS FOR USER COURSE LIST
  623. // Manage the links to Session Index page
  624. // 1 = Default. Works as it is now (default is to link to the special session page)
  625. // 0 = No link (not clickable)
  626. // 2 = Link to the course if there is only one course
  627. // 3 = Session link will make course list foldable
  628. //$_configuration['courses_list_session_title_link'] = 1;
  629. // New grid view the list of courses
  630. //$_configuration['view_grid_courses'] = true;
  631. // Show courses grouped by categories when $_configuration['view_grid_courses'] is enabled
  632. //$_configuration['view_grid_courses_grouped_categories_in_sessions'] = true;
  633. // Load course notifications in user_portal.php using ajax
  634. //$_configuration['user_portal_load_notification_by_ajax'] = false;
  635. // Hide the "what's new" icon notifications in course list
  636. // $_configuration['hide_course_notification'] = true;
  637. // Show less session information in course list
  638. //$_configuration['show_simple_session_info'] = true;
  639. // Show course category list on My Courses page before the courses. Requires a DB change
  640. //ALTER TABLE course_category ADD image varchar(255) NULL;
  641. //ALTER TABLE course_category ADD description LONGTEXT NULL;
  642. //$_configuration['my_courses_list_as_category'] = false;
  643. // ------
  644. // Skills can only be visible for admins, teachers (related to a user via a course),
  645. // and HRM users (if related to a user).
  646. // $_configuration['allow_private_skills'] = false;
  647. // Additional gradebook dependencies BT#13099
  648. // ALTER TABLE gradebook_category ADD COLUMN depends TEXT DEFAULT NULL;
  649. // ALTER TABLE gradebook_category ADD COLUMN minimum_to_validate INT DEFAULT NULL;
  650. // ALTER TABLE gradebook_category ADD COLUMN gradebooks_to_validate_in_dependence INT DEFAULT NULL;
  651. // $_configuration['gradebook_dependency'] = false;
  652. // Courses id list to check in the gradebook sidebar see BT#13099
  653. /*$_configuration['gradebook_dependency_mandatory_courses'] = [
  654. 'courses' => [1, 2]
  655. ];*/
  656. // Gradebook id list needed to build the gradebook sidebar see BT#13099
  657. /*
  658. $_configuration['gradebook_badge_sidebar'] = [
  659. 'gradebooks' => [1, 2, 3]
  660. ];*/
  661. // Show language selector in main menu an update the language in the user's
  662. // profile.
  663. //$_configuration['show_language_selector_in_menu'] = false;
  664. // When using the my-courses list filter by category, set this option to true
  665. // to only show courses in the user's configured language
  666. // $_configuration['my_courses_show_courses_in_user_language_only'] = false;
  667. // Hide base course announcements when entering a group.
  668. //$_configuration['hide_base_course_announcements_in_group'] = false;
  669. // Disable delete all announcements button
  670. //$_configuration['disable_delete_all_announcements'] = false;
  671. // Default glossary view "table" or "list"
  672. //$_configuration['default_glossary_view'] = 'table';
  673. // Allow or block user subscriptions to a lp/lp category
  674. /*$_configuration['lp_subscription_settings'] = [
  675. 'options' => [
  676. 'allow_add_users_to_lp' => true,
  677. 'allow_add_users_to_lp_category' => true,
  678. ]
  679. ];*/
  680. // Allow public courses access with no terms and conditions validation.
  681. //$_configuration['allow_public_course_with_no_terms_conditions'] = false;
  682. // Allow delete user for session admin
  683. //$_configuration['allow_delete_user_for_session_admin'] = false;
  684. // Allow enable/disable user accounts for session admin
  685. //$_configuration['allow_disable_user_for_session_admin'] = false;
  686. // Allow edit/delete agenda events for HRM users
  687. //$_configuration['allow_agenda_edit_for_hrm'] = false;
  688. // Allow double validation in registration page
  689. //$_configuration['allow_double_validation_in_registration'] = false;
  690. // Allow multiple anon users see BT#13324
  691. //$_configuration['max_anonymous_users'] = 0;
  692. // Send email notification to admin when a user is created
  693. //$_configuration['send_notification_when_user_added'] = ['admins' => [1] ];
  694. // Send email notification to course members when document is added BT#13964
  695. //$_configuration['send_notification_when_document_added'] = false;
  696. // Hide email content forcing using to click in a link to visit the portal to check the message
  697. //$_configuration['messages_hide_mail_content'] = false;
  698. // If you install plugin redirection you need to change to true
  699. //$_configuration['plugin_redirection_enabled'] = false;
  700. // Customize on hover agenda view. Show agenda comment and/or description
  701. /*$_configuration['agenda_on_hover_info'] = [
  702. 'options' => [
  703. 'comment' => true,
  704. 'description' => true,
  705. ]
  706. ];*/
  707. // Disable jquery, jquery-ui libs added in the learning path view
  708. //$_configuration['disable_js_in_lp_view'] = true;
  709. // Show all sessions (old, current, future) in my course page
  710. //$_configuration['show_all_sessions_on_my_course_page'] = true;
  711. // Redirect to home tool after uploading a student publication or a adding a comment
  712. //$_configuration['allow_redirect_to_main_page_after_work_upload'] = false;
  713. // Empty the session student list when subscribing multiple users
  714. //$_configuration['session_multiple_subscription_students_list_avoid_emptying'] = false;
  715. // Disable the option to set course coach in session when editing course
  716. //$_configuration['disabled_edit_session_coaches_course_editing_course'] = false;
  717. // Show sender's email when receiving email notifications.
  718. //$_configuration['show_user_email_in_notification'] = false;
  719. // Set skill levels name, then later it will be parsed using get_lang BT#13586
  720. /*$_configuration['skill_levels_names'] = [
  721. 'levels' => [
  722. 1 => 'Skills',
  723. 2 => 'Capability',
  724. 3 => 'Dimension',
  725. ]
  726. ];*/
  727. // Show popular sessions on homepage
  728. //$_configuration['show_hot_sessions'] = false;
  729. // Hide skill levels options
  730. //$_configuration['hide_skill_levels'] = false;
  731. // Hide the session list in Reporting tool. Useful when a course has too many sessions.
  732. //$_configuration['hide_reporting_session_list'] = false;
  733. // Allow session admin to read careers
  734. //$_configuration['allow_session_admin_read_careers'] = true;
  735. // Enable cloud links in document tool
  736. // $_configuration['enable_add_file_link'] = false;
  737. // Send score in percentage in the exam result notification
  738. //$_configuration['send_notification_score_in_percentage'] = false;
  739. // Google translate key (for the text2speech feature in the documents tool)
  740. // To get it, go to https://console.cloud.google.com/apis/library, create or
  741. // use your own project, then search for "speech" and follow the instructions
  742. // This service has a cost above 60 minutes of use.
  743. //$_configuration['translate_app_google_key'] = '';
  744. // Block access to any user to "my progress" page
  745. //$_configuration['block_my_progress_page'] = false;
  746. // Add user extra fields in report: main/mySpace/exercise_category_report.php
  747. //$_configuration['exercise_category_report_user_extra_fields'] = ['fields' => ['skype', 'rssfeeds']];
  748. // Order sessions
  749. // Requires DB change: ALTER TABLE session ADD COLUMN position INT DEFAULT 0;
  750. // Requires edit Entity Session: src/Chamilo/CoreBundle/Entity/Session.php uncomment "position" variable.
  751. // Requires uncomment the position get and set
  752. //$_configuration['session_list_order'] = false;
  753. // Show skills as a hierarchical table
  754. //$_configuration['table_of_hierarchical_skill_presentation'] = false;
  755. // Restrict course chat only for course coach in sessions
  756. // Course coaches will can chat with students only. And students will can chat with all course coaches
  757. //$_configuration['course_chat_restrict_to_coach'] = false;
  758. // Allow teachers, drhs and admins to access blocked LP's because a prerequisite.
  759. //$_configuration['allow_teachers_to_access_blocked_lp_by_prerequisite'] = false;
  760. // Allow connect skills with course tools (exercises, forum threads, works, etc)
  761. // 1. Add "@ORM\Entity" in these Entities:
  762. //SkillRelItemRelUser/SkillRelItem
  763. // 2. Add "@ORM\OneToMany" in the "Skill.items" variable definition
  764. // 3. Run DB changes:
  765. /*
  766. 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;
  767. 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;
  768. ALTER TABLE skill_rel_item_rel_user ADD CONSTRAINT FK_D1133E0DFD4B12DC FOREIGN KEY (skill_rel_item_id) REFERENCES skill_rel_item (id);
  769. ALTER TABLE skill_rel_item_rel_user ADD CONSTRAINT FK_D1133E0DA76ED395 FOREIGN KEY (user_id) REFERENCES user (id);
  770. ALTER TABLE skill_rel_item ADD CONSTRAINT FK_EB5B2A0D5585C142 FOREIGN KEY (skill_id) REFERENCES skill (id);
  771. ALTER TABLE skill_rel_item_rel_user ADD result_id INT DEFAULT NULL;
  772. 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;
  773. ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA5585C142 FOREIGN KEY (skill_id) REFERENCES skill (id);
  774. ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA91D79BD3 FOREIGN KEY (c_id) REFERENCES course (id);
  775. ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA613FECDF FOREIGN KEY (session_id) REFERENCES session (id);
  776. */
  777. // 4. Set "allow_skill_rel_items" to true
  778. //$_configuration['allow_skill_rel_items'] = false;
  779. // Generate random login when importing users
  780. //$_configuration['generate_random_login'] = false;
  781. // Remove html tags when exporting glossary definitions in a CSV file
  782. //$_configuration['allow_remove_tags_in_glossary_export'] = false;
  783. // Show base course categories in portal children
  784. //$_configuration['allow_base_course_category'] = false;
  785. // Send two emails when creating a user. One with the username other with the password.
  786. //$_configuration['send_two_inscription_confirmation_mail'] = false;
  787. // LP view custom settings
  788. /*$_configuration['lp_view_settings'] = [
  789. 'display' => [
  790. 'show_reporting_icon' => true,
  791. 'hide_lp_arrow_navigation' => false,
  792. ],
  793. ];*/
  794. // Force to hide the invisible course documents in sessions
  795. //$_configuration['hide_invisible_course_documents_in_sessions'] = false;
  796. // Show more expected choice and status in exercise results BT#13950
  797. //$_configuration['show_exercise_expected_choice'] = false;
  798. // Hide exercise question label (ribbon) BT#13950
  799. //$_configuration['exercise_hide_label'] = false;
  800. // Send welcome message by email and to the chamilo inbox BT#14034
  801. //$_configuration['send_inscription_msg_to_inbox'] = false;
  802. // Allow administrators to see personal messages between a teacher and a student.
  803. // Please make sure you include a note in your terms and conditions as this might
  804. // affect privacy protection.
  805. //$_configuration['allow_user_message_tracking'] = false;
  806. // Add a portfolio tool (duplicating the Notebook tool). Requires DB changes:
  807. /*
  808. 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;
  809. 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;
  810. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED1062A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE;
  811. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED106291D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE;
  812. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED1062613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE;
  813. ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED106212469DE2 FOREIGN KEY (category_id) REFERENCES portfolio_category (id) ON DELETE SET NULL;
  814. ALTER TABLE portfolio_category ADD CONSTRAINT FK_7AC64359A76ED395 FOREIGN KEY (user_id) REFERENCES user (id);
  815. 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);
  816. */
  817. // In 1.11.8, before enabling this feature, you also need to:
  818. // - edit src/Chamilo/CoreBundle/Entity/Portfolio.php and PortfolioCategory.php
  819. // and follow the instructions about the @ORM\Entity() line
  820. // - launch composer install to rebuild the autoload.php
  821. //$_configuration['allow_portfolio_tool'] = false;
  822. // Enable best score column in gradebook. Previously called disable_gradebook_stats
  823. //$_configuration['gradebook_enable_best_score'] = false;
  824. // Allow teachers to access student skills BT#14161 (skills setting must be enabled in the platform)
  825. //$_configuration['allow_teacher_access_student_skills'] = false;
  826. // Allow sharing options for the documents inside a group
  827. //ALTER TABLE c_group_info ADD document_access INT DEFAULT 0 NOT NULL;
  828. //$_configuration['group_document_access'] = false;
  829. // Allow sharing options for the documents inside a group category
  830. //ALTER TABLE c_group_category ADD document_access INT DEFAULT 0 NOT NULL;
  831. //$_configuration['group_category_document_access'] = false;
  832. // Allow LP export to chamilo format (CourseBackup)
  833. //$_configuration['allow_lp_chamilo_export'] = false;
  834. // Allow exercise auto launch
  835. //$_configuration['allow_exercise_auto_launch'] = false;
  836. // ALTER TABLE c_quiz ADD autolaunch TINYINT(1) DEFAULT 0;
  837. // Enable speed controller in video player
  838. // $_configuration['video_features'] = ['features' => ['speed']];
  839. // Disable token verification when sending a message
  840. // $_configuration['disable_token_in_new_message'] = false;
  841. // My courses session order. Possible field values: "start_date" or "end_date". Order values: "asc" or "desc"
  842. // $_configuration['my_courses_session_order'] = ['field' => 'end_date', 'order' => 'desc'];
  843. // Allow set courses in session in read-only mode. Require DB changes:
  844. /*
  845. INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, visible_to_self, changeable, filter, created_at)
  846. VALUES (2, 13, 'session_courses_read_only_mode', 'Lock Course In Session', 1, 1, 1, NOW());
  847. */
  848. // $_configuration['session_courses_read_only_mode'] = false;
  849. // Allow SCORM packages when importing a course
  850. // $_configuration['allow_import_scorm_package_in_course_builder'] = false;
  851. // Hide announcement "sent to" label
  852. // $_configuration['hide_announcement_sent_to_users_info'] = false;
  853. // Hide gradebook graph
  854. // $_configuration['gradebook_hide_graph'] = false;
  855. // Hide gradebook "download report in PDF" button
  856. // $_configuration['gradebook_hide_pdf_report_button'] = false;
  857. // Show pending survey link in user menu
  858. // $_configuration['show_pending_survey_in_menu'] = false;
  859. // GDPR: European's General Data Protection Rules activation option
  860. // Set to true to disable the new personal data page inside the social network menu
  861. // $_configuration['disable_gdpr'] = true;
  862. // GDPR requires users to be informed of the Data Protection Officer name and contact point
  863. // These can only be defined here for now, but will be moved to web settings in the future.
  864. // Name of the person or organization that is responsible for the treatment of personal info
  865. //$_configuration['data_protection_officer_name'] = '';
  866. // A description of the role of the DP Officer in this context
  867. //$_configuration['data_protection_officer_role'] = '';
  868. // An e-mail address where to contact the data protection officer for queries
  869. //$_configuration['data_protection_officer_email'] = '';
  870. // Show multiple conditions to user during sign up process
  871. // Example with a GDPR condition
  872. /*$_configuration['show_conditions_to_user'] = [
  873. 'conditions' => [
  874. [
  875. 'variable' => 'gdpr', // internal extra field name
  876. 'display_text' => 'GDPRTitle', // checkbox title will be translated with get_lang('GDPRTitle')
  877. 'text_area' => 'GDPRTextArea', // this will be translated using get_lang('GDPRTextArea')
  878. ],
  879. [
  880. 'variable' => 'my_terms',
  881. 'display_text' => 'My test conditions',
  882. 'text_area' => 'This is a long text area, with lot of terms and conditions ... ',
  883. ],
  884. ],
  885. ];*/
  886. // Hide LP item prerequisite label in the LP view
  887. //$_configuration['hide_accessibility_label_on_lp_item'] = true;
  888. // Round score in exercise category export
  889. //$_configuration['exercise_category_round_score_in_export'] = false;
  890. // Redirect index to url for logged in users
  891. // In this example the index.php will be redirected to user_portal.php for logged in users
  892. //$_configuration['redirect_index_to_url_for_logged_users'] = 'user_portal.php';
  893. // Teachers can CRUD classes
  894. // ALTER TABLE usergroup ADD author_id INT DEFAULT NULL;
  895. //$_configuration['allow_teachers_to_classes'] = false;
  896. // Validate user login via a webservice, Chamilo will send a "login" and "password" parameters
  897. // to the "myWebServiceFunctionToLogin" function, the result should be "1" if the user have access.
  898. /*$_configuration['webservice_validation'] = [
  899. 'options' => [
  900. 'wsdl' => 'https://example.com/soap?wsdl',
  901. 'check_login_function' => 'myWebServiceFunctionToLogin'
  902. ]
  903. ];*/
  904. // Hide the username when showing the complete name for a user.
  905. // Example: using api_get_user_info()['complete_name_with_username'] or $user->getCompleteNameWithUsername()
  906. //$_configuration['hide_username_with_complete_name'] = false;
  907. // Hide the username in course chat
  908. //$_configuration['hide_username_in_course_chat'] = false;
  909. // Allow multiple attempts in gradebook evaluations
  910. // 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;
  911. //$_configuration['gradebook_multiple_evaluation_attempts'] = false;
  912. // Hide country flags in the language switcher
  913. // $_configuration['hide_flag_language_switcher'] = false;
  914. // Hide complete name in who is online page
  915. // $_configuration['hide_complete_name_in_whoisonline'] = false;
  916. // Block student publication edition BT#14985
  917. // $_configuration['block_student_publication_edition'] = false;
  918. // Block student publication add documents BT#14986
  919. //$_configuration['block_student_publication_add_documents'] = false;
  920. // Block student publication score edition BT#14987
  921. // $_configuration['block_student_publication_score_edition'] = false;
  922. // Enable system to manage e-mail templates in users registration forms
  923. /*CREATE TABLE mail_template(
  924. id int not null primary key auto_increment,
  925. name varchar(255) not null, -- a friendly name for the template, to remember what it is like
  926. template text, -- the template content (in Twig format)
  927. type varchar(255) not null, -- the type of the mail (we can use current template names to fill that)
  928. created_at DATETIME NOT NULL,
  929. updated_at DATETIME NOT NULL,
  930. author_id INT NOT NULL,
  931. url_id INT NOT NULL,
  932. default_template TINYINT not null,
  933. 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)
  934. );*/
  935. // $_configuration['mail_template_system'] = false;
  936. // Students can only upload one publication
  937. // $_configuration['allow_only_one_student_publication_per_user'] = false;
  938. // Hide percentage in best/average gradebook results
  939. //$_configuration['hide_gradebook_percentage_user_result'] = true;
  940. // Use exercise platform score settings in the gradebook graph
  941. // $_configuration['gradebook_use_exercise_score_settings_in_categories'] = true;
  942. // Activate the view with ViewerJS for PDF files within the lessons for IPad and IPhone
  943. // $_configuration['allow_pdf_viewerjs_in_lp'] = false;
  944. // Allow DRH user to access all visible session course announcements
  945. // $_configuration['allow_drh_access_announcement'] = false;
  946. // Allow my personal files link in the homepage
  947. // $_configuration['allow_my_files_link_in_homepage'] = false;
  948. // This option sets default parameters in the main/session/session_import.php
  949. /*$_configuration['session_import_settings'] = [
  950. 'options' => [
  951. 'session_exists_default_option' => '1',
  952. 'send_mail_default_option' => '1',
  953. ]
  954. ];*/
  955. /*
  956. * Fields visibility in the profile user page
  957. $_configuration['profile_fields_visibility'] = [
  958. 'options' => [
  959. 'vcard' => false,
  960. 'firstname' => false,
  961. 'lastname' => false,
  962. 'photo' => true,
  963. 'email' => true,
  964. 'chat' => true,
  965. 'terms_ville' => false, // extra field value
  966. ]
  967. ];*/
  968. // This option sets default parameters in the main/admin/user_import.php
  969. /*$_configuration['user_import_settings'] = [
  970. 'options' => [
  971. 'send_mail_default_option' => '1',
  972. ]
  973. ];*/
  974. // Disable all new exercise attempts in all the platform
  975. // $_configuration['exercises_disable_new_attempts'] = false;
  976. // Improve speed when rendering gradebook student reports using Doctrine APCU cache
  977. // $_configuration['gradebook_use_apcu_cache'] = true;
  978. // Add a minimum time limit to be in the learning path
  979. // in order to get the last item completed
  980. // Requires a DB change:
  981. // ALTER TABLE c_lp ADD accumulate_work_time INT NOT NULL;
  982. // 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;
  983. // CREATE INDEX user_course_session ON track_e_access_complete (user_id, c_id, session_id);
  984. // Only applied for courses with extra field "new_tracking_system" to "1"
  985. //$_configuration['lp_minimum_time'] = false;
  986. // Add collapsable option for user course categories
  987. // ALTER TABLE user_course_category ADD collapsed TINYINT(1) DEFAULT NULL;
  988. // $_configuration['allow_user_course_category_collapsable'] = false;
  989. // Add collapsable option when showing the course list inside a session in userportal.php
  990. // ALTER TABLE session_rel_user ADD collapsed TINYINT(1) DEFAULT NULL;
  991. // Create a new session extra field called "collapsed" (checkbox yes/no - option)
  992. // $_configuration['allow_user_session_collapsable'] = false;
  993. // Allow to session admins login as teachers
  994. //$_configuration['allow_session_admin_login_as_teacher'] = false;
  995. // Allow gradebook stats
  996. // Requires to edit the GradebookLink.php And GradebookEvaluation.php files adding the "@" in the ORM phpdoc block
  997. /* 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)' ;
  998. 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)' ;
  999. */
  1000. //$_configuration['allow_gradebook_stats'] = false;
  1001. // Hide social media links
  1002. //$_configuration['hide_social_media_links'] = false;
  1003. // Show chamilo unique question id in exercises
  1004. // $_configuration['show_question_id'] = false;
  1005. // Show pagination if question list is bigger than "x" value, if 0 pagination will not appear.
  1006. // Option only when building an exercise as a teacher
  1007. // $_configuration['show_question_pagination'] = 100;
  1008. // Number of questions to show in every page
  1009. // Option only when building an exercise as a teacher
  1010. // $_configuration['question_pagination_length'] = 20;
  1011. // Teachers cannot delete an exercise/questions, change exercise visibility, download to qti, clean results
  1012. // $_configuration['limit_exercise_teacher_access'] = false;
  1013. // Changes the row list when using jqgrid/sortable tables
  1014. //$_configuration['table_row_list'] = ['options' => [50, 100, 200, 500]];
  1015. // Default selected row in jqgrid/sortable tables
  1016. //$_configuration['table_default_row'] = 50;
  1017. // Disable Chamilo.org announcements at the top of the admin page
  1018. //$_configuration['admin_chamilo_announcements_disable'] = false;
  1019. // Disable course report graphs
  1020. //$_configuration['hide_course_report_graph'] = false;
  1021. // Visually "fold" forum categories by default
  1022. // $_configuration['forum_fold_categories'] = false;
  1023. // Set extra fields as required in the inscription.php page
  1024. /*$_configuration['required_extra_fields_in_inscription'] = [
  1025. 'options' => [
  1026. 'terms_ville',
  1027. 'terms_paysresidence',
  1028. ],
  1029. ];*/
  1030. /* Set extra fields as required in the profile.php page
  1031. $_configuration['required_extra_fields_in_profile'] = [
  1032. 'options' => [
  1033. 'terms_villedustage'
  1034. ],
  1035. ];
  1036. */
  1037. // Community manager users
  1038. //$_configuration['community_managers_user_list'] = ['users' => [1]];
  1039. // Hide global chat video
  1040. //$_configuration['hide_chat_video'] = false;
  1041. // global forum in social network BT#15309
  1042. //$_configuration['global_forums_course_id'] = 0;
  1043. // Hide forum post revision checkbox
  1044. //$_configuration['hide_forum_post_revision_language'] = false;
  1045. // Allow forum post revisions
  1046. // Requires new forum_category and forum_post "language" extra fields (multiple select)
  1047. //$_configuration['allow_forum_post_revisions'] = false;
  1048. // Allow to show users in a map, users need to have a coordinates extra field BT#15176
  1049. //$_configuration['allow_social_map_fields'] = ['fields' => ['terms_villedustage', 'terms_ville']];
  1050. // Translate HTML based in the HTML "lang" attribute see BT#15166
  1051. //$_configuration['translate_html'] = false;
  1052. // Avoid add a reply-to header when a no-reply address is set.
  1053. //$_configuration['mail_no_reply_avoid_reply_to'] = false;
  1054. // Allows to user add feedback (likes or dislikes) to posts in social wall. Requires DB changes:
  1055. // 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;
  1056. // ALTER TABLE message_feedback ADD CONSTRAINT FK_DB0F8049537A1329 FOREIGN KEY (message_id) REFERENCES message (id) ON DELETE CASCADE;
  1057. // ALTER TABLE message_feedback ADD CONSTRAINT FK_DB0F8049A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE;
  1058. // In 1.11.8, before enabling this feature, you also need to:
  1059. // - edit src/Chamilo/CoreBundle/Entity/MessageFeedback.php
  1060. // and follow the instructions about the @ORM\Entity() line
  1061. // - edit src/Chamilo/CoreBundle/Entity/Message.php
  1062. // and follow the instructions about the @ORM\OneToMany line for the $likes property
  1063. // - launch "composer install" to rebuild the autoload.php
  1064. //$_configuration['social_enable_messages_feedback'] = false;
  1065. // Block student's access to the course documents when using the ckeditor "Browse server" button
  1066. //$_configuration['block_editor_file_manager_for_students'] = false;
  1067. // Show a language flag next to the user picture in the social network
  1068. //$_configuration['social_show_language_flag_in_profile'] = false;
  1069. // KEEP THIS AT THE END
  1070. // -------- Custom DB changes
  1071. // Add user activation by confirmation email
  1072. // This option prevents the new user to login in the platform if your account is not confirmed via email
  1073. // You need add a new option called "confirmation" to the registration settings
  1074. //INSERT INTO settings_options (variable, value, display_text) VALUES ('allow_registration', 'confirmation', 'MailConfirmation');
  1075. // ------ (End) Custom DB changes