MyBB Community Forums

Full Version: Social Groups 1.8
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
Some of you may remember I released Social Groups for 1.6 long ago.  It worked fine at times and buggy at others.  The code was such a mess to try and maintain and I didn't bother to update it for 1.8.  If you are wondering why you haven't seen me much the last couple years, I work full-time and am also a college student going for a bachelor's degree in Computer Science  with Web Programming and Information Systems Security as my specializations.  I had started on a 1.8 version long ago but never got around to releasing.  I have located some of those old files and have gradually been adding functionality to them.  The plugin is being written a lot different than before so it is a complete rewrite.

Please understand I cannot give an exact date for when the first beta of the plugin becomes available.  It has become such a huge project that it also will be a paid plugin now instead of free.  The first release will likely not have language variables for everything, although it does have some.  The second release will focus primarily on using language variables.


License Rules:
You are allowed to run 2 instances of Social Groups as long as it is on the same domain with just one license.  Licenses are valid indefinitely and all upgrades are free of charge.  If you host a multiforum system similar to createmybb4.com, contact me via Private Message to discuss a rate.  You may not redistribute in whole or significant part the code for Social Groups.  You may modify any of the social groups files for your own website, but these edits cannot be redistributed to others.

Reseller Program:
There will be a reseller program where you are able to sell licenses to other users.  In this scenario, you purchase licenses in bulk. When a client purchases a license, you will use a tool that generates a download link, a license key, and also tracks the sale based on the information you provide.  This can also help you keep track of how much you made in sales which you may need for tax purposes.  This ensures that users always get the most up to date files.  You have complete control over your own pricing since you are purchasing the licenses at a fixed price.  You may use any payment gateways you wish including cryptocurrency since you are the one having to collect the money.  Please note that I am not a tax advisor and you should consult one if you have questions about how this will impact your tax returns.


Features:
- Makes use of classes.  This makes it much easier to create functionality and duplicate it.  It helps so you have consistent behavior and can have it do checks for things like permission.  This also makes it so certain data can be cached so if you need to check something, a database query may not be required.  The system also dynamically loads the classes so you don't have to require every file manually; you just include the main class and it will load all the others.  This also means you can extend the classes by creating additional classes in the appropriate directory. * Complete *

- Makes use of plugin hooks.  If you don't have a function you need, there are hooks that can be used to get you the features you need.  Hooks will be documented when the plugin is about ready to go live.

- Makes use of the forum cache system. * Complete *
- Proper Who's Online functionality. * Complete *
- Log moderator actions like locking threads and displaying properly in Mod CP. * Complete *
- Full admin modules for managing categories, groups, global announcements, moderators, and group leaders. * Complete *

- SEO Urls Option. * Complete *
- PHP 8 Compliance * Complete, although needs testing*

Group CP
- Add / Remove Leaders ( Group Owner Only ) * Complete *
- Edit Group Settings ( Group Leaders / Moderators ) * Complete *
- Manage Join Requests ( Group Leaders ) * In Progress *
- Add / Remove Members * Complete *
- Lock Group ( Moderators Only ) * Complete *
- Enable custom CSS for groups.

Groups
- Create Group Button with limitations on the maximum groups a user can create. * Complete *
- Filter by category * Complete *
- Search for group name * Complete *
- Sort by name, threads, post, and creator * Complete *
- List users browsing * Complete *

Showgroup
- List users browsing group * Complete *
- List Group Members * Complete *
- List Group Leaders * Complete *
- Show Global Announcements * Complete *
- Show group specific announcement * Complete *
- Thread preview * Complete *
- New thread link * Complete *
- Group Logo * Complete *
- Implement Group Jump Menu * Complete *
- Implement Invite Only
- Implement Private Group ( Must be member to view content ) * Complete *
- Implement Locked Group ( Only Moderators+ can post ) * Complete *
- Implement Staff Only Group ( Moderators+ ) * Complete *
- Inline Thread Moderation * Complete *

Screenshots

Admin CP -> Group Manager
[attachment=43836]

Admin CP -> Template Editor
[attachment=43837]

groups.php
[attachment=43838]

showgroup.php
[attachment=43839]

groupthread.php
[attachment=43840]

You are welcome to discuss additional features you would like to see.  You are also free to discuss what you believe a fair price would be.
Hi, about your license schema, although interesting I think you end deciding to doubt clients by default, instead of the opposite which should be the case. If clients decide to purchase merchandise they should be able to use it without notifying in any way to the seller or distributor. I suppose this is similar to the criticisms to online games on major platforms vs physicals discs.

Even though not related to the plugin directly, I think it is a valid comment to make since you describe it this scheme in your post.
I managed to get Who's Online function working for groups.php and showgroup.php. I haven't added groupthread.php yet. One thing I am having a bit of trouble on is figuring out why a guest user always gets invalid group. I'll probably have to go line by line to figure out where code is not executing as expected.

Finally sorted out the invalid group situation.
I think it would be nice to get some previews of your progress to get hyped bit by bit Smile
(2021-02-24, 08:39 PM)Omar G. Wrote: [ -> ]I think it would be nice to get some previews of your progress to get hyped bit by bit Smile
I was planning on showing some screenshots tonight.

Screenshots are in the first post now. Please be advised that there still are more features to code and changes may still occur. At least this gives a basic concept though. The template editor is definitely one of my favorite features since this is such a large project with over 50 templates at the moment.
I'm up to over 100 commits now on the repository. Implementing certain features takes multiple file edits for each one. I've also been working hard on PHP 8 compliance so when MyBB core is compliant, it will be ready. The Admin CP I already have compliant along with one user facing page.
(2021-02-26, 04:07 AM)dragonexpert Wrote: [ -> ]I'm up to over 100 commits now on the repository. Implementing certain features takes multiple file edits for each one. I've also been working hard on PHP 8 compliance so when MyBB core is compliant, it will be ready. The Admin CP I already have compliant along with one user facing page.

Pretty good to know, I am definitely looking forward to seeing this plugin live. I have used the 1.6 version and it was an awesome plugin.
After considerations, Socialgroups will no longer do an authentication request and will have everything required for installation in the zip file itself, however it will collect certain data to help in the event of needing assistance. The data collected and how it will be used will be documented in the license file that comes with the software. Such data will be encrypted when stored in the event of the data getting breached.
I have most of the codebase PHP 8 compatible now. I just have to fix up groupthread.php to the best of my ability given that it relies on a MyBB core function that has issues. I don't expect the Group CP to be particularly challenging to fix up.
This is a current update on where everything is at:

Group CP
- Add / Remove Leaders ( Group Owner Only )
- Edit Group Link ( Group Leaders / Moderators )
- Manage Join Requests ( Group Leaders )
- Add / Remove Members
- Lock Group ( Moderators Only )

Groups
- Create Group Button
- Filter by category
- Search for group name
- Sort by name, threads, post, and creator
- List users browsing

Showgroup
- List users browsing group
- List Group Members
- List Group Leaders
- Show Global Announcements
- Show group specific announcement
- Thread preview
- New thread link
- Group Logo
- Implement Group Jump Menu
- Implement Private Group
- Implement Locked Group
- Implement Staff Only Group ( Moderators+ )
- Implement Join Types: ( Instant, Approval Required )
- Inline Thread Moderation

Admin Modules
- Templates - Easily update, export, and download templates for Social Groups.
- If no templates are found on a particular theme when using the mass edit feature, the templates are generated automatically.
- Leader Management
- Category Management
- Moderator Management
- Global Announcements
- Admin Permissions

Moderator CP
- Log moderator actions.


Plugin Hooks
groups.php
None at the moment

showgroup.php
None at the moment

groupthread.php
- groupthread_start
- groupthread_post_post
- groupthread_quickreply
- groupthread_end

groupcp.php
None at the moment

inc/plugins/socialgroups/classes/socialgroups.php
- socialgroups_constructor
- socialgroups_breadcrumb_link
- class_socialgroups_load_group

inc/plugins/socialgroups/classes/socialgroupsdatahandler.php
- class_socialgroups_socialgroupsdatahandler_save_fields
- socialgroupsdatahandler_delete_group

inc/plugins/socialgroups/classes/socialgroupsthreadhandler.php
- socialgroupsthreadhandler_insert_thread
- socialgroupsthreadhandler_insert_post
- socialgroups_update_post

Dynamic Class loading. All class files in the inc/plugins/socialgroups/classes directory are autoloaded and assigned to $socialgroups.

Planned Features ( These are features not implemented in this release, but will be in the future. )
- Implement Invite Only
- Custom CSS on a per group basis.
- Ability to upload a group logo instead of just entering an url.
- Attachments in posts
- Support for SQLite and PGSQL ( Probably only requires minor changes, although I'd need someone with experience to let me know what to look for )
- Reporting posts
- More hooks in certain areas, especially in areas that have none.
- Import .json files to edit a theme of choice.
- Link to groups you are in when viewing User CP.
- Language Support

Lots of bugs have been fixed since my last update. I have also considered just making the plugin free, but have a donation link so users can donate what they feel is a fair price for the plugin. This would also enable me to make the plugin be open source.
Pages: 1 2 3