toteph42 / filesync
Extended file synchronisation bundle with user e-mail notification for Contao Open Source CMS
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:contao-bundle
Requires
- php: >=8.0
- contao/core-bundle: >=5.3.0
- symfony/mailer: ^6.4
Conflicts
- contao/manager-plugin: <2.0 || >=3.0
README
This small extension replaces to Contao internal contao:filesync
command by toteph42:filesync
.
On top of the file synchronization, e-Mail notifications were send to users if any file has changed or is new.
Installation
Via composer
composer require toteph42/filesync
Via contao-manager
Search for totep42/filesync bundle and add it to your extensions.
After installing the contao-member-extension-bundle, you need to run a contao install.
Usage
- Define
Member groups
exactly as the folder names were defined (e.g. member groupGroup1
). - Assign this group to a member.
- Create a directory below
files
directory named like your group (e.g.files/Group1
). - Then copy any files to the directory and call
vendor/contao-console toteph42:filesync
.
Disable notification
- Uncheck checkbox
Notify user about changes in file system
in member definition (default=true).
Member configuration
If you want members to give the possibility to select whether they want notification or not in frontend:
- Create a frontend module
Personal data
. - Select field
Notify user about changes in file system
asEditable fields
. - Create an
Article
and include the module you just created.
Creating message to send
Now you need to create a Forms
with the name of the group (e.g. member group Group1
).
- Click on checkbox
Send form data via e-mail
in section Send form data. - Enter the
sender
address in fieldRecipient address
(e.g.from@exaple.com). - Add your
Subject
. - Select Data format
E-mail
. - Save and close
- Add a content field with Field type
Explanation
. - Enter your e-Mail in
Text
field. Use the placehoder[[files]]
where you want the list of files to be inserted. - Save and close
Testing
To test, please go to your web directory and use the command
/vendor/bin/contao-console toteph42:filesync
Production
To start sending notification e-Mails, you need to edit your crontab using crontab -e
and enter:
# Synchronize files
30 * * * * /opt/php8.3.13/bin/php [Path to your Contao installation]/vendor/bin/contao-console toteph42:filesync
Please enjoy!
If you enjoy my software, I would be happy to receive a donation.