Seite 1 von 1

suche mod für themen erstellung erst ab 20 posts

Verfasst: 11.02.2006 14:17
von charlymcfly
Also ich suche einen Mod mit dem ich in zwei Foren die Themen erstellung erst ab z.B. 10 Posts erlauben kann. Das antworten auf bstehende themen soll aber trozdem funktionieren.

Hab mich schon durchs forum und die mods gewühlt aber leider nichts passendes gefunden.


Kann mir da jemand einen passenden Mod nennen?

Verfasst: 15.02.2006 11:03
von attheshow
genau nach sowas bin ich auch auf der suche :-? könnte mir da jemand weiterhelfen?

Verfasst: 15.02.2006 14:51
von kjwargan
Erstelle eine Gruppe USER (Beispiel) in die fügst du alle User ein, wenn sie eine bestimmte anzahl von posts haben einer Gruppe hinzu. und dieser gruppe kannst du dann die entsprechenden rechte geben... nimm den auto group mod von phpBB.com, mit dem sollte das gehen.

Verfasst: 15.02.2006 16:05
von Mavo460
Moin!

Ich hatte auch sowas gesucht und nur den Mod "forum enter Limit" gefunden. Dieser hatte auch in der Art das was ich wollte nur ging es bei uns im Forum darum das man erst ab einem bestimmten Zeitraum und/oder auch einer bestimmten Anzahl an Posts einen Thread erstellen darf (war für ein Biete-Forum). Daher habe ich das für meine Zwecke umgebaut. Eben habe ich noch eine Abfrage eingebaut das wenn der User auf Antworten klickt dieses übergangen wird. Das sollte halt noch ein wenig für eure Zwecke angepasst werden hauptsächlich was die Sprachfiles betrifft!

Hier der Mod:

Code: Alles auswählen

############################################################## 
## MOD Title: forum enter limit
## MOD Author: emrag < emrah987@hotmail.com > (Emrah Türkmen)  www.canver.net 
##             Modified by Mavo460 exklusiv für www.passat3b.de
## MOD Description: You can set a minimum message limit for forums ;)
##		    exp: you set a topic enter limit 20 for forum id = 6 so 
##		    if a normal user want to see topic id = 6 he/she must have already posted
##		    20 messages.Admins and MODs are not effected.
##
## MOD Version: 1.0.3
## 
## Installation Level: Easy
## Installation Time : 10 minutes 
## Files to Edit: posting.php
##		  admin/admin_forums.php
##		  admin/admin_users.php
##		  language/lang_german_sie/lang_main.php
##		  language/lang_german_sie/lang_admin.php
##		  templates/xxx/admin/forum_edit_body.tpl
##		  templates/xxx/admin/user_edit_body.tpl
##
## Included Files: db_update_limit.php
############################################################## 
##
## Author Notes: You can find this at 
##
##		 Administration Panel -> Management(FORUM ADMIN) -> Edit
##
##		 or when you are creating a new forum ;)
##
############################################################## 
##
## MOD History: ??.??.2004 - 1.0.0
##		- Initial version
##
## 		06.11.2004 - 1.0.1
##		- added a forgotten line
##		- added pre-modded files (for phpBB 2.0.10)
##
## 		25.11.2004 - 1.0.2
##		- added limit value to error message
##
## 		04.01.2005 - 1.0.3
##		- fixed a bug
##
############################################################## 
##
## Before Adding This Hack To Your Forum, You Should Back Up All Files Related To This Hack  
##
############################################################## 
# 
#-----[ SQL ]------------------------------------------ 
# 
# you can use db_update_limit.php file instead of this code ;)
#

ALTER TABLE phpbb_forums ADD forum_enter_limit MEDIUMINT(8) unsigned default '0'

ALTER TABLE phpbb_users ADD user_allowtopic TINYINT(1) DEFAULT '1'

# 
#-----[ OPEN ]------------------------------------------ 
# 

posting.php

#
#----[ FIND ]------------------------------------------ 
#

	$forum_id = $post_info['forum_id'];
	$forum_name = $post_info['forum_name'];

#
#-----[ AFTER, ADD ]------------------------------------------ 
# 

//
// forum enter limit by emrag
//
		if (!($userdata['user_level'] == ADMIN OR $userdata['user_level'] == MOD))
		{
		$sql = "SELECT f.forum_id, f.forum_enter_limit, u.user_posts, u.user_regdate, u.user_allowtopic
			FROM " . FORUMS_TABLE . " f, " . USERS_TABLE . " u
			WHERE user_id = " . $userdata['user_id'];

		if( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not query information', '', __LINE__, __FILE__, $sql);
		}

			while ($row = $db->sql_fetchrow($result))
			{
			$users_post = $row['user_posts'];
			$date_now=mktime();
			$datediff1 = $row['user_regdate'];
			$test=6*30*24*60*60;
			$datediff2 = $date_now-$datediff1;
			if ($datediff2>$test && $users_post > 10){$user_posts_limit1="30";}
			else{$user_posts_limit1=$user_posts_limit;}
			//if ($mode == 'reply'){$user_posts_limit1="30";} // Die striche am Anfang entfernen wenn geantwortet werden darf
			$forum_id_limit = $row['forum_id'];
			$forum_enter_limit = $row['forum_enter_limit'];
			$user_posts_limit = $row['user_posts'];
			$userallowtopic = $row['user_allowtopic'];
			if ($userallowtopic=="0"){$user_posts_limit1="0";}
			
			$error_limit = sprintf($lang['Forum_enter_limit_error'], $forum_enter_limit);

				if ($forum_id == $forum_id_limit AND $user_posts_limit1 < $forum_enter_limit)
				{
					message_die(GENERAL_ERROR, $error_limit);
				}
			}
		}
//
// forum enter limit by emrag
//


# 
#-----[ OPEN ]------------------------------------------ 
# 

admin/admin_forums.php

#
#----[ FIND ]------------------------------------------ 
#

				$forumstatus = $row['forum_status'];

#
#----[ AFTER, ADD ]------------------------------------------ 
#

				$forum_enter_limit = $row['forum_enter_limit'];

#
#----[ FIND ]------------------------------------------ 
#

				$forumstatus = FORUM_UNLOCKED;

#
#----[ AFTER, ADD ]------------------------------------------ 
#

				$forum_enter_limit = '';

#
#----[ FIND ]------------------------------------------ 
#

				'FORUM_NAME' => $forumname,

#
#----[ AFTER, ADD ]------------------------------------------ 
#

				'FORUM_ENTER_LIMIT' => $forum_enter_limit,
				'L_FORUM_ENTER_LIMIT' => $lang['Forum_enter_limit'],

#
#-----[ FIND ]--------------------------------------------
#
			$sql = "INSERT INTO " . FORUMS_TABLE . " (forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, prune_enable" . $field_sql . ")
				VALUES ('" . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", " . intval($HTTP_POST_VARS['prune_enable']) . $value_sql . ")";

#
#-----[ IN LINE, FIND ]------------------------------------
#
, forum_status

#
#-----[ AFTER, ADD ]--------------------------------------
#

, forum_enter_limit

#
#-----[ IN LINE, FIND ]------------------------------------
#
, " . intval($HTTP_POST_VARS['forumstatus']) . "

#
#-----[ AFTER, ADD ]--------------------------------------
#

, " . intval($HTTP_POST_VARS['forum_enter_limit']) . "

#
#-----[ FIND ]--------------------------------------------
#
			$sql = "UPDATE " . FORUMS_TABLE . "
				SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . "

#
#-----[ IN LINE, FIND ]------------------------------------
#
, forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . "

#
#-----[ AFTER, ADD ]--------------------------------------
#

, forum_enter_limit = " . intval($HTTP_POST_VARS['forum_enter_limit']) . "


# 
#-----[ OPEN ]------------------------------------------ 
# 

admin/admin_users.php

#
#----[ FIND ]------------------------------------------ 
# 

$user_status = ( !empty($HTTP_POST_VARS['user_status']) ) ? intval( $HTTP_POST_VARS['user_status'] ) : 0;

#
#----[ AFTER, ADD ]------------------------------------------ 
#

$user_allowtopic = ( !empty($HTTP_POST_VARS['user_allowtopic']) ) ? intval( $HTTP_POST_VARS['user_allowtopic'] ) : 0;

#
#----[ FIND ]------------------------------------------ 
# 

$sql = "UPDATE " . USERS_TABLE . "
				SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) . "', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "'

#
#----[ IN LINE, FIND ]------------------------------------------ 
#

, user_active = $user_status

#
#----[ AFTER, ADD ]------------------------------------------ 
#

, user_allowtopic = $user_allowtopic

#
#----[ FIND ]------------------------------------------ 
# 

$user_status = $this_userdata['user_active'];

#
#----[ AFTER, ADD ]------------------------------------------ 
#

$user_allowtopic = $this_userdata['user_allowtopic'];

#
#----[ FIND ]------------------------------------------ 
# 

$s_hidden_fields .= '<input type="hidden" name="user_status" value="' . $user_status . '" />';

#
#----[ AFTER, ADD ]------------------------------------------ 
#

$s_hidden_fields .= '<input type="hidden" name="user_allowtopic" value="' . $user_allowtopic . '" />';

#
#----[ FIND ]------------------------------------------ 
# 

'USER_ACTIVE_YES' => ($user_status) ? 'checked="checked"' : '',

#
#----[ AFTER, ADD ]------------------------------------------ 
#

			'USER_ALLOWTOPIC_YES' => ($user_allowtopic) ? 'checked="checked"' : '',
			'USER_ALLOWTOPIC_NO' => (!$user_allowtopic) ? 'checked="checked"' : '', 

#
#----[ FIND ]------------------------------------------ 
# 

'L_USER_ACTIVE' => $lang['User_status'],

#
#----[ AFTER, ADD ]------------------------------------------ 
#

'L_USER_ALLOWTOPIC' => $lang['User_allowtopic'],

#
#-----[ OPEN ]------------------------------------------ 
# 

language/lang_german_sie/lang_main.php

#
#----[ FIND ]------------------------------------------ 
#

?>

#
#----[ BEFORE, ADD ]------------------------------------------ 
#

$lang['Forum_enter_limit'] = 'Mindestbeitragsanzahl zum Betreten';
$lang['Forum_enter_limit_error'] = 'Sie müssen <b>%d</b> Posts haben um in diesem Forum etwas zu schreiben.';
#
#-----[ OPEN ]------------------------------------------ 
# 

language/lang_german_sie/lang_admin.php

#
#----[ FIND ]------------------------------------------ 
#

$lang['User_status'] = 'Benutzer ist aktiv ';

#
#----[ AFTER, ADD ]------------------------------------------ 
#

$lang['User_allowtopic'] = 'Benutzer darf im Biete-Forum posten';

# 
#-----[ OPEN ]------------------------------------------ 
# 

templates/xxx/admin/forum_edit_body.tpl

#
#----[ FIND ]------------------------------------------ 
#

	<tr> 
	  <td class="row1">{L_FORUM_STATUS}</td>
	  <td class="row2"><select name="forumstatus">{S_STATUS_LIST}</select></td>
	</tr>

#
#----[ AFTER, ADD ]------------------------------------------ 
#

	<tr> 
	  <td class="row1">{L_FORUM_ENTER_LIMIT}</td>
	  <td class="row2"><input type="text" name="forum_enter_limit" value="{FORUM_ENTER_LIMIT}" size="10" maxlength="8" /></td>
	</tr>

# 
#-----[ OPEN ]------------------------------------------ 
# 

templates/xxx/admin/user_edit_body.tpl

#
#----[ FIND ]------------------------------------------ 
#

	  <td class="row1"><span class="gen">{L_USER_ACTIVE}</span></td>
	  <td class="row2"> 
		<input type="radio" name="user_status" value="1" {USER_ACTIVE_YES} />
		<span class="gen">{L_YES}</span>&nbsp;&nbsp; 
		<input type="radio" name="user_status" value="0" {USER_ACTIVE_NO} />
		<span class="gen">{L_NO}</span></td>
	</tr>
#
#----[ AFTER, ADD ]------------------------------------------ 
#

	<tr> 
	  <td class="row1"><span class="gen">{L_USER_ALLOWTOPIC}</span></td>
	  <td class="row2"> 
		<input type="radio" name="user_allowtopic" value="1" {USER_ALLOWTOPIC_YES} />
		<span class="gen">{L_YES}</span>&nbsp;&nbsp; 
		<input type="radio" name="user_allowtopic" value="0" {USER_ALLOWTOPIC_NO} />
		<span class="gen">{L_NO}</span></td>
	</tr>

#
#-----[ SAVE ALL FILES/CLOSE ]------------------------------------------ 
#
# EoM
MfG Mavo460