Hi Everyone! So I've been working with PW for over ten years now!!! Big thanks to @ryan and everyone in the community (genuinely such a warm community). I've made a few modules in my time as well as tutorials and this was the first that I thought might work as a commercial module:
MembersMessaging
This module enables you to easily setup a messaging system for your users through your site. Allow your website users to message other users on the site given a user name or similar information.
Module uses the notions of threads, messages and users to describe the message relationship -> A thread is a page storing n messages including: time posted, created by user and message text, the user ids in that thread, which users have unread messages in that thread, whether messages are encrypted (and it's salt). User pages have a list of all threads they are apart.
In your templates you can add: a compose message form, threads and their messages, thread reply forms, message and threads counts, as well as delete and delete all messages. You can view messages in the admin (unless encrypted set to True) and view message stats and module usage in admin page Members.
Purchase here
How to install?
- Install Processwire
- Add MembersMessagingModule folder to modules folder in processwire: /site/modules/
- Login to your site admin and navigate to Modules: yoursite.com/[admin]/module
- Configure the module settings: yoursite.com/[admin]/module/edit?name=MembersMessaging`
- Follow the instructions below to add messaging to your templates
How to use
Example usage:
$mm = $modules->getModule("MembersMessaging");
echo $mm->execute();
echo $mm->js();
echo $mm->css();
Full api here.
Configuration
Module allows you to configure whether:
to allow new threads to yourself
to allow new threads to guest user role
to trash or unpublish threads deleted from frontend
to use select or textinput for username input
to allow an All keyword to signal thread should include all users
to change all keyword to something else
to notify a user via email they have been sent a new message
to set email sender address
to change username output from user name field to some other field specified
to change default max threads and messages to display
to encrypt messages (using basic encrypt strategy that encrypts each message on server before DB save, and is decrypted on request)
Roadmap: Available here.
-------
I'm not really sure how much interest there would be in this module so I've posted it to GumRoad for now, but will be looking to work on a PW store front if theres any interest in it and other modules - I've got ideas for other modules such as deffered page publishing, image folder GUI, protected field, field dependencies, pages contraits.
I'm also available for hire currently to work on sites or modules https://www.benbyford.com