├── .env.dist ├── .gitignore ├── composer.json ├── config └── sync │ ├── .gitkeep │ └── .htaccess ├── docker-compose-ci.yml ├── docker-compose.blackfire.yml ├── docker-compose.nginx.yml ├── docker-compose.yml ├── docker └── solr │ └── 8.x │ └── drupal │ ├── accents_en.txt │ ├── accents_und.txt │ ├── elevate.xml │ ├── protwords_en.txt │ ├── protwords_und.txt │ ├── schema.xml │ ├── schema_extra_fields.xml │ ├── schema_extra_types.xml │ ├── solrconfig.xml │ ├── solrconfig_extra.xml │ ├── solrconfig_index.xml │ ├── solrconfig_query.xml │ ├── solrconfig_requestdispatcher.xml │ ├── solrcore.properties │ ├── stopwords_en.txt │ ├── stopwords_und.txt │ ├── synonyms_en.txt │ └── synonyms_und.txt ├── drush ├── drush.yml └── sites │ └── self.site.yml ├── ecs.php ├── nginx └── custom-nginx.conf ├── patches ├── DS-5443-accessibility.patch └── like-dislike-fix-webprofiler.patch ├── readme.md ├── rector.php └── travis_artifacts ├── .gitignore └── readme.txt /.env.dist: -------------------------------------------------------------------------------- 1 | ### PROJECT SETTINGS 2 | PROJECT_NAME=social 3 | PROJECT_BASE_URL=social.localhost 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore directories generated by Composer 2 | bin 3 | vendor 4 | html 5 | 6 | # Ignore the composer.lock file since we never want this in the repository. 7 | composer.lock 8 | 9 | # Compiled source # 10 | ################### 11 | *.com 12 | *.class 13 | *.dll 14 | *.exe 15 | *.o 16 | *.so 17 | 18 | # Packages # 19 | ############ 20 | # it's better to unpack these files and commit the raw source 21 | # git has its own built in compression methods 22 | *.7z 23 | *.dmg 24 | *.gz 25 | *.iso 26 | *.jar 27 | *.rar 28 | *.tar 29 | *.zip 30 | 31 | # Logs and databases # 32 | ###################### 33 | *.log 34 | *.sqlite 35 | *.mysql 36 | *.sql 37 | *.sql.gz 38 | 39 | # Sublime generated files # 40 | ########################### 41 | sublime-project 42 | *.sublime-project 43 | *.sublime-workspace 44 | *.sublime-projectcompletions 45 | *.sublime-* 46 | 47 | # SASS # 48 | ######## 49 | .sass-cache 50 | *.sass-cache* 51 | **/sass/*.css 52 | 53 | # Developer files # 54 | ################### 55 | docker_build/drupal8/development/vendor 56 | docker_build/drupal8/ci/vendor 57 | docker_build/drupal8/vendor 58 | docker-compose.override.yml 59 | .env 60 | 61 | ## Directory-based project format: 62 | .DS_Store 63 | .idea 64 | 65 | 66 | ## File-based project format: 67 | *.ipr 68 | *.iws 69 | 70 | ## Plugin-specific files: 71 | 72 | # IntelliJ 73 | /out/ 74 | 75 | # mpeltonen/sbt-idea plugin 76 | .idea_modules/ 77 | 78 | # JIRA plugin 79 | atlassian-ide-plugin.xml 80 | 81 | ## Platform.sh local files 82 | .platform/local 83 | 84 | # Social dev scripts # 85 | ################ 86 | scripts/social/ 87 | scripts/enterprise/ 88 | scripts/gpi/ 89 | 90 | # Privete files folder 91 | files_private 92 | 93 | # Drupal libraries 94 | html/libraries 95 | /.editorconfig 96 | /.gitattributes 97 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "goalgorilla/social_docker", 3 | "description": "Social docker template for composer based Open Social projects.", 4 | "type": "project", 5 | "license": "GPL-2.0-or-later", 6 | "minimum-stability": "dev", 7 | "prefer-stable": true, 8 | "config": { 9 | "optimize-autoloader": true, 10 | "update-with-dependencies": true, 11 | "sort-packages": true, 12 | "allow-plugins": { 13 | "composer/installers": true, 14 | "cweagans/composer-patches": true, 15 | "drupal/core-composer-scaffold": true, 16 | "oomphinc/composer-installers-extender": true, 17 | "dealerdirect/phpcodesniffer-composer-installer": true, 18 | "phpstan/extension-installer": true, 19 | "drupal/console-extend-plugin": true, 20 | "zaporylie/composer-drupal-optimizations": true 21 | } 22 | }, 23 | "require": { 24 | "drupal/redis": "^1.5", 25 | "goalgorilla/open_social": "dev-main" 26 | }, 27 | "require-dev": { 28 | "composer/composer": "^2", 29 | "goalgorilla/open_social_dev": "dev-main", 30 | "phpmd/phpmd": "^2.10", 31 | "squizlabs/html_codesniffer": "*", 32 | "symplify/easy-coding-standard": "^9.4" 33 | }, 34 | "repositories": { 35 | "0": { 36 | "type": "composer", 37 | "url": "https://packages.drupal.org/8", 38 | "exclude": ["goalgorilla/open_social", "drupal/social"] 39 | }, 40 | "1": { 41 | "type": "composer", 42 | "url": "https://asset-packagist.org" 43 | }, 44 | "2": { 45 | "type": "package", 46 | "package": { 47 | "name": "squizlabs/html_codesniffer", 48 | "version": "2.8.1", 49 | "source": { 50 | "url": "https://github.com/squizlabs/HTML_CodeSniffer.git", 51 | "type": "git", 52 | "reference": "master" 53 | } 54 | } 55 | }, 56 | "3": { 57 | "type": "git", 58 | "url": "https://github.com/goalgorilla/open_social.git", 59 | "only": ["goalgorilla/open_social", "drupal/social"] 60 | } 61 | }, 62 | "scripts": { 63 | "refresh": [ 64 | "rm -rf composer.lock vendor html/core html/modules/contrib html/profiles/contrib html/themes/contrib", 65 | "@composer update -W --ansi" 66 | ], 67 | "docker-up": [ 68 | "docker compose -f docker-compose.nginx.yml -p nginx up -d || true", 69 | "docker compose up -d --remove-orphans" 70 | ], 71 | "docker-stop": "docker-compose stop", 72 | "docker-shell": "test -f \".env\" || exit 1; export $(egrep -v '^#' .env | xargs); sh -c \"docker exec -ti ${PROJECT_NAME}_web bash\"", 73 | "install-open-social": "test -f \".env\" || exit 1; export $(egrep -v '^#' .env | xargs); sh -c \"docker exec -i ${PROJECT_NAME}_web /bin/bash /var/www/scripts/social/install/install_script.sh\"", 74 | "drush-cr": "test -f \".env\" || exit 1; export $(egrep -v '^#' .env | xargs); sh -c \"docker exec -i ${PROJECT_NAME}_web drush cr\"", 75 | "phpstan": "/var/www/vendor/bin/phpstan analyse -c /var/www/html/profiles/contrib/social/phpstan.neon --memory-limit=-1", 76 | "phpcs": [ 77 | "cp /var/www/html/profiles/contrib/social/phpcs.xml /var/www/phpcs.xml", 78 | "/var/www/vendor/bin/phpcs --report-full", 79 | "rm /var/www/phpcs.xml" 80 | ], 81 | "phpunit": "/var/www/vendor/bin/phpunit -c /var/www/html/profiles/contrib/social/phpunit.xml.dist --log-junit ./test-reports/phpunit.xml" 82 | }, 83 | "scripts-descriptions": { 84 | "refresh": "Delete local directories and execute composer update -W --ansi", 85 | "docker-up": "Start all the docker containers for this project", 86 | "docker-stop": "Stop the docker containers for this project. Does not stop the nginx containers", 87 | "docker-shell": "Open bash within the web comtainer", 88 | "install-open-social": "(Re)install Open Social using the install script", 89 | "drush-cr": "Rebuild cache from outside of docker container", 90 | "phpstan": "Analyse the code in this repository using the configuration from the distribution", 91 | "phpcs": "Lint the code in the repository using PHP CodeSniffer with the configuration from the distribution", 92 | "phpunit": "Run PHPUnit tests in this project with the configuration from the distribution" 93 | }, 94 | "extra": { 95 | "installer-types": [ 96 | "bower-asset", 97 | "npm-asset" 98 | ], 99 | "installer-paths": { 100 | "html/core": [ 101 | "drupal/core" 102 | ], 103 | "html/modules/contrib/{$name}": [ 104 | "type:drupal-module" 105 | ], 106 | "html/profiles/contrib/social": [ 107 | "goalgorilla/open_social" 108 | ], 109 | "html/profiles/contrib/{$name}": [ 110 | "type:drupal-profile" 111 | ], 112 | "html/themes/contrib/{$name}": [ 113 | "type:drupal-theme" 114 | ], 115 | "html/libraries/{$name}": [ 116 | "type:drupal-library", 117 | "type:bower-asset", 118 | "type:npm-asset" 119 | ], 120 | "scripts/{$name}": [ 121 | "goalgorilla/open_social_scripts" 122 | ], 123 | "drush/contrib/{$name}": [ 124 | "type:drupal-drush" 125 | ] 126 | }, 127 | "enable-patching": true, 128 | "patchLevel": { 129 | "drupal/core": "-p2" 130 | }, 131 | "drupal-scaffold": { 132 | "locations": { 133 | "web-root": "html/" 134 | } 135 | }, 136 | "patches": { 137 | "drupal/like_dislike": { 138 | "Add support for webprofiler": "patches/like-dislike-fix-webprofiler.patch" 139 | }, 140 | "squizlabs/html_codesniffer": { 141 | "Translatings does not work": "patches/DS-5443-accessibility.patch" 142 | } 143 | } 144 | } 145 | } 146 | -------------------------------------------------------------------------------- /config/sync/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goalgorilla/drupal_social/b0423caf55e31b9e5d6c40cded03c92f44574708/config/sync/.gitkeep -------------------------------------------------------------------------------- /config/sync/.htaccess: -------------------------------------------------------------------------------- 1 | # Deny all requests from Apache 2.4+. 2 | 3 | Require all denied 4 | 5 | 6 | # Deny all requests from Apache 2.0-2.2. 7 | 8 | Deny from all 9 | 10 | # Turn off all options we don't need. 11 | Options -Indexes -ExecCGI -Includes -MultiViews 12 | 13 | # Set the catch-all handler to prevent scripts from being executed. 14 | SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006 15 | 16 | # Override the handler again if we're run later in the evaluation list. 17 | SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003 18 | 19 | 20 | # If we know how to do it safely, disable the PHP engine entirely. 21 | 22 | php_flag engine off 23 | 24 | -------------------------------------------------------------------------------- /docker-compose-ci.yml: -------------------------------------------------------------------------------- 1 | # See: https://docs.docker.com/compose/compose-file/ 2 | # See: https://github.com/compose-spec/compose-spec/blob/master/spec.md 3 | version: "2" 4 | 5 | services: 6 | web_scripts: 7 | image: goalgorilla/open_social_docker:ci-drupal10-php8.1-v2 8 | volumes: 9 | - ./:/var/www:delegated 10 | depends_on: 11 | - db 12 | environment: 13 | - DRUPAL_SETTINGS=production 14 | container_name: social_ci_web_scripts 15 | 16 | web: 17 | image: goalgorilla/open_social_docker:ci-drupal10-php8.1-v2 18 | volumes: 19 | - ./:/var/www:delegated 20 | depends_on: 21 | - db 22 | - mailcatcher 23 | - redis 24 | - solr 25 | environment: 26 | - DRUPAL_SETTINGS=production 27 | ports: 28 | - "80" 29 | container_name: social_ci_web 30 | 31 | db: 32 | image: mariadb:10.7 33 | environment: 34 | - MYSQL_ROOT_PASSWORD=root 35 | - MYSQL_DATABASE=social 36 | volumes: 37 | - db_data:/var/lib/mysql 38 | ports: 39 | - "3306" 40 | container_name: social_ci_db 41 | command: mysqld --max_allowed_packet=16M 42 | 43 | mailcatcher: 44 | image: schickling/mailcatcher 45 | environment: 46 | - VIRTUAL_HOST=mailcatcher.social.dev 47 | - VIRTUAL_PORT=1080 48 | ports: 49 | - "1080" 50 | container_name: social_mailcatcher 51 | 52 | chrome: 53 | image: zenika/alpine-chrome:89 54 | container_name: social_chrome 55 | command: 56 | - "--headless" # Run in headless mode, i.e., without a UI or display server dependencies. 57 | - "--disable-gpu" # Disables GPU hardware acceleration. If software renderer is not in place, then the GPU process won't launch. 58 | - "--no-sandbox" # Disables the sandbox for all process types that are normally sandboxed. Meant to be used as a browser-level switch for testing purposes only. 59 | - "--remote-debugging-address=0.0.0.0" # Enables remote debug over HTTP on the specified port. 60 | - "--remote-debugging-port=9222" # Enables remote debug over HTTP on the specified port. 61 | volumes: 62 | - ./:/var/www:delegated 63 | ports: 64 | - '9222:9222' 65 | 66 | solr: 67 | image: solr:8.11 68 | hostname: solr 69 | volumes: 70 | - os_solr_data:/opt/solr/server/solr/mycores 71 | - ./docker/solr/8.x/drupal/:/solr-conf/conf:cached 72 | environment: 73 | - SOLR_SOLR_MEM_SIZE=512m 74 | - PARTIAL_SEARCH_ENABLED=false 75 | - VIRTUAL_HOST=solr.social.local 76 | - VIRTUAL_PORT=8983 77 | ports: 78 | - "8983" 79 | entrypoint: 80 | - solr-precreate 81 | - drupal 82 | - /solr-conf 83 | container_name: social_ci_solr 84 | 85 | redis: 86 | image: redis:latest 87 | 88 | volumes: 89 | db_data: 90 | os_solr_data: 91 | -------------------------------------------------------------------------------- /docker-compose.blackfire.yml: -------------------------------------------------------------------------------- 1 | services: 2 | blackfire: 3 | image: blackfire/blackfire 4 | environment: 5 | # Exposes the host BLACKFIRE_SERVER_ID and BLACKFIRE_SERVER_TOKEN environment variables. 6 | # Find the values for these on https://blackfire.io/docs/integrations/docker while logged in. 7 | # For ease of use on multiple project copy those export statements to ~/.bash_profile. 8 | BLACKFIRE_SERVER_ID 9 | BLACKFIRE_SERVER_TOKEN 10 | ports: 11 | - "8307" 12 | container_name: "${PROJECT_NAME}_blackfire" 13 | 14 | networks: 15 | # Default will connect all containers to the specified network. 16 | default: 17 | # Network name. 18 | name: nginx 19 | # Connects to an existing network. 20 | external: true 21 | -------------------------------------------------------------------------------- /docker-compose.nginx.yml: -------------------------------------------------------------------------------- 1 | services: 2 | nginx: 3 | image: nginxproxy/nginx-proxy 4 | container_name: nginx 5 | ports: 6 | - '80:80' 7 | volumes: 8 | - "/var/run/docker.sock:/tmp/docker.sock:ro" 9 | - "./nginx/custom-nginx.conf:/etc/nginx/conf.d/custom-nginx.conf:ro" 10 | 11 | volumes: 12 | nginx: 13 | 14 | # We need a self-defined bridge, so that containers can connect to each other. 15 | networks: 16 | default: 17 | name: nginx 18 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | # See: https://docs.docker.com/compose/compose-file/ 2 | # See: https://github.com/compose-spec/compose-spec/blob/master/spec.md 3 | services: 4 | web: 5 | image: goalgorilla/open_social_docker:drupal10-php8.1-v2 6 | volumes: 7 | - ./:/var/www:delegated 8 | depends_on: 9 | - db 10 | - mailcatcher 11 | - redis 12 | - solr 13 | environment: 14 | DRUPAL_SETTINGS: development 15 | VIRTUAL_HOST: "${PROJECT_BASE_URL}" 16 | VIRTUAL_PORT: 80 17 | ports: 18 | - "80" 19 | container_name: "${PROJECT_NAME}_web" 20 | 21 | db: 22 | image: mariadb:10.7 23 | environment: 24 | MYSQL_ROOT_PASSWORD: root 25 | MYSQL_DATABASE: social 26 | volumes: 27 | - db_data:/var/lib/mysql 28 | container_name: "${PROJECT_NAME}_db" 29 | command: mysqld --max_allowed_packet=16M 30 | ports: 31 | - "3306" 32 | 33 | mailcatcher: 34 | image: schickling/mailcatcher 35 | environment: 36 | VIRTUAL_HOST: "mailcatcher.${PROJECT_BASE_URL}" 37 | VIRTUAL_PORT: 1080 38 | ports: 39 | - "1080" 40 | container_name: "${PROJECT_NAME}_mailcatcher" 41 | 42 | chrome: 43 | image: zenika/alpine-chrome:102 44 | container_name: "${PROJECT_NAME}_chrome" 45 | command: 46 | - "--headless" # Run in headless mode, i.e., without a UI or display server dependencies. 47 | - "--disable-gpu" # Disables GPU hardware acceleration. If software renderer is not in place, then the GPU process won't launch. 48 | - "--no-sandbox" # Disables the sandbox for all process types that are normally sandboxed. Meant to be used as a browser-level switch for testing purposes only. 49 | - "--remote-debugging-address=0.0.0.0" # Enables remote debug over HTTP on the specified port. 50 | - "--remote-debugging-port=9222" # Enables remote debug over HTTP on the specified port. 51 | volumes: 52 | - ./:/var/www:delegated 53 | ports: 54 | - '9222:9222' 55 | 56 | solr: 57 | image: solr:8.11 58 | hostname: solr 59 | volumes: 60 | - os_solr_data:/opt/solr/server/solr/mycores 61 | - ./docker/solr/8.x/drupal/:/solr-conf/conf:cached 62 | environment: 63 | SOLR_SOLR_MEM_SIZE: 512m 64 | PARTIAL_SEARCH_ENABLED: 0 65 | VIRTUAL_HOST: "solr.${PROJECT_BASE_URL}" 66 | VIRTUAL_PORT: 8983 67 | ports: 68 | - "8983" 69 | entrypoint: 70 | - solr-precreate 71 | - drupal 72 | - /solr-conf 73 | container_name: "${PROJECT_NAME}_solr" 74 | 75 | redis: 76 | image: redis:latest 77 | container_name: "${PROJECT_NAME}_redis" 78 | ports: 79 | - "6379" 80 | 81 | volumes: 82 | db_data: 83 | os_solr_data: 84 | 85 | networks: 86 | # Default will connect all containers to the specified network. 87 | default: 88 | # Network name. 89 | name: nginx 90 | # Connects to an existing network. 91 | external: true 92 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/accents_en.txt: -------------------------------------------------------------------------------- 1 | # À => A 2 | "\u00C0" => "A" 3 | # Á => A 4 | "\u00C1" => "A" 5 | #  => A 6 | "\u00C2" => "A" 7 | # à => A 8 | "\u00C3" => "A" 9 | # Ä => A 10 | "\u00C4" => "A" 11 | # Å => A 12 | "\u00C5" => "A" 13 | # Ą => A 14 | "\u0104" => "A" 15 | # Æ => AE 16 | "\u00C6" => "AE" 17 | # Ç => C 18 | "\u00C7" => "C" 19 | # Ć => C 20 | "\U0106" => "C" 21 | # È => E 22 | "\u00C8" => "E" 23 | # É => E 24 | "\u00C9" => "E" 25 | # Ê => E 26 | "\u00CA" => "E" 27 | # Ë => E 28 | "\u00CB" => "E" 29 | # Ę => E 30 | "\u0118" => "E" 31 | # Ì => I 32 | "\u00CC" => "I" 33 | # Í => I 34 | "\u00CD" => "I" 35 | # Î => I 36 | "\u00CE" => "I" 37 | # Ï => I 38 | "\u00CF" => "I" 39 | # IJ => IJ 40 | "\u0132" => "IJ" 41 | # Ð => D 42 | "\u00D0" => "D" 43 | # Ł => L 44 | "\u0141" => "L" 45 | # Ñ => N 46 | "\u00D1" => "N" 47 | # Ń => N 48 | "\u0143" => "N" 49 | # Ò => O 50 | "\u00D2" => "O" 51 | # Ó => O 52 | "\u00D3" => "O" 53 | # Ô => O 54 | "\u00D4" => "O" 55 | # Õ => O 56 | "\u00D5" => "O" 57 | # Ö => O 58 | "\u00D6" => "O" 59 | # Ø => O 60 | "\u00D8" => "O" 61 | # Œ => OE 62 | "\u0152" => "OE" 63 | # Þ 64 | "\u00DE" => "TH" 65 | # Ù => U 66 | "\u00D9" => "U" 67 | # Ú => U 68 | "\u00DA" => "U" 69 | # Û => U 70 | "\u00DB" => "U" 71 | # Ü => U 72 | "\u00DC" => "U" 73 | # Ý => Y 74 | "\u00DD" => "Y" 75 | # Ÿ => Y 76 | "\u0178" => "Y" 77 | # à => a 78 | "\u00E0" => "a" 79 | # á => a 80 | "\u00E1" => "a" 81 | # â => a 82 | "\u00E2" => "a" 83 | # ã => a 84 | "\u00E3" => "a" 85 | # ä => a 86 | "\u00E4" => "a" 87 | # å => a 88 | "\u00E5" => "a" 89 | # æ => ae 90 | "\u00E6" => "ae" 91 | # ç => c 92 | "\u00E7" => "c" 93 | # è => e 94 | "\u00E8" => "e" 95 | # é => e 96 | "\u00E9" => "e" 97 | # ê => e 98 | "\u00EA" => "e" 99 | # ë => e 100 | "\u00EB" => "e" 101 | # ì => i 102 | "\u00EC" => "i" 103 | # í => i 104 | "\u00ED" => "i" 105 | # î => i 106 | "\u00EE" => "i" 107 | # ï => i 108 | "\u00EF" => "i" 109 | # ij => ij 110 | "\u0133" => "ij" 111 | # ð => d 112 | "\u00F0" => "d" 113 | # ñ => n 114 | "\u00F1" => "n" 115 | # ò => o 116 | "\u00F2" => "o" 117 | # ó => o 118 | "\u00F3" => "o" 119 | # ô => o 120 | "\u00F4" => "o" 121 | # õ => o 122 | "\u00F5" => "o" 123 | # ö => o 124 | "\u00F6" => "o" 125 | # ø => o 126 | "\u00F8" => "o" 127 | # œ => oe 128 | "\u0153" => "oe" 129 | # ß => ss 130 | "\u00DF" => "ss" 131 | # Ś => S 132 | "\u015a" => "S" 133 | # þ => th 134 | "\u00FE" => "th" 135 | # ù => u 136 | "\u00F9" => "u" 137 | # ú => u 138 | "\u00FA" => "u" 139 | # û => u 140 | "\u00FB" => "u" 141 | # ü => u 142 | "\u00FC" => "u" 143 | # ý => y 144 | "\u00FD" => "y" 145 | # ÿ => y 146 | "\u00FF" => "y" 147 | # Ź => Z 148 | "\u0179" => "Z" 149 | # Ż => Z 150 | "\u017b" => "Z" 151 | # ff => ff 152 | "\uFB00" => "ff" 153 | # fi => fi 154 | "\uFB01" => "fi" 155 | # fl => fl 156 | "\uFB02" => "fl" 157 | # ffi => ffi 158 | "\uFB03" => "ffi" 159 | # ffl => ffl 160 | "\uFB04" => "ffl" 161 | # ſt => st 162 | "\uFB05" => "st" 163 | # st => st 164 | "\uFB06" => "st" 165 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/accents_und.txt: -------------------------------------------------------------------------------- 1 | # À => A 2 | "\u00C0" => "A" 3 | # Á => A 4 | "\u00C1" => "A" 5 | #  => A 6 | "\u00C2" => "A" 7 | # à => A 8 | "\u00C3" => "A" 9 | # Ä => A 10 | "\u00C4" => "A" 11 | # Å => A 12 | "\u00C5" => "A" 13 | # Æ => AE 14 | "\u00C6" => "AE" 15 | # Ç => C 16 | "\u00C7" => "C" 17 | # È => E 18 | "\u00C8" => "E" 19 | # É => E 20 | "\u00C9" => "E" 21 | # Ê => E 22 | "\u00CA" => "E" 23 | # Ë => E 24 | "\u00CB" => "E" 25 | # Ì => I 26 | "\u00CC" => "I" 27 | # Í => I 28 | "\u00CD" => "I" 29 | # Î => I 30 | "\u00CE" => "I" 31 | # Ï => I 32 | "\u00CF" => "I" 33 | # IJ => IJ 34 | "\u0132" => "IJ" 35 | # Ð => D 36 | "\u00D0" => "D" 37 | # Ñ => N 38 | "\u00D1" => "N" 39 | # Ò => O 40 | "\u00D2" => "O" 41 | # Ó => O 42 | "\u00D3" => "O" 43 | # Ô => O 44 | "\u00D4" => "O" 45 | # Õ => O 46 | "\u00D5" => "O" 47 | # Ö => O 48 | "\u00D6" => "O" 49 | # Ø => O 50 | "\u00D8" => "O" 51 | # Œ => OE 52 | "\u0152" => "OE" 53 | # Þ 54 | "\u00DE" => "TH" 55 | # Ù => U 56 | "\u00D9" => "U" 57 | # Ú => U 58 | "\u00DA" => "U" 59 | # Û => U 60 | "\u00DB" => "U" 61 | # Ü => U 62 | "\u00DC" => "U" 63 | # Ý => Y 64 | "\u00DD" => "Y" 65 | # Ÿ => Y 66 | "\u0178" => "Y" 67 | # à => a 68 | "\u00E0" => "a" 69 | # á => a 70 | "\u00E1" => "a" 71 | # â => a 72 | "\u00E2" => "a" 73 | # ã => a 74 | "\u00E3" => "a" 75 | # ä => a 76 | "\u00E4" => "a" 77 | # å => a 78 | "\u00E5" => "a" 79 | # æ => ae 80 | "\u00E6" => "ae" 81 | # ç => c 82 | "\u00E7" => "c" 83 | # è => e 84 | "\u00E8" => "e" 85 | # é => e 86 | "\u00E9" => "e" 87 | # ê => e 88 | "\u00EA" => "e" 89 | # ë => e 90 | "\u00EB" => "e" 91 | # ì => i 92 | "\u00EC" => "i" 93 | # í => i 94 | "\u00ED" => "i" 95 | # î => i 96 | "\u00EE" => "i" 97 | # ï => i 98 | "\u00EF" => "i" 99 | # ij => ij 100 | "\u0133" => "ij" 101 | # ð => d 102 | "\u00F0" => "d" 103 | # ñ => n 104 | "\u00F1" => "n" 105 | # ò => o 106 | "\u00F2" => "o" 107 | # ó => o 108 | "\u00F3" => "o" 109 | # ô => o 110 | "\u00F4" => "o" 111 | # õ => o 112 | "\u00F5" => "o" 113 | # ö => o 114 | "\u00F6" => "o" 115 | # ø => o 116 | "\u00F8" => "o" 117 | # œ => oe 118 | "\u0153" => "oe" 119 | # ß => ss 120 | "\u00DF" => "ss" 121 | # þ => th 122 | "\u00FE" => "th" 123 | # ù => u 124 | "\u00F9" => "u" 125 | # ú => u 126 | "\u00FA" => "u" 127 | # û => u 128 | "\u00FB" => "u" 129 | # ü => u 130 | "\u00FC" => "u" 131 | # ý => y 132 | "\u00FD" => "y" 133 | # ÿ => y 134 | "\u00FF" => "y" 135 | # ff => ff 136 | "\uFB00" => "ff" 137 | # fi => fi 138 | "\uFB01" => "fi" 139 | # fl => fl 140 | "\uFB02" => "fl" 141 | # ffi => ffi 142 | "\uFB03" => "ffi" 143 | # ffl => ffl 144 | "\uFB04" => "ffl" 145 | # ſt => st 146 | "\uFB05" => "st" 147 | # st => st 148 | "\uFB06" => "st" 149 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/elevate.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 17 | 18 | 19 | 20 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/protwords_en.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/protwords_und.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/schema.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | ]> 22 | 23 | 51 | 52 | 53 | 70 | 71 | 72 | 108 | 109 | 115 | 116 | 119 | 120 | 121 | 122 | 125 | 126 | 127 | 131 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 164 | 165 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 247 | 248 | 249 | 250 | 257 | 258 | 262 | 263 | 264 | 265 | 266 | 267 | 281 | 282 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 302 | 303 | 304 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 345 | 346 | 347 | 358 | 359 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 391 | 392 | 393 | 394 | 395 | 396 | 398 | 399 | 400 | 411 | 414 | 415 | 416 | 417 | 418 | 419 | 423 | 425 | 426 | 429 | 431 | 432 | 433 | 449 | 451 | 452 | 453 | &extrafields; 454 | 455 | 456 | &extratypes; 457 | 458 | 461 | id 462 | 463 | 468 | 473 | 474 | 475 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/schema_extra_fields.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/schema_extra_types.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 72 | 73 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 188 | 189 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/solrconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | ]> 9 | 10 | 14 | 15 | 22 | 23 | 33 | ${solr.abortOnConfigurationError:true} 34 | 35 | 41 | ${solr.luceneMatchVersion:LUCENE_70} 42 | 43 | 63 | 64 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 94 | 97 | 98 | 105 | ${solr.data.dir:} 106 | 107 | 108 | 121 | 123 | 124 | 125 | 128 | 129 | ${solr.hdfs.home:} 130 | 131 | ${solr.hdfs.confdir:} 132 | 133 | ${solr.hdfs.blockcache.enabled:true} 134 | 136 | ${solr.hdfs.blockcache.global:true} 137 | 138 | 139 | 140 | 149 | 150 | 151 | 153 | 154 | 155 | 162 | 163 | 167 | 168 | 169 | 170 | 173 | 174 | 175 | 183 | 184 | 185 | 186 | 192 | 198 | 199 | 205 | 208 | 209 | 228 | ${solr.lock.type:native} 229 | 230 | 241 | 244 | 245 | 246 | 247 | 248 | 252 | 256 | 259 | 260 | 269 | true 270 | 271 | 272 | &index; 273 | 274 | 275 | 276 | 277 | 278 | 279 | 285 | 286 | ${solr.ulog.dir:} 287 | 288 | 289 | 310 | 311 | ${solr.autoCommit.MaxDocs:-1} 312 | ${solr.autoCommit.MaxTime:15000} 313 | false 314 | 315 | 316 | 321 | 322 | 323 | ${solr.autoSoftCommit.MaxDocs:-1} 324 | ${solr.autoSoftCommit.MaxTime:-1} 325 | 326 | 327 | 335 | 345 | 349 | 358 | 359 | 360 | 361 | 383 | 388 | 389 | 392 | 393 | 394 | &query; 395 | 396 | 412 | 415 | 416 | 417 | 421 | 422 | 423 | 424 | 425 | 426 | static firstSearcher warming in solrconfig.xml 427 | 428 | 429 | 430 | 431 | 438 | false 439 | 440 | 441 | 442 | 443 | 448 | 449 | 482 | 483 | &requestdispatcher; 484 | 485 | 486 | 487 | 529 | 530 | 531 | &extra; 532 | 533 | 537 | 538 | 539 | 540 | 541 | 544 | 545 | 100 546 | 547 | 548 | 549 | 552 | 554 | 555 | 556 | 70 557 | 558 | 0.5 559 | 560 | [-\w ,/\n\"']{20,200} 561 | 562 | 563 | 564 | 565 | 568 | 569 | ]]> 570 | ]]> 571 | 572 | 573 | 574 | 575 | 577 | 578 | 579 | 581 | 582 | 583 | 585 | 586 | 587 | 590 | 591 | 592 | 595 | 600 | 601 | 602 | 603 | 605 | 606 | ,, 608 | ,, 609 | ,, 610 | ,, 611 | ,]]> 612 | ]]> 613 | 614 | 615 | 616 | 619 | 620 | 10 621 | .,!? 622 | 623 | 624 | 625 | 627 | 628 | 629 | WORD 630 | 631 | 632 | en 633 | US 634 | 635 | 636 | 637 | 638 | 639 | 648 | 657 | 670 | 671 | 681 | 692 | 693 | 699 | 710 | 711 | 722 | 725 | 737 | 738 | 739 | 740 | 741 | 744 | 746 | 751 | 752 | 756 | 757 | 5 758 | 759 | 760 | 768 | 769 | 772 | 773 | 780 | 781 | 785 | 786 | 787 | 790 | 810 | 811 | 812 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/solrconfig_extra.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | en 4 | spellcheck_en 5 | solr.DirectSolrSpellChecker 6 | internal 7 | 0.5 8 | 2 9 | 1 10 | 5 11 | 4 12 | 0.01 13 | .01 14 | true 15 | 16 | 17 | 18 | und 19 | spellcheck_und 20 | solr.DirectSolrSpellChecker 21 | internal 22 | 0.5 23 | 2 24 | 1 25 | 5 26 | 4 27 | 0.01 28 | .01 29 | true 30 | 31 | 32 | 33 | 34 | en 35 | AnalyzingInfixLookupFactory 36 | DocumentDictionaryFactory 37 | twm_suggest 38 | text_en 39 | sm_context_tags 40 | true 41 | false 42 | 43 | 44 | 45 | und 46 | AnalyzingInfixLookupFactory 47 | DocumentDictionaryFactory 48 | twm_suggest 49 | text_und 50 | sm_context_tags 51 | true 52 | false 53 | 54 | 55 | 59 | 60 | 61 | false 62 | false 63 | false 64 | true 65 | false 66 | 1 67 | false 68 | 10 69 | 70 | 71 | terms 72 | spellcheck 73 | suggest 74 | 75 | 76 | 77 | 81 | 82 | 83 | true 84 | ignored_ 85 | true 86 | links 87 | ignored_ 88 | 89 | 90 | 91 | 95 | 96 | 97 | 1 98 | 1 99 | false 100 | ${solr.mlt.timeAllowed:2000} 101 | 102 | 103 | 104 | 108 | 109 | 110 | id 111 | und 112 | on 113 | false 114 | false 115 | 1 116 | 5 117 | 5 118 | true 119 | true 120 | 10 121 | 5 122 | 123 | 124 | spellcheck 125 | 126 | 127 | 128 | 132 | 133 | 134 | true 135 | und 136 | 10 137 | 138 | 139 | suggest 140 | 141 | 142 | 143 | 147 | 148 | 149 | lucene 150 | id 151 | explicit 152 | true 153 | ${solr.selectSearchHandler.timeAllowed:-1} 154 | false 155 | 156 | 157 | spellcheck 158 | elevator 159 | 160 | 161 | 162 | 166 | 167 | 168 | id 169 | true 170 | 171 | 172 | tvComponent 173 | 174 | 175 | 176 | 180 | 181 | string 182 | elevate.xml 183 | 184 | 188 | 189 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/solrconfig_index.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goalgorilla/drupal_social/b0423caf55e31b9e5d6c40cded03c92f44574708/docker/solr/8.x/drupal/solrconfig_index.xml -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/solrconfig_query.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 11 | 12 | 13 | 17 | 18 | 19 | 23 | 24 | 25 | 29 | 30 | 31 | 35 | true 36 | 40 | false 41 | 45 | 20 46 | 200 47 | 1024 48 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/solrconfig_requestdispatcher.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/solrcore.properties: -------------------------------------------------------------------------------- 1 | solr.replication.master=false 2 | solr.replication.slave=false 3 | solr.replication.pollInterval=00:00:60 4 | solr.replication.masterUrl=http://localhost:8983/solr 5 | solr.replication.confFiles=schema.xml,schema_extra_types.xml,schema_extra_fields.xml,elevate.xml,stopwords_en.txt,synonyms_en.txt,protwords_en.txt,accents_en.txt,stopwords_und.txt,synonyms_und.txt,protwords_und.txt,accents_und.txt 6 | solr.mlt.timeAllowed=2000 7 | solr.luceneMatchVersion=8.6 8 | solr.selectSearchHandler.timeAllowed=-1 9 | solr.autoCommit.MaxDocs=-1 10 | solr.autoCommit.MaxTime=15000 11 | solr.autoSoftCommit.MaxDocs=-1 12 | solr.autoSoftCommit.MaxTime=-1 13 | solr.install.dir=/opt/solr 14 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/stopwords_en.txt: -------------------------------------------------------------------------------- 1 | a 2 | an 3 | and 4 | are 5 | as 6 | at 7 | be 8 | but 9 | by 10 | for 11 | if 12 | in 13 | into 14 | is 15 | it 16 | no 17 | not 18 | of 19 | on 20 | or 21 | s 22 | such 23 | t 24 | that 25 | the 26 | their 27 | then 28 | there 29 | these 30 | they 31 | this 32 | to 33 | was 34 | will 35 | with 36 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/stopwords_und.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/synonyms_en.txt: -------------------------------------------------------------------------------- 1 | drupal, durpal 2 | -------------------------------------------------------------------------------- /docker/solr/8.x/drupal/synonyms_und.txt: -------------------------------------------------------------------------------- 1 | drupal, durpal 2 | -------------------------------------------------------------------------------- /drush/drush.yml: -------------------------------------------------------------------------------- 1 | #This is a Drush config file. Sites may override this config to change minimum PHP. 2 | drush: 3 | php: 4 | minimum-version: 7.4.0 5 | backup-dir: /drush/drush-backups 6 | 7 | # This section is for setting global options. 8 | options: 9 | # Specify the base_url that should be used when generating links. 10 | uri: 'http://social.localhost' 11 | 12 | # Enable verbose mode. 13 | verbose: true 14 | 15 | # This section is for setting command-specific options. 16 | command: 17 | sql: 18 | dump: 19 | options: 20 | # Uncomment to omit cache and similar tables (including during a sql:sync). 21 | structure-tables-key: common 22 | 23 | core: 24 | rsync: 25 | options: 26 | # Ensure all rsync commands use verbose output. 27 | verbose: true 28 | 29 | site: 30 | install: 31 | options: 32 | # Set a predetermined username and password when using site-install. 33 | account-name: 'admin' 34 | account-pass: 'secret' 35 | 36 | # 37 | # The sections below are configuration thats consulted by various commands, outside 38 | # of the option system. 39 | # 40 | sql: 41 | # An explicit list of tables which should be included in sql-dump and sql-sync. 42 | tables: 43 | common: 44 | - user 45 | - permissions 46 | - role_permissions 47 | - role 48 | # List of tables whose *data* is skipped by the 'sql-dump' and 'sql-sync' 49 | # commands when the "--structure-tables-key=common" option is provided. 50 | # You may add specific tables to the existing array or add a new element. 51 | structure-tables: 52 | common: 53 | - cache 54 | - 'cache_*' 55 | - history 56 | - 'search_*' 57 | - 'sessions' 58 | - 'watchdog' 59 | # List of tables to be omitted entirely from SQL dumps made by the 'sql-dump' 60 | # and 'sql-sync' commands when the "--skip-tables-key=common" option is 61 | # provided on the command line. This is useful if your database contains 62 | # non-Drupal tables used by some other application or during a migration for 63 | # example. You may add new tables to the existing array or add a new element. 64 | skip-tables: 65 | common: 66 | - 'migration_*' 67 | 68 | xh: 69 | # Start profiling via xhprof/tideways and show a link to the run report. 70 | # link: http://xhprof.local 71 | # See https://github.com/drush-ops/drush/blob/11.x/src/Commands/core/XhprofCommands.php for more settings. 72 | # profile-builtins: true 73 | # profile-cpu: false 74 | # profile-memory: false 75 | -------------------------------------------------------------------------------- /drush/sites/self.site.yml: -------------------------------------------------------------------------------- 1 | # File: local.site.yml 2 | # This environment is of the Docker Compose environment. 3 | # @see: https://www.drush.org/latest/site-aliases/#docker-compose-and-other-transports 4 | # Example: drush @local cr 5 | # Command in background will be "docker-compose exec social_gpi_web drush cr --ansi --uri=http://gpi.local" 6 | local: 7 | docker: 8 | service: social_web 9 | # exec: 10 | # options: --user root 11 | root: /var/www/html 12 | paths: 13 | drush-script: /var/www/html/drush 14 | -------------------------------------------------------------------------------- /ecs.php: -------------------------------------------------------------------------------- 1 | services(); 13 | /** 14 | * Every property should have @var annotation .*/ 15 | $services->set(ReturnTypeHintSniff::class); 16 | 17 | $parameters = $containerConfigurator->parameters(); 18 | // Ena Parallel run. 19 | $parameters->set(Option::PARALLEL, TRUE); 20 | $parameters->set(Option::SKIP, ['*/upgrade_status/tests/modules/*']); 21 | $parameters->set(Option::FILE_EXTENSIONS, ['php', 'module', 'theme', 'install', 'profile', 'inc', 'engine']); 22 | 23 | $parameters->set(Option::SKIP, [ 24 | // This part is needed, because `TypeHintDeclarationSniff` is actually mix of 7 rules we don't need 25 | // (they also delete code, so be sure to have this section here) 26 | 'SlevomatCodingStandard\Sniffs\TypeHints\TypeHintDeclarationSniff.UselessDocComment' => NULL, 27 | 'SlevomatCodingStandard\Sniffs\TypeHints\TypeHintDeclarationSniff.MissingTraversablePropertyTypeHintSpecification' => NULL, 28 | 'SlevomatCodingStandard\Sniffs\TypeHints\TypeHintDeclarationSniff.MissingTraversableReturnTypeHintSpecification' => NULL, 29 | 'SlevomatCodingStandard\Sniffs\TypeHints\TypeHintDeclarationSniff.MissingTraversableParameterTypeHintSpecification' => NULL, 30 | 'SlevomatCodingStandard\Sniffs\TypeHints\TypeHintDeclarationSniff.MissingParameterTypeHint' => NULL, 31 | 'SlevomatCodingStandard\Sniffs\TypeHints\TypeHintDeclarationSniff.MissingReturnTypeHint' => NULL, 32 | ]); 33 | }; 34 | -------------------------------------------------------------------------------- /nginx/custom-nginx.conf: -------------------------------------------------------------------------------- 1 | proxy_connect_timeout 600; 2 | proxy_send_timeout 600; 3 | proxy_read_timeout 600; 4 | send_timeout 600; 5 | 6 | # Also increase (header) buffer size 7 | proxy_buffer_size 128k; 8 | proxy_buffers 4 256k; 9 | proxy_busy_buffers_size 256k; 10 | 11 | # Fix issues with large json responses 12 | proxy_max_temp_file_size 0; 13 | -------------------------------------------------------------------------------- /patches/DS-5443-accessibility.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Contrib/PhantomJS/HTMLCS_Run.js b/Contrib/PhantomJS/HTMLCS_Run.js 2 | index 3badef6..8c1b091 100755 3 | --- a/Contrib/PhantomJS/HTMLCS_Run.js 4 | +++ b/Contrib/PhantomJS/HTMLCS_Run.js 5 | @@ -90,8 +90,8 @@ if (system.args.length < 3 || system.args.length > 4) { 6 | } 7 | 8 | console.log(''); 9 | - console.log(_global.HTMLCS.getTranslation("auditor_errors") + ': ' + messages['ERROR'].length + ', ' + _global.HTMLCS.getTranslation("auditor_warnings") + ': ' + messages['WARNING'].length + 10 | - ', ' + _global.HTMLCS.getTranslation("auditor_notices") + ': ' + messages['NOTICE'].length); 11 | + console.log('Errors: ' + messages['ERROR'].length + ', Warnings: ' + messages['WARNING'].length + 12 | + ', Notices: ' + messages['NOTICE'].length); 13 | cb(); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /patches/like-dislike-fix-webprofiler.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/LikeDislikePermissions.php b/src/LikeDislikePermissions.php 2 | index c197045..9caeeef 100644 3 | --- a/src/LikeDislikePermissions.php 4 | +++ b/src/LikeDislikePermissions.php 5 | @@ -5,7 +5,7 @@ namespace Drupal\like_and_dislike; 6 | use Drupal\Core\Config\ConfigFactoryInterface; 7 | use Drupal\Core\DependencyInjection\ContainerInjectionInterface; 8 | use Drupal\Core\Entity\EntityTypeBundleInfoInterface; 9 | -use Drupal\Core\Entity\EntityTypeManager; 10 | +use Drupal\Core\Entity\EntityTypeManagerInterface; 11 | use Drupal\Core\StringTranslation\StringTranslationTrait; 12 | use Drupal\votingapi\Entity\VoteType; 13 | use Symfony\Component\DependencyInjection\ContainerInterface; 14 | @@ -48,7 +48,7 @@ class LikeDislikePermissions implements ContainerInjectionInterface { 15 | * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $bundle_info_service 16 | * The bundle info service. 17 | */ 18 | - public function __construct(EntityTypeManager $entity_type_manager, ConfigFactoryInterface $config_factory, EntityTypeBundleInfoInterface $bundle_info_service) { 19 | + public function __construct(EntityTypeManagerInterface $entity_type_manager, ConfigFactoryInterface $config_factory, EntityTypeBundleInfoInterface $bundle_info_service) { 20 | $this->entityTypeManager = $entity_type_manager; 21 | $this->configFactory = $config_factory; 22 | $this->bundleInfoService = $bundle_info_service; 23 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | Looking for the repository of the Open Social distribution? [Click here](https://github.com/goalgorilla/open_social) 2 | 3 | # Open Social Developer Repository # 4 | Repository for developers working on the Open Social distribution. This repository contains a useful development workflow in Docker for the Open Social distribution. The development takes place [here](https://github.com/goalgorilla/open_social). 5 | 6 | Check [drupal.org](https://www.drupal.org/project/social) for more information about Open Social. 7 | For day to day technical documentation use our [Drupal.org Documentation Guide](https://www.drupal.org/docs/8/distributions/open-social). 8 | 9 | Useful links for developers: 10 | - [Roadmap]( https://www.drupal.org/node/2766871) 11 | - [Hifi styleguide and prototype](http://styleguide.getopensocial.com/) 12 | - [Travis CI](https://travis-ci.org/goalgorilla/drupal_social/builds) 13 | - [Docker Hub](https://hub.docker.com/r/goalgorilla/open_social_docker/) 14 | - [Drupal.org project page](https://drupal.org/project/social) 15 | - [Open Social Distribution Github repo](https://github.com/goalgorilla/open_social) 16 | - [Open Social Distribution issue queue](https://www.drupal.org/project/issues/social). 17 | - [Composer template](https://github.com/goalgorilla/social_template) 18 | 19 | # Installation # 20 | 21 | ### Install from project page on drupal.org ### 22 | 23 | Visit our drupal.org [project page](https://www.drupal.org/project/social) and head to the "Installation instruction" section on the middle of the page. 24 | 25 | ### Install in Docker containers ### 26 | 27 | 1. Copy and rename the `.env.dist` to `.env` and update the .env variables, if you don't want to use the defaults. We recommend to use the `.localhost` domain extension for the `PROJECT_BASE_URL`; so that you don't have to update your host file. 28 | 29 | 2. Run the nginx-proxy container, you only need one even if you have multiple projects. 30 | ``` 31 | docker compose -f docker-compose.nginx.yml -p nginx up -d 32 | ``` 33 | 3. Run the docker containers for the project: 34 | ``` 35 | docker compose up -d 36 | ``` 37 | 4. Depending on the configured `PROJECT_BASE_URL`, you can access the following services: 38 | - Drupal: http://social.localhost 39 | - Solr: http://solr.social.localhost 40 | - Mailcatcher: http://mailcatcher.social.localhost 41 | 42 | 5. Alternatively you can use some extra composer commands to facilitate: 43 | - docker-up: Start all the docker containers for this project 44 | - docker-stop: Stop the docker containers for this project. Does not stop the nginx containers 45 | - docker-shell: Open bash within the web comtainer 46 | - install-open-social: (Re)install Open Social using the install script 47 | - phpstan ( inside web container ): Analyse the code in this repository using the configuration from the distribution 48 | - phpcs ( inside web container ): Lint the code in the repository using PHP CodeSniffer with the configuration from the distribution 49 | - phpunit ( inside web container ): Run PHPUnit tests in this project with the configuration from the distribution 50 | 51 | ### Install with Composer ### 52 | 53 | Checkout this repository for a Composer template: [goalgorilla/social_template](https://github.com/goalgorilla/social_template). 54 | 55 | # Contribute # 56 | Contribute to Open Social? Checkout [Contribution to Open Social](https://www.drupal.org/docs/drupal-distributions/open-social/contribute-to-open-social) section on Drupal.org Documentation Guide. 57 | 58 | Do you want to join us in this effort? We are welcoming your [feedback](http://goalgorilla.github.io/drupal_social/prototype.html), (development) time and/or financial support. For feedback, questions or suggestions you can use [Drupal.org](https://www.drupal.org/project/social). 59 | 60 | If you find any issues feel free to file a bug report in the [issue queue](https://www.drupal.org/project/issues/social). 61 | 62 | [![Build Status Drupal Social](https://travis-ci.org/goalgorilla/drupal_social.svg?branch=master)](https://travis-ci.org/goalgorilla/drupal_social) 63 | [![Build Status Open Social](https://api.travis-ci.org/goalgorilla/open_social.svg?branch=8.x-1.x)](https://travis-ci.org/goalgorilla/open_social) 64 | 65 | -------------------------------------------------------------------------------- /rector.php: -------------------------------------------------------------------------------- 1 | sets([ 15 | Drupal8SetList::DRUPAL_8, 16 | Drupal9SetList::DRUPAL_9, 17 | ]); 18 | 19 | $parameters = $rectorConfig->parameters(); 20 | 21 | $drupalFinder = new DrupalFinder(); 22 | $drupalFinder->locateRoot(__DIR__); 23 | $drupalRoot = $drupalFinder->getDrupalRoot(); 24 | $rectorConfig->autoloadPaths([ 25 | $drupalRoot . '/core', 26 | $drupalRoot . '/modules', 27 | $drupalRoot . '/profiles', 28 | $drupalRoot . '/themes' 29 | ]); 30 | 31 | $rectorConfig->skip(['*/upgrade_status/tests/modules/*']); 32 | $rectorConfig->fileExtensions(['php', 'module', 'theme', 'install', 'profile', 'inc', 'engine']); 33 | $rectorConfig->importNames(true, false); 34 | $rectorConfig->importShortClasses(false); 35 | $parameters->set('drupal_rector_notices_as_comments', true); 36 | }; 37 | -------------------------------------------------------------------------------- /travis_artifacts/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore screenshots 2 | *.jpg 3 | *.png -------------------------------------------------------------------------------- /travis_artifacts/readme.txt: -------------------------------------------------------------------------------- 1 | This directory is used to store artifacts from Travis. --------------------------------------------------------------------------------