Skip to content
View in the app

A better way to browse. Learn more.

SOS Invision

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Invite System

Featured Replies

  • Administrator

Invite System

This application enables your community to use an invitation system for new registrations, which can be made mandatory based on your settings. When enabled, a valid invitation code will be required to create a new account in your community.

Public side features:

  • Users can send invitations on Account SettingsInvitations.

  • A new icon is added to the board top (beside Notifications and Messenger) to display the converted invitees and the user's number of invites. This icon also shows the remaining invitations for the member (just like how many users are online on Chat).

  • 2 widgets: Top Inviters (per week, month, year, and general) and Latest Converted Invitees, which are invitations converted to membership.

  • Shows "Invited by" on the user profile and profile card (hover on the user link).

  • Tab on the user profile to display their invitees (converted invitations)

  • Notification to the member who invited someone when an account is created using their invitation

  • Campaigns:

    • You can bring the Invite System to the real world by using campaigns, where people can register using the same code for a given number of days or until a limit of registration is reached.

    • Campaigns DO NOT send emails. The purpose is to use its code somewhere else.

    • Campaigns are independent of the invitation system, so you can simply leave it disabled if you don't want to use it.

    • You can also use invitations and campaigns together.

  • More.

Settings:

  • Enable Invite System

  • Require an Invitation to Register an Account

  • Restore deleted or expired invitation

  • Display the popup Invitations link on the board top.

  • Display the total remaining invitations

  • Invitation Expires after X days

  • Earn one Invitation at every X new content posted

  • More.

ACP Features:

  • Invitations Management: a place where you can see the status of each invitation. The statuses are PENDING, CONVERTED, and EXPIRED. You can invite people, and delete or resend invitations. You can also create batch invitations, to be used on a campaign or to be posted elsewhere. It won't send any emails.

  • Bonus form: you can give invitations to a specific member or a whole member group

  • Integration with Commerce

Notes:

  • It doesn't work in Commerce registration (if you have packages in the register screen).

  • Since hooks cannot be used, a few options have been removed in this version.

File Information

Submitter Adriano

Submitted 12/09/2024

Category Paid Applications

View File

Invite System

  • 3 months later...
  • Replies 34
  • Views 1.6k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • When I click the "Copy" button for any member group in the Admin Panel's User Groups section (I am not using the copy button to create a new group for convenience), I receive the following error. I wr

  • Ops sorry. :)) there was a typo. I click the button, and when I do, I receive this error.

  • Square Wheels
    Square Wheels

    Thanks, I've never edited an email before. :)

Posted Images

When I click the "Copy" button for any member group in the Admin Panel's User Groups section (I am not using the copy button to create a new group for convenience), I receive the following error. I wrote it here because I think it's related to the Invite plugin. Even though I receive this error, the group is still created on the User Groups page.

TypeError: IPS\invite\Member\Group::getGroupData(): Return value must be of type array, null returned (0)

#0 /var/www/vhosts/yapizemin.tr/httpdocs/applications/invite/extensions/core/GroupForm/Invite.php(31): IPS\invite\Member\Group::getGroupData()

#1 /var/www/vhosts/yapizemin.tr/httpdocs/applications/core/modules/admin/members/groups.php(239): IPS\invite\extensions\core\GroupForm\Invite->process()

#2 /var/www/vhosts/yapizemin.tr/httpdocs/system/Dispatcher/Controller.php(128): IPS\core\modules\admin\members\groups->form()

#3 /var/www/vhosts/yapizemin.tr/httpdocs/applications/core/modules/admin/members/groups.php(70): IPS\Dispatcher\Controller->execute()

#4 /var/www/vhosts/yapizemin.tr/httpdocs/system/Dispatcher/Dispatcher.php(169): IPS\core\modules\admin\members\groups->execute()

#5 /var/www/vhosts/yapizemin.tr/httpdocs/admin/index.php(15): IPS\Dispatcher->run()

#6 {main}

Edited by TBB1234

  • Author
  • Administrator
5 minutes ago, TBB1234 said:

When I click the "Copy" button for any member group in the Admin Panel's User Groups section (I am not using the copy button to create a new group for convenience)

Are you clicking or not in the COPY button? 🤷🏻‍♂️

1 minute ago, Adriano said:

KOPYALA butonuna tıklıyor musunuz, tıklamıyor musunuz?🤷🏻‍♂️

Ops sorry. :))
there was a typo. I click the button, and when I do, I receive this error.

  • Author
  • Administrator

What's New in Version 3.0.1:

  • Fix error when cloning groups

  • 2 weeks later...

Hello,

The error I get when trying to create a new user group in the admin panel.

image.png

  • Author
  • Administrator

What's New in Version 3.0.1.1:

  • Fix errors when creating a new group

  • 1 month later...

I am considering getting this to have a contest to see who can get the most new members to join in a month.

If the inviting member does it wrong, let's say they just talk to a coworker and get them to join, can I go in as an admin and attribute the membership to the person who suggested it?

Thanks

  • Author
  • Administrator
21 minutes ago, Square Wheels said:

an I go in as an admin and attribute the membership to the person who suggested it?

Nope.

21 minutes ago, Square Wheels said:

If the inviting member does it wrong, let's say they just talk to a coworker and get them to join

Not sure I follow. The member will send a unique invitation code. Only those who were invited will be aware of the code. The code is used to tie the member who invited.

12 minutes ago, Adriano said:

Not sure I follow.

I send the email to my members. These are clinical lab workers, many are not computer savvy.

Joe talks to Jane and says there is a contest, and if he can get the most people to join, he'll win a prize.

Jane asks him what the site is, and Joe tells her how to get there.

Jane then joins.

Joe sends me a PM and says he got Jane to join.

Am I able to make an entry into the table below that indicates Jane joined because of Joe?

I know this will happen a lot. I have thousands of members. The young ones will be fine, but the older ones, not so much.

image.png

  • Author
  • Administrator

You don’t send a message or “talk” to someone. An email is sent via the app with the invitation code. The invitee needs to inform this code in the registration screen. The code tells me who invited and that’s how both members are tied.

6 minutes ago, Adriano said:

You don’t send a message or “talk” to someone. An email is sent via the app with the invitation code. The invitee needs to inform this code in the registration screen. The code tells me who invited and that’s how both members are tied.

I understand how it's supposed to work, I'm just trying to explain my reality.

I'll send an email to almost 6k members, many of them will mess up.

It's OK, I'll probably still get it and figure out something. I see I can export, that's awesome, I can just add them to the spreadsheet.

  • 2 months later...

I am getting this error:

ErrorException: template_store_missing (0)
#0 /var/www/sitefiles/a334950/applications/invite/extensions/core/AchievementAction/invitation.php(87): IPS\Theme->getTemplate('achievements')
#1 /var/www/html/5000909/applications/cloud/sources/Quest/Task.php(230): IPS\invite\extensions\core\AchievementAction\invitation->ruleDescription(Object(IPS\core\Achievements\Rule))
#2 /var/www/html/5000909/system/Node/Controller.php(587): IPS\cloud\Quest\Task->form(Object(IPS\Helpers\Form))
#3 /var/www/html/5000909/system/Node/Controller.php(484): IPS\Node\Controller->_addEditForm(Object(IPS\cloud\Quest\Task))
#4 /var/www/html/5000909/applications/cloud/modules/admin/quests/quests.php(62): IPS\Node\Controller->form()
#5 /var/www/html/5000909/system/Dispatcher/Controller.php(128): IPS\cloud\modules\admin\quests\quests->form()
#6 /var/www/html/5000909/system/Node/Controller.php(117): IPS\Dispatcher\Controller->execute()
#7 /var/www/html/5000909/system/Dispatcher/Dispatcher.php(169): IPS\Node\Controller->execute()
#8 /var/www/html/5000909/admin/index.php(15): IPS\Dispatcher->run()
#9 {main}
  • Author
  • Administrator

I installed this a couple of weeks ago and didn’t see any errors. I see Quest in your error so probably something has changed in 5.0.10. I obviously don’t use IPS Cloud hosting. Will try installing it on a 5.0.10 and will reply later.


I see the error.

  • Author
  • Administrator

What's New in Version 3.0.2:

  • Fix the issue in the achievement extension that causes an error during app install on IPS cloud hosting.

  • 1 month later...

Small issue, but as I mentioned above, I have a lot of challenged users.

If you have memberships you can purchase, and click "No thanks, continue without purchasing", the invitation code is not carried over.

I suspect it also does not carry over if you do purchase a membership.

  • Author
  • Administrator

By membership you mean a subscription in the Commerce “registration” screen? No, it extends the Core regular registration only.

2 hours ago, Adriano said:

By membership you mean a subscription in the Commerce “registration” screen? No, it extends the Core regular registration only.

Yes, I call them memberships on my site, but they are the stock memberships that I imagine many people use.

That's a shame that it will not carry the code to the next page. I imagine many people will not be able to do that. Like I said, these people are lab workers, not IT folks, most of them will not enter the code on the next page.

  • Author
  • Administrator

It's not that I want it; the Commerce form isn't included in the Form extension.

image.png

31 minutes ago, Adriano said:

It's not that I want it; the Commerce form isn't included in the Form extension.

image.png

Thanks for the info.

Can you provide instructions for how to edit the email that the invitee receives?

I'd like to include info about "you must copy and paste the code so the person inviting you receives credit".

Thanks

  • Author
  • Administrator
27 minutes ago, Square Wheels said:

Can you provide instructions for how to edit the email that the invitee receives?

I'd like to include info about "you must copy and paste the code so the person inviting you receives credit".

Thanks

Like any other email:

image.png

6 minutes ago, Adriano said:

Like any other email:

Thanks, I've never edited an email before. :)

  • 3 weeks later...

Receiving this error when trying to edit a group on 5.0.12:

TypeError: IPS\invite\Member\Group::getGroupData(): Return value must be of type array, null returned (0)
#0 /volume1/web/***/applications/invite/extensions/core/GroupForm/Invite.php(38): IPS\invite\Member\Group::getGroupData(4)
#1 /volume1/web/***/applications/core/modules/admin/members/groups.php(239): IPS\invite\extensions\core\GroupForm\Invite->process(Object(IPS\Helpers\Form), Object(IPS\Member\Group))
#2 /volume1/web/***/system/Dispatcher/Controller.php(128): IPS\core\modules\admin\members\groups->form()
#3 /volume1/web/***/applications/core/modules/admin/members/groups.php(70): IPS\Dispatcher\Controller->execute()
#4 /volume1/web/***/system/Dispatcher/Dispatcher.php(169): IPS\core\modules\admin\members\groups->execute()
#5 /volume1/web/***/admin/index.php(15): IPS\Dispatcher->run()
#6 {main}

Solved it with this fix: https://diffchecker.dev/?originalText=H4sIAAAAAAAAA%2B1VTU%2FbQBA9e3%2FFVIpkB6UE1J6SAgcwJYKWlCSVKoKsjT3BKzlea3edEiH%2Be2d3g0M%2FQouq3nqJNzPzZue9eYnfHVV5xVjJF6grniIMhqOpKJfC4PQDLmao%2Box1d2AsoVK4xNLA8GwIqJRUGiK8M1hmoryFtOBaQyZRQykN4J3Qpg0Wwgubr7jJYafLWK39JSfc8OnISIX9TWzmz5MyQzUv5Nf4LsXKCFnSFGIewasM56LELIJwagGjyWAcJ5OPg0%2BTODmPv4TQhja7Z0GOnFpEEIHQGk0ErWQUX32Or65D%2F0yGV5fjy%2BPLi%2FCGMEfP5nsQno3Hw%2B7%2B7p69YBdCeLv3Bk6lmoksw5KCfRYQZdNnD4x5Kd4rWVd2lKqeFSIFbbihx7wuU0sIbtG4EqsDTUnCtm7t90FGV%2FSAK8VXLCB84IivaTjBej0RtV8f%2BjW5JtrxDlx54PtoOABKK06IxMjENYzgZLZGaywwpY7hTtiB0PdKPJL42Lw5x9WpwMKqLXQiMqdu316xdYyDNQtty0iLIDBq1QyWEVcq2Ya%2B3khw4%2FFBkHKT5tEvHAEtfEJ53XlN0o6bctc5hIND2O%2B4UF0WYkGxzAX3PBc3pEJTK2pp21DQxravLbbeJk%2F%2FX9%2Ffru%2F%2BheLrrb%2BZDsykLKBFWx%2B4kR4DQk8et%2B4Ws5Qi83tppFRYFfTXF%2F0oY8eS9rrbU7BWkU7knubiJvVoOJfdzNHkN%2B5zFU8GsyV2%2FbQc%2BvSke726IkG8tMc8zTFqPy%2FOz%2FXf0bU2fIEL6%2FI3pY1D%2Fr1f%2F8iuT5RpJMnqxWIVtb0A3S69mHL7LspRoQU8fAMmTSlF%2FgYAAA%3D%3D&changedText=H4sIAAAAAAAAA%2B1VTU%2FbQBA9e3%2FFVEKyg1ICak9JgQOYEkFLSpJKFUHWxjshKzm71u6agir%2Be2d3QwJUfFx6qXqJnZl5M%2FPeW9uf9ut5zZjiC7Q1LxH6g%2BFEqmvpcPIFF1M0PcY6mzDSUBu8RuVgcDwANEYbCxneOFRCqisoK24tCI0WlHaAN9K6FngIr3y%2B5m4Omx3GGhuHHHLHJ0OnDfbWsWm8HyuBZlbpn%2FlNibWTWtEWcpbBO4EzqVBkkE48YDjuj%2FJi%2FLX%2FbZwXJ%2FmPFFrQYr9YMkdOLTLIQFqLLoONYpiff8%2FPL9J4LQbnZ6Ozg7PT9JIw%2By%2Fmu5Aej0aDzs7Wth%2BwBSl83P4AR9pMpRCoKNhjCVF2PXbHWJTis9FN7Vepm2klS7COO7rMGlV6QnCFLpR4HWhLEnbjyv%2FvCxrRBW4Mv2UJ4ZNAfEkjCNbtyqz1fi%2FaFJrYwDsJ5UnsY2EXKG04IQqni9Awg8PpEm2xwpI6pptpG9LYq4hI4uPz7gRvjyRWXm1pCymCuj0%2F4tk1dpcsrC8jLeL2ryx%2FsaZ%2B%2BYiIIG2o5VtwcV6SYGXxKX5J3ZMoecCnsLsHO%2B0QalQlFxQTIbgdGYbVDbrGKAhtKOhjz5uZ%2BxNPJ%2F2%2Fqf%2BKqfbZJ7QNU60r2KDB%2FTD6PiDt%2BH5wMPxaSxH9XllksK7oRZs9taftyUVS%2Fi5ZukN3RGA1eJW65xyy6z1W%2BbUAoeLBYr7Eu0GS0G8k3e02NQkSLTjg5Ryz1svi%2FFn%2FiO4bDsjDQ9GoV0pX9v395%2BBNj8EDZVaSiGaxuM1aUYBOhz6Dc%2F%2Flm6NBD7j7DfqJyZFsBwAA&viewType=split

Edited by NuclearGeneral

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.

Account

Navigation

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.