Pagina 1 van 1

Bantron in Moderator CP

Geplaatst: 04 feb 2007, 17:03
door Php
Ik krijg na installeren van een module deze foutmelding wanneer je als moderator die module wilt bezoeken:

Code: Selecteer alles

Fatal error: Call to undefined function: check_perms() in  .... /modcp/admin_user_bantron.php on line 40
En lijn 39/40 heeft dit:

Code: Selecteer alles

// Enable/disable the Module
if (!check_perms('Users', 'Bantron'))
Ik heb de nieuwe versie 1.2 en de eerste eerst volledig verwijderd, alle files en tabellen

Re: Bantron in Moderator CP

Geplaatst: 04 feb 2007, 17:39
door Stijn Herreman
Php schreef:Ik krijg na installeren van een module deze foutmelding wanneer je als moderator die module wilt bezoeken:

Code: Selecteer alles

Fatal error: Call to undefined function: check_perms() in  .... /modcp/admin_user_bantron.php on line 40
En lijn 39/40 heeft dit:

Code: Selecteer alles

// Enable/disable the Module
if (!check_perms('Users', 'Bantron'))
Ik heb de nieuwe versie 1.2 en de eerste eerst volledig verwijderd, alle files en tabellen
De foutmelding geeft aan dat de functie check_perms() niet bestaat.
Heb je alles geupload/correct gewijzigd?

Geplaatst: 04 feb 2007, 17:42
door Php
Ik had eerst de oude weggehaald, alle files, en in myadmin met de zoekfunctie gezocht naar modcp en al die tabellen verwijderd.

Volgens mij heb ik niets fout gedaan. Geactiveerd in modcp config panel en daar geen fouten. Ook de drie bantron tpl files in de template zijn geupload naar de juiste plaats.

Alle anderen werken wel. Alleen de door mijzelf geinstalleerde bantron niet. (wel in admin panel uiteraard)

Dit is de bantron.php

Code: Selecteer alles

<?php
/***************************************************************************
 *                        admin_user_bantron.php
 *                            -------------------
 *   begin                : Tuesday, Mar 17, 2003
 *   copyright            : (C) 2003 Wooly Spud
 *   email                : phpbb@xgmag.com.com
 *
 *   $Id: admin_user_bantron.php,v 1.1.0 2003/04/02 15:34:00 psotfx Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define ('IN_PHPBB', 1);

if (!empty ($setmodules)) {
	$filename = basename (__FILE__);
	if (check_perms('Users', 'Bantron'))
		$modcp_module['Users']['Bantron'] = $filename;
	
	return;
}

//
// Load default header
//
$phpbb_root_path = './../';
require ($phpbb_root_path . 'extension.inc');
require ('./pagestart.' . $phpEx);

// Enable/disable the Module
if (!check_perms('Users', 'Bantron'))
{
	// End of Activation
	$message = $lang['Module_disabled'] . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid('index.' . $phpEx . '?pane=right') . '">', '</a>');
	message_die(GENERAL_MESSAGE, $message);
}

//
// Set Overall Variables
//
$show = (isset ($HTTP_POST_VARS['show'])) ? $HTTP_POST_VARS['show'] : 'username';
$order = (isset ($HTTP_POST_VARS['order'])) ? $HTTP_POST_VARS['order'] : 'ASC';

$start = (isset ($HTTP_GET_VARS['start'])) ? $HTTP_GET_VARS['start'] : '0';
$show = (isset ($HTTP_GET_VARS['show'])) ? $HTTP_GET_VARS['show'] : $show;
$order = (isset ($HTTP_GET_VARS['order'])) ? $HTTP_GET_VARS['order'] : $order;

if (isset ($HTTP_POST_VARS['delete_submit'])) {
	if (isset ($HTTP_POST_VARS['ban_delete'])) {
		foreach ($HTTP_POST_VARS['ban_delete'] as $ban_id) {
			$sql = "DELETE FROM ". BANLIST_TABLE ." WHERE ban_id = $ban_id";
			if (!$db->sql_query ($sql)) {
				message_die (GENERAL_ERROR, "Couldn't delete selected bans from database", "", __LINE__, __FILE__, $sql);
			}
		}
	}
	
	$message = $lang['Ban_update_sucessful'] .'<br /><br />'. sprintf ($lang['Click_return_banadmin'], '<a href="'. append_sid ("admin_user_bantron.$phpEx") .'">', '</a>') .'<br /><br />' . sprintf ($lang['Click_return_admin_index'], '<a href="'. append_sid ("index.$phpEx?pane=right") .'">', '</a>');
	
	message_die (GENERAL_MESSAGE, $message);
} else if (isset ($HTTP_POST_VARS['submit_add']) || isset ($HTTP_POST_VARS['submit_update'])) {
	$user_bansql = '';
	$email_bansql = '';
	$ip_bansql = '';
	
	$ban_time = time ();
	$ban_by_userid = $userdata['user_id'];
	$ban_priv_reason = (!empty ($HTTP_POST_VARS['ban_priv_reason'])) ? addslashes ($HTTP_POST_VARS['ban_priv_reason']) : 'NULL';
	$ban_pub_reason_mode = $HTTP_POST_VARS['ban_pub_reason_mode'];
	$ban_pub_reason = ($ban_pub_reason_mode == '2' && !empty ($HTTP_POST_VARS['ban_pub_reason'])) ? addslashes ($HTTP_POST_VARS['ban_pub_reason']) : 'NULL';
	
	if ($HTTP_POST_VARS['ban_expire_time_mode'] == 'never') {
		$ban_expire_time = 'NULL';
	} else if ($HTTP_POST_VARS['ban_expire_time_mode'] == 'relative') {
		$ban_expire_time = strtotime ('+'. $HTTP_POST_VARS['ban_expire_time_relative'] .' '. $HTTP_POST_VARS['ban_expire_time_relative_units']);
	} else if ($HTTP_POST_VARS['ban_expire_time_mode'] == 'absolute') {
		$ban_expire_time = strtotime ($HTTP_POST_VARS['ban_expire_time_absolute_hour'] .':'. $HTTP_POST_VARS['ban_expire_time_absolute_minute'] .' '. $HTTP_POST_VARS['ban_expire_time_absolute_ampm'] .' '. $HTTP_POST_VARS['ban_expire_time_absolute_month'] .'/'. $HTTP_POST_VARS['ban_expire_time_absolute_mday'] .'/'. $HTTP_POST_VARS['ban_expire_time_absolute_year']);
	}
	
	$user_list = array ();
	if (!empty ($HTTP_POST_VARS['username'])) {
		$this_userdata = get_userdata ($HTTP_POST_VARS['username']);
		if (!$this_userdata ) {
			message_die (GENERAL_MESSAGE, $lang['No_user_id_specified'] );
		}
		
		$user_list[] = $this_userdata['user_id'];
	}
	
	$ip_list = array ();
	if (isset ($HTTP_POST_VARS['ban_ip'])) {
		$ip_list_temp = explode (',', $HTTP_POST_VARS['ban_ip']);
		
		for ($i = 0; $i < count ($ip_list_temp); $i++) {
			if (preg_match ('/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})[ ]*\-[ ]*([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/', trim ($ip_list_temp[$i]), $ip_range_explode)) {
				//
				// Don't ask about all this, just don't ask ... !
				//
				$ip_1_counter = $ip_range_explode[1];
				$ip_1_end = $ip_range_explode[5];
				
				while ($ip_1_counter <= $ip_1_end ) {
					$ip_2_counter = ($ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[2] : 0;
					$ip_2_end = ($ip_1_counter < $ip_1_end ) ? 254 : $ip_range_explode[6];
					
					if ($ip_2_counter == 0 && $ip_2_end == 254 ) {
						$ip_2_counter = 255;
						$ip_2_fragment = 255;
						
						$ip_list[] = encode_ip ("$ip_1_counter.255.255.255");
					}
					
					while ($ip_2_counter <= $ip_2_end ) {
						$ip_3_counter = ($ip_2_counter == $ip_range_explode[2] && $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[3] : 0;
						$ip_3_end = ($ip_2_counter < $ip_2_end || $ip_1_counter < $ip_1_end ) ? 254 : $ip_range_explode[7];
						
						if ($ip_3_counter == 0 && $ip_3_end == 254 ) {
							$ip_3_counter = 255;
							$ip_3_fragment = 255;
							
							$ip_list[] = encode_ip ("$ip_1_counter.$ip_2_counter.255.255");
						}
						
						while ($ip_3_counter <= $ip_3_end ) {
							$ip_4_counter = ($ip_3_counter == $ip_range_explode[3] && $ip_2_counter == $ip_range_explode[2] && $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[4] : 0;
							$ip_4_end = ($ip_3_counter < $ip_3_end || $ip_2_counter < $ip_2_end ) ? 254 : $ip_range_explode[8];
							
							if ($ip_4_counter == 0 && $ip_4_end == 254 ) {
								$ip_4_counter = 255;
								$ip_4_fragment = 255;
								
								$ip_list[] = encode_ip ("$ip_1_counter.$ip_2_counter.$ip_3_counter.255");
							}
							
							while ($ip_4_counter <= $ip_4_end ) {
								$ip_list[] = encode_ip ("$ip_1_counter.$ip_2_counter.$ip_3_counter.$ip_4_counter");
								$ip_4_counter++;
							}
							$ip_3_counter++;
						}
						$ip_2_counter++;
					}
					$ip_1_counter++;
				}
			} else if (preg_match ('/^([\w\-_]\.?){2,}$/is', trim ($ip_list_temp[$i]))) {
				$ip = gethostbynamel (trim ($ip_list_temp[$i]));
				
				for ($j = 0; $j < count ($ip); $j++) {
					if (!empty ($ip[$j])) {
						$ip_list[] = encode_ip ($ip[$j]);
					}
				}
			} else if (preg_match ('/^([0-9]{1,3})\.([0-9\*]{1,3})\.([0-9\*]{1,3})\.([0-9\*]{1,3})$/', trim ($ip_list_temp[$i]))) {
				$ip_list[] = encode_ip (str_replace ('*', '255', trim ($ip_list_temp[$i])));
			}
		}
	}
	
	$email_list = array ();
	if (isset ($HTTP_POST_VARS['ban_email'])) {
		$email_list_temp = explode (',', $HTTP_POST_VARS['ban_email']);
		
		for ($i = 0; $i < count ($email_list_temp); $i++) {
			//
			// This ereg match is based on one by php@unreelpro.com
			// contained in the annotated php manual at php.com (ereg
			// section)
			//
			if (eregi ('^(([[:alnum:]\*]+([-_.][[:alnum:]\*]+)*\.?)|(\*))@([[:alnum:]]+([-_]?[[:alnum:]]+)*\.){1,3}([[:alnum:]]{2,6})$', trim ($email_list_temp[$i]))) {
				$email_list[] = trim ($email_list_temp[$i]);
			}
		}
	}
	
	if (isset ($HTTP_POST_VARS['submit_update'])) {
		$sql = "UPDATE ". BANLIST_TABLE ."
			SET ban_expire_time = $ban_expire_time, ban_priv_reason = '$ban_priv_reason', ban_pub_reason_mode = '$ban_pub_reason_mode', ban_pub_reason = '$ban_pub_reason'
			WHERE ban_id = '". $HTTP_POST_VARS['ban_id'] ."'";
		if (!$db->sql_query ($sql)) {
			message_die (GENERAL_ERROR, "Couldn't update ban information", "", __LINE__, __FILE__, $sql);
		}
	} else {
		$sql = "SELECT *
			FROM ". BANLIST_TABLE;
		if (!($result = $db->sql_query ($sql))) {
			message_die (GENERAL_ERROR, "Couldn't obtain banlist information", "", __LINE__, __FILE__, $sql);
		}
		
		$current_banlist = $db->sql_fetchrowset ($result);
		$db->sql_freeresult ($result);
		
		$kill_session_sql = '';
		for ($i = 0; $i < count ($user_list); $i++) {
			$in_banlist = false;
			for ($j = 0; $j < count ($current_banlist); $j++) {
				if ($user_list[$i] == $current_banlist[$j]['ban_userid'] ) {
					$in_banlist = true;
				}
			}
			
			if (!$in_banlist ) {
				$kill_session_sql .= (($kill_session_sql != '' ) ? ' OR ' : '' ) ."session_user_id = ". $user_list[$i];
				
				$sql = "INSERT INTO ". BANLIST_TABLE ." (ban_userid, ban_time, ban_expire_time, ban_by_userid, ban_priv_reason, ban_pub_reason_mode, ban_pub_reason)
					VALUES (". $user_list[$i] .", $ban_time, $ban_expire_time, $ban_by_userid, '$ban_priv_reason', $ban_pub_reason_mode, '$ban_pub_reason')";
				if (!$db->sql_query ($sql)) {
					message_die (GENERAL_ERROR, "Couldn't insert ban_userid info into database", "", __LINE__, __FILE__, $sql);
				}
			}
		}
		
		for ($i = 0; $i < count ($ip_list); $i++) {
			$in_banlist = false;
			for ($j = 0; $j < count ($current_banlist); $j++) {
				if ($ip_list[$i] == $current_banlist[$j]['ban_ip'] ) {
					$in_banlist = true;
				}
			}
			
			if (!$in_banlist ) {
				if (preg_match ('/(ff\.)|(\.ff)/is', chunk_split ($ip_list[$i], 2, '.'))) {
					$kill_ip_sql = "session_ip LIKE '". str_replace ('.', '', preg_replace ('/(ff\.)|(\.ff)/is', '%', chunk_split ($ip_list[$i], 2, "."))) ."'";
				} else {
					$kill_ip_sql = "session_ip = '". $ip_list[$i] ."'";
				}
				
				$kill_session_sql .= (($kill_session_sql != '' ) ? ' OR ' : '' ) . $kill_ip_sql;
				
				$sql = "INSERT INTO ". BANLIST_TABLE ." (ban_ip, ban_time, ban_expire_time, ban_by_userid, ban_priv_reason, ban_pub_reason_mode, ban_pub_reason)
					VALUES ('". $ip_list[$i] ."', $ban_time, $ban_expire_time, $ban_by_userid, '$ban_priv_reason', $ban_pub_reason_mode, '$ban_pub_reason')";
				if (!$db->sql_query ($sql)) {
					message_die (GENERAL_ERROR, "Couldn't insert ban_ip info into database", "", __LINE__, __FILE__, $sql);
				}
			}
		}
		
		//
		// Now we'll delete all entries from the session table with any of the banned
		// user or IP info just entered into the ban table ... this will force a session
		// initialisation resulting in an instant ban
		//
		if ($kill_session_sql != '' ) {
			$sql = "DELETE FROM ". SESSIONS_TABLE ."
				WHERE $kill_session_sql";
			if (!$db->sql_query ($sql)) {
				message_die (GENERAL_ERROR, "Couldn't delete banned sessions from database", "", __LINE__, __FILE__, $sql);
			}
		}
		
		for ($i = 0; $i < count ($email_list); $i++) {
			$in_banlist = false;
			for ($j = 0; $j < count ($current_banlist); $j++) {
				if ($email_list[$i] == $current_banlist[$j]['ban_email'] ) {
					$in_banlist = true;
				}
			}
			
			if (!$in_banlist ) {
				$sql = "INSERT INTO ". BANLIST_TABLE ." (ban_email, ban_time, ban_expire_time, ban_by_userid, ban_priv_reason, ban_pub_reason_mode, ban_pub_reason)
					VALUES ('". str_replace ("\'", "''", $email_list[$i]) ."', $ban_time, $ban_expire_time, $ban_by_userid, '$ban_priv_reason', $ban_pub_reason_mode, '$ban_pub_reason')";
				if (!$db->sql_query ($sql)) {
					message_die (GENERAL_ERROR, "Couldn't insert ban_email info into database", "", __LINE__, __FILE__, $sql);
				}
			}
		}
	}
	
	$message = $lang['Ban_update_sucessful'] . '<br /><br />' . sprintf ($lang['Click_return_banadmin'], '<a href="' . append_sid ("admin_user_bantron.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf ($lang['Click_return_admin_index'], '<a href="' . append_sid ("index.$phpEx?pane=right") . '">', '</a>');
	
	message_die (GENERAL_MESSAGE, $message);
} else if ($HTTP_GET_VARS['mode'] == 'view_reasons') {
	$template->set_filenames (array (
		'body' => 'modcp/user_bantron_reasons.tpl')
	);
	
	$sql = "SELECT b.*, u.username
		FROM ". BANLIST_TABLE ." AS b LEFT JOIN ". USERS_TABLE ." AS u
		ON b.ban_userid = u.user_id
		WHERE ban_id = ". $HTTP_GET_VARS['ban_id'];
		
	// Get results to be used to return ban information
	if (!($result = $db->sql_query ($sql))) {
		message_die (GENERAL_ERROR, 'Could not select ban reason', '', __LINE__, __FILE__, $sql);
	}
	
	$row = $db->sql_fetchrow ($result);
	
	if ($row['ban_userid'] != 0) {
		$template->assign_block_vars ('ban_username', array (
			'L_USERNAME' => $lang['Username'],
			'USERNAME' => $row['username'])
		);
	} else if (!empty ($row['ban_ip'])) {
		$template->assign_block_vars ('ban_ip', array (
			'L_IP' => $lang['BM_IP'],
			'IP' => str_replace ('255', '*', decode_ip ($row['ban_ip'])))
		);
	} else if (isset ($row['ban_email'])) {
		$template->assign_block_vars ('ban_email', array (
			'L_EMAIL' => $lang['Email'],
			'EMAIL' => $row['ban_email'])
		);
	}
	
	if ($row['ban_pub_reason_mode'] == '0') {
		$ban_pub_reason = $lang['You_been_banned'];
	} else if ($row['ban_pub_reason_mode'] == '1') {
		$ban_pub_reason = str_replace ("\n", '<br />', stripslashes ($row['ban_priv_reason']));
	} else if ($row['ban_pub_reason_mode'] == '2') {
		$ban_pub_reason = str_replace ("\n", '<br />', stripslashes ($row['ban_pub_reason']));
	}
	
	$template->assign_vars (array (
		'L_BAN_REASONS' => $lang['BM_Ban_reasons'],
		'L_PRIVATE_REASON' => $lang['BM_Private_reason'],
		'L_PUBLIC_REASON' => $lang['BM_Public_reason'],
		
		'PRIVATE_REASON' => str_replace ("\n", '<br />', stripslashes ($row['ban_priv_reason'])),
		'PUBLIC_REASON' => $ban_pub_reason)
	);
		
	for ($i = 0; $row = $db->sql_fetchrow ($data_results); $i++) {
		$reason = $row['ban_reason'];
		$reason = str_replace ("\n","<br>",$reason);
		
	}
} else if (isset ($HTTP_POST_VARS['add']) || $HTTP_GET_VARS['mode'] == 'edit') {
	$template->set_filenames (array (
		'body' => 'modcp/user_bantron_edit.tpl')
	);
	
	$template->assign_vars (array (
		'L_BM_TITLE' => $lang['BM_Title'],
		'L_BM_EXPLAIN' => $lang['BM_Explain'],
		
		'L_ADD_A_NEW_BAN' => $lang['BM_Add_a_new_ban'],
		
		'L_PRIVATE_REASON' => $lang['BM_Private_reason'],
		'L_PRIVATE_REASON_EXPLAIN' => $lang['BM_Private_reason_explain'],
		'L_PUBLIC_REASON' => $lang['BM_Public_reason'],
		'L_PUBLIC_REASON_EXPLAIN' => $lang['BM_Public_reason_explain'],
		'L_GENERIC_REASON' => $lang['BM_Generic_reason'],
		'L_MIRROR_PRIVATE_REASON' => $lang['BM_Mirror_private_reason'],
		'L_OTHER' => $lang['BM_Other'],
		'L_EXPIRE_TIME' => $lang['BM_Expire_time'],
		'L_EXPIRE_TIME_EXPLAIN' => $lang['BM_Expire_time_explain'],
		'L_NEVER' => $lang['BM_Never'],
		'L_AFTER_SPECIFIED_LENGTH_OF_TIME' => $lang['BM_After_specified_length_of_time'],
		'L_MINUTES' => $lang['BM_Minutes'],
		'L_HOURS' => $lang['BM_Hours'],
		'L_DAYS' => $lang['BM_Days'],
		'L_WEEKS' => $lang['BM_Weeks'],
		'L_MONTHS' => $lang['BM_Months'],
		'L_YEARS' => $lang['BM_Years'],
		'L_AFTER_SPECIFIED_DATE' => $lang['BM_After_specified_date'],
		'L_AM' => $lang['BM_AM'],
		'L_PM' => $lang['BM_PM'],
		'L_24_HOUR' => $lang['BM_24_hour'],
		'L_SUBMIT' => $lang['Submit'],
		
		'SUBMIT' => (isset ($HTTP_POST_VARS['add'])) ? 'submit_add' : 'submit_update',
		
		'S_BANLIST_ACTION' => append_sid("admin_user_bantron.$phpEx"))
	);
	
	if ($HTTP_GET_VARS['mode'] == 'edit') {
		$sql = "SELECT b.*, u.username
		        FROM ". BANLIST_TABLE ." b, ". USERS_TABLE ." u
		        WHERE b.ban_id = '". $HTTP_GET_VARS['ban_id'] ."'
		        	AND u.user_id = b.ban_userid";
		if (!($result = $db->sql_query ($sql))) {
			message_die (GENERAL_ERROR, "Couldn't obtain banlist information for specified record", "", __LINE__, __FILE__, $sql);
		}
		
		$row = $db->sql_fetchrow ($result);
		$db->sql_freeresult ($result);
		
		if ($row['ban_userid'] != 0) {
			$template->assign_block_vars ('username_row', array (
				'L_USERNAME' => $lang['Username'],
				'L_FIND_USERNAME' => $lang['Find_username'],
				
				'U_SEARCH_USER' => append_sid("./../search.$phpEx?mode=searchuser"),
				
				'USERNAME' => $row['username'])
			);
		} else if (!empty ($row['ban_ip'])) {
			$template->assign_block_vars ('ip_row', array (
				'L_IP_OR_HOSTNAME' => $lang['IP_hostname'],
				'L_BAN_IP_EXPLAIN' => $lang['Ban_IP_explain'],
				
				'BAN_IP' => (!empty ($row['ban_ip'])) ? str_replace ('255', '*', decode_ip ($row['ban_ip'])) : '')
			);
		} else if (isset ($row['ban_email'])) {
			$template->assign_block_vars ('email_row', array (
				'L_EMAIL_ADDRESS' => $lang['Email_address'],
				'L_BAN_EMAIL_EXPLAIN' => $lang['Ban_email_explain'],
				
				'BAN_EMAIL' => $row['ban_email'])
			);
		}
		
		if (isset ($row['ban_expire_time'])) {
			$ban_expire_time = getdate ($row['ban_expire_time']);
			
			if ($ban_expire_time['hours'] < 13) {
				$ban_expire_time_ampm = 'am';
			} else {
				$ban_expire_time['hours'] = $ban_expire_time['hours'] - 12;
				$ban_expire_time_ampm = 'pm';
			}
			
			$template->assign_vars (array (
				'BAN_EXPIRE_TIME_MODE_ABSOLUTE' => ($row['ban_expire_time'] != '-1') ? ' checked' : '',
				'BAN_EXPIRE_TIME_ABSOLUTE_HOUR' => str_pad ($ban_expire_time['hours'], '2', '0', STR_PAD_LEFT),
				'BAN_EXPIRE_TIME_ABSOLUTE_MINUTE' => str_pad ($ban_expire_time['minutes'], '2', '0', STR_PAD_LEFT),
				'BAN_EXPIRE_TIME_ABSOLUTE_AM' => ($ban_expire_time_ampm == 'am') ? ' checked' : '',
				'BAN_EXPIRE_TIME_ABSOLUTE_PM' => ($ban_expire_time_ampm == 'pm') ? ' checked' : '',
				'BAN_EXPIRE_TIME_ABSOLUTE_MONTH' => str_pad ($ban_expire_time['mon'], '2', '0', STR_PAD_LEFT),
				'BAN_EXPIRE_TIME_ABSOLUTE_MDAY' => str_pad ($ban_expire_time['mday'], '2', '0', STR_PAD_LEFT),
				'BAN_EXPIRE_TIME_ABSOLUTE_YEAR' => $ban_expire_time['year'])
			);
		} else {
			$template->assign_vars (array (
				'BAN_EXPIRE_TIME_MODE_NEVER' => ' checked')
			);
		}
		
		$template->assign_vars (array (
			'BAN_PRIV_REASON' => stripslashes ($row['ban_priv_reason']),
			'BAN_PUB_REASON_MODE_0' => (!isset ($row['ban_pub_reason_mode']) || $row['ban_pub_reason_mode'] == '0') ? ' checked' : '',
			'BAN_PUB_REASON_MODE_1' => ($row['ban_pub_reason_mode'] == '1') ? ' checked' : '',
			'BAN_PUB_REASON_MODE_2' => ($row['ban_pub_reason_mode'] == '2') ? ' checked' : '',
			'BAN_PUB_REASON' => ($row['ban_pub_reason_mode'] == '2') ? stripslashes ($row['ban_pub_reason']) : '')
		);
		
		$template->assign_block_vars ('ban_id', array (
			'BAN_ID' => $HTTP_GET_VARS['ban_id'])
		);
	} else {
		$template->assign_vars (array (
			'BAN_PUB_REASON_MODE_0' => ' checked',
			'BAN_EXPIRE_TIME_MODE_NEVER' => ' checked')
		);
		
		$template->assign_block_vars ('username_row', array (
			'L_USERNAME' => $lang['Username'],
			'L_FIND_USERNAME' => $lang['Find_username'],
			
			'U_SEARCH_USER' => append_sid("./../search.$phpEx?mode=searchuser"))
		);
		
		$template->assign_block_vars ('ip_row', array (
			'L_IP_OR_HOSTNAME' => $lang['IP_hostname'],
			'L_BAN_IP_EXPLAIN' => $lang['Ban_IP_explain'])
		);
		
		$template->assign_block_vars ('email_row', array (
			'L_EMAIL_ADDRESS' => $lang['Email_address'],
			'L_BAN_EMAIL_EXPLAIN' => $lang['Ban_email_explain'])
		);
	}
} else {
	$template->set_filenames (array (
		'body' => 'modcp/user_bantron_body.tpl')
	);
	
	$template->assign_vars (array (
		'L_BM_TITLE' => $lang['BM_Title'],
		'L_BM_EXPLAIN' => $lang['BM_Explain'],
		
		'L_SHOW_BANS_BY' => $lang['BM_Show_bans_by'],
		'L_USERNAME' => $lang['Username'],
		'L_IP' => $lang['BM_IP'],
		'L_EMAIL' => $lang['Email'],
		'L_ALL' => $lang['BM_All'],
		'L_SHOW' => $lang['BM_Show'],
		
		'L_ORDER' => $lang['Order'],
		'L_ASCENDING' => $lang['Sort_Ascending'],
		'L_DESCENDING' => $lang['Sort_Descending'],
		'L_SORT' => $lang['Sort'],
		
		'L_BANNED' => $lang['BM_Banned'],
		'L_EXPIRES' => $lang['BM_Expires'],
		'L_BY' => $lang['BM_By'],
		'L_REASONS' => $lang['BM_Reasons'],
		'L_EDIT' => $lang['Edit'],
		'L_DELETE' => $lang['Delete'],
		
		'L_ADD_A_NEW_BAN' => $lang['BM_Add_a_new_ban'],
		'L_DELETE_SELECTED_BANS' => $lang['BM_Delete_selected_bans'],
		
		'USERNAME_SELECTED' => ($show == 'username') ? ' selected="selected"' : '',
		'IP_SELECTED' => ($show == 'ip') ? ' selected="selected"' : '',
		'EMAIL_SELECTED' => ($show == 'email') ? ' selected="selected"' : '',
		'ALL_SELECTED' => ($show == 'all') ? ' selected="selected"' : '',
		
		'ASC_SELECTED' => ($order == 'ASC') ? ' selected="selected"' : '',
		'DESC_SELECTED' => ($order == 'DESC') ? ' selected="selected"' : '',
		
		'SHOW' => $show,
		'ORDER' => $order,
		
		'S_BANTRON_ACTION' => append_sid ("admin_user_bantron.$phpEx"))
	);
	
	switch ($show) {
		case 'username':
			$template->assign_block_vars ('username_header', array (
				'L_USERNAME' => $lang['Username'])
			);
			
			$count_sql = "SELECT COUNT(*) AS total
				FROM ". BANLIST_TABLE ." b, ". USERS_TABLE ." u
				WHERE u.user_id = b.ban_userid
					AND b.ban_userid != 0
					AND u.user_id != ". ANONYMOUS;
			$sql = "SELECT b.*, u.username
				FROM ". BANLIST_TABLE ." b, ". USERS_TABLE ." u
				WHERE u.user_id = b.ban_userid
					AND b.ban_userid != 0
					AND u.user_id != ". ANONYMOUS ."
				ORDER BY u.username $order LIMIT $start, ". $board_config['topics_per_page'];
			
			break;
		case 'ip':
			$template->assign_block_vars ('ip_header', array (
				'L_IP' => $lang['BM_IP'])
			);
			
			$count_sql = "SELECT COUNT(*) AS total
				FROM ". BANLIST_TABLE ."
				WHERE ban_ip != ''";
			$sql = "SELECT *
				FROM ". BANLIST_TABLE ."
				WHERE ban_ip != ''
				ORDER BY ban_email $order LIMIT $start, ". $board_config['topics_per_page'];
			
			break;
		case 'email':
			$template->assign_block_vars ('email_header', array (
				'L_EMAIL' => $lang['Email'])
			);
			
			$count_sql = "SELECT COUNT(*) AS total
				FROM ". BANLIST_TABLE ."
				WHERE ban_email IS NOT NULL";
			$sql = "SELECT *
				FROM ". BANLIST_TABLE ."
				WHERE ban_email IS NOT NULL
				ORDER BY ban_email $order LIMIT $start, ". $board_config['topics_per_page'];
			
			break;
		case 'all':
			$template->assign_block_vars ('username_header', array (
				'L_USERNAME' => $lang['Username'])
			);
			
			$template->assign_block_vars ('ip_header', array (
				'L_IP' => $lang['BM_IP'])
			);
			
			$template->assign_block_vars ('email_header', array (
				'L_EMAIL' => $lang['Email'])
			);
			
			$count_sql = "SELECT COUNT(*) AS total
				FROM ". BANLIST_TABLE;
			$sql = "SELECT b.*, u.username
				FROM ". BANLIST_TABLE ." b LEFT JOIN ". USERS_TABLE ." u
				ON b.ban_userid = u.user_id
				ORDER BY ban_id $order LIMIT $start, ". $board_config['topics_per_page'];
			
			break;
	}
	
	// Get results to be used to return ban information
	if (!($result = $db->sql_query ($sql))) {
		message_die (GENERAL_ERROR, 'Could not select ban data', '', __LINE__, __FILE__, $sql);
	}
	
	// Fill the Rows
	for ($i = 0; $row = $db->sql_fetchrow ($result); $i++) {
		$ban_id = $row['ban_id'];
		
		if (isset ($row['ban_by_userid'])) {
			$sql = "SELECT username FROM ". USERS_TABLE ." WHERE user_id = '". $row['ban_by_userid'] ."'";
			
			if (!($sub_result = $db->sql_query ($sql))) {
				message_die (GENERAL_ERROR, 'Could not select username', '', __LINE__, __FILE__, $sql);	
			}
			
			$username_row = $db->sql_fetchrow ($sub_result);
			
			$ban_by = $username_row['username'];
		} else {
			$ban_by = '-';
		}
				
		$ban_time = (isset ($row['ban_time'])) ? create_date ($lang['DATE_FORMAT'], $row['ban_time'], $board_config['board_timezone']) : '-';
		$ban_expire_time = (isset ($row['ban_expire_time'])) ? create_date ($lang['DATE_FORMAT'], $row['ban_expire_time'], $board_config['board_timezone']) : '-';
		$ban_reason = (isset ($row['ban_priv_reason']) || isset ($row['ban_pub_reason'])) ? "<a href=\"javascript:void (0);\" onClick=\"window.open ('". append_sid ("admin_user_bantron.php?mode=view_reasons&ban_id=$ban_id") ."','ban_reason','scrollbars=yes,width=540,height=450')\">". $lang['View'] ."</a>" : '-';
		
		$template->assign_block_vars ('rowlist', array (
			'ROW_CLASS' => (!($i % 2)) ? $theme['td_class1'] : $theme['td_class2'],
			'BAN_ID' => $ban_id,
			'BAN_TIME' => $ban_time,
			'BAN_EXPIRE_TIME' => $ban_expire_time,
			'U_BAN_EDIT' => append_sid ("admin_user_bantron.php?mode=edit&ban_id=$ban_id"),
			'BAN_REASON' => $ban_reason,
			'BAN_BY' => $ban_by)
		);
		
		switch ($show) {
			case 'username':
				$template->assign_block_vars ('rowlist.username_content', array (
					'USERNAME' => $row['username'])
				);
				
				break;
			case 'ip':
				$template->assign_block_vars ('rowlist.ip_content', array (
					'IP' => str_replace ('255', '*', decode_ip ($row['ban_ip'])))
				);
				
				break;
			case 'email':
				$template->assign_block_vars ('rowlist.email_content', array (
					'EMAIL' => $row['ban_email'])
				);
				
				break;
			case 'all':				
				$template->assign_block_vars ('rowlist.username_content', array (
					'USERNAME' => ($row['ban_userid'] != '0') ? $row['username'] : '-')
				);
				
				$template->assign_block_vars ('rowlist.ip_content', array (
					'IP' => (empty ($row['ban_ip'])) ? '-' : str_replace ('255', '*', decode_ip ($row['ban_ip'])))
				);
				
				$template->assign_block_vars ('rowlist.email_content', array (
					'EMAIL' => (isset ($row['ban_email'])) ? $row['ban_email'] : '-')
				);
				
				break;
		}
	}
	
	if (!($result = $db->sql_query ($count_sql))) {
		message_die (GENERAL_ERROR, 'Could not count ban data', '', __LINE__, __FILE__, $count_sql);
	}
	
	$num_bans = $db->sql_fetchrow ($result);
	
	$pagination = generate_pagination ("admin_user_bantron.$phpEx?show=$show&order=$order", $num_bans['total'], $board_config['topics_per_page'], $start). '&nbsp;';
	
	$template->assign_vars (array (
		'PAGINATION' => $pagination,
		'PAGE_NUMBER' => sprintf ($lang['Page_of'], (floor ($start / $board_config['topics_per_page']) + 1), ceil ($num_bans['total'] / $board_config['topics_per_page'])), 
		
		'L_GOTO_PAGE' => $lang['Goto_page'])
	);
}

$template->pparse ('body');

include ('./page_footer_mod.'.$phpEx);

?>

Geplaatst: 04 feb 2007, 17:55
door Stijn Herreman
na wat rondzoeken zie ik dat die fout regelmatig voorkomt.
zoek eens in de gehele map van je phpbb naar de tekst

Code: Selecteer alles

function check_perms
dit gaat snel met een prog als dreamweaver of zend studio

Geplaatst: 04 feb 2007, 18:04
door Php
Laat ik die programma's nu net niet hebben. Ik heb alleen HTML Kit, Publisher 2003 en Frontpage 2000

Geplaatst: 04 feb 2007, 18:35
door Stijn Herreman
kun je met een van die programmas kiezen voor 'zoeken in de geselecteerde map' of iets in die aard?

Geplaatst: 04 feb 2007, 18:38
door Php
Volgens mij niet.

Maar wat denk je daarmee aan te tonen dan? Dan heb je toch ook een idee waar de fout zit?

Geplaatst: 04 feb 2007, 22:08
door Stijn Herreman
ik weet gewoon dat er een probleem is met het aanroepen van die functie.
en nu moet je uitzoeken of die functie wel bestaat, en waar ze gedefiniƫerd is

Geplaatst: 04 feb 2007, 22:09
door Php
Maar als die functie er in de andere modules ook is dan zal dat hier toch ook wel het geval zijn?

Ik kan proberen hem eens weg te halen.
Stijn Herreman schreef:ik weet gewoon dat er een probleem is met het aanroepen van die functie.
en nu moet je uitzoeken of die functie wel bestaat, en waar ze gedefiniƫerd is

Geplaatst: 05 feb 2007, 02:12
door Php
Ik heb die regel weggehaald en nu werkt het wel!