Page 1 of 4

[BETA] Group Subscription (PayPal)

Posted: Thu Aug 23, 2018 11:59 pm
by StevoTVR
Extension Name: Group Subscription
Author: StevoTVR

Extension Description: Allows you to create paid subscriptions for members to gain access to usergroups.
Extension Version: 0.2.1
Source Repository: https://github.com/stevotvr/phpbb-groupsub

Requirements:
  • phpBB 3.2.0
  • allow_url_fopen enabled in the PHP configuration
Features:
  • Accept payments via PayPal in any currency supported by PayPal
  • Supports multiple packages each with multiple price/length options
  • Subscription packages can be attached to one or more usergroups
  • Users are automatically added/removed from groups as their subscription starts/ends
  • Optionally set subscribers' default group
  • Notifications when a subscription is about to expire and has expired
  • Configurable warning time and grace period
  • Sandbox mode for testing
Screenshots:
Image

Image

Image

Image

Image

Image

Image

Extension Download: https://github.com/stevotvr/phpbb-group ... _0.2.1.zip

Re: [BETA] Group Subscription (PayPal)

Posted: Fri Aug 24, 2018 12:48 am
by </Solidjeuh>
This is interesting! Great ext!

Re: [BETA] Group Subscription (PayPal)

Posted: Fri Aug 24, 2018 10:49 pm
by eunaumtenhoid
WOW amazing dude ty

Re: [BETA] Group Subscription (PayPal)

Posted: Sat Aug 25, 2018 8:49 am
by Hartenheer
I follow this.

Re: [BETA] Group Subscription (PayPal)

Posted: Sat Aug 25, 2018 12:22 pm
by jackennils
Very interesting! Following right now.

Re: [BETA] Group Subscription (PayPal)

Posted: Sun Aug 26, 2018 1:29 am
by kinerity
Subscribed!

Re: [BETA] Group Subscription (PayPal)

Posted: Sun Aug 26, 2018 5:38 am
by eunaumtenhoid
When added to the group will it be the default group?
can I add a selectbox to this default group option or not?

Re: [BETA] Group Subscription (PayPal)

Posted: Sun Aug 26, 2018 3:21 pm
by kinerity
2 things I noticed.

1) The first subscription uses 2 different background colors. It's hard to see in the picture below, but if you look closely you can see it.
2) BBCode only seems partially operational. My list is in a smaller text and the bullet points are outside the subscription area (refer back to the different backgrounds).

subscriptions.png

Re: [BETA] Group Subscription (PayPal)

Posted: Sun Aug 26, 2018 4:27 pm
by kinerity
Fixed both issues by changing the package_list.html file to this:

Code: Select all

{% include 'overall_header.html' %}

<h2>{{ lang('GROUPSUB_PACKAGE_LIST') }}</h2>

{% for p in package %}

<div class="panel bg{% if loop.index is odd %}1{% else %}2{% endif %}">

<div class="inner">

	<h3>{{ p.NAME }}</h3>

	<div class="column1">

	<div class="postbody">
	
	<div class="content">

			{% if p.DESC %}{{ p.DESC }}{% else %}<i>{{ lang('GROUPSUB_NO_DESC') }}</i>{% endif %}

	</div>

	</div>

	</div>

	<div class="column2">

		<div class="panel bg{% if loop.index is odd %}1{% else %}2{% endif %}">

		<div class="inner">

			<h4>{{ lang('GROUPSUB_CHOOSE_TERM', p.NAME) }}</h4>

			<form action="{{ U_ACTION }}" method="post">
				<fieldset>
				{% if p.term|length == 1 %}
				{% for t in p.term %}
					<input type="hidden" name="term_id" value="{{ t.ID }}">
					<p>{{ t.PRICE }} / {{ t.LENGTH }}</p>
				{% endfor %}
				{% elseif p.term|length > 6 %}
					<p>
						<select name="term_id">
						{% for t in p.term %}
							<option value="{{ t.ID }}">{{ t.PRICE }} / {{ t.LENGTH }}</option>
						{% endfor %}
						</select>
					</p>
				{% else %}
					<p>
					{% for t in p.term %}
						<label><input type="radio" name="term_id" value="{{ t.ID }}">{{ t.PRICE }} / {{ t.LENGTH }}</label><br>
					{% endfor %}
					</p>
				{% endif %}
				{% if p.S_ACTIVE %}
					<p{% if p.S_WARNING %} style="color: #f00"{% endif %}>{{ lang('GROUPSUB_SUBSCRIBED_UNTIL', p.EXPIRES) }}</p>
					<input class="button1" type="submit" name="submit" value="{{ lang('GROUPSUB_RENEW') }}">
				{% else %}
					<input class="button1" type="submit" name="submit" value="{{ lang('GROUPSUB_SUBSCRIBE') }}">
				{% endif %}
				</fieldset>
			</form>

	</div>

	</div>

	</div>

</div>

</div>

{% else %}

<div class="panel bg1">

<div class="inner">

	<p>{{ lang('GROUPSUB_NO_PACKAGES') }}</p>

</div>

</div>

{% endfor %}

{% include 'overall_footer.html' %}
subscriptions_new.png

Re: [BETA] Group Subscription (PayPal)

Posted: Sun Aug 26, 2018 4:46 pm
by StevoTVR
eunaumtenhoid wrote:
Sun Aug 26, 2018 5:38 am
When added to the group will it be the default group?
can I add a selectbox to this default group option or not?
Not currently but that is something I want to add.
kinerity wrote:
Sun Aug 26, 2018 4:27 pm
Fixed both issues by changing the package_list.html file to this:

Code: Select all

{% include 'overall_header.html' %}

<h2>{{ lang('GROUPSUB_PACKAGE_LIST') }}</h2>

{% for p in package %}

<div class="panel bg{% if loop.index is odd %}1{% else %}2{% endif %}">

<div class="inner">

	<h3>{{ p.NAME }}</h3>

	<div class="column1">

	<div class="postbody">
	
	<div class="content">

			{% if p.DESC %}{{ p.DESC }}{% else %}<i>{{ lang('GROUPSUB_NO_DESC') }}</i>{% endif %}

	</div>

	</div>

	</div>

	<div class="column2">

		<div class="panel bg{% if loop.index is odd %}1{% else %}2{% endif %}">

		<div class="inner">

			<h4>{{ lang('GROUPSUB_CHOOSE_TERM', p.NAME) }}</h4>

			<form action="{{ U_ACTION }}" method="post">
				<fieldset>
				{% if p.term|length == 1 %}
				{% for t in p.term %}
					<input type="hidden" name="term_id" value="{{ t.ID }}">
					<p>{{ t.PRICE }} / {{ t.LENGTH }}</p>
				{% endfor %}
				{% elseif p.term|length > 6 %}
					<p>
						<select name="term_id">
						{% for t in p.term %}
							<option value="{{ t.ID }}">{{ t.PRICE }} / {{ t.LENGTH }}</option>
						{% endfor %}
						</select>
					</p>
				{% else %}
					<p>
					{% for t in p.term %}
						<label><input type="radio" name="term_id" value="{{ t.ID }}">{{ t.PRICE }} / {{ t.LENGTH }}</label><br>
					{% endfor %}
					</p>
				{% endif %}
				{% if p.S_ACTIVE %}
					<p{% if p.S_WARNING %} style="color: #f00"{% endif %}>{{ lang('GROUPSUB_SUBSCRIBED_UNTIL', p.EXPIRES) }}</p>
					<input class="button1" type="submit" name="submit" value="{{ lang('GROUPSUB_RENEW') }}">
				{% else %}
					<input class="button1" type="submit" name="submit" value="{{ lang('GROUPSUB_SUBSCRIBE') }}">
				{% endif %}
				</fieldset>
			</form>

	</div>

	</div>

	</div>

</div>

</div>

{% else %}

<div class="panel bg1">

<div class="inner">

	<p>{{ lang('GROUPSUB_NO_PACKAGES') }}</p>

</div>

</div>

{% endfor %}

{% include 'overall_footer.html' %}
subscriptions_new.png
That does look better. Thanks :)

Re: [BETA] Group Subscription (PayPal)

Posted: Tue Aug 28, 2018 9:54 am
by kamaleon
What is the difference with that other extension?

https://www.phpbb.com/customise/db/exte ... extension/

Re: [BETA] Group Subscription (PayPal)

Posted: Tue Aug 28, 2018 3:45 pm
by StevoTVR
kamaleon wrote:
Tue Aug 28, 2018 9:54 am
What is the difference with that other extension?

https://www.phpbb.com/customise/db/exte ... extension/
This one lets you create subscriptions that automatically add and remove users from groups.

Re: [BETA] Group Subscription (PayPal)

Posted: Tue Aug 28, 2018 11:37 pm
by Toxyy
Oh thank you for this. One of the things missing from phpbb. Is it possible to make a length unlimited?

Besides that, fantastic job. Very glad there's a good way to do this now.

Re: [BETA] Group Subscription (PayPal)

Posted: Tue Aug 28, 2018 11:40 pm
by StevoTVR
Toxyy wrote:
Tue Aug 28, 2018 11:37 pm
Is it possible to make a length unlimited?
Yes. If you enter 0 for length, it will be unlimited.

Edit: Actually, it doesn't seem to let you do that. I'll get that fixed in the next update.

Re: [BETA] Group Subscription (PayPal)

Posted: Wed Aug 29, 2018 4:17 am
by StevoTVR
Version 0.2.0

Download

Changes:
  • Fixed styling issues with the package list
  • Fixed unlimited subscription terms
  • Added package option to set the default group for subscribers