Wie kann ich Topic Anzahl für bestimmte User einschränken?

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
MyLord
Mitglied
Beiträge: 98
Registriert: 02.09.2003 05:12
Wohnort: Planet ERDE

Wie kann ich Topic Anzahl für bestimmte User einschränken?

Beitrag von MyLord »

Hallo,

gibt es ein Mod. wo mit man bestimmten Usern eine begrenzte Anzahl von Topics pro Tag erlauben kann?

z.B. User XY darf an einem Tag nicht mehr als 5 neue Topics eröffnen.

MfG
Benutzeravatar
MyLord
Mitglied
Beiträge: 98
Registriert: 02.09.2003 05:12
Wohnort: Planet ERDE

Beitrag von MyLord »

kennt niemand so ein Mod.?
Benutzeravatar
MyLord
Mitglied
Beiträge: 98
Registriert: 02.09.2003 05:12
Wohnort: Planet ERDE

Beitrag von MyLord »

Ich habe ein User im Forum der für Antworten statt Reply [ externes Bild ] den New Topic Button benutzt. Mit bitten und erinnern komme ich leider nicht weiter.

Gibt es ein Mod womit man für bestimmte User den New Topic [ externes Bild ] Button deaktivieren oder einschränken kann? z.B. max 3-4 neue Themen pro Tag.
Benutzeravatar
MyLord
Mitglied
Beiträge: 98
Registriert: 02.09.2003 05:12
Wohnort: Planet ERDE

Beitrag von MyLord »

Da sich in den letzten 2 Jahren niemand gemeldet hat, gehe ich mal davon aus das so ein Mod. nicht existiert... :-?
Benutzeravatar
redbull254
Ehemaliges Teammitglied
Beiträge: 10379
Registriert: 05.01.2006 13:01
Kontaktdaten:

Beitrag von redbull254 »

Hallo und guten Morgen
mit dieser Mod kannst Du dem User das Recht entziehen, zu posten.
Geht aber nur manuell,aber besser als nichts. :wink:

Code: Alles auswählen

MOD Titlr: Special ban system
## MOD Author: emrag < emrah987@hotmail.com > (Emrah Türkmen)  www.canver.net
## MOD Description: This hack add a new field in user management to Special admin-only fields
##		    "user can post".(see the screenshots)If in a user profile you select "NO"
##		    user can login forum but can not post any topic, reply or he/she can not
##		    edit his/her old messages.Only can see the posts and can check, get or send
##		    private messages the others this hack will be very useful to warn users ;)
Beste Grüße
Walter
Benutzeravatar
MyLord
Mitglied
Beiträge: 98
Registriert: 02.09.2003 05:12
Wohnort: Planet ERDE

Beitrag von MyLord »

Also ich habe nun doch was gefunden. Damit sollte es glaub ich gehen...

Code: Alles auswählen

############################################################## 
## MOD Title: mod_new_topic_limit 
## MOD Author: Barbarella < babs@slebog.net > (N/A) N/A 
## MOD Description: Allows administrators to limit the number of new topics that users can start in a defined period 
## MOD Version: 1.0.0 
## 
## Installation Level: Intermediate 
## Installation Time: 5 Minutes 
## Files To Edit: includes/functions_post.php, includes/functions_select.php, admin/admin_board.php, 
## templates/subSilver/admin/board_config_body.tpl, language/lang_english/lang_main.php, language/lang_english/lang_admin.php
## Included Files: n/a 
############################################################## 
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the 
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
## in our MOD-Database, located at: http://www.phpbb.com/mods/ 
############################################################## 
## Author Notes: 
## 
############################################################## 
## MOD History: 
## 
##Ê ÊYYYY-MM-DD - Version x.x.x 
##Ê ÊÊ Ê- version notes go here 
## 
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 

# 
#-----[ SQL ]------------------------------------------ 
# 

INSERT INTO `phpbb_config` VALUES('topic_limit_default','0');
INSERT INTO `phpbb_config` VALUES('topic_limit_period','0');
ALTER TABLE `phpbb_users`
	ADD `user_topic_count` SMALLINT UNSIGNED DEFAULT '0' NOT NULL,
	ADD `user_topic_period` INT UNSIGNED DEFAULT '0' NOT NULL;

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/functions_post.php

# 
#-----[ FIND ]------------------------------------------ 
# 
	// Check username
	if (!empty($username))
	{
		$username = trim(strip_tags($username));

		if (!$userdata['session_logged_in'] || ($userdata['session_logged_in'] && $username != $userdata['username']))
		{
			include($phpbb_root_path . 'includes/functions_validate.'.$phpEx);

			$result = validate_username($username);
			if ($result['error'])
			{
				$error_msg .= (!empty($error_msg)) ? '<br />' . $result['error_msg'] : $result['error_msg'];
			}
		}
		else
		{
			$username = '';
		}
	}

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	// Check topic limit
	if ($mode == 'newtopic' && $board_config['topic_limit_default'] 
		&& $board_config['topic_limit_period'] && !$userdata['user_level'])
	{
		$timenow = time();
		if (($timenow - $userdata['user_topic_period']) < $board_config['topic_limit_period'])
		{
			// in same posting period
			if ($userdata['user_topic_count'] >= $board_config['topic_limit_default'])
			{
				// over limit
				$msg = sprintf($lang['Newtopic_limit_reached'],
					$board_config['topic_limit_default'],
					$lang['Newtopic_limit'][$board_config['topic_limit_period']],
					create_date($board_config['default_dateformat'],
						$userdata['user_topic_period']+$board_config['topic_limit_period'], $board_config['board_timezone']));
				message_die(GENERAL_MESSAGE, $msg);
			} else {
				// increment topic count
				$userdata['new_user_topic_count'] = $userdata['user_topic_count']+1;
			}
		}
		else
		{
			// start new posting period
			$userdata['new_user_topic_period'] = $timenow;
			$userdata['new_user_topic_count'] = 1;
		}
	}

# 
#-----[ FIND ]------------------------------------------ 
# 
//
// Update post stats and details
//
function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_id, &$user_id)
{
	global $db;

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
//
// Update post stats and details
//
function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_id, &$user_id)
{
	global $db,$userdata;

# 
#-----[ FIND ]------------------------------------------ 
# 
	if ($mode != 'poll_delete')
	{
		$sql = "UPDATE " . USERS_TABLE . "
			SET user_posts = user_posts $sign 
			WHERE user_id = $user_id";
		if (!$db->sql_query($sql, END_TRANSACTION))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
	if ($mode != 'poll_delete')
	{
		$sql = "UPDATE " . USERS_TABLE . " SET user_posts = user_posts $sign";
		if ($userdata['new_user_topic_count'] || $userdata['new_user_topic_period'])
		{
			$sql .= ', user_topic_count = '.$userdata['new_user_topic_count'];
		}
		if ($userdata['new_user_topic_period'])
		{
			$sql .= ', user_topic_period = '.$userdata['new_user_topic_period'];
		}
		$sql .= " WHERE user_id = $user_id";
		if (!$db->sql_query($sql, END_TRANSACTION))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/functions_select.php

# 
#-----[ FIND ]------------------------------------------ 
# 
	return $tz_select;
}

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
//
// Pick a period to limit new topics in
//
function newtopic_select($default, $select_name = 'topic_limit_period')
{
	global $lang;
	$nt_select = '<select name="' . $select_name . '">';

	if ( !isset($default) )
	{
		$default == 0;
	}
	while( list($offset, $zone) = @each($lang['Newtopic_limit']) )
	{
		$selected = ( $offset == $default ) ? ' selected="selected"' : '';
		$nt_select .= '<option value="' . $offset . '"' . $selected . '>' . $zone . '</option>';
	}
	$nt_select .= '</select>';

	return $nt_select;
}

# 
#-----[ OPEN ]------------------------------------------ 
# 
admin/admin_board.php

# 
#-----[ FIND ]------------------------------------------ 
# 
$timezone_select = tz_select($new['board_timezone'], 'board_timezone');

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
$newtopic_select = newtopic_select($new['topic_limit_period'], 'topic_limit_period');

# 
#-----[ FIND ]------------------------------------------ 
# 
	"L_RESET" => $lang['Reset'], 

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	"L_NEWTOPIC_LIMIT" => $lang['Newtopic_limit_label'],
	"L_NEWTOPIC_IN" => $lang['Newtopic_in'],

# 
#-----[ FIND ]------------------------------------------ 
# 
	"COPPA_FAX" => $new['coppa_fax'])

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
	"COPPA_FAX" => $new['coppa_fax'],
	"NEWTOPIC_LIMIT_DEFAULT" => $new['topic_limit_default'],
	"NEWTOPIC_SELECT" => $newtopic_select)

# 
#-----[ OPEN ]------------------------------------------ 
# 
templates/subSilver/admin/board_config_body.tpl

# 
#-----[ FIND ]------------------------------------------ 
# 
	<tr>
		<td class="row1">{L_ALLOW_NAME_CHANGE}</td>
		<td class="row2"><input type="radio" name="allow_namechange" value="1" {NAMECHANGE_YES} /> {L_YES}&nbsp;&nbsp;<input type="radio" name="allow_namechange" value="0" {NAMECHANGE_NO} /> {L_NO}</td>
	</tr>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	<tr>
		<td class="row1">{L_NEWTOPIC_LIMIT}</td>
		<td class="row2"><input class="post" type="text" size="5" maxlength="4" name="topic_limit_default" value="{NEWTOPIC_LIMIT_DEFAULT}" />&nbsp;{L_NEWTOPIC_IN}&nbsp;{NEWTOPIC_SELECT}</td>
	</tr>

# 
#-----[ OPEN ]------------------------------------------ 
# 
language/lang_english/lang_main.php

# 
#-----[ FIND ]------------------------------------------ 
# 
$lang['A_critical_error'] = 'A Critical Error Occurred';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
//
// New topic limiting
//
$lang['Newtopic_limit_reached'] = 'You can\'t start more than %d new topics in any %s. You can\'t start a new topic until %s';
$lang['Newtopic_limit']['0'] = 'No limit';
$lang['Newtopic_limit']['300'] = '5 minutes';
$lang['Newtopic_limit']['900'] = '15 minutes';
$lang['Newtopic_limit']['1800'] = '30 minutes';
$lang['Newtopic_limit']['3600'] = '1 hour';
$lang['Newtopic_limit']['10800'] = '3 hours';
$lang['Newtopic_limit']['21600'] = '6 hours';
$lang['Newtopic_limit']['43200'] = '12 hours';
$lang['Newtopic_limit']['86400'] = '24 hours';
$lang['Newtopic_limit']['172800'] = '48 hours';
$lang['Newtopic_limit']['604800'] = '1 week';
$lang['Newtopic_limit']['1209600'] = '2 weeks';
$lang['Newtopic_limit']['2419200'] = '4 weeks';

# 
#-----[ OPEN ]------------------------------------------ 
# 
language/lang_english/lang_admin.php

# 
#-----[ FIND ]------------------------------------------ 
# 
$lang['Install_No_PCRE'] = 'phpBB2 Requires the Perl-Compatible Regular Expressions Module for PHP which your PHP configuration doesn\'t appear to support!';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
//
// New topic limiting
//
$lang['Newtopic_limit_label'] = 'Limit the number of new topics a user can start';
$lang['Newtopic_in'] = 'in any';

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM 
distanzcheck
Mitglied
Beiträge: 253
Registriert: 04.02.2004 22:40
Wohnort: Bochum

Beitrag von distanzcheck »

Geht es damit vll. das man zwar lesen kann aber keinen neuen tread erstellen kann. Posten in vorhandenen tread sollte aber auch wie lesen funktionieren. Ist es dann für jedes Forum einzeln einstellbar ?

ist dies dafür gedacht ? und gibts das auch in deutsch ?

Dirk
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“