-
174.ddev/config.yaml
-
17.editorconfig
-
61.gitattributes
-
2.gitignore
-
90composer.json
-
6144composer.lock
-
BINslike/01 (1).jpg
-
BINslike/5.jpg
-
BINslike/7.jpg
-
BINslike/bg1.jpg
-
BINslike/earrelevant.jpg
-
BINslike/kids.jpg
-
BINslike/stretchmarx-eargels.jpg
-
BINslike/tour.jpg
-
BINslike/usta.jpg
-
40web/.csslintrc
-
8web/.eslintignore
-
3web/.eslintrc.json
-
65web/.ht.router.php
-
182web/.htaccess
-
3web/INSTALL.txt
-
75web/README.md
-
16web/autoload.php
-
58web/core/.cspell.json
-
77web/core/.env.example
-
10web/core/.eslintignore
-
54web/core/.eslintrc.json
-
94web/core/.eslintrc.legacy.json
-
15web/core/.eslintrc.passing.json
-
21web/core/.gitignore
-
1web/core/.prettierignore
-
6web/core/.prettierrc.json
-
10web/core/.stylelintignore
-
468web/core/.stylelintrc.json
-
8web/core/CHANGELOG.txt
-
64web/core/COPYRIGHT.txt
-
45web/core/INSTALL.mysql.txt
-
44web/core/INSTALL.pgsql.txt
-
39web/core/INSTALL.sqlite.txt
-
460web/core/INSTALL.txt
-
339web/core/LICENSE.txt
-
553web/core/MAINTAINERS.txt
-
77web/core/UPDATE.txt
-
96web/core/USAGE.txt
-
11web/core/assets/scaffold/README.txt
-
16web/core/assets/scaffold/TESTING.txt
-
40web/core/assets/scaffold/files/csslintrc
-
189web/core/assets/scaffold/files/default.services.yml
-
804web/core/assets/scaffold/files/default.settings.php
-
9web/core/assets/scaffold/files/development.services.yml
-
3web/core/assets/scaffold/files/drupal.INSTALL.txt
-
75web/core/assets/scaffold/files/drupal.README.md
-
17web/core/assets/scaffold/files/editorconfig
-
8web/core/assets/scaffold/files/eslintignore
-
3web/core/assets/scaffold/files/eslintrc.json
-
42web/core/assets/scaffold/files/example.gitignore
-
155web/core/assets/scaffold/files/example.settings.local.php
-
57web/core/assets/scaffold/files/example.sites.php
-
61web/core/assets/scaffold/files/gitattributes
-
65web/core/assets/scaffold/files/ht.router.php
-
182web/core/assets/scaffold/files/htaccess
-
22web/core/assets/scaffold/files/index.php
-
42web/core/assets/scaffold/files/modules.README.txt
-
28web/core/assets/scaffold/files/profiles.README.txt
-
61web/core/assets/scaffold/files/robots.txt
-
10web/core/assets/scaffold/files/sites.README.txt
-
31web/core/assets/scaffold/files/themes.README.txt
-
30web/core/assets/scaffold/files/update.php
-
91web/core/assets/scaffold/files/web.config
-
1web/core/assets/vendor/.gitignore
-
2web/core/assets/vendor/backbone/backbone-min.js
-
1web/core/assets/vendor/backbone/backbone-min.map
-
2096web/core/assets/vendor/backbone/backbone.js
-
2045web/core/assets/vendor/ckeditor/CHANGES.md
-
1436web/core/assets/vendor/ckeditor/LICENSE.md
-
109web/core/assets/vendor/ckeditor/build-config.js
-
1215web/core/assets/vendor/ckeditor/ckeditor.js
-
63web/core/assets/vendor/ckeditor/lang/_translationstatus.txt
-
5web/core/assets/vendor/ckeditor/lang/af.js
-
5web/core/assets/vendor/ckeditor/lang/ar.js
-
5web/core/assets/vendor/ckeditor/lang/az.js
-
5web/core/assets/vendor/ckeditor/lang/bg.js
-
5web/core/assets/vendor/ckeditor/lang/bn.js
-
5web/core/assets/vendor/ckeditor/lang/bs.js
-
5web/core/assets/vendor/ckeditor/lang/ca.js
-
5web/core/assets/vendor/ckeditor/lang/cs.js
-
5web/core/assets/vendor/ckeditor/lang/cy.js
-
5web/core/assets/vendor/ckeditor/lang/da.js
-
5web/core/assets/vendor/ckeditor/lang/de-ch.js
-
5web/core/assets/vendor/ckeditor/lang/de.js
-
5web/core/assets/vendor/ckeditor/lang/el.js
-
5web/core/assets/vendor/ckeditor/lang/en-au.js
-
5web/core/assets/vendor/ckeditor/lang/en-ca.js
-
5web/core/assets/vendor/ckeditor/lang/en-gb.js
-
5web/core/assets/vendor/ckeditor/lang/en.js
-
5web/core/assets/vendor/ckeditor/lang/eo.js
-
5web/core/assets/vendor/ckeditor/lang/es-mx.js
-
5web/core/assets/vendor/ckeditor/lang/es.js
-
5web/core/assets/vendor/ckeditor/lang/et.js
-
5web/core/assets/vendor/ckeditor/lang/eu.js
@ -0,0 +1,174 @@ |
|||
name: schunder-madre |
|||
type: drupal9 |
|||
docroot: web |
|||
php_version: "7.3" |
|||
webserver_type: nginx-fpm |
|||
router_http_port: "80" |
|||
router_https_port: "443" |
|||
xdebug_enabled: false |
|||
additional_hostnames: [] |
|||
additional_fqdns: [] |
|||
mariadb_version: "10.3" |
|||
mysql_version: "" |
|||
provider: default |
|||
use_dns_when_possible: true |
|||
composer_version: "" |
|||
|
|||
|
|||
# This config.yaml was created with ddev version v1.16.6 |
|||
# webimage: drud/ddev-webserver:v1.16.6 |
|||
# dbimage: drud/ddev-dbserver-mariadb-10.2:v1.16.0 |
|||
# dbaimage: phpmyadmin:5 |
|||
# However we do not recommend explicitly wiring these images into the |
|||
# config.yaml as they may break future versions of ddev. |
|||
# You can update this config.yaml using 'ddev config'. |
|||
|
|||
# Key features of ddev's config.yaml: |
|||
|
|||
# name: <projectname> # Name of the project, automatically provides |
|||
# http://projectname.ddev.site and https://projectname.ddev.site |
|||
|
|||
# type: <projecttype> # drupal6/7/8, backdrop, typo3, wordpress, php |
|||
|
|||
# docroot: <relative_path> # Relative path to the directory containing index.php. |
|||
|
|||
# php_version: "7.3" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4" "8.0" |
|||
|
|||
# You can explicitly specify the webimage, dbimage, dbaimage lines but this |
|||
# is not recommended, as the images are often closely tied to ddev's' behavior, |
|||
# so this can break upgrades. |
|||
|
|||
# webimage: <docker_image> # nginx/php docker image. |
|||
# dbimage: <docker_image> # mariadb docker image. |
|||
# dbaimage: <docker_image> |
|||
|
|||
# mariadb_version and mysql_version |
|||
# ddev can use many versions of mariadb and mysql |
|||
# However these directives are mutually exclusive |
|||
# mariadb_version: 10.2 |
|||
# mysql_version: 8.0 |
|||
|
|||
# router_http_port: <port> # Port to be used for http (defaults to port 80) |
|||
# router_https_port: <port> # Port for https (defaults to 443) |
|||
|
|||
# xdebug_enabled: false # Set to true to enable xdebug and "ddev start" or "ddev restart" |
|||
# Note that for most people the commands |
|||
# "ddev xdebug" to enable xdebug and "ddev xdebug off" to disable it work better, |
|||
# as leaving xdebug enabled all the time is a big performance hit. |
|||
|
|||
# webserver_type: nginx-fpm # or apache-fpm |
|||
|
|||
# timezone: Europe/Berlin |
|||
# This is the timezone used in the containers and by PHP; |
|||
# it can be set to any valid timezone, |
|||
# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
|||
# For example Europe/Dublin or MST7MDT |
|||
|
|||
# composer_version: "2" |
|||
# if composer_version:"" it will use the current ddev default composer release. |
|||
# It can also be set to "1", to get most recent composer v1 |
|||
# or "2" for most recent composer v2. |
|||
# It can be set to any existing specific composer version. |
|||
# After first project 'ddev start' this will not be updated until it changes |
|||
|
|||
# additional_hostnames: |
|||
# - somename |
|||
# - someothername |
|||
# would provide http and https URLs for "somename.ddev.site" |
|||
# and "someothername.ddev.site". |
|||
|
|||
# additional_fqdns: |
|||
# - example.com |
|||
# - sub1.example.com |
|||
# would provide http and https URLs for "example.com" and "sub1.example.com" |
|||
# Please take care with this because it can cause great confusion. |
|||
|
|||
# upload_dir: custom/upload/dir |
|||
# would set the destination path for ddev import-files to custom/upload/dir. |
|||
|
|||
# working_dir: |
|||
# web: /var/www/html |
|||
# db: /home |
|||
# would set the default working directory for the web and db services. |
|||
# These values specify the destination directory for ddev ssh and the |
|||
# directory in which commands passed into ddev exec are run. |
|||
|
|||
# omit_containers: [db, dba, ddev-ssh-agent] |
|||
# Currently only these containers are supported. Some containers can also be |
|||
# omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit |
|||
# the "db" container, several standard features of ddev that access the |
|||
# database container will be unusable. |
|||
|
|||
# nfs_mount_enabled: false |
|||
# Great performance improvement but requires host configuration first. |
|||
# See https://ddev.readthedocs.io/en/stable/users/performance/#using-nfs-to-mount-the-project-into-the-container |
|||
|
|||
# host_https_port: "59002" |
|||
# The host port binding for https can be explicitly specified. It is |
|||
# dynamic unless otherwise specified. |
|||
# This is not used by most people, most people use the *router* instead |
|||
# of the localhost port. |
|||
|
|||
# host_webserver_port: "59001" |
|||
# The host port binding for the ddev-webserver can be explicitly specified. It is |
|||
# dynamic unless otherwise specified. |
|||
# This is not used by most people, most people use the *router* instead |
|||
# of the localhost port. |
|||
|
|||
# host_db_port: "59002" |
|||
# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic |
|||
# unless explicitly specified. |
|||
|
|||
# phpmyadmin_port: "8036" |
|||
# phpmyadmin_https_port: "8037" |
|||
# The PHPMyAdmin ports can be changed from the default 8036 and 8037 |
|||
|
|||
# mailhog_port: "8025" |
|||
# mailhog_https_port: "8026" |
|||
# The MailHog ports can be changed from the default 8025 and 8026 |
|||
|
|||
# webimage_extra_packages: [php7.3-tidy, php-bcmath] |
|||
# Extra Debian packages that are needed in the webimage can be added here |
|||
|
|||
# dbimage_extra_packages: [telnet,netcat] |
|||
# Extra Debian packages that are needed in the dbimage can be added here |
|||
|
|||
# use_dns_when_possible: true |
|||
# If the host has internet access and the domain configured can |
|||
# successfully be looked up, DNS will be used for hostname resolution |
|||
# instead of editing /etc/hosts |
|||
# Defaults to true |
|||
|
|||
# project_tld: ddev.site |
|||
# The top-level domain used for project URLs |
|||
# The default "ddev.site" allows DNS lookup via a wildcard |
|||
# If you prefer you can change this to "ddev.local" to preserve |
|||
# pre-v1.9 behavior. |
|||
|
|||
# ngrok_args: --subdomain mysite --auth username:pass |
|||
# Provide extra flags to the "ngrok http" command, see |
|||
# https://ngrok.com/docs#http or run "ngrok http -h" |
|||
|
|||
# disable_settings_management: false |
|||
# If true, ddev will not create CMS-specific settings files like |
|||
# Drupal's settings.php/settings.ddev.php or TYPO3's AdditionalSettings.php |
|||
# In this case the user must provide all such settings. |
|||
|
|||
# no_project_mount: false |
|||
# (Experimental) If true, ddev will not mount the project into the web container; |
|||
# the user is responsible for mounting it manually or via a script. |
|||
# This is to enable experimentation with alternate file mounting strategies. |
|||
# For advanced users only! |
|||
|
|||
# provider: default # Currently either "default" or "pantheon" |
|||
# |
|||
# Many ddev commands can be extended to run tasks before or after the |
|||
# ddev command is executed, for example "post-start", "post-import-db", |
|||
# "pre-composer", "post-composer" |
|||
# See https://ddev.readthedocs.io/en/stable/users/extending-commands/ for more |
|||
# information on the commands that can be extended and the tasks you can define |
|||
# for them. Example: |
|||
#hooks: |
|||
# post-import-db: |
|||
# - exec: drush cr |
|||
# - exec: drush updb |
@ -0,0 +1,17 @@ |
|||
# Drupal editor configuration normalization |
|||
# @see http://editorconfig.org/ |
|||
|
|||
# This is the top-most .editorconfig file; do not search in parent directories. |
|||
root = true |
|||
|
|||
# All files. |
|||
[*] |
|||
end_of_line = LF |
|||
indent_style = space |
|||
indent_size = 2 |
|||
charset = utf-8 |
|||
trim_trailing_whitespace = true |
|||
insert_final_newline = true |
|||
|
|||
[composer.{json,lock}] |
|||
indent_size = 4 |
@ -0,0 +1,61 @@ |
|||
# Drupal git normalization |
|||
# @see https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html |
|||
# @see https://www.drupal.org/node/1542048 |
|||
|
|||
# Normally these settings would be done with macro attributes for improved |
|||
# readability and easier maintenance. However macros can only be defined at the |
|||
# repository root directory. Drupal avoids making any assumptions about where it |
|||
# is installed. |
|||
|
|||
# Define text file attributes. |
|||
# - Treat them as text. |
|||
# - Ensure no CRLF line-endings, neither on checkout nor on checkin. |
|||
# - Detect whitespace errors. |
|||
# - Exposed by default in `git diff --color` on the CLI. |
|||
# - Validate with `git diff --check`. |
|||
# - Deny applying with `git apply --whitespace=error-all`. |
|||
# - Fix automatically with `git apply --whitespace=fix`. |
|||
|
|||
*.config text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.css text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.dist text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.engine text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php |
|||
*.html text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=html |
|||
*.inc text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php |
|||
*.install text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php |
|||
*.js text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.json text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.lock text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.map text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.md text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.module text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php |
|||
*.php text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php |
|||
*.po text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.profile text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php |
|||
*.script text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.sh text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php |
|||
*.sql text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.svg text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.theme text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php |
|||
*.twig text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.txt text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.xml text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
*.yml text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 |
|||
|
|||
# Define binary file attributes. |
|||
# - Do not treat them as text. |
|||
# - Include binary diff in patches instead of "binary files differ." |
|||
*.eot -text diff |
|||
*.exe -text diff |
|||
*.gif -text diff |
|||
*.gz -text diff |
|||
*.ico -text diff |
|||
*.jpeg -text diff |
|||
*.jpg -text diff |
|||
*.otf -text diff |
|||
*.phar -text diff |
|||
*.png -text diff |
|||
*.svgz -text diff |
|||
*.ttf -text diff |
|||
*.woff -text diff |
|||
*.woff2 -text diff |
@ -0,0 +1,2 @@ |
|||
data/* |
|||
vendor/* |
@ -0,0 +1,90 @@ |
|||
{ |
|||
"name": "drupal/recommended-project", |
|||
"description": "Project template for Drupal 9 projects with a relocated document root", |
|||
"type": "project", |
|||
"license": "GPL-2.0-or-later", |
|||
"homepage": "https://www.drupal.org/project/drupal", |
|||
"support": { |
|||
"docs": "https://www.drupal.org/docs/user_guide/en/index.html", |
|||
"chat": "https://www.drupal.org/node/314178" |
|||
}, |
|||
"repositories": [ |
|||
{ |
|||
"type": "composer", |
|||
"url": "https://packages.drupal.org/8" |
|||
} |
|||
], |
|||
"require": { |
|||
"composer/installers": "^1.9", |
|||
"drupal/bootstrap5": "^1.1", |
|||
"drupal/core-composer-scaffold": "^9.2", |
|||
"drupal/core-project-message": "^9.2", |
|||
"drupal/core-recommended": "^9.2", |
|||
"drush/drush": "^10.6" |
|||
}, |
|||
"conflict": { |
|||
"drupal/drupal": "*" |
|||
}, |
|||
"minimum-stability": "stable", |
|||
"prefer-stable": true, |
|||
"config": { |
|||
"sort-packages": true |
|||
}, |
|||
"extra": { |
|||
"drupal-scaffold": { |
|||
"locations": { |
|||
"web-root": "web/" |
|||
} |
|||
}, |
|||
"installer-paths": { |
|||
"web/core": [ |
|||
"type:drupal-core" |
|||
], |
|||
"web/libraries/{$name}": [ |
|||
"type:drupal-library" |
|||
], |
|||
"web/modules/contrib/{$name}": [ |
|||
"type:drupal-module" |
|||
], |
|||
"web/profiles/contrib/{$name}": [ |
|||
"type:drupal-profile" |
|||
], |
|||
"web/themes/contrib/{$name}": [ |
|||
"type:drupal-theme" |
|||
], |
|||
"drush/Commands/contrib/{$name}": [ |
|||
"type:drupal-drush" |
|||
], |
|||
"web/modules/custom/{$name}": [ |
|||
"type:drupal-custom-module" |
|||
], |
|||
"web/profiles/custom/{$name}": [ |
|||
"type:drupal-custom-profile" |
|||
], |
|||
"web/themes/custom/{$name}": [ |
|||
"type:drupal-custom-theme" |
|||
] |
|||
}, |
|||
"drupal-core-project-message": { |
|||
"include-keys": [ |
|||
"homepage", |
|||
"support" |
|||
], |
|||
"post-create-project-cmd-message": [ |
|||
"<bg=blue;fg=white> </>", |
|||
"<bg=blue;fg=white> Congratulations, you’ve installed the Drupal codebase </>", |
|||
"<bg=blue;fg=white> from the drupal/recommended-project template! </>", |
|||
"<bg=blue;fg=white> </>", |
|||
"", |
|||
"<bg=yellow;fg=black>Next steps</>:", |
|||
" * Install the site: https://www.drupal.org/docs/8/install", |
|||
" * Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html", |
|||
" * Get support: https://www.drupal.org/support", |
|||
" * Get involved with the Drupal community:", |
|||
" https://www.drupal.org/getting-involved", |
|||
" * Remove the plugin that prints this message:", |
|||
" composer remove drupal/core-project-message" |
|||
] |
|||
} |
|||
} |
|||
} |
6144
composer.lock
File diff suppressed because it is too large
View File
After Width: 2100 | Height: 1500 | Size: 801 KiB |
After Width: 2480 | Height: 3189 | Size: 2.4 MiB |
After Width: 2480 | Height: 3189 | Size: 957 KiB |
After Width: 2480 | Height: 3189 | Size: 540 KiB |
After Width: 2480 | Height: 3189 | Size: 4.2 MiB |
After Width: 2480 | Height: 3189 | Size: 923 KiB |
After Width: 2480 | Height: 3189 | Size: 1.3 MiB |
After Width: 2480 | Height: 3189 | Size: 1.1 MiB |
After Width: 619 | Height: 466 | Size: 143 KiB |
@ -0,0 +1,40 @@ |
|||
--errors=box-model, |
|||
display-property-grouping, |
|||
duplicate-background-images, |
|||
duplicate-properties, |
|||
empty-rules, |
|||
ids, |
|||
import, |
|||
important, |
|||
known-properties, |
|||
outline-none, |
|||
overqualified-elements, |
|||
qualified-headings, |
|||
shorthand, |
|||
star-property-hack, |
|||
text-indent, |
|||
underscore-property-hack, |
|||
unique-headings, |
|||
unqualified-attributes, |
|||
vendor-prefix, |
|||
zero-units |
|||
--ignore=adjoining-classes, |
|||
box-sizing, |
|||
bulletproof-font-face, |
|||
compatible-vendor-prefixes, |
|||
errors, |
|||
fallback-colors, |
|||
floats, |
|||
font-faces, |
|||
font-sizes, |
|||
gradients, |
|||
import-ie-limit, |
|||
order-alphabetical, |
|||
regex-selectors, |
|||
rules-count, |
|||
selector-max, |
|||
selector-max-approaching, |
|||
selector-newline, |
|||
universal-selector |
|||
--exclude-list=core/assets, |
|||
vendor |
@ -0,0 +1,8 @@ |
|||
core/**/* |
|||
vendor/**/* |
|||
sites/**/files/**/* |
|||
libraries/**/* |
|||
sites/**/libraries/**/* |
|||
profiles/**/libraries/**/* |
|||
**/js_test_files/**/* |
|||
**/node_modules/**/* |
@ -0,0 +1,3 @@ |
|||
{ |
|||
"extends": "./core/.eslintrc.json" |
|||
} |
@ -0,0 +1,65 @@ |
|||
<?php |
|||
|
|||
/** |
|||
* @file |
|||
* Router script for the built-in PHP web server. |
|||
* |
|||
* The built-in web server should only be used for development and testing as it |
|||
* has a number of limitations that makes running Drupal on it highly insecure |
|||
* and somewhat limited. |
|||
* |
|||
* Note that: |
|||
* - The server is single-threaded, any requests made during the execution of |
|||
* the main request will hang until the main request has been completed. |
|||
* - The web server does not enforce any of the settings in .htaccess in |
|||
* particular a remote user will be able to download files that normally would |
|||
* be protected from direct access such as .module files. |
|||
* |
|||
* The router script is needed to work around a bug in PHP, see |
|||
* https://bugs.php.net/bug.php?id=61286. |
|||
* |
|||
* Usage: |
|||
* php -S localhost:8888 .ht.router.php |
|||
* |
|||
* @see http://php.net/manual/en/features.commandline.webserver.php |
|||
*/ |
|||
|
|||
$url = parse_url($_SERVER['REQUEST_URI']); |
|||
if (file_exists(__DIR__ . $url['path'])) { |
|||
// Serve the requested resource as-is.
|
|||
return FALSE; |
|||
} |
|||
|
|||
// Work around the PHP bug.
|
|||
$path = $url['path']; |
|||
$script = 'index.php'; |
|||
if (strpos($path, '.php') !== FALSE) { |
|||
// Work backwards through the path to check if a script exists. Otherwise
|
|||
// fallback to index.php.
|
|||
do { |
|||
$path = dirname($path); |
|||
if (preg_match('/\.php$/', $path) && is_file(__DIR__ . $path)) { |
|||
// Discovered that the path contains an existing PHP file. Use that as the
|
|||
// script to include.
|
|||
$script = ltrim($path, '/'); |
|||
break; |
|||
} |
|||
} while ($path !== '/' && $path !== '.'); |
|||
} |
|||
|
|||
// Update $_SERVER variables to point to the correct index-file.
|
|||
$index_file_absolute = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $script; |
|||
$index_file_relative = DIRECTORY_SEPARATOR . $script; |
|||
|
|||
// SCRIPT_FILENAME will point to the router script itself, it should point to
|
|||
// the full path of index.php.
|
|||
$_SERVER['SCRIPT_FILENAME'] = $index_file_absolute; |
|||
|
|||
// SCRIPT_NAME and PHP_SELF will either point to index.php or contain the full
|
|||
// virtual path being requested depending on the URL being requested. They
|
|||
// should always point to index.php relative to document root.
|
|||
$_SERVER['SCRIPT_NAME'] = $index_file_relative; |
|||
$_SERVER['PHP_SELF'] = $index_file_relative; |
|||
|
|||
// Require the script and let core take over.
|
|||
require $_SERVER['SCRIPT_FILENAME']; |
@ -0,0 +1,182 @@ |
|||
# |
|||
# Apache/PHP/Drupal settings: |
|||
# |
|||
|
|||
# Protect files and directories from prying eyes. |
|||
<FilesMatch "\.(engine|inc|install|make|module|profile|po|sh|.*sql|theme|twig|tpl(\.php)?|xtmpl|yml)(~|\.sw[op]|\.bak|\.orig|\.save)?$|^(\.(?!well-known).*|Entries.*|Repository|Root|Tag|Template|composer\.(json|lock)|web\.config)$|^#.*#$|\.php(~|\.sw[op]|\.bak|\.orig|\.save)$"> |
|||
<IfModule mod_authz_core.c> |
|||
Require all denied |
|||
</IfModule> |
|||
<IfModule !mod_authz_core.c> |
|||
Order allow,deny |
|||
</IfModule> |
|||
</FilesMatch> |
|||
|
|||
# Don't show directory listings for URLs which map to a directory. |
|||
Options -Indexes |
|||
|
|||
# Set the default handler. |
|||
DirectoryIndex index.php index.html index.htm |
|||
|
|||
# Add correct encoding for SVGZ. |
|||
AddType image/svg+xml svg svgz |
|||
AddEncoding gzip svgz |
|||
|
|||
# Most of the following PHP settings cannot be changed at runtime. See |
|||
# sites/default/default.settings.php and |
|||
# Drupal\Core\DrupalKernel::bootEnvironment() for settings that can be |
|||
# changed at runtime. |
|||
|
|||
# PHP 7, Apache 1 and 2. |
|||
<IfModule mod_php7.c> |
|||
php_value assert.active 0 |
|||
</IfModule> |
|||
|
|||
# Requires mod_expires to be enabled. |
|||
<IfModule mod_expires.c> |
|||
# Enable expirations. |
|||
ExpiresActive On |
|||
|
|||
# Cache all files for 2 weeks after access (A). |
|||
ExpiresDefault A1209600 |
|||
|
|||
<FilesMatch \.php$> |
|||
# Do not allow PHP scripts to be cached unless they explicitly send cache |
|||
# headers themselves. Otherwise all scripts would have to overwrite the |
|||
# headers set by mod_expires if they want another caching behavior. This may |
|||
# fail if an error occurs early in the bootstrap process, and it may cause |
|||
# problems if a non-Drupal PHP file is installed in a subdirectory. |
|||
ExpiresActive Off |
|||
</FilesMatch> |
|||
</IfModule> |
|||
|
|||
# Set a fallback resource if mod_rewrite is not enabled. This allows Drupal to |
|||
# work without clean URLs. This requires Apache version >= 2.2.16. If Drupal is |
|||
# not accessed by the top level URL (i.e.: http://example.com/drupal/ instead of |
|||
# http://example.com/), the path to index.php will need to be adjusted. |
|||
<IfModule !mod_rewrite.c> |
|||
FallbackResource /index.php |
|||
</IfModule> |
|||
|
|||
# Various rewrite rules. |
|||
<IfModule mod_rewrite.c> |
|||
RewriteEngine on |
|||
|
|||
# Set "protossl" to "s" if we were accessed via https://. This is used later |
|||
# if you enable "www." stripping or enforcement, in order to ensure that |
|||
# you don't bounce between http and https. |
|||
RewriteRule ^ - [E=protossl] |
|||
RewriteCond %{HTTPS} on |
|||
RewriteRule ^ - [E=protossl:s] |
|||
|
|||
# Make sure Authorization HTTP header is available to PHP |
|||
# even when running as CGI or FastCGI. |
|||
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] |
|||
|
|||
# Block access to "hidden" directories whose names begin with a period. This |
|||
# includes directories used by version control systems such as Subversion or |
|||
# Git to store control files. Files whose names begin with a period, as well |
|||
# as the control files used by CVS, are protected by the FilesMatch directive |
|||
# above. |
|||
# |
|||
# NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, it is |
|||
# not possible to block access to entire directories from .htaccess because |
|||
# <DirectoryMatch> is not allowed here. |
|||
# |
|||
# If you do not have mod_rewrite installed, you should remove these |
|||
# directories from your webroot or otherwise protect them from being |
|||
# downloaded. |
|||
RewriteRule "/\.|^\.(?!well-known/)" - [F] |
|||
|
|||
# If your site can be accessed both with and without the 'www.' prefix, you |
|||
# can use one of the following settings to redirect users to your preferred |
|||
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option: |
|||
# |
|||
# To redirect all users to access the site WITH the 'www.' prefix, |
|||
# (http://example.com/foo will be redirected to http://www.example.com/foo) |
|||
# uncomment the following: |
|||
# RewriteCond %{HTTP_HOST} . |
|||
# RewriteCond %{HTTP_HOST} !^www\. [NC] |
|||
# RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] |
|||
# |
|||
# To redirect all users to access the site WITHOUT the 'www.' prefix, |
|||
# (http://www.example.com/foo will be redirected to http://example.com/foo) |
|||
# uncomment the following: |
|||
# RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] |
|||
# RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301] |
|||
|
|||
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a |
|||
# VirtualDocumentRoot and the rewrite rules are not working properly. |
|||
# For example if your site is at http://example.com/drupal uncomment and |
|||
# modify the following line: |
|||
# RewriteBase /drupal |
|||
# |
|||
# If your site is running in a VirtualDocumentRoot at http://example.com/, |
|||
# uncomment the following line: |
|||
# RewriteBase / |
|||
|
|||
# Redirect common PHP files to their new locations. |
|||
RewriteCond %{REQUEST_URI} ^(.*)?/(install\.php) [OR] |
|||
RewriteCond %{REQUEST_URI} ^(.*)?/(rebuild\.php) |
|||
RewriteCond %{REQUEST_URI} !core |
|||
RewriteRule ^ %1/core/%2 [L,QSA,R=301] |
|||
|
|||
# Rewrite install.php during installation to see if mod_rewrite is working |
|||
RewriteRule ^core/install\.php core/install.php?rewrite=ok [QSA,L] |
|||
|
|||
# Pass all requests not referring directly to files in the filesystem to |
|||
# index.php. |
|||
RewriteCond %{REQUEST_FILENAME} !-f |
|||
RewriteCond %{REQUEST_FILENAME} !-d |
|||
RewriteCond %{REQUEST_URI} !=/favicon.ico |
|||
RewriteRule ^ index.php [L] |
|||
|
|||
# For security reasons, deny access to other PHP files on public sites. |
|||
# Note: The following URI conditions are not anchored at the start (^), |
|||
# because Drupal may be located in a subdirectory. To further improve |
|||
# security, you can replace '!/' with '!^/'. |
|||
# Allow access to PHP files in /core (like authorize.php or install.php): |
|||
RewriteCond %{REQUEST_URI} !/core/[^/]*\.php$ |
|||
# Allow access to test-specific PHP files: |
|||
RewriteCond %{REQUEST_URI} !/core/modules/system/tests/https?\.php |
|||
# Allow access to Statistics module's custom front controller. |
|||
# Copy and adapt this rule to directly execute PHP files in contributed or |
|||
# custom modules or to run another PHP application in the same directory. |
|||
RewriteCond %{REQUEST_URI} !/core/modules/statistics/statistics\.php$ |
|||
# Deny access to any other PHP files that do not match the rules above. |
|||
# Specifically, disallow autoload.php from being served directly. |
|||
RewriteRule "^(.+/.*|autoload)\.php($|/)" - [F] |
|||
|
|||
# Rules to correctly serve gzip compressed CSS and JS files. |
|||
# Requires both mod_rewrite and mod_headers to be enabled. |
|||
<IfModule mod_headers.c> |
|||
# Serve gzip compressed CSS files if they exist and the client accepts gzip. |
|||
RewriteCond %{HTTP:Accept-encoding} gzip |
|||
RewriteCond %{REQUEST_FILENAME}\.gz -s |
|||
RewriteRule ^(.*)\.css $1\.css\.gz [QSA] |
|||
|
|||
# Serve gzip compressed JS files if they exist and the client accepts gzip. |
|||
RewriteCond %{HTTP:Accept-encoding} gzip |
|||
RewriteCond %{REQUEST_FILENAME}\.gz -s |
|||
RewriteRule ^(.*)\.js $1\.js\.gz [QSA] |
|||
|
|||
# Serve correct content types, and prevent double compression. |
|||
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1,E=no-brotli:1] |
|||
RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1,E=no-brotli:1] |
|||
|
|||
<FilesMatch "(\.js\.gz|\.css\.gz)$"> |
|||
# Serve correct encoding type. |
|||
Header set Content-Encoding gzip |
|||
# Force proxies to cache gzipped & non-gzipped css/js files separately. |
|||
Header append Vary Accept-Encoding |
|||
</FilesMatch> |
|||
</IfModule> |
|||
</IfModule> |
|||
|
|||
# Various header fixes. |
|||
<IfModule mod_headers.c> |
|||
# Disable content sniffing, since it's an attack vector. |
|||
Header always set X-Content-Type-Options nosniff |
|||
# Disable Proxy header, since it's an attack vector. |
|||
RequestHeader unset Proxy |
|||
</IfModule> |
@ -0,0 +1,3 @@ |
|||
|
|||
Please read core/INSTALL.txt for detailed installation instructions for your |
|||
Drupal website. |
@ -0,0 +1,75 @@ |
|||
<img alt="Drupal Logo" src="https://www.drupal.org/files/Wordmark_blue_RGB.png" height="60px"> |
|||
|
|||
Drupal is an open source content management platform supporting a variety of |
|||
websites ranging from personal weblogs to large community-driven websites. For |
|||
more information, visit the Drupal website, [Drupal.org][Drupal.org], and join |
|||
the [Drupal community][Drupal community]. |
|||
|
|||
## Contributing |
|||
|
|||
Drupal is developed on [Drupal.org][Drupal.org], the home of the international |
|||
Drupal community since 2001! |
|||
|
|||
[Drupal.org][Drupal.org] hosts Drupal's [GitLab repository][GitLab repository], |
|||
its [issue queue][issue queue], and its [documentation][documentation]. Before |
|||
you start working on code, be sure to search the [issue queue][issue queue] and |
|||
create an issue if your aren't able to find an existing issue. |
|||
|
|||
Every issue on Drupal.org automatically creates a new community-accessible fork |
|||
that you can contribute to. Learn more about the code contribution process on |
|||
the [Issue forks & merge requests page][issue forks]. |
|||
|
|||
## Usage |
|||
|
|||
For a brief introduction, see [USAGE.txt](/core/USAGE.txt). You can also find |
|||
guides, API references, and more by visiting Drupal's [documentation |
|||
page][documentation]. |
|||
|
|||
You can quickly extend Drupal's core feature set by installing any of its |
|||
[thousands of free and open source modules][modules]. With Drupal and its |
|||
module ecosystem, you can often build most or all of what your project needs |
|||
before writing a single line of code. |
|||
|
|||
## Changelog |
|||
|
|||
Drupal keeps detailed [change records][changelog]. You can search Drupal's |
|||
changes for a record of every notable breaking change and new feature since |
|||
2011. |
|||
|
|||
## Security |
|||
|
|||
For a list of security announcements, see the [Security advisories |
|||
page][Security advisories] (available as [an RSS feed][security RSS]). This |
|||
page also describes how to subscribe to these announcements via email. |
|||
|
|||
For information about the Drupal security process, or to find out how to report |
|||
a potential security issue to the Drupal security team, see the [Security team |
|||
page][security team]. |
|||
|
|||
## Need a helping hand? |
|||
|
|||
Visit the [Support page][support] or browse [over a thousand Drupal |
|||
providers][service providers] offering design, strategy, development, and |
|||
hosting services. |
|||
|
|||
## Legal matters |
|||
|
|||
Know your rights when using Drupal by reading Drupal core's |
|||
[license](/core/LICENSE.txt). |
|||
|
|||
Learn about the [Drupal trademark and logo policy here][trademark]. |
|||
|
|||
[Drupal.org]: https://www.drupal.org |
|||
[Drupal community]: https://www.drupal.org/community |
|||
[GitLab repository]: https://git.drupalcode.org/project/drupal |
|||
[issue queue]: https://www.drupal.org/project/issues/drupal |
|||
[issue forks]: https://www.drupal.org/drupalorg/docs/gitlab-integration/issue-forks-merge-requests |
|||
[documentation]: https://www.drupal.org/documentation |
|||
[changelog]: https://www.drupal.org/list-changes/drupal |
|||
[modules]: https://www.drupal.org/project/project_module |
|||
[security advisories]: https://www.drupal.org/security |
|||
[security RSS]: https://www.drupal.org/security/rss.xml |
|||
[security team]: https://www.drupal.org/drupal-security-team |
|||
[service providers]: https://www.drupal.org/drupal-services |
|||
[support]: https://www.drupal.org/support |
|||
[trademark]: https://www.drupal.com/trademark |
@ -0,0 +1,16 @@ |
|||
<?php |
|||
|
|||
/** |
|||
* @file |
|||
* Includes the autoloader created by Composer. |
|||
* |
|||
* This file was generated by drupal-scaffold. |
|||
* |
|||
* @see composer.json |
|||
* @see index.php |
|||
* @see core/install.php |
|||
* @see core/rebuild.php |
|||
* @see core/modules/statistics/statistics.php |
|||
*/ |
|||
|
|||
return require __DIR__ . '/../vendor/autoload.php'; |
@ -0,0 +1,58 @@ |
|||
{ |
|||
"version": "0.1", |
|||
"language": "en-US", |
|||
"allowCompoundWords": false, |
|||
"ignorePaths": [ |
|||
".*.json", |
|||
".*ignore", |
|||
"composer.lock", |
|||
"assets/vendor/**", |
|||
"lib/Drupal/Component/Diff/**", |
|||
"lib/Drupal/Component/Transliteration/data/**", |
|||
"lib/Drupal/Core/File/MimeType/ExtensionMimeTypeGuesser.php", |
|||
"**/LICENSE.txt", |
|||
"modules/**/Migrate*Test.php", |
|||
"modules/color/preview.html", |
|||
"modules/color/tests/modules/color_test/themes/color_test_theme/color/preview.html", |
|||
"modules/media/tests/fixtures/oembed/*", |
|||
"modules/migrate_drupal/tests/fixtures/drupal6.php", |
|||
"modules/migrate_drupal/tests/fixtures/drupal7.php", |
|||
"modules/search/tests/UnicodeTest.txt", |
|||
"modules/system/tests/logo.svgz", |
|||
"node_modules/*", |
|||
"profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/**/*", |
|||
"tests/fixtures/files/*", |
|||
"tests/Drupal/Tests/Component/Annotation/Doctrine/**", |
|||
"themes/bartik/color/preview.html", |
|||
"themes/olivero/fonts/**", |
|||
"COPYRIGHT.txt", |
|||
"MAINTAINERS.txt", |
|||
"package.json", |
|||
"yarn.lock", |
|||
"misc/cspell/dictionary.txt" |
|||
], |
|||
"ignoreRegExpList": [ |
|||
"^msgstr .*", |
|||
"!!binary .*", |
|||
"%[0-9][0-9A-F]", |
|||
"\\Wi18n" |
|||
], |
|||
"dictionaries": ["drupal","companies", "fonts", "html", "php", "softwareTerms"], |
|||
"dictionaryDefinitions": [ |
|||
{ "name": "drupal", "path": "./misc/cspell/dictionary.txt"} |
|||
], |
|||
"flagWords": [ |
|||
"grey", |
|||
"hte" |
|||
], |
|||
"overrides": [ |
|||
{ |
|||
"filename": "**/{*.engine,*.inc,*.install,*.module,*.profile,*.theme}", |
|||
"languageId": "php" |
|||
}, |
|||
{ |
|||
"filename": "**/scripts/{*.php.txt, *.sh}", |
|||
"languageId": "php" |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,77 @@ |
|||
# This is a dotenv file used by JavaScript tasks. |
|||
# Copy this to '.env' to override. |
|||
|
|||
############################# |
|||
# General Test Environment # |
|||
############################# |
|||
# This is the URL that Drupal can be accessed by. You don't need an installed |
|||
# site here, just make sure you can at least access the installer screen. If you |
|||
# don't already have one running, e.g. Apache, you can use PHP's built-in web |
|||
# server by running the following command in your Drupal root folder: |
|||
# php -S localhost:8888 .ht.router.php |
|||
# DRUPAL_TEST_BASE_URL=http://localhost:8888 |
|||
DRUPAL_TEST_BASE_URL= |
|||
|
|||
# Tests need to be executed with a user in the same group as the web server |
|||
# user. |
|||
#DRUPAL_TEST_WEBSERVER_USER=www-data |
|||
|
|||
# By default we use sqlite as database. Use |
|||
# mysql://username:password@localhost/databasename#table_prefix for mysql. |
|||
DRUPAL_TEST_DB_URL=sqlite://localhost/sites/default/files/db.sqlite |
|||
|
|||
############# |
|||
# Webdriver # |
|||
############# |
|||
|
|||
# If Chromedriver is running as a service elsewhere, set it here. |
|||
# When using DRUPAL_TEST_CHROMEDRIVER_AUTOSTART leave this at the default settings. |
|||
DRUPAL_TEST_WEBDRIVER_HOSTNAME=localhost |
|||
DRUPAL_TEST_WEBDRIVER_PORT=9515 |
|||
|
|||
# If using Selenium, override the path prefix here. |
|||
# See http://nightwatchjs.org/gettingstarted#browser-drivers-setup |
|||
#DRUPAL_TEST_WEBDRIVER_PATH_PREFIX=/wd/hub |
|||
|
|||
################ |
|||
# Chromedriver # |
|||
################ |
|||
|
|||
# Automatically start chromedriver for local development. Set to false when you |
|||
# use your own webdriver or chromedriver setup. |
|||
# Also set it to false when you use a different browser for testing. |
|||
DRUPAL_TEST_CHROMEDRIVER_AUTOSTART=true |
|||
|
|||
# A list of arguments to pass to Chrome, separated by spaces |
|||
# e.g. `--disable-gpu --headless --no-sandbox`. |
|||
#DRUPAL_TEST_WEBDRIVER_CHROME_ARGS= |
|||
|
|||
############## |
|||
# Nightwatch # |
|||
############## |
|||
|
|||
# Nightwatch generates output files. Use this to specify the location where these |
|||
# files need to be stored. The default location is ignored by git, if you modify |
|||
# the location you will probably want to add this location to your .gitignore. |
|||
DRUPAL_NIGHTWATCH_OUTPUT=reports/nightwatch |
|||
|
|||
# The path that Nightwatch searches for assumes the same directory structure as |
|||
# when you download Drupal core. If you have Drupal installed into a docroot |
|||
# folder, you can use the following folder structure to add integration tests |
|||
# for your project, outside of tests specifically for custom modules/themes/profiles. |
|||
# |
|||
# . |
|||
# ├── docroot |
|||
# │ ├── core |
|||
# ├── tests |
|||
# │ ├── Nightwatch |
|||
# │ │ ├── Tests |
|||
# │ │ │ ├── myTest.js |
|||
# |
|||
# and then set DRUPAL_NIGHTWATCH_SEARCH_DIRECTORY=../ |
|||
# |
|||
#DRUPAL_NIGHTWATCH_SEARCH_DIRECTORY= |
|||
|
|||
# Filter directories to look for tests. This uses minimatch syntax. |
|||
# Separate folders with a comma. |
|||
DRUPAL_NIGHTWATCH_IGNORE_DIRECTORIES=node_modules,vendor,.*,sites/*/files,sites/*/private,sites/simpletest |
@ -0,0 +1,10 @@ |
|||
assets/vendor/**/* |
|||
node_modules/**/* |
|||
**/js_test_files/**/* |
|||
*.js |
|||
!*.es6.js |
|||
modules/locale/tests/locale_test.es6.js |
|||
!tests/Drupal/Nightwatch/**/*.js |
|||
misc/polyfills/array.find.es6.js |
|||
misc/polyfills/element.closest.es6.js |
|||
misc/polyfills/object.assign.es6.js |
@ -0,0 +1,54 @@ |
|||
{ |
|||
"extends": [ |
|||
"airbnb", |
|||
"plugin:prettier/recommended" |
|||
], |
|||
"root": true, |
|||
"env": { |
|||
"browser": true, |
|||
"es6": true, |
|||
"node": true |
|||
}, |
|||
"globals": { |
|||
"Drupal": true, |
|||
"drupalSettings": true, |
|||
"drupalTranslations": true, |
|||
"jQuery": true, |
|||
"_": true, |
|||
"Cookies": true, |
|||
"Backbone": true, |
|||
"Modernizr": true, |
|||
"Popper": true, |
|||
"Shepherd": true, |
|||
"Sortable": true, |
|||
"once": true, |
|||
"CKEDITOR": true, |
|||
"tabbable": true |
|||
}, |
|||
"settings": { |
|||
"react": { |
|||
"version": "latest" |
|||
} |
|||
}, |
|||
"rules": { |
|||
"prettier/prettier": "error", |
|||
"consistent-return": ["off"], |
|||
"no-underscore-dangle": ["off"], |
|||
"max-nested-callbacks": ["warn", 3], |
|||
"import/no-mutable-exports": ["warn"], |
|||
"no-plusplus": ["warn", { |
|||
"allowForLoopAfterthoughts": true |
|||
}], |
|||
"no-param-reassign": ["off"], |
|||
"no-prototype-builtins": ["off"], |
|||
"valid-jsdoc": ["warn", { |
|||
"prefer": { |
|||
"returns": "return", |
|||
"property": "prop" |
|||
}, |
|||
"requireReturn": false |
|||
}], |
|||
"no-unused-vars": ["warn"], |
|||
"operator-linebreak": ["error", "after", { "overrides": { "?": "ignore", ":": "ignore" } }] |
|||
} |
|||
} |
@ -0,0 +1,94 @@ |
|||
{ |
|||
"extends": "eslint:recommended", |
|||
"root": true, |
|||
"env": { |
|||
"browser": true |
|||
}, |
|||
"globals": { |
|||
"Drupal": true, |
|||
"drupalSettings": true, |
|||
"drupalTranslations": true, |
|||
"domready": true, |
|||
"jQuery": true, |
|||
"_": true, |
|||
"matchMedia": true, |
|||
"Backbone": true, |
|||
"Modernizr": true, |
|||
"CKEDITOR": true |
|||
}, |
|||
"rules": { |
|||
"array-bracket-spacing": ["error", "never"], |
|||
"block-scoped-var": "error", |
|||
"brace-style": ["error", "stroustrup", {"allowSingleLine": true}], |
|||
"comma-dangle": ["error", "never"], |
|||
"comma-spacing": "error", |
|||
"comma-style": ["error", "last"], |
|||
"computed-property-spacing": ["error", "never"], |
|||
"curly": ["error", "all"], |
|||
"eol-last": "error", |
|||
"eqeqeq": ["error", "smart"], |
|||
"guard-for-in": "error", |
|||
"indent": ["error", 2, {"SwitchCase": 1}], |
|||
"key-spacing": ["error", {"beforeColon": false, "afterColon": true}], |
|||
"keyword-spacing": ["error", {"before": true, "after": true}], |
|||
"linebreak-style": ["error", "unix"], |
|||
"lines-around-comment": ["error", {"beforeBlockComment": true, "afterBlockComment": false}], |
|||
"new-parens": "error", |
|||
"no-array-constructor": "error", |
|||
"no-caller": "error", |
|||
"no-catch-shadow": "error", |
|||
"no-eval": "error", |
|||
"no-extend-native": "error", |
|||
"no-extra-bind": "error", |
|||
"no-extra-parens": ["error", "functions"], |
|||
"no-implied-eval": "error", |
|||
"no-iterator": "error", |
|||
"no-label-var": "error", |
|||
"no-labels": "error", |
|||
"no-lone-blocks": "error", |
|||
"no-loop-func": "error", |
|||
"no-multi-spaces": "error", |
|||
"no-multi-str": "error", |
|||
"no-native-reassign": "error", |
|||
"no-nested-ternary": "error", |
|||
"no-new-func": "error", |
|||
"no-new-object": "error", |
|||
"no-new-wrappers": "error", |
|||
"no-octal-escape": "error", |
|||
"no-process-exit": "error", |
|||
"no-proto": "error", |
|||
"no-return-assign": "error", |
|||
"no-script-url": "error", |
|||
"no-sequences": "error", |
|||
"no-shadow-restricted-names": "error", |
|||
"no-spaced-func": "error", |
|||
"no-trailing-spaces": "error", |
|||
"no-undef-init": "error", |
|||
"no-undefined": "error", |
|||
"no-unused-expressions": "error", |
|||
"no-unused-vars": ["error", {"vars": "all", "args": "none"}], |
|||
"no-with": "error", |
|||
"object-curly-spacing": ["error", "never"], |
|||
"one-var": ["error", "never"], |
|||
"quote-props": ["error", "consistent-as-needed"], |
|||
"quotes": ["error", "single", "avoid-escape"], |
|||
"semi": ["error", "always"], |
|||
"semi-spacing": ["error", {"before": false, "after": true}], |
|||
"space-before-blocks": ["error", "always"], |
|||
"space-before-function-paren": ["error", {"anonymous": "always", "named": "never"}], |
|||
"space-in-parens": ["error", "never"], |
|||
"space-infix-ops": "error", |
|||
"space-unary-ops": ["error", { "words": true, "nonwords": false }], |
|||
"spaced-comment": ["error", "always"], |
|||
"strict": ["error", "function"], |
|||
"yoda": ["error", "never"], |
|||
"max-nested-callbacks": ["warn", 3], |
|||
"valid-jsdoc": ["warn", { |
|||
"prefer": { |
|||
"returns": "return", |
|||
"property": "prop" |
|||
}, |
|||
"requireReturn": false |
|||
}] |
|||
} |
|||
} |
@ -0,0 +1,15 @@ |
|||
{ |
|||
"extends": "./.eslintrc.json", |
|||
"rules": { |
|||
"no-shadow": "off", |
|||
"no-new": "off", |
|||
"no-continue": "off", |
|||
"new-cap": "off", |
|||
"max-len": "off", |
|||
"default-case": "off", |
|||
"prefer-destructuring": "off", |
|||
"react/no-this-in-sfc": "off", |
|||
"react/destructuring-assignment": "off", |
|||
"import/named": "off" |
|||
} |
|||
} |
@ -0,0 +1,21 @@ |
|||
# Ignore node_modules folder created when installing core's JavaScript |
|||
# dependencies. |
|||
node_modules |
|||
yarn-error.log |
|||
|
|||
# Ignore overrides of core's phpcs.xml.dist and phpunit.xml.dist. |
|||
phpcs.xml |
|||
phpunit.xml |
|||
|
|||
# Ignore package-lock.json that is automatically created when adding |
|||
# dependencies by users of NPMv5. |
|||
package-lock.json |
|||
|
|||
# Ignore test reports |
|||
reports |
|||
|
|||
# Ignore local Nightwatch settings |
|||
nightwatch.settings.json |
|||
|
|||
# Ignore dotenv |
|||
.env |
@ -0,0 +1 @@ |
|||
modules/locale/tests/locale_test.es6.js |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"printWidth": 80, |
|||
"semi": true, |
|||
"singleQuote": true, |
|||
"trailingComma": "all" |
|||
} |
@ -0,0 +1,10 @@ |
|||
themes/claro/**/*.css |
|||
!themes/claro/**/*.pcss.css |
|||
themes/olivero/**/*.css |
|||
!themes/olivero/**/*.pcss.css |
|||
misc/dialog/off-canvas.reset.css |
|||
misc/dialog/off-canvas.base.css |
|||
themes/stable/css/core/dialog/off-canvas.reset.css |
|||
themes/stable/css/core/dialog/off-canvas.base.css |
|||
themes/stable9/css/core/dialog/off-canvas.reset.css |
|||
themes/stable9/css/core/dialog/off-canvas.base.css |
@ -0,0 +1,468 @@ |
|||
{ |
|||
"extends": "stylelint-config-standard", |
|||
"plugins": [ |
|||
"stylelint-order" |
|||
], |
|||
"rules": { |
|||
"comment-empty-line-before": null, |
|||
"function-linear-gradient-no-nonstandard-direction": null, |
|||
"function-whitespace-after": null, |
|||
"no-descending-specificity": null, |
|||
"no-duplicate-selectors": null, |
|||
"no-unknown-animations": true, |
|||
"media-feature-name-no-unknown": [true, { |
|||
"ignoreMediaFeatureNames": [ |
|||
"prefers-reduced-motion", |
|||
"min--moz-device-pixel-ratio" |
|||
] |
|||
}], |
|||
"number-leading-zero": "always", |
|||
"order/order": [ |
|||
"custom-properties", |
|||
"dollar-variables", |
|||
{ |
|||
"type": "at-rule", |
|||
"hasBlock": false |
|||
}, |
|||
"declarations", |
|||
"rules", |
|||
{ |
|||
"type": "at-rule", |
|||
"hasBlock": true |
|||
} |
|||
], |
|||
"order/properties-order": [ |
|||
"position", |
|||
"z-index", |
|||
"top", |
|||
"right", |
|||
"bottom", |
|||
"left", |
|||
|
|||
"display", |
|||
"visibility", |
|||
"float", |
|||
"clear", |
|||
"overflow", |
|||
"overflow-x", |
|||
"overflow-y", |
|||
"-ms-overflow-x", |
|||
"-ms-overflow-y", |
|||
"-webkit-overflow-scrolling", |
|||
"clip", |
|||
"zoom", |
|||
|
|||
"flex", |
|||
"flex-flow", |
|||
"flex-direction", |
|||
"flex-wrap", |
|||
"flex-basis", |
|||
"flex-grow", |
|||
"flex-shrink", |
|||
"flex-order", |
|||
"flex-pack", |
|||
|
|||
"-ms-grid", |
|||
"grid", |
|||
"grid-area", |
|||
"grid-template", |
|||
"grid-template-areas", |
|||
"-ms-grid-rows", |
|||
"grid-template-rows", |
|||
"-ms-grid-columns", |
|||
"grid-template-columns", |
|||
"grid-row", |
|||
"-ms-grid-row", |
|||
"grid-row-start", |
|||
"grid-row-end", |
|||
"grid-column", |
|||
"-ms-grid-column", |
|||
"grid-column-start", |
|||
"grid-column-end", |
|||
"grid-auto-rows", |
|||
"grid-auto-columns", |
|||
"grid-auto-flow", |
|||
"grid-gap", |
|||
"grid-row-gap", |
|||
"grid-column-gap", |
|||
"-ms-grid-row-align", |
|||
"-ms-grid-column-align", |
|||
|
|||
"place-content", |
|||
"place-items", |
|||
"align-content", |
|||
"align-items", |
|||
"align-self", |
|||
"justify-content", |
|||
"justify-items", |
|||
"justify-self", |
|||
|
|||
"order", |
|||
|
|||
"-webkit-box-sizing", |
|||
"-moz-box-sizing", |
|||
"box-sizing", |
|||
"width", |
|||
"min-width", |
|||
"max-width", |
|||
"height", |
|||
"min-height", |
|||
"max-height", |
|||
"margin", |
|||
"margin-top", |
|||
"margin-right", |
|||
"margin-bottom", |
|||
"margin-left", |
|||
"margin-block-start", |
|||
"margin-block-end", |
|||
"margin-inline-start", |
|||
"margin-inline-end", |
|||
"padding", |
|||
"padding-top", |
|||
"padding-right", |
|||
"padding-bottom", |
|||
"padding-left", |
|||
"padding-block-start", |
|||
"padding-block-end", |
|||
"padding-inline-start", |
|||
"padding-inline-end", |
|||
|
|||
"table-layout", |
|||
"-webkit-columns", |
|||
"-moz-columns", |
|||
"columns", |
|||
"-webkit-column-span", |
|||
"-moz-column-span", |
|||
"column-span", |
|||
"-webkit-column-width", |
|||
"-moz-column-width", |
|||
"column-width", |
|||
"-webkit-column-count", |
|||
"-moz-column-count", |
|||
"column-count", |
|||
"-webkit-column-fill", |
|||
"-moz-column-fill", |
|||
"column-fill", |
|||
"-webkit-column-gap", |
|||
"-moz-column-gap", |
|||
"column-gap", |
|||
"-webkit-column-rule", |
|||
"-moz-column-rule", |
|||
"column-rule", |
|||
"-webkit-column-rule-width", |
|||
"-moz-column-rule-width", |
|||
"column-rule-width", |
|||
"-webkit-column-rule-style", |
|||
"-moz-column-rule-style", |
|||
"column-rule-style", |
|||
"-webkit-column-rule-color", |
|||
"-moz-column-rule-color", |
|||
"column-rule-color", |
|||
"empty-cells", |
|||
"caption-side", |
|||
"border-spacing", |
|||
"border-collapse", |
|||
"$counter-style", |
|||
"list-style", |
|||
"list-style-position", |
|||
"list-style-type", |
|||
"list-style-image", |
|||
|
|||
"content", |
|||
"quotes", |
|||
"counter-reset", |
|||
"counter-increment", |
|||
"resize", |
|||
"cursor", |
|||
"-webkit-user-select", |
|||
"-moz-user-select", |
|||
"-ms-user-select", |
|||
"user-select", |
|||
"nav-index", |
|||
"nav-up", |
|||
"nav-right", |
|||
"nav-down", |
|||
"nav-left", |
|||
"-webkit-transition", |
|||
"-moz-transition", |
|||
"-ms-transition", |
|||
"-o-transition", |
|||
"transition", |
|||
"-webkit-transition-delay", |
|||
"-moz-transition-delay", |
|||
"-ms-transition-delay", |
|||
"-o-transition-delay", |
|||
"transition-delay", |
|||
"-webkit-transition-timing-function", |
|||
"-moz-transition-timing-function", |
|||
"-ms-transition-timing-function", |
|||
"-o-transition-timing-function", |
|||
"transition-timing-function", |
|||
"-webkit-transition-duration", |
|||
"-moz-transition-duration", |
|||
"-ms-transition-duration", |
|||
"-o-transition-duration", |
|||
"transition-duration", |
|||
"-webkit-transition-property", |
|||
"-moz-transition-property", |
|||
"-ms-transition-property", |
|||
"-o-transition-property", |
|||
"transition-property", |
|||
"-webkit-transform", |
|||
"-moz-transform", |
|||
"-ms-transform", |
|||
"-o-transform", |
|||
"transform", |
|||
"-webkit-transform-origin", |
|||
"-moz-transform-origin", |
|||
"-ms-transform-origin", |
|||
"-o-transform-origin", |
|||
"transform-origin", |
|||
"$keyframes", |
|||
"-webkit-animation", |
|||
"-moz-animation", |
|||
"-ms-animation", |
|||
"-o-animation", |
|||
"animation", |
|||
"-webkit-animation-name", |
|||
"-moz-animation-name", |
|||
"-ms-animation-name", |
|||
"-o-animation-name", |
|||
"animation-name", |
|||
"-webkit-animation-duration", |
|||
"-moz-animation-duration", |
|||
"-ms-animation-duration", |
|||
"-o-animation-duration", |
|||
"animation-duration", |
|||
"-webkit-animation-play-state", |
|||
"-moz-animation-play-state", |
|||
"-ms-animation-play-state", |
|||
"-o-animation-play-state", |
|||
"animation-play-state", |
|||
"-webkit-animation-timing-function", |
|||
"-moz-animation-timing-function", |
|||
"-ms-animation-timing-function", |
|||
"-o-animation-timing-function", |
|||
"animation-timing-function", |
|||
"-webkit-animation-delay", |
|||
"-moz-animation-delay", |
|||
"-ms-animation-delay", |
|||
"-o-animation-delay", |
|||
"animation-delay", |
|||
"-webkit-animation-iteration-count", |
|||
"-moz-animation-iteration-count", |
|||
"-ms-animation-iteration-count", |
|||
"-o-animation-iteration-count", |
|||
"animation-iteration-count", |
|||
"-webkit-animation-direction", |
|||
"-moz-animation-direction", |
|||
"-ms-animation-direction", |
|||
"-o-animation-direction", |
|||
"animation-direction", |
|||
"text-align", |
|||
"-webkit-text-align-last", |
|||
"-moz-text-align-last", |
|||
"-ms-text-align-last", |
|||
"text-align-last", |
|||
"vertical-align", |
|||
"white-space", |
|||
"text-decoration", |
|||
"text-emphasis", |
|||
"text-emphasis-color", |
|||
"text-emphasis-style", |
|||
"text-emphasis-position", |
|||
"text-indent", |
|||
"-ms-text-justify", |
|||
"text-justify", |
|||
"text-transform", |
|||
"letter-spacing", |
|||
"word-spacing", |
|||
"-ms-writing-mode", |
|||
"text-outline", |
|||
"text-transform", |
|||
"text-wrap", |
|||
"text-overflow", |
|||
"-ms-text-overflow", |
|||
"text-overflow-ellipsis", |
|||
"text-overflow-mode", |
|||
"-ms-word-wrap", |
|||
"word-wrap", |
|||
"word-break", |
|||
"-ms-word-break", |
|||
"-moz-tab-size", |
|||
"-o-tab-size", |
|||
"tab-size", |
|||
"-webkit-hyphens", |
|||
"-moz-hyphens", |
|||
"hyphens", |
|||
"pointer-events", |
|||
"direction", |
|||
"unicode-bidi", |
|||
"orphans", |
|||
"widows", |
|||
"object-fit", |
|||
"object-position", |
|||
|
|||
"opacity", |
|||
"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity", |
|||
"-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha", |
|||
"-webkit-filter", |
|||
"-ms-filter", |
|||
"filter", |
|||
"-ms-interpolation-mode", |
|||
"color", |
|||
"border", |
|||
"border-collapse", |
|||
"border-width", |
|||
"border-style", |
|||
"border-color", |
|||
"border-top", |
|||
"border-top-width", |
|||
"border-top-style", |
|||
"border-top-color", |
|||
"border-right", |
|||
"border-right-width", |
|||
"border-right-style", |
|||
"border-right-color", |
|||
"border-bottom", |
|||
"border-bottom-width", |
|||
"border-bottom-style", |
|||
"border-bottom-color", |
|||
"border-left", |
|||
"border-left-width", |
|||
"border-left-style", |
|||
"border-left-color", |
|||
"border-block-start", |
|||
"border-block-start-width", |
|||
"border-block-start-style", |
|||
"border-block-start-color", |
|||
"border-inline-end", |
|||
"border-inline-end-width", |
|||
"border-inline-end-style", |
|||
"border-inline-end-color", |
|||
"border-block-end", |
|||
"border-block-end-width", |
|||
"border-block-end-style", |
|||
"border-block-end-color", |
|||
"border-inline-start", |
|||
"border-inline-start-width", |
|||
"border-inline-start-style", |
|||
"border-inline-start-color", |
|||
"-webkit-border-radius", |
|||
"-moz-border-radius", |
|||
"border-radius", |
|||
"-webkit-border-top-left-radius", |
|||
"-moz-border-radius-topleft", |
|||
"border-top-left-radius", |
|||
"-webkit-border-top-right-radius", |
|||
"-moz-border-radius-topright", |
|||
"border-top-right-radius", |
|||
"-webkit-border-bottom-right-radius", |
|||
"-moz-border-radius-bottomright", |
|||
"border-bottom-right-radius", |
|||
"-webkit-border-bottom-left-radius", |
|||
"-moz-border-radius-bottomleft", |
|||
"border-bottom-left-radius", |
|||
"-webkit-border-image", |
|||
"-moz-border-image", |
|||
"-o-border-image", |
|||
"border-image", |
|||
"-webkit-border-image-source", |
|||
"-moz-border-image-source", |
|||
"-o-border-image-source", |
|||
"border-image-source", |
|||
"-webkit-border-image-slice", |
|||
"-moz-border-image-slice", |
|||
"-o-border-image-slice", |
|||
"border-image-slice", |
|||
"-webkit-border-image-width", |
|||
"-moz-border-image-width", |
|||
"-o-border-image-width", |
|||
"border-image-width", |
|||
"-webkit-border-image-outset", |
|||
"-moz-border-image-outset", |
|||
"-o-border-image-outset", |
|||
"border-image-outset", |
|||
"-webkit-border-image-repeat", |
|||
"-moz-border-image-repeat", |
|||
"-o-border-image-repeat", |
|||
"border-image-repeat", |
|||
"outline", |
|||
"outline-width", |
|||
"outline-style", |
|||
"outline-color", |
|||
"outline-offset", |
|||
"background", |
|||
"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader", |
|||
"background-color", |
|||
"background-image", |
|||
"background-repeat", |
|||
"background-attachment", |
|||
"background-position", |
|||
"background-position-x", |
|||
"-ms-background-position-x", |
|||
"background-position-y", |
|||
"-ms-background-position-y", |
|||
"-webkit-background-clip", |
|||
"-moz-background-clip", |
|||
"background-clip", |
|||
"background-origin", |
|||
"-webkit-background-size", |
|||
"-moz-background-size", |
|||
"-o-background-size", |
|||
"background-size", |
|||
"box-decoration-break", |
|||
"-webkit-box-shadow", |
|||
"-moz-box-shadow", |
|||
"box-shadow", |
|||
"filter:progid:DXImageTransform.Microsoft.gradient", |
|||
"-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient", |
|||
"text-shadow", |
|||
|
|||
"$font-face", |
|||
"font", |
|||
"font-family", |
|||
"src", |
|||
"$font-feature-values", |
|||
"$swash", |
|||
"$annotation", |
|||
"$ornaments", |
|||
"$stylistic", |
|||
"$styleset", |
|||
"$character-variant", |
|||
"font-variant-alternates", |
|||
"font-size", |
|||
"font-weight", |
|||
"font-style", |
|||
"font-variant", |
|||
"font-size-adjust", |
|||
"font-stretch", |
|||
"font-effect", |
|||
"font-emphasize", |
|||
"font-emphasize-position", |
|||
"font-emphasize-style", |
|||
"font-smooth", |
|||
"line-height" |
|||
], |
|||
"property-no-unknown": null, |
|||
"rule-empty-line-before": null, |
|||
"selector-pseudo-element-colon-notation": null, |
|||
"shorthand-property-no-redundant-values": null, |
|||
"string-quotes": "double", |
|||
"unit-allowed-list": ["ch", "deg", "em", "ex", "fr", "ms", "rem", "%", "s", "px", "vw", "vh"], |
|||
"value-keyword-case": ["lower", { |
|||
"ignoreProperties": [ |
|||
"--font-family", |
|||
"font-family" |
|||
] |
|||
}] |
|||
}, |
|||
"ignoreFiles": [ |
|||
"assets/vendor/**/*.css", |
|||
"tests/Drupal/Tests/Core/Asset/css_test_files/**/*.css", |
|||
"modules/media/css/plugins/drupalmedia/ckeditor.drupalmedia.css", |
|||
"themes/stable/css/core/assets/vendor/**/*.css", |
|||
"themes/stable9/css/core/assets/vendor/**/*.css", |
|||
"themes/stable9/css/media/plugins/drupalmedia/ckeditor.drupalmedia.css" |
|||
] |
|||
} |
@ -0,0 +1,8 @@ |
|||
New minor (feature) releases of Drupal are released every six months and |
|||
patch (bugfix) releases are released every month. More information on the |
|||
Drupal release cycle: https://www.drupal.org/core/release-cycle-overview |
|||
|
|||
* For a full list of fixes in the latest release, visit: |
|||
https://www.drupal.org/latest-release |
|||
* API change records for Drupal core: |
|||
https://www.drupal.org/list-changes/drupal |
@ -0,0 +1,64 @@ |
|||
All Drupal code is Copyright 2001 - 2020 by the original authors. |
|||
|
|||
This program is free software; you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation; either version 2 of the License, or (at |
|||
your option) any later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, but |
|||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
|||
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|||
for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with this program as the file LICENSE.txt; if not, please see |
|||
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. |
|||
|
|||
Drupal is a registered trademark of Dries Buytaert. |
|||
|
|||
Drupal includes works under other copyright notices and distributed |
|||
according to the terms of the GNU General Public License or a compatible |
|||
license, including: |
|||
|
|||
JavaScript |
|||
|
|||
Farbtastic - Copyright (c) 2010 Matt Farina |
|||
|
|||
HTML5 Shiv - Copyright (c) 2014 Alexander Farkas, Jonathan Neal, Paul Irish, |
|||
and John-David Dalton |
|||
|
|||
jQuery - Copyright (c) 2011 John Resig |
|||
|
|||
jQuery Bgiframe - Copyright (c) 2013 Brandon Aaron (http://brandonaaron.net) |
|||
|
|||
jQuery BBQ - Copyright (c) 2010 "Cowboy" Ben Alman |
|||
|
|||
jQuery Cookie - Copyright (c) 2014 Klaus Hartl |
|||
|
|||
jQuery Form - Copyright (c) 2017 Kevin Morris |
|||
|
|||
jQuery Globalize - Copyright (c) 2012 Software Freedom Conservancy, Inc. |
|||
|
|||
jQuery Mousewheel - Copyright OpenJS Foundation and other contributors |
|||
(https://openjsf.org/) |
|||
|
|||
jQuery Metadata - Copyright (c) 2006 John Resig, Yehuda Katz, Jörn Zaefferer, |
|||
Paul McLanahan |
|||
|
|||
jQuery Once - Copyright (c) 2009 Konstantin Käfer |
|||
|
|||
jQuery UI - Copyright (c) 2015 by the authors and other contributors |
|||
(http://jqueryui.com/about) |
|||
|
|||