Skip to content

Commit

Permalink
Merge branch 'mautic:5.x' into staging
Browse files Browse the repository at this point in the history
  • Loading branch information
joebordes authored Aug 9, 2024
2 parents 2555c21 + 81bbae3 commit bb0f0d6
Show file tree
Hide file tree
Showing 6,827 changed files with 502,229 additions and 351,813 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1,361 changes: 1,361 additions & 0 deletions .all-contributorsrc

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions .ddev/.env.local.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# .env.local
APP_ENV=dev
APP_DEBUG=1
4 changes: 4 additions & 0 deletions .ddev/.env.test.local
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
DB_HOST=db
DB_USER=db
DB_PASSWD=db
DB_NAME=test
7 changes: 7 additions & 0 deletions .ddev/commands/redis/redis-cli
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash

## Description: Run redis-cli inside the redis container
## Usage: redis-cli [flags] [args]
## Example: "redis-cli KEYS *" or "ddev redis-cli INFO" or "ddev redis-cli --version"

redis-cli -p 6379 -h redis $@
5 changes: 5 additions & 0 deletions .ddev/commands/web/ddev-setup-mautic
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

source ./.ddev/mautic-setup.sh
echo "ddev-managed" > ./.ddev/mautic-preference
setup_mautic
23 changes: 23 additions & 0 deletions .ddev/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
type: php
docroot: ""
php_version: "8.3"
webserver_type: apache-fpm
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
mariadb_version: "10.3"
mysql_version: ""
provider: default
upload_dir: "media/files, media/images" # Specify the directories containing user-generated uploads
use_dns_when_possible: true
composer_version: "2"
webimage_extra_packages: [php8.3-imap]
hooks:
post-start:
# Fix line endings on Windows
- exec: sed -i -e 's/\r$//' ./.ddev/mautic-setup.sh
- exec: sed -i -e 's/\r$//' ./.git/hooks/*
- exec: "chmod +x ./.ddev/mautic-setup.sh"
- exec: "yes | ./.ddev/mautic-setup.sh"
18 changes: 18 additions & 0 deletions .ddev/docker-compose.network-mtu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Temporary fix for network issues when running composer inside ddev container (in Gitpod)
#
# Since Gitpod removed slirp4netns as part of performance improvements,
# MTU value should be aligned to the one in gitpod.io
#
# Gitpod fixed it for docker - https://github.com/gitpod-io/gitpod/pull/9356
# and for docker-compose - https://github.com/gitpod-io/template-docker-compose/pull/4
#
# ddev doesn't use Gitpod's custom docker-compose binary. Instead, ddev uses
# its own docker-compose binary at /home/gitpod/.ddev/bin/docker-compose
# ddev issue [WIP] - https://github.com/drud/ddev/issues/3766
#
# Align the MTU value to the one that is set in Gitpod (1440)

networks:
default:
driver_opts:
com.docker.network.driver.mtu: 1440
24 changes: 24 additions & 0 deletions .ddev/docker-compose.redis-commander.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
version: '3.6'
services:
redis-commander:
container_name: ddev-${DDEV_SITENAME}-redis-commander
hostname: ${DDEV_SITENAME}-redis-commander
image: ghcr.io/joeferner/redis-commander:latest
restart: always
ports:
- 1358
labels:
com.ddev.site-name: ${DDEV_SITENAME}
com.ddev.approot: $DDEV_APPROOT
environment:
- VIRTUAL_HOST=$DDEV_HOSTNAME
- HTTP_EXPOSE=1358
- HTTPS_EXPOSE=1359:1358
- REDIS_PORT=6379
- REDIS_HOST=redis
- PORT=1358
volumes:
- ".:/mnt/ddev_config"
redis:
links:
- redis-commander:redis-commander
22 changes: 22 additions & 0 deletions .ddev/docker-compose.redis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# ddev redis recipe file
#
version: "3.6"

services:
redis:
container_name: ddev-${DDEV_SITENAME}-redis
image: redis:5
ports:
- 6379
labels:
com.ddev.site-name: ${DDEV_SITENAME}
com.ddev.approot: $DDEV_APPROOT
volumes:
- ".:/mnt/ddev_config"
- "./redis:/usr/local/etc/redis"
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
web:
depends_on:
- redis
links:
- redis:redis
14 changes: 14 additions & 0 deletions .ddev/gitpod-setup-ddev.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/usr/bin/env bash

# Set up ddev for use on gitpod

set -eu -o pipefail

# Misc housekeeping before start
ddev config global --router-bind-all-interfaces
# Pass the GITPOD_WORKSPACE_URL env variable to the web container for our setup script
ddev config global --web-environment="MAUTIC_URL=$(gp url 8080),PHPMYADMIN_URL=$(gp url 8036),MAILHOG_URL=$(gp url 8025),DRUSH_OPTIONS_URI=https://127.0.0.1:8080"

ddev get ddev/ddev-phpmyadmin

ddev start -y
18 changes: 18 additions & 0 deletions .ddev/local.config.php.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php
$parameters = [
'api_enabled' => true,
'api_enable_basic_auth' => true,
'db_driver' => 'pdo_mysql',
'db_host' => 'db',
'db_table_prefix' => null,
'db_port' => 3306,
'db_name' => 'db',
'db_user' => 'db',
'db_password' => 'db',
'admin_email' => '[email protected]',
'admin_password' => 'Maut1cR0cks!',
'install_source' => 'DDEV',
'mailer_from_name' => 'DDEV',
'mailer_from_email' => '[email protected]',
'mailer_dsn' => 'smtp://localhost:1025',
];
55 changes: 55 additions & 0 deletions .ddev/mautic-setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/bin/bash

setup_mautic() {
[ -z "${MAUTIC_URL}" ] && MAUTIC_URL="https://${DDEV_HOSTNAME}"
[ -z "${PHPMYADMIN_URL}" ] && PHPMYADMIN_URL="https://${DDEV_HOSTNAME}:8037"
[ -z "${MAILHOG_URL}" ] && MAILHOG_URL="https://${DDEV_HOSTNAME}:8026"

printf "Installing Mautic Composer dependencies...\n"
composer install

cp ./.ddev/local.config.php.dist ./config/local.php
cp ./.ddev/.env.test.local ./.env.test.local
cp ./.ddev/.env.local.dist ./.env.local

printf "Installing Mautic...\n"
php bin/console mautic:install "${MAUTIC_URL}"
php bin/console cache:warmup --no-interaction --env=dev

printf "Enabling plugins...\n"
php bin/console mautic:plugins:reload

tput setaf 2
printf "All done! Here's some useful information:\n"
printf "🔒 The default login is admin / Maut1cR0cks!\n"
printf "🌐 To open the Mautic instance, go to ${MAUTIC_URL} in your browser.\n"
printf "🌐 To open PHPMyAdmin for managing the database, go to ${PHPMYADMIN_URL} in your browser.\n"
printf "🌐 To open MailHog for seeing all emails that Mautic sent, go to ${MAILHOG_URL} in your browser.\n"
printf "🚀 Run \"ddev exec composer test\" to run PHPUnit tests.\n"
printf "🚀 Run \"ddev exec bin/console COMMAND\" (like mautic:segments:update) to use the Mautic CLI. For an overview of all available CLI commands, go to https://mau.tc/cli\n"
printf "🔴 If you want to stop the instance, simply run \"ddev stop\".\n"
tput sgr0
}

# Check if the user has indicated their preference for the Mautic installation
# already (DDEV-managed or self-managed)
if ! test -f ./.ddev/mautic-preference
then
tput setab 3
tput setaf 0
printf "Do you want us to set up the Mautic instance for you with the recommended settings for DDEV?\n"
printf "If you answer \"no\", you will have to set up the Mautic instance yourself."
tput sgr0
printf "\nAnswer [yes/no]: "
read MAUTIC_PREF

if [ $MAUTIC_PREF == "yes" ] || [ -n $GITPOD_HEADLESS ];
then
printf "Okay, setting up your Mautic instance... 🚀\n"
echo "ddev-managed" > ./.ddev/mautic-preference
setup_mautic
else
printf "Okay, you'll have to set up the Mautic instance yourself. That's what pros do, right? Good luck! 🚀\n"
echo "unmanaged" > ./.ddev/mautic-preference
fi
fi
8 changes: 8 additions & 0 deletions .ddev/redis/redis.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Redis configuration.
#
# Example configuration files for reference:
# http://download.redis.io/redis-stable/redis.conf
# http://download.redis.io/redis-stable/sentinel.conf

maxmemory 2048mb
maxmemory-policy allkeys-lru
16 changes: 16 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# In all environments, the following files are loaded if they exist,
# the latter taking precedence over the former:
#
# * .env contains default values for the environment variables needed by the app
# * .env.local uncommitted file with local overrides
# * .env.$APP_ENV committed environment-specific defaults
# * .env.$APP_ENV.local uncommitted environment-specific overrides
#
# Real environment variables win over .env files.
#
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
#
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
APP_ENV=prod
APP_DEBUG=0
10 changes: 0 additions & 10 deletions .env.dist

This file was deleted.

11 changes: 11 additions & 0 deletions .env.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# .env.test
DB_HOST=127.0.0.1
DB_PORT=3306
DB_NAME=mautictest
DB_USER=root
DB_PASSWD=
MAUTIC_DB_PREFIX=test_
MAUTIC_TABLE_PREFIX=test_
MAUTIC_ENV=test
MAUTIC_ADMIN_USERNAME=admin
MAUTIC_ADMIN_PASSWORD=mautic
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
**/app/bundles/EmailBundle @mabumusa1
103 changes: 103 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
The primary source of the Code of Conduct is at [mautic.org](https://www.mautic.org/code-of-conduct/) - it is reproduced here for reference.

## 1. Purpose

A primary goal of the Mautic community is to support you and your business in the development, use and implementation of Mautic. It’s to be inclusive and add value to the largest number of participants, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all.

This code of conduct outlines our expectations for all those who participate in our community, whether in-person or online, as well as the consequences for unacceptable behavior.

Your participation is contingent upon following these guidelines in all Mautic activities, including but not limited to:

* Using Mautic community resources.
* Working with other Mauticians and other Mautic community participants whether virtually or co-located.
* Representing Mautic at public events.
* Representing Mautic in social media (official accounts, personal accounts, Facebook pages and groups).
* Participating in Mautic sprints and training events.
* Participating in Mautic-related forums, mailing lists, wikis, websites, chat channels, bugs, group or person-to-person meetings, and Mautic-related correspondence.

We invite all those who participate in Mautic activities online to help us create safe and positive experiences for everyone, everywhere.


## 2. Open Source & Culture Citizenship

A supplemental goal of this Code of Conduct is to increase open source and culture citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community.

Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society.

If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, please recognize their efforts.

## 3. Welcoming to all
We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience or job role, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, national origin, citizenship and immigration status, neurodiversity, mental health or socio-economic status.


## 4. Expected Behavior

The following behaviors are expected and requested of all community members:

* Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community.
* Exercise consideration and respect in your speech and actions.
* Attempt collaboration before conflict.
* Guide conversations toward issue resolution.
* Refrain from demeaning, discriminatory, or harassing behavior and speech.

Alert Mautic team members if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential.

## 5. Unacceptable Behavior

The following behaviors are considered harassment and are unacceptable within our community:

* **Violence and Threats of Violence** are not acceptable - online or offline. This includes incitement of violence toward any individual, including encouraging a person to commit self-harm. This also includes posting or threatening to post other people’s personally identifying information (“doxxing”) online.
* **Public or private harassment** is never acceptable in any form.
* **Personal Attacks** Conflicts will inevitably arise, but frustration should never turn into a personal attack. It is not okay to insult, demean or belittle others. Attacking someone for their opinions, beliefs and ideas is not acceptable. It is important to speak directly when we disagree and when we think we need to improve, but such discussions must be conducted respectfully and professionally, remaining focused on the issue at hand.
* **Derogatory Language** Hurtful or harmful language is never acceptable in any context related to: background, family status, gender, gender identity or expression, marital status, sex, sexual orientation, personal appearance, body size, native language, age, ability, neurodiversity, mental health, race and/or ethnicity, national origin, citizenship and immigration status, socioeconomic status, religion, geographic location.
* **Unwelcome Sexual Attention or Physical Contact** Unwelcome sexual attention or unwelcome physical contact is not acceptable. This includes sexualized comments, jokes or imagery in interactions, communications or presentation materials, as well as inappropriate touching, groping, or sexual advances. This includes touching a person without permission, including sensitive areas such as their hair, pregnant stomach, mobility device (wheelchair, scooter, etc) or tattoos. This also includes physically blocking or intimidating another person. Physical contact or simulated physical contact (such as emojis like “kiss”) without affirmative consent is not acceptable. This includes sharing or distribution of sexualized images or text.
* **Disruptive Behavior** Sustained disruption of events, forums, or meetings, including talks and presentations, will not be tolerated. This includes spamming community discussions with the solicitation of unwanted products or services.
* **Influencing Disruptive Behavior** We will treat influencing or leading such activities the same way we treat the activities themselves, and thus the same consequences apply.
* **Corporate Promotions** Sharing of demo/trial/landing page links and other corporate promotions are never permitted unless explicitly requested by a community member. The only exceptions are that the moderated [Commercial forum category](https://forum.mautic.org/c/commercial) may be used to promote opportunities which may be relevant for members of the community (for example job opportunities, freelance gigs) and Mautic Community Partners may promote their products and services on their partners page.
* **Scraping contacts** by name or any other personally identifiable information for unsolicited communication is never acceptable in any form.

## 6. Consequences of Unacceptable Behavior

Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.

Anyone asked to stop unacceptable behavior is expected to comply immediately.

If a community member engages in unacceptable behavior, we may take any action deemed appropriate, up to and including a temporary ban or permanent expulsion from the community without warning. Examples of sanctions which may be applied include but is not limited to:
* Verbal warnings.
* Written warnings.
* Temporary absence from participation.
* Long-term absence from participation.
* Being required to follow a conduct agreement that dictates the process of returning to the community.


## 7. Reporting Guidelines
If you are subject to or witness unacceptable behavior, or have any other concerns, please notify us as soon as possible by emailing [email protected], or contacting a Mautic team member on the specific platform.

Processes for dealing with breaches of the Code of Conduct can be found [here][coc-breaches].

## 8. Addressing Grievances
Only permanent resolutions (such as bans) may be appealed. To appeal a decision, contact the Mautic team at [email protected] with your appeal and the team will review the situation.

## 9. Scope
We expect all community participants (contributors, moderators and other guests) to abide by this Code of Conduct in all community venues–online and in-person–as well as in all one-on-one communications pertaining to community affairs.

While this code of conduct is specifically aimed at Mautic’s official resources and community, we recognize that it is possible for actions taken outside of Mautic’s official online or in person spaces to have a deep impact on community health.

Resources or incidents which break this code of conduct for any reason in a non-Mautic community location will be considered in the same way as resources or incidents from owned channels, and subject to the same sanctions.

## 10. Contact info
For more information, please contact [email protected].

## 11. License and attribution
This Code of Conduct is directly adapted from the Stumptown Syndicate and distributed under a [Creative Commons Attribution-ShareAlike license][cc-by-sa].

Additional text from [Mozilla Community Participation Guidelines][mozilla-guidelines] distributed under a [Creative Commons Attribution-ShareAlike license][cc-by-sa].

Reviewed and updated using the [Mozilla Code of Conduct Assessment Tool][mozilla-tool].

[coc-breaches]: </policies/code-of-conduct-breaches>
[mozilla-guidelines]: <https://www.mozilla.org/en-US/about/governance/policies/participation/>
[cc-by-sa]: <https://creativecommons.org/licenses/by-sa/3.0/>
[mozilla-tool]:<https://mozilla.github.io/diversity-coc-review.io>

(Code of Conduct is subject to change without notice).
Loading

0 comments on commit bb0f0d6

Please sign in to comment.