`
12 |
13 | ## Custom Module Folder Structure
14 |
15 | Please, follow instructions on Drupal docs [here](https://www.drupal.org/docs/8/creating-custom-modules)
16 |
--------------------------------------------------------------------------------
/web/sites/default/settings.php:
--------------------------------------------------------------------------------
1 | 'databasename',
81 | * 'username' => 'sqlusername',
82 | * 'password' => 'sqlpassword',
83 | * 'host' => 'localhost',
84 | * 'port' => '3306',
85 | * 'driver' => 'mysql',
86 | * 'prefix' => '',
87 | * 'collation' => 'utf8mb4_general_ci',
88 | * );
89 | * @endcode
90 | */
91 | $databases = [];
92 |
93 | /**
94 | * Customizing database settings.
95 | *
96 | * Many of the values of the $databases array can be customized for your
97 | * particular database system. Refer to the sample in the section above as a
98 | * starting point.
99 | *
100 | * The "driver" property indicates what Drupal database driver the
101 | * connection should use. This is usually the same as the name of the
102 | * database type, such as mysql or sqlite, but not always. The other
103 | * properties will vary depending on the driver. For SQLite, you must
104 | * specify a database file name in a directory that is writable by the
105 | * webserver. For most other drivers, you must specify a
106 | * username, password, host, and database name.
107 | *
108 | * Transaction support is enabled by default for all drivers that support it,
109 | * including MySQL. To explicitly disable it, set the 'transactions' key to
110 | * FALSE.
111 | * Note that some configurations of MySQL, such as the MyISAM engine, don't
112 | * support it and will proceed silently even if enabled. If you experience
113 | * transaction related crashes with such configuration, set the 'transactions'
114 | * key to FALSE.
115 | *
116 | * For each database, you may optionally specify multiple "target" databases.
117 | * A target database allows Drupal to try to send certain queries to a
118 | * different database if it can but fall back to the default connection if not.
119 | * That is useful for primary/replica replication, as Drupal may try to connect
120 | * to a replica server when appropriate and if one is not available will simply
121 | * fall back to the single primary server (The terms primary/replica are
122 | * traditionally referred to as master/slave in database server documentation).
123 | *
124 | * The general format for the $databases array is as follows:
125 | * @code
126 | * $databases['default']['default'] = $info_array;
127 | * $databases['default']['replica'][] = $info_array;
128 | * $databases['default']['replica'][] = $info_array;
129 | * $databases['extra']['default'] = $info_array;
130 | * @endcode
131 | *
132 | * In the above example, $info_array is an array of settings described above.
133 | * The first line sets a "default" database that has one primary database
134 | * (the second level default). The second and third lines create an array
135 | * of potential replica databases. Drupal will select one at random for a given
136 | * request as needed. The fourth line creates a new database with a name of
137 | * "extra".
138 | *
139 | * You can optionally set prefixes for some or all database table names
140 | * by using the 'prefix' setting. If a prefix is specified, the table
141 | * name will be prepended with its value. Be sure to use valid database
142 | * characters only, usually alphanumeric and underscore. If no prefixes
143 | * are desired, leave it as an empty string ''.
144 | *
145 | * To have all database names prefixed, set 'prefix' as a string:
146 | * @code
147 | * 'prefix' => 'main_',
148 | * @endcode
149 | *
150 | * Per-table prefixes are deprecated as of Drupal 8.2, and will be removed in
151 | * Drupal 9.0. After that, only a single prefix for all tables will be
152 | * supported.
153 | *
154 | * To provide prefixes for specific tables, set 'prefix' as an array.
155 | * The array's keys are the table names and the values are the prefixes.
156 | * The 'default' element is mandatory and holds the prefix for any tables
157 | * not specified elsewhere in the array. Example:
158 | * @code
159 | * 'prefix' => array(
160 | * 'default' => 'main_',
161 | * 'users' => 'shared_',
162 | * 'sessions' => 'shared_',
163 | * 'role' => 'shared_',
164 | * 'authmap' => 'shared_',
165 | * ),
166 | * @endcode
167 | * You can also use a reference to a schema/database as a prefix. This may be
168 | * useful if your Drupal installation exists in a schema that is not the default
169 | * or you want to access several databases from the same code base at the same
170 | * time.
171 | * Example:
172 | * @code
173 | * 'prefix' => array(
174 | * 'default' => 'main.',
175 | * 'users' => 'shared.',
176 | * 'sessions' => 'shared.',
177 | * 'role' => 'shared.',
178 | * 'authmap' => 'shared.',
179 | * );
180 | * @endcode
181 | * NOTE: MySQL and SQLite's definition of a schema is a database.
182 | *
183 | * Advanced users can add or override initial commands to execute when
184 | * connecting to the database server, as well as PDO connection settings. For
185 | * example, to enable MySQL SELECT queries to exceed the max_join_size system
186 | * variable, and to reduce the database connection timeout to 5 seconds:
187 | * @code
188 | * $databases['default']['default'] = array(
189 | * 'init_commands' => array(
190 | * 'big_selects' => 'SET SQL_BIG_SELECTS=1',
191 | * ),
192 | * 'pdo' => array(
193 | * PDO::ATTR_TIMEOUT => 5,
194 | * ),
195 | * );
196 | * @endcode
197 | *
198 | * WARNING: The above defaults are designed for database portability. Changing
199 | * them may cause unexpected behavior, including potential data loss. See
200 | * https://www.drupal.org/developing/api/database/configuration for more
201 | * information on these defaults and the potential issues.
202 | *
203 | * More details can be found in the constructor methods for each driver:
204 | * - \Drupal\Core\Database\Driver\mysql\Connection::__construct()
205 | * - \Drupal\Core\Database\Driver\pgsql\Connection::__construct()
206 | * - \Drupal\Core\Database\Driver\sqlite\Connection::__construct()
207 | *
208 | * Sample Database configuration format for PostgreSQL (pgsql):
209 | * @code
210 | * $databases['default']['default'] = array(
211 | * 'driver' => 'pgsql',
212 | * 'database' => 'databasename',
213 | * 'username' => 'sqlusername',
214 | * 'password' => 'sqlpassword',
215 | * 'host' => 'localhost',
216 | * 'prefix' => '',
217 | * );
218 | * @endcode
219 | *
220 | * Sample Database configuration format for SQLite (sqlite):
221 | * @code
222 | * $databases['default']['default'] = array(
223 | * 'driver' => 'sqlite',
224 | * 'database' => '/path/to/databasefilename',
225 | * );
226 | * @endcode
227 | */
228 |
229 | /**
230 | * Location of the site configuration files.
231 | *
232 | * The $config_directories array specifies the location of file system
233 | * directories used for configuration data. On install, the "sync" directory is
234 | * created. This is used for configuration imports. The "active" directory is
235 | * not created by default since the default storage for active configuration is
236 | * the database rather than the file system. (This can be changed. See "Active
237 | * configuration settings" below).
238 | *
239 | * The default location for the "sync" directory is inside a randomly-named
240 | * directory in the public files path. The setting below allows you to override
241 | * the "sync" location.
242 | *
243 | * If you use files for the "active" configuration, you can tell the
244 | * Configuration system where this directory is located by adding an entry with
245 | * array key CONFIG_ACTIVE_DIRECTORY.
246 | *
247 | * Example:
248 | * @code
249 | * $config_directories = array(
250 | * CONFIG_SYNC_DIRECTORY => '/directory/outside/webroot',
251 | * );
252 | * @endcode
253 | */
254 | $config_directories = [];
255 |
256 | /**
257 | * Settings:
258 | *
259 | * $settings contains environment-specific configuration, such as the files
260 | * directory and reverse proxy address, and temporary configuration, such as
261 | * security overrides.
262 | *
263 | * @see \Drupal\Core\Site\Settings::get()
264 | */
265 |
266 | /**
267 | * Salt for one-time login links, cancel links, form tokens, etc.
268 | *
269 | * This variable will be set to a random value by the installer. All one-time
270 | * login links will be invalidated if the value is changed. Note that if your
271 | * site is deployed on a cluster of web servers, you must ensure that this
272 | * variable has the same value on each server.
273 | *
274 | * For enhanced security, you may set this variable to the contents of a file
275 | * outside your document root; you should also ensure that this file is not
276 | * stored with backups of your database.
277 | *
278 | * Example:
279 | * @code
280 | * $settings['hash_salt'] = file_get_contents('/home/example/salt.txt');
281 | * @endcode
282 | */
283 | $settings['hash_salt'] = '';
284 |
285 | /**
286 | * Deployment identifier.
287 | *
288 | * Drupal's dependency injection container will be automatically invalidated and
289 | * rebuilt when the Drupal core version changes. When updating contributed or
290 | * custom code that changes the container, changing this identifier will also
291 | * allow the container to be invalidated as soon as code is deployed.
292 | */
293 | # $settings['deployment_identifier'] = \Drupal::VERSION;
294 |
295 | /**
296 | * Access control for update.php script.
297 | *
298 | * If you are updating your Drupal installation using the update.php script but
299 | * are not logged in using either an account with the "Administer software
300 | * updates" permission or the site maintenance account (the account that was
301 | * created during installation), you will need to modify the access check
302 | * statement below. Change the FALSE to a TRUE to disable the access check.
303 | * After finishing the upgrade, be sure to open this file again and change the
304 | * TRUE back to a FALSE!
305 | */
306 | $settings['update_free_access'] = FALSE;
307 |
308 | /**
309 | * External access proxy settings:
310 | *
311 | * If your site must access the Internet via a web proxy then you can enter the
312 | * proxy settings here. Set the full URL of the proxy, including the port, in
313 | * variables:
314 | * - $settings['http_client_config']['proxy']['http']: The proxy URL for HTTP
315 | * requests.
316 | * - $settings['http_client_config']['proxy']['https']: The proxy URL for HTTPS
317 | * requests.
318 | * You can pass in the user name and password for basic authentication in the
319 | * URLs in these settings.
320 | *
321 | * You can also define an array of host names that can be accessed directly,
322 | * bypassing the proxy, in $settings['http_client_config']['proxy']['no'].
323 | */
324 | # $settings['http_client_config']['proxy']['http'] = 'http://proxy_user:proxy_pass@example.com:8080';
325 | # $settings['http_client_config']['proxy']['https'] = 'http://proxy_user:proxy_pass@example.com:8080';
326 | # $settings['http_client_config']['proxy']['no'] = ['127.0.0.1', 'localhost'];
327 |
328 | /**
329 | * Reverse Proxy Configuration:
330 | *
331 | * Reverse proxy servers are often used to enhance the performance
332 | * of heavily visited sites and may also provide other site caching,
333 | * security, or encryption benefits. In an environment where Drupal
334 | * is behind a reverse proxy, the real IP address of the client should
335 | * be determined such that the correct client IP address is available
336 | * to Drupal's logging, statistics, and access management systems. In
337 | * the most simple scenario, the proxy server will add an
338 | * X-Forwarded-For header to the request that contains the client IP
339 | * address. However, HTTP headers are vulnerable to spoofing, where a
340 | * malicious client could bypass restrictions by setting the
341 | * X-Forwarded-For header directly. Therefore, Drupal's proxy
342 | * configuration requires the IP addresses of all remote proxies to be
343 | * specified in $settings['reverse_proxy_addresses'] to work correctly.
344 | *
345 | * Enable this setting to get Drupal to determine the client IP from
346 | * the X-Forwarded-For header (or $settings['reverse_proxy_header'] if set).
347 | * If you are unsure about this setting, do not have a reverse proxy,
348 | * or Drupal operates in a shared hosting environment, this setting
349 | * should remain commented out.
350 | *
351 | * In order for this setting to be used you must specify every possible
352 | * reverse proxy IP address in $settings['reverse_proxy_addresses'].
353 | * If a complete list of reverse proxies is not available in your
354 | * environment (for example, if you use a CDN) you may set the
355 | * $_SERVER['REMOTE_ADDR'] variable directly in settings.php.
356 | * Be aware, however, that it is likely that this would allow IP
357 | * address spoofing unless more advanced precautions are taken.
358 | */
359 | # $settings['reverse_proxy'] = TRUE;
360 |
361 | /**
362 | * Specify every reverse proxy IP address in your environment.
363 | * This setting is required if $settings['reverse_proxy'] is TRUE.
364 | */
365 | # $settings['reverse_proxy_addresses'] = ['a.b.c.d', ...];
366 |
367 | /**
368 | * Set this value if your proxy server sends the client IP in a header
369 | * other than X-Forwarded-For.
370 | */
371 | # $settings['reverse_proxy_header'] = 'X_CLUSTER_CLIENT_IP';
372 |
373 | /**
374 | * Set this value if your proxy server sends the client protocol in a header
375 | * other than X-Forwarded-Proto.
376 | */
377 | # $settings['reverse_proxy_proto_header'] = 'X_FORWARDED_PROTO';
378 |
379 | /**
380 | * Set this value if your proxy server sends the client protocol in a header
381 | * other than X-Forwarded-Host.
382 | */
383 | # $settings['reverse_proxy_host_header'] = 'X_FORWARDED_HOST';
384 |
385 | /**
386 | * Set this value if your proxy server sends the client protocol in a header
387 | * other than X-Forwarded-Port.
388 | */
389 | # $settings['reverse_proxy_port_header'] = 'X_FORWARDED_PORT';
390 |
391 | /**
392 | * Set this value if your proxy server sends the client protocol in a header
393 | * other than Forwarded.
394 | */
395 | # $settings['reverse_proxy_forwarded_header'] = 'FORWARDED';
396 |
397 | /**
398 | * Page caching:
399 | *
400 | * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page
401 | * views. This tells a HTTP proxy that it may return a page from its local
402 | * cache without contacting the web server, if the user sends the same Cookie
403 | * header as the user who originally requested the cached page. Without "Vary:
404 | * Cookie", authenticated users would also be served the anonymous page from
405 | * the cache. If the site has mostly anonymous users except a few known
406 | * editors/administrators, the Vary header can be omitted. This allows for
407 | * better caching in HTTP proxies (including reverse proxies), i.e. even if
408 | * clients send different cookies, they still get content served from the cache.
409 | * However, authenticated users should access the site directly (i.e. not use an
410 | * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid
411 | * getting cached pages from the proxy.
412 | */
413 | # $settings['omit_vary_cookie'] = TRUE;
414 |
415 |
416 | /**
417 | * Cache TTL for client error (4xx) responses.
418 | *
419 | * Items cached per-URL tend to result in a large number of cache items, and
420 | * this can be problematic on 404 pages which by their nature are unbounded. A
421 | * fixed TTL can be set for these items, defaulting to one hour, so that cache
422 | * backends which do not support LRU can purge older entries. To disable caching
423 | * of client error responses set the value to 0. Currently applies only to
424 | * page_cache module.
425 | */
426 | # $settings['cache_ttl_4xx'] = 3600;
427 |
428 | /**
429 | * Expiration of cached forms.
430 | *
431 | * Drupal's Form API stores details of forms in a cache and these entries are
432 | * kept for at least 6 hours by default. Expired entries are cleared by cron.
433 | *
434 | * @see \Drupal\Core\Form\FormCache::setCache()
435 | */
436 | # $settings['form_cache_expiration'] = 21600;
437 |
438 | /**
439 | * Class Loader.
440 | *
441 | * If the APC extension is detected, the Symfony APC class loader is used for
442 | * performance reasons. Detection can be prevented by setting
443 | * class_loader_auto_detect to false, as in the example below.
444 | */
445 | # $settings['class_loader_auto_detect'] = FALSE;
446 |
447 | /*
448 | * If the APC extension is not detected, either because APC is missing or
449 | * because auto-detection has been disabled, auto-loading falls back to
450 | * Composer's ClassLoader, which is good for development as it does not break
451 | * when code is moved in the file system. You can also decorate the base class
452 | * loader with another cached solution than the Symfony APC class loader, as
453 | * all production sites should have a cached class loader of some sort enabled.
454 | *
455 | * To do so, you may decorate and replace the local $class_loader variable. For
456 | * example, to use Symfony's APC class loader without automatic detection,
457 | * uncomment the code below.
458 | */
459 | /*
460 | if ($settings['hash_salt']) {
461 | $prefix = 'drupal.' . hash('sha256', 'drupal.' . $settings['hash_salt']);
462 | $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader($prefix, $class_loader);
463 | unset($prefix);
464 | $class_loader->unregister();
465 | $apc_loader->register();
466 | $class_loader = $apc_loader;
467 | }
468 | */
469 |
470 | /**
471 | * Authorized file system operations:
472 | *
473 | * The Update Manager module included with Drupal provides a mechanism for
474 | * site administrators to securely install missing updates for the site
475 | * directly through the web user interface. On securely-configured servers,
476 | * the Update manager will require the administrator to provide SSH or FTP
477 | * credentials before allowing the installation to proceed; this allows the
478 | * site to update the new files as the user who owns all the Drupal files,
479 | * instead of as the user the webserver is running as. On servers where the
480 | * webserver user is itself the owner of the Drupal files, the administrator
481 | * will not be prompted for SSH or FTP credentials (note that these server
482 | * setups are common on shared hosting, but are inherently insecure).
483 | *
484 | * Some sites might wish to disable the above functionality, and only update
485 | * the code directly via SSH or FTP themselves. This setting completely
486 | * disables all functionality related to these authorized file operations.
487 | *
488 | * @see https://www.drupal.org/node/244924
489 | *
490 | * Remove the leading hash signs to disable.
491 | */
492 | # $settings['allow_authorize_operations'] = FALSE;
493 |
494 | /**
495 | * Default mode for directories and files written by Drupal.
496 | *
497 | * Value should be in PHP Octal Notation, with leading zero.
498 | */
499 | # $settings['file_chmod_directory'] = 0775;
500 | # $settings['file_chmod_file'] = 0664;
501 |
502 | /**
503 | * Public file base URL:
504 | *
505 | * An alternative base URL to be used for serving public files. This must
506 | * include any leading directory path.
507 | *
508 | * A different value from the domain used by Drupal to be used for accessing
509 | * public files. This can be used for a simple CDN integration, or to improve
510 | * security by serving user-uploaded files from a different domain or subdomain
511 | * pointing to the same server. Do not include a trailing slash.
512 | */
513 | # $settings['file_public_base_url'] = 'http://downloads.example.com/files';
514 |
515 | /**
516 | * Public file path:
517 | *
518 | * A local file system path where public files will be stored. This directory
519 | * must exist and be writable by Drupal. This directory must be relative to
520 | * the Drupal installation directory and be accessible over the web.
521 | */
522 | # $settings['file_public_path'] = 'sites/default/files';
523 |
524 | /**
525 | * Private file path:
526 | *
527 | * A local file system path where private files will be stored. This directory
528 | * must be absolute, outside of the Drupal installation directory and not
529 | * accessible over the web.
530 | *
531 | * Note: Caches need to be cleared when this value is changed to make the
532 | * private:// stream wrapper available to the system.
533 | *
534 | * See https://www.drupal.org/documentation/modules/file for more information
535 | * about securing private files.
536 | */
537 | # $settings['file_private_path'] = '';
538 |
539 | /**
540 | * Session write interval:
541 | *
542 | * Set the minimum interval between each session write to database.
543 | * For performance reasons it defaults to 180.
544 | */
545 | # $settings['session_write_interval'] = 180;
546 |
547 | /**
548 | * String overrides:
549 | *
550 | * To override specific strings on your site with or without enabling the Locale
551 | * module, add an entry to this list. This functionality allows you to change
552 | * a small number of your site's default English language interface strings.
553 | *
554 | * Remove the leading hash signs to enable.
555 | *
556 | * The "en" part of the variable name, is dynamic and can be any langcode of
557 | * any added language. (eg locale_custom_strings_de for german).
558 | */
559 | # $settings['locale_custom_strings_en'][''] = [
560 | # 'forum' => 'Discussion board',
561 | # '@count min' => '@count minutes',
562 | # ];
563 |
564 | /**
565 | * A custom theme for the offline page:
566 | *
567 | * This applies when the site is explicitly set to maintenance mode through the
568 | * administration page or when the database is inactive due to an error.
569 | * The template file should also be copied into the theme. It is located inside
570 | * 'core/modules/system/templates/maintenance-page.html.twig'.
571 | *
572 | * Note: This setting does not apply to installation and update pages.
573 | */
574 | # $settings['maintenance_theme'] = 'bartik';
575 |
576 | /**
577 | * PHP settings:
578 | *
579 | * To see what PHP settings are possible, including whether they can be set at
580 | * runtime (by using ini_set()), read the PHP documentation:
581 | * http://php.net/manual/ini.list.php
582 | * See \Drupal\Core\DrupalKernel::bootEnvironment() for required runtime
583 | * settings and the .htaccess file for non-runtime settings.
584 | * Settings defined there should not be duplicated here so as to avoid conflict
585 | * issues.
586 | */
587 |
588 | /**
589 | * If you encounter a situation where users post a large amount of text, and
590 | * the result is stripped out upon viewing but can still be edited, Drupal's
591 | * output filter may not have sufficient memory to process it. If you
592 | * experience this issue, you may wish to uncomment the following two lines
593 | * and increase the limits of these variables. For more information, see
594 | * http://php.net/manual/pcre.configuration.php.
595 | */
596 | # ini_set('pcre.backtrack_limit', 200000);
597 | # ini_set('pcre.recursion_limit', 200000);
598 |
599 | /**
600 | * Active configuration settings.
601 | *
602 | * By default, the active configuration is stored in the database in the
603 | * {config} table. To use a different storage mechanism for the active
604 | * configuration, do the following prior to installing:
605 | * - Create an "active" directory and declare its path in $config_directories
606 | * as explained under the 'Location of the site configuration files' section
607 | * above in this file. To enhance security, you can declare a path that is
608 | * outside your document root.
609 | * - Override the 'bootstrap_config_storage' setting here. It must be set to a
610 | * callable that returns an object that implements
611 | * \Drupal\Core\Config\StorageInterface.
612 | * - Override the service definition 'config.storage.active'. Put this
613 | * override in a services.yml file in the same directory as settings.php
614 | * (definitions in this file will override service definition defaults).
615 | */
616 | # $settings['bootstrap_config_storage'] = ['Drupal\Core\Config\BootstrapConfigStorageFactory', 'getFileStorage'];
617 |
618 | /**
619 | * Configuration overrides.
620 | *
621 | * To globally override specific configuration values for this site,
622 | * set them here. You usually don't need to use this feature. This is
623 | * useful in a configuration file for a vhost or directory, rather than
624 | * the default settings.php.
625 | *
626 | * Note that any values you provide in these variable overrides will not be
627 | * viewable from the Drupal administration interface. The administration
628 | * interface displays the values stored in configuration so that you can stage
629 | * changes to other environments that don't have the overrides.
630 | *
631 | * There are particular configuration values that are risky to override. For
632 | * example, overriding the list of installed modules in 'core.extension' is not
633 | * supported as module install or uninstall has not occurred. Other examples
634 | * include field storage configuration, because it has effects on database
635 | * structure, and 'core.menu.static_menu_link_overrides' since this is cached in
636 | * a way that is not config override aware. Also, note that changing
637 | * configuration values in settings.php will not fire any of the configuration
638 | * change events.
639 | */
640 | # $config['system.file']['path']['temporary'] = '/tmp';
641 | # $config['system.site']['name'] = 'My Drupal site';
642 | # $config['system.theme']['default'] = 'stark';
643 | # $config['user.settings']['anonymous'] = 'Visitor';
644 |
645 | /**
646 | * Fast 404 pages:
647 | *
648 | * Drupal can generate fully themed 404 pages. However, some of these responses
649 | * are for images or other resource files that are not displayed to the user.
650 | * This can waste bandwidth, and also generate server load.
651 | *
652 | * The options below return a simple, fast 404 page for URLs matching a
653 | * specific pattern:
654 | * - $config['system.performance']['fast_404']['exclude_paths']: A regular
655 | * expression to match paths to exclude, such as images generated by image
656 | * styles, or dynamically-resized images. The default pattern provided below
657 | * also excludes the private file system. If you need to add more paths, you
658 | * can add '|path' to the expression.
659 | * - $config['system.performance']['fast_404']['paths']: A regular expression to
660 | * match paths that should return a simple 404 page, rather than the fully
661 | * themed 404 page. If you don't have any aliases ending in htm or html you
662 | * can add '|s?html?' to the expression.
663 | * - $config['system.performance']['fast_404']['html']: The html to return for
664 | * simple 404 pages.
665 | *
666 | * Remove the leading hash signs if you would like to alter this functionality.
667 | */
668 | # $config['system.performance']['fast_404']['exclude_paths'] = '/\/(?:styles)|(?:system\/files)\//';
669 | # $config['system.performance']['fast_404']['paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i';
670 | # $config['system.performance']['fast_404']['html'] = '404 Not FoundNot Found
The requested URL "@path" was not found on this server.
';
671 |
672 | /**
673 | * Load services definition file.
674 | */
675 | $settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml';
676 |
677 | /**
678 | * Override the default service container class.
679 | *
680 | * This is useful for example to trace the service container for performance
681 | * tracking purposes, for testing a service container with an error condition or
682 | * to test a service container that throws an exception.
683 | */
684 | # $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container';
685 |
686 | /**
687 | * Override the default yaml parser class.
688 | *
689 | * Provide a fully qualified class name here if you would like to provide an
690 | * alternate implementation YAML parser. The class must implement the
691 | * \Drupal\Component\Serialization\SerializationInterface interface.
692 | */
693 | # $settings['yaml_parser_class'] = NULL;
694 |
695 | /**
696 | * Trusted host configuration.
697 | *
698 | * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host
699 | * header spoofing.
700 | *
701 | * To enable the trusted host mechanism, you enable your allowable hosts
702 | * in $settings['trusted_host_patterns']. This should be an array of regular
703 | * expression patterns, without delimiters, representing the hosts you would
704 | * like to allow.
705 | *
706 | * For example:
707 | * @code
708 | * $settings['trusted_host_patterns'] = array(
709 | * '^www\.example\.com$',
710 | * );
711 | * @endcode
712 | * will allow the site to only run from www.example.com.
713 | *
714 | * If you are running multisite, or if you are running your site from
715 | * different domain names (eg, you don't redirect http://www.example.com to
716 | * http://example.com), you should specify all of the host patterns that are
717 | * allowed by your site.
718 | *
719 | * For example:
720 | * @code
721 | * $settings['trusted_host_patterns'] = array(
722 | * '^example\.com$',
723 | * '^.+\.example\.com$',
724 | * '^example\.org$',
725 | * '^.+\.example\.org$',
726 | * );
727 | * @endcode
728 | * will allow the site to run off of all variants of example.com and
729 | * example.org, with all subdomains included.
730 | */
731 |
732 | /**
733 | * The default list of directories that will be ignored by Drupal's file API.
734 | *
735 | * By default ignore node_modules and bower_components folders to avoid issues
736 | * with common frontend tools and recursive scanning of directories looking for
737 | * extensions.
738 | *
739 | * @see file_scan_directory()
740 | * @see \Drupal\Core\Extension\ExtensionDiscovery::scanDirectory()
741 | */
742 | $settings['file_scan_ignore_directories'] = [
743 | 'node_modules',
744 | 'bower_components',
745 | ];
746 |
747 | /**
748 | * The default number of entities to update in a batch process.
749 | *
750 | * This is used by update and post-update functions that need to go through and
751 | * change all the entities on a site, so it is useful to increase this number
752 | * if your hosting configuration (i.e. RAM allocation, CPU speed) allows for a
753 | * larger number of entities to be processed in a single batch run.
754 | */
755 | $settings['entity_update_batch_size'] = 50;
756 |
757 | /**
758 | * Connect to db in Acquia.
759 | *
760 | * Checks if the script is running on ACQUIA and require custom configurations for database connection.
761 | */
762 | if (isset($_ENV['AH_SITE_ENVIRONMENT']) && file_exists('/var/www/site-php')) {
763 | require '/var/www/site-php/' . $_ENV['AH_SITE_GROUP'] . '/' . $_ENV['AH_SITE_GROUP'] . '-settings.inc';
764 | }
765 |
766 | /**
767 | * Load local development override configuration, if available.
768 | *
769 | * Use settings.local.php to override variables on secondary (staging,
770 | * development, etc) installations of this site. Typically used to disable
771 | * caching, JavaScript/CSS compression, re-routing of outgoing emails, and
772 | * other things that should not happen on development and testing sites.
773 | *
774 | * Keep this code block at the end of this file to take full effect.
775 | */
776 | if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
777 | include $app_root . '/' . $site_path . '/settings.local.php';
778 | }
779 |
780 | $config_directories['sync'] = './../config/sync';
781 |
--------------------------------------------------------------------------------
/web/sites/template.settings.local.php:
--------------------------------------------------------------------------------
1 | '{MYSQL_DATABASE}',
138 | 'username' => '{MYSQL_USER}',
139 | 'password' => '{MYSQL_PASSWORD}',
140 | 'prefix' => '',
141 | 'host' => 'database-host',
142 | 'port' => '',
143 | 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
144 | 'driver' => 'mysql',
145 | );
146 |
--------------------------------------------------------------------------------
/web/themes/custom/README.md:
--------------------------------------------------------------------------------
1 | # Custom Themes Folder
2 | This folder should contains all custom themes created to define the
3 | presentation layer. All themes placed under this folder should be
4 | specific for the project. For each new theme, a new folder should be created
5 | under `custom/` folder and place all the related files for that
6 | theme inside it.
7 |
8 | ## Standards
9 |
10 | * Naming Convention: `_feature`
11 |
12 | ## Custom Theme Folder Structure
13 |
14 | Please, follow instructions on Drupal docs [here](https://www.drupal.org/docs/theming-drupal/drupal-theme-folder-structure)
15 |
--------------------------------------------------------------------------------