[BETA2] Scheduled Group Membership

Any and all modifications I have created for phpBB3 will be listed here and support will be provided.
Locked
DavidIQ
Site Admin
Posts: 619
Joined: Thu Sep 07, 2006 4:31 pm
Location: Earth
Contact:

[BETA2] Scheduled Group Membership

Post by DavidIQ »

Modification Name: Scheduled Group Membership
Author: DavidIQ

Modification Description: Allows you to specify the weekdays and timespan that a user will be a member of a group.
Modification Version: 0.0.2

Features:
  • Limit to certain days of the week
  • Limit to a time period on those specified days of the week
  • If no days of the week are specfied then the timespan will apply daily.
Screenshots:
ACP Groups - Adding a user:
Image

ACP Goups - Group members list:
Image

Memberlist in "Group" mode:
Image

Modification Download:
Scheduled_Group_Membership.zip
Version 0.0.2 - 6/15/2009
(41.26 KiB) Downloaded 1563 times
Scheduled_Group_Membership.zip
Version 0.0.1 - 5/17/2009
(37 KiB) Downloaded 886 times
Hardcore_Shad
Posts: 15
Joined: Mon Mar 22, 2010 7:06 am

Re: [BETA2] Scheduled Group Membership

Post by Hardcore_Shad »

Hi David,

This is a great mod! Will be it alright to install it on a phpbb3 3.0.7 pl1 version?
DavidIQ
Site Admin
Posts: 619
Joined: Thu Sep 07, 2006 4:31 pm
Location: Earth
Contact:

Re: [BETA2] Scheduled Group Membership

Post by DavidIQ »

Haven't had anyone try :)
I haven't checked it myself either...should work fine with 3.0.7-pl1 though. The finds might not be correct anymore but you'll be able to tell that when you start trying to install it.
GWAVE 23 xDoWx
Posts: 3
Joined: Mon Dec 20, 2010 12:28 pm

Re: [BETA2] Scheduled Group Membership

Post by GWAVE 23 xDoWx »

Hi David,

I am a big fan of your mods :) I notice that this mod doesn't have any subsilver edits. My theme is based on subsilver so would like these edits if possible :)

Here is my memberlist_body.html if that helps:

Code: Select all

<!-- IF S_IN_SEARCH_POPUP -->
	<!-- INCLUDE simple_header.html -->
<!-- ELSE -->
	<!-- INCLUDE overall_header.html -->
<!-- ENDIF -->

<!-- IF S_SEARCH_USER -->	
	<!-- INCLUDE memberlist_search.html -->	
<!-- ENDIF -->

<!-- IF S_SHOW_GROUP --><!-- INCLUDE memberlist_group.html --><!-- ENDIF -->

<!-- IF not S_SHOW_GROUP -->
	<form method="post" name="charsearch" action="{S_MODE_ACTION}">
		<table width="100%" cellspacing="1">
		<tr>
			<td align="{S_CONTENT_FLOW_BEGIN}"><span class="genmed">{L_USERNAME_BEGINS_WITH}: </span><select name="first_char" onchange="this.form.submit();">{S_CHAR_OPTIONS}</select>&nbsp;<input type="submit" name="char" value="{L_DISPLAY}" class="btnlite" /></td>
	<!-- IF U_FIND_MEMBER and not S_SEARCH_USER -->
			<td class="genmed" align="{S_CONTENT_FLOW_END}"><a href="{U_FIND_MEMBER}">{L_FIND_USERNAME}</a></td>
	<!-- ELSEIF S_SEARCH_USER and U_HIDE_FIND_MEMBER and not S_IN_SEARCH_POPUP -->
			<td class="genmed" align="{S_CONTENT_FLOW_END}"><a href="{U_HIDE_FIND_MEMBER}">{L_HIDE_MEMBER_SEARCH}</a></td>
	<!-- ENDIF -->
		</tr>
		</table>
		{S_FORM_TOKEN}
	</form>
<!-- ENDIF -->

<!-- IF S_IN_SEARCH_POPUP -->
	<form method="post" name="results" action="{S_MODE_ACTION}" onsubmit="insert_marked(this.user);return false">
<!-- ELSE -->
	<form method="post" action="{S_MODE_ACTION}">
<!-- ENDIF -->
{$CA_BLOCK_START}
{$CA_CAP2_START}{L_MEMBERLIST}{$CA_CAP2_END}
<table class="tablebg" width="100%" cellspacing="{$CA_SPACING}">
<tr>
	<th nowrap="nowrap">#</th>
	<th nowrap="nowrap" width="25%" align="{S_CONTENT_FLOW_BEGIN}"><a href="{U_SORT_USERNAME}">{L_USERNAME}</a></th>
	<th nowrap="nowrap" width="15%"><a href="{U_SORT_JOINED}">{L_JOINED}</a></th>
	<th nowrap="nowrap" width="10%"><a href="{U_SORT_POSTS}">{L_POSTS}</a></th>
	<th nowrap="nowrap" width="15%"><a href="{U_SORT_RANK}">{L_RANK}</a></th>
	<th nowrap="nowrap" width="11%">{L_SEND_MESSAGE}</th>
	<th nowrap="nowrap" width="11%"><a href="{U_SORT_EMAIL}">{L_EMAIL}</a></th>
	<th nowrap="nowrap" width="11%"><a href="{U_SORT_WEBSITE}">{L_WEBSITE}</a></th>
	<!-- IF S_IN_SEARCH_POPUP and not S_SELECT_SINGLE --><th width="2%" nowrap="nowrap">{L_MARK}</th><!-- ENDIF -->
</tr>
<!-- BEGIN memberrow -->

	<!-- IF S_SHOW_GROUP -->
		<!-- IF memberrow.S_FIRST_ROW and memberrow.S_GROUP_LEADER -->
			<tr>
				<td class="row3" colspan="8"><b class="gensmall">{L_GROUP_LEADER}</b></td>
			</tr>
		<!-- ELSEIF not memberrow.S_GROUP_LEADER and not $S_MEMBER_HEADER -->
			<tr>
				<td class="row3" colspan="8"><b class="gensmall">{L_GROUP_MEMBERS}</b></td>
			</tr>
				<!-- DEFINE $S_MEMBER_HEADER = 1 -->
		<!-- ENDIF -->
	<!-- ENDIF -->

	<!-- IF memberrow.S_ROW_COUNT is even --><tr class="row2"><!-- ELSE -->	<tr class="row1"><!-- ENDIF -->

		<td class="gen row" align="center">&nbsp;{memberrow.ROW_NUMBER}&nbsp;</td>
		<td class="genmed row" align="{S_CONTENT_FLOW_BEGIN}">{memberrow.USERNAME_FULL}<!-- IF S_SELECT_SINGLE --> [&nbsp;<a href="#" onclick="insert_single('{memberrow.A_USERNAME}'); return false;">{L_SELECT}</a>&nbsp;]<!-- ENDIF --></td>
		<td class="genmed row" align="center" nowrap="nowrap">&nbsp;{memberrow.JOINED}&nbsp;</td>
		<td class="gen row" align="center">{memberrow.POSTS}</td>
		<td class="gen row" align="center"><!-- IF memberrow.RANK_IMG -->{memberrow.RANK_IMG}<!-- ELSE -->{memberrow.RANK_TITLE}<!-- ENDIF --></td>
		<td class="gen row" align="center">&nbsp;<!-- IF memberrow.U_PM --><a href="{memberrow.U_PM}">{PM_IMG}</a><!-- ENDIF -->&nbsp;</td>
		<td class="gen row" align="center">&nbsp;<!-- IF memberrow.U_EMAIL --><a href="{memberrow.U_EMAIL}">{EMAIL_IMG}</a><!-- ENDIF -->&nbsp;</td>
		<td class="gen row" align="center">&nbsp;<!-- IF memberrow.U_WWW --><a href="{memberrow.U_WWW}">{WWW_IMG}</a><!-- ENDIF -->&nbsp;</td>
		<!-- IF memberrow.S_PROFILE_FIELD1 -->
			<!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
			<td class="gen row" align="center">&nbsp;{memberrow.PROFILE_FIELD1_VALUE}</td>
		<!-- ENDIF -->
		<!-- IF S_IN_SEARCH_POPUP and not S_SELECT_SINGLE --><td align="center"><input type="checkbox" class="radio" name="user" value="{memberrow.USERNAME}" /></td><!-- ENDIF -->
	</tr>

<!-- BEGINELSE -->

	<tr>
		<td class="row1" colspan="<!-- IF S_IN_SEARCH_POPUP -->9<!-- ELSE -->8<!-- ENDIF -->" align="center">
			<span class="gen"><!-- IF S_SHOW_GROUP -->{L_NO_GROUP_MEMBERS}<!-- ELSE -->{L_NO_MEMBERS}<!-- ENDIF --></span>
		</td>
	</tr>

<!-- END memberrow -->

<tr>
	<td class="cat" colspan="<!-- IF S_IN_SEARCH_POPUP -->9<!-- ELSE -->8<!-- ENDIF -->" align="center"><!-- IF S_IN_SEARCH_POPUP and not S_SELECT_SINGLE --><input class="btnlite" type="submit" value="{L_SELECT_MARKED}" /><!-- ELSE --><span class="gensmall">{L_SELECT_SORT_METHOD}:</span>&nbsp;<select name="sk">{S_MODE_SELECT}</select>&nbsp; <span class="gensmall">{L_ORDER}</span>&nbsp;<select name="sd">{S_ORDER_SELECT}</select>&nbsp; <input type="submit" name="submit" value="{L_SUBMIT}" class="btnlite" /><!-- ENDIF --></td>
</tr>
</table>
{$CA_BLOCK_END}
{S_FORM_TOKEN}	
</form>

<table width="100%" cellspacing="0" cellpadding="0">
<tr>
	<td class="pagination">{PAGE_NUMBER} [ {TOTAL_USERS} ]</td>
	<td align="{S_CONTENT_FLOW_END}"><!-- IF S_IN_SEARCH_POPUP and not S_SELECT_SINGLE --><b class="nav"><a href="#" onclick="marklist('results', 'user', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('results', 'user', false); return false;">{L_UNMARK_ALL}</a></b><br /><!-- ENDIF --><span class="pagination"><!-- INCLUDE pagination.html --></span></td>
</tr>
</table>



<!-- IF S_IN_SEARCH_POPUP -->
	<!-- INCLUDE simple_footer.html -->	
<!-- ELSE -->
	<br clear="all" />
	
	<!-- INCLUDE breadcrumbs.html -->
	
	<br clear="all" />
	
	<div align="{S_CONTENT_FLOW_END}"><!-- INCLUDE jumpbox.html --></div>
	<br clear="all" />
	<!-- INCLUDE overall_footer.html -->
<!-- ENDIF -->
DavidIQ
Site Admin
Posts: 619
Joined: Thu Sep 07, 2006 4:31 pm
Location: Earth
Contact:

Re: [BETA2] Scheduled Group Membership

Post by DavidIQ »

I wouldn't do the style edits at this point to be honest. They're not that useful and need quite a bit of touching-up ;) The actual MOD works fine without any style edits. In fact I may forego the style edits in the final version (they're that useless).
GWAVE 23 xDoWx
Posts: 3
Joined: Mon Dec 20, 2010 12:28 pm

Re: [BETA2] Scheduled Group Membership

Post by GWAVE 23 xDoWx »

Ok cool. If they are not necessary then I won't do them.

Thanks
benjaminbih
Posts: 1
Joined: Sun Mar 13, 2011 5:57 am

Re: [BETA2] Scheduled Group Membership

Post by benjaminbih »

Hi DavidIQ,

thank you for this MOD first.
But i do not understand how it works, i add an user to an usergroup with Scheduled memeber ship options. Thats OK , the user become member in this group.
But if the time that i set expire the user is still member of this group, is this OK so or not?
Do i have to set the group as default for members that i add scheduled to usergroup or not ?
Novation
Posts: 2
Joined: Wed Feb 01, 2012 12:54 pm

Re: [BETA2] Scheduled Group Membership

Post by Novation »

Heres the long awaited fix for the 12am scheduling error that adds 12:12am... I still use this mod and love it :)

Includes/functions_groups_scheduling.php

find:

//This is actually midnight
if ($schedule_minute == 0)
{
return 12;
}


Replace with:

//This is actually midnight
if ($schedule_minute == 0)
{
return 1;
}
DavidIQ
Site Admin
Posts: 619
Joined: Thu Sep 07, 2006 4:31 pm
Location: Earth
Contact:

Re: [BETA2] Scheduled Group Membership

Post by DavidIQ »

Thanks. Nice to know someone actually got some use out of this :-)
GWAVE 23 xDoWx
Posts: 3
Joined: Mon Dec 20, 2010 12:28 pm

Re: [BETA2] Scheduled Group Membership

Post by GWAVE 23 xDoWx »

I completely forgot about this! I am subscribed to the topic.

I don't remember me reading the reply about the style edits then posting back. Oops. Will get this now and put it to use. Thanks again mate
Novation
Posts: 2
Joined: Wed Feb 01, 2012 12:54 pm

Re: [BETA2] Scheduled Group Membership

Post by Novation »

DavidIQ wrote:Thanks. Nice to know someone actually got some use out of this :-)
I've been using this mod for quite some time and it comes in very handy :)

I have a question davidiq. You've discontinued this mod on the phpbb forum but have you done the same on your own website? Can i have ask for a little assistance?.

The problem i have atm is i can't add the same user twice, I know i can create an extra group and assign the user there but its alot of hassle. Is there a simple fix to remove that block from within functions_groups_scheduling.php ?
Locked