Kullanıcı Konu Açma Kısıtlaması

phpBB 2.0.x kurulum ve çalıştırılmasında meydana gelen sorun ve problemler için buradan yardım alabilirsiniz.
Kilitli
Bthn
Kayıtlı Kullanıcı
Mesajlar: 2
Kayıt: 07.06.2007, 19:05
İletişim:

Kullanıcı Konu Açma Kısıtlaması

Mesaj gönderen Bthn »

sadece yöneticilerin konu açabilmesini istiyorum. Üyeler sadece açılan mesaja cevap yazabilsinler. bunu nasil yapabilirm?
Kullanıcı avatarı
pikachu
Kayıtlı Kullanıcı
Mesajlar: 3062
Kayıt: 16.07.2006, 15:32
Konum: ağandon /
İletişim:

Mesaj gönderen pikachu »

yönetim panelinden gir ve izinlerden forumların izinlerini ona göre ayarla, yani gönderme kısmını mod veya admin yap artık ne istiyorsan cevap bölümünü de kayıtlı kullanıcı yap.
Bthn
Kayıtlı Kullanıcı
Mesajlar: 2
Kayıt: 07.06.2007, 19:05
İletişim:

Mesaj gönderen Bthn »

teşekkür ederim.
Kullanıcı avatarı
MyLord
Kayıtlı Kullanıcı
Mesajlar: 46
Kayıt: 22.07.2007, 06:53
İletişim:

Mesaj gönderen MyLord »

Peki ben bazı üyelerin günde sadece 4-5 yeni konu başlığı açabilmelerini istiyorum. Mevcut konulara istedikleri kadar cevap verebilsinler ama yeni konu açmada bir kaç yaramaz üyeye sınır getirmek istiyorum. Bunun bir çaresi var mı hocam?
Çok Acil - Lütfen Yardım - Buraya bakın!!! ve BÜYÜK harflerle açılan konu başlıklarına BAK-MI-YO-RUM!!!
Lütfen forum kurallarına uyalım, uymayanları uyaralım. :D
murtipan
Kayıtlı Kullanıcı
Mesajlar: 6
Kayıt: 03.07.2006, 23:55
İletişim:

Mesaj gönderen murtipan »

evet konu açmaya sınırlılık getirebilen bir mod var mı?
murtipan
Kayıtlı Kullanıcı
Mesajlar: 6
Kayıt: 03.07.2006, 23:55
İletişim:

Mesaj gönderen murtipan »

Buyrun arkadaslar konu açmaya sınırlılık getirecek mod. Forumda aradım taradım ve buldum.
Çok kullanışlı bir mod.
Şu saat içinde şu kadar başlık açılsın olarak çalışıyor.
Hadi kolay gelsin.

Kod: Tümünü seç

############################################################## 
## 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
//
//
// New topic limiting
//
$lang['Newtopic_limit_reached'] = 'En fazla %d konu açabilirsin %s içinde. Yeni Konu açmak için %s tarihine kadar beklemelisin';
$lang['Newtopic_limit']['0'] = 'Limit Yok';
$lang['Newtopic_limit']['300'] = '5 dakika';
$lang['Newtopic_limit']['900'] = '15 dakika';
$lang['Newtopic_limit']['1800'] = '30 dakika';
$lang['Newtopic_limit']['3600'] = '1 saat';
$lang['Newtopic_limit']['10800'] = '3 saat';
$lang['Newtopic_limit']['21600'] = '6 saat';
$lang['Newtopic_limit']['43200'] = '12 saat';
$lang['Newtopic_limit']['86400'] = '24 saat';
$lang['Newtopic_limit']['172800'] = '48 saat';
$lang['Newtopic_limit']['604800'] = '1 hafta';
$lang['Newtopic_limit']['1209600'] = '2 hafta';
$lang['Newtopic_limit']['2419200'] = '4 hafta';

# 
#-----[ 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'] = 'Kullanı başlık açma limiti';
$lang['Newtopic_in'] = 'içinde';

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM 
Kullanıcı avatarı
MyLord
Kayıtlı Kullanıcı
Mesajlar: 46
Kayıt: 22.07.2007, 06:53
İletişim:

Mesaj gönderen MyLord »

Hocam eline sağlık fakat bunu kurmadan bir sualim daha olacak. Bu kısıtlama tüm üyeler içinmi geçerli oluyor yoksa biz hangi üyeler için geçerli olacağını kendimiz belirleyebiliyormuyuz?
Çok Acil - Lütfen Yardım - Buraya bakın!!! ve BÜYÜK harflerle açılan konu başlıklarına BAK-MI-YO-RUM!!!
Lütfen forum kurallarına uyalım, uymayanları uyaralım. :D
murtipan
Kayıtlı Kullanıcı
Mesajlar: 6
Kayıt: 03.07.2006, 23:55
İletişim:

Mesaj gönderen murtipan »

modlar ve adminlere kısıtlama getirmiyo sadece normal üyelere geliyor.
Kullanıcı avatarı
MyLord
Kayıtlı Kullanıcı
Mesajlar: 46
Kayıt: 22.07.2007, 06:53
İletişim:

Mesaj gönderen MyLord »

Teşekkürler :D
Çok Acil - Lütfen Yardım - Buraya bakın!!! ve BÜYÜK harflerle açılan konu başlıklarına BAK-MI-YO-RUM!!!
Lütfen forum kurallarına uyalım, uymayanları uyaralım. :D
Kilitli

“2.0.x Destek Forumu” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir