toteph42 / filesync
Extended file synchronisation bundle with user e-mail notification for Contao Open Source CMS
Installs: 7
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:contao-bundle
pkg:composer/toteph42/filesync
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 groupsexactly as the folder names were defined (e.g. member groupGroup1). - Assign this group to a member.
- Create a directory below
filesdirectory 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 systemin 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 systemasEditable fields. - Create an
Articleand 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-mailin section Send form data. - Enter the
senderaddress 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
Textfield. 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
or for a specific php version e.g.
/opt/php8.3.24/bin/php 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.