Pagina 1 van 1

[OPGELOST] phpbb debug error

Geplaatst: 26 dec 2008, 20:46
door Dmeijer13
Na het installeren van een modeificatie genaamd PM SPY kreeg ik de volgende melding op de pagina van de permissies;

Code: Selecteer alles

[phpBB Debug] PHP Notice: in file /adm/index.php on line 150: Cannot modify header information - headers already sent by (output started at /language/nl/acp/permissions_phpbb.php:1)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 152: Cannot modify header information - headers already sent by (output started at /language/nl/acp/permissions_phpbb.php:1)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 153: Cannot modify header information - headers already sent by (output started at /language/nl/acp/permissions_phpbb.php:1)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 154: Cannot modify header information - headers already sent by (output started at /language/nl/acp/permissions_phpbb.php:1)
De inhoud van adm/index.php;

Code: Selecteer alles

<?php
/**
*
* @package acp
* @version $Id: index.php 8591 2008-06-04 11:40:53Z Kellanved $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
*/
define('IN_PHPBB', true);
define('ADMIN_START', true);
define('NEED_SID', true);

// Include files
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
require($phpbb_root_path . 'includes/functions_module.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('acp/common');
// End session management

// Have they authenticated (again) as an admin for this session?
if (!isset($user->data['session_admin']) || !$user->data['session_admin'])
{
	login_box('', $user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS'], true, false);
}

// Is user any type of admin? No, then stop here, each script needs to
// check specific permissions but this is a catchall
if (!$auth->acl_get('a_'))
{
	trigger_error('NO_ADMIN');
}

// We define the admin variables now, because the user is now able to use the admin related features...
define('IN_ADMIN', true);
$phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : './';

// Some oft used variables
$safe_mode		= (@ini_get('safe_mode') == '1' || strtolower(@ini_get('safe_mode')) === 'on') ? true : false;
$file_uploads	= (@ini_get('file_uploads') == '1' || strtolower(@ini_get('file_uploads')) === 'on') ? true : false;
$module_id		= request_var('i', '');
$mode			= request_var('mode', '');

// Set custom template for admin area
$template->set_custom_template($phpbb_admin_path . 'style', 'admin');
$template->assign_var('T_TEMPLATE_PATH', $phpbb_admin_path . 'style');

// the acp template is never stored in the database
$user->theme['template_storedb'] = false;

// Instantiate new module
$module = new p_master();

// Instantiate module system and generate list of available modules
$module->list_modules('acp');

// Select the active module
$module->set_active($module_id, $mode);

// Assign data to the template engine for the list of modules
// We do this before loading the active module for correct menu display in trigger_error
$module->assign_tpl_vars(append_sid("{$phpbb_admin_path}index.$phpEx"));

// Load and execute the relevant module
$module->load_active();

// Generate the page
adm_page_header($module->get_page_title());

$template->set_filenames(array(
	'body' => $module->get_tpl_name(),
));

adm_page_footer();

/**
* Header for acp pages
*/
function adm_page_header($page_title)
{
	global $config, $db, $user, $template;
	global $phpbb_root_path, $phpbb_admin_path, $phpEx, $SID, $_SID;

	if (defined('HEADER_INC'))
	{
		return;
	}

	define('HEADER_INC', true);

	// gzip_compression
	if ($config['gzip_compress'])
	{
		if (@extension_loaded('zlib') && !headers_sent())
		{
			ob_start('ob_gzhandler');
		}
	}

	$template->assign_vars(array(
		'PAGE_TITLE'			=> $page_title,
		'USERNAME'				=> $user->data['username'],

		'SID'					=> $SID,
		'_SID'					=> $_SID,
		'SESSION_ID'			=> $user->session_id,
		'ROOT_PATH'				=> $phpbb_admin_path,

		'U_LOGOUT'				=> append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=logout'),
		'U_ADM_LOGOUT'			=> append_sid("{$phpbb_admin_path}index.$phpEx", 'action=admlogout'),
		'U_ADM_INDEX'			=> append_sid("{$phpbb_admin_path}index.$phpEx"),
		'U_INDEX'				=> append_sid("{$phpbb_root_path}index.$phpEx"),

		'T_IMAGES_PATH'			=> "{$phpbb_root_path}images/",
		'T_SMILIES_PATH'		=> "{$phpbb_root_path}{$config['smilies_path']}/",
		'T_AVATAR_PATH'			=> "{$phpbb_root_path}{$config['avatar_path']}/",
		'T_AVATAR_GALLERY_PATH'	=> "{$phpbb_root_path}{$config['avatar_gallery_path']}/",
		'T_ICONS_PATH'			=> "{$phpbb_root_path}{$config['icons_path']}/",
		'T_RANKS_PATH'			=> "{$phpbb_root_path}{$config['ranks_path']}/",
		'T_UPLOAD_PATH'			=> "{$phpbb_root_path}{$config['upload_path']}/",

		'ICON_MOVE_UP'				=> '<img src="' . $phpbb_admin_path . 'images/icon_up.gif" alt="' . $user->lang['MOVE_UP'] . '" title="' . $user->lang['MOVE_UP'] . '" />',
		'ICON_MOVE_UP_DISABLED'		=> '<img src="' . $phpbb_admin_path . 'images/icon_up_disabled.gif" alt="' . $user->lang['MOVE_UP'] . '" title="' . $user->lang['MOVE_UP'] . '" />',
		'ICON_MOVE_DOWN'			=> '<img src="' . $phpbb_admin_path . 'images/icon_down.gif" alt="' . $user->lang['MOVE_DOWN'] . '" title="' . $user->lang['MOVE_DOWN'] . '" />',
		'ICON_MOVE_DOWN_DISABLED'	=> '<img src="' . $phpbb_admin_path . 'images/icon_down_disabled.gif" alt="' . $user->lang['MOVE_DOWN'] . '" title="' . $user->lang['MOVE_DOWN'] . '" />',		
		'ICON_EDIT'					=> '<img src="' . $phpbb_admin_path . 'images/icon_edit.gif" alt="' . $user->lang['EDIT'] . '" title="' . $user->lang['EDIT'] . '" />',
		'ICON_EDIT_DISABLED'		=> '<img src="' . $phpbb_admin_path . 'images/icon_edit_disabled.gif" alt="' . $user->lang['EDIT'] . '" title="' . $user->lang['EDIT'] . '" />',
		'ICON_DELETE'				=> '<img src="' . $phpbb_admin_path . 'images/icon_delete.gif" alt="' . $user->lang['DELETE'] . '" title="' . $user->lang['DELETE'] . '" />',
		'ICON_DELETE_DISABLED'		=> '<img src="' . $phpbb_admin_path . 'images/icon_delete_disabled.gif" alt="' . $user->lang['DELETE'] . '" title="' . $user->lang['DELETE'] . '" />',
		'ICON_SYNC'					=> '<img src="' . $phpbb_admin_path . 'images/icon_sync.gif" alt="' . $user->lang['RESYNC'] . '" title="' . $user->lang['RESYNC'] . '" />',
		'ICON_SYNC_DISABLED'		=> '<img src="' . $phpbb_admin_path . 'images/icon_sync_disabled.gif" alt="' . $user->lang['RESYNC'] . '" title="' . $user->lang['RESYNC'] . '" />',

		'S_USER_LANG'			=> $user->lang['USER_LANG'],
		'S_CONTENT_DIRECTION'	=> $user->lang['DIRECTION'],
		'S_CONTENT_ENCODING'	=> 'UTF-8',
		'S_CONTENT_FLOW_BEGIN'	=> ($user->lang['DIRECTION'] == 'ltr') ? 'left' : 'right',
		'S_CONTENT_FLOW_END'	=> ($user->lang['DIRECTION'] == 'ltr') ? 'right' : 'left',
	));

	// application/xhtml+xml not used because of IE
	header('Content-type: text/html; charset=UTF-8');

	header('Cache-Control: private, no-cache="set-cookie"');
	header('Expires: 0');
	header('Pragma: no-cache');

	return;
}

/**
* Page footer for acp pages
*/
function adm_page_footer($copyright_html = true)
{
	global $db, $config, $template, $user, $auth, $cache;
	global $starttime, $phpbb_root_path, $phpbb_admin_path, $phpEx;

	// Output page creation time
	if (defined('DEBUG'))
	{
		$mtime = explode(' ', microtime());
		$totaltime = $mtime[0] + $mtime[1] - $starttime;

		if (!empty($_REQUEST['explain']) && $auth->acl_get('a_') && defined('DEBUG_EXTRA') && method_exists($db, 'sql_report'))
		{
			$db->sql_report('display');
		}

		$debug_output = sprintf('Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . (($config['gzip_compress']) ? 'On' : 'Off') . (($user->load) ? ' | Load : ' . $user->load : ''), $totaltime);

		if ($auth->acl_get('a_') && defined('DEBUG_EXTRA'))
		{
			if (function_exists('memory_get_usage'))
			{
				if ($memory_usage = memory_get_usage())
				{
					global $base_memory_usage;
					$memory_usage -= $base_memory_usage;
					$memory_usage = get_formatted_filesize($memory_usage);

					$debug_output .= ' | Memory Usage: ' . $memory_usage;
				}
			}

			$debug_output .= ' | <a href="' . build_url() . '&explain=1">Explain</a>';
		}
	}

	$template->assign_vars(array(
		'DEBUG_OUTPUT'		=> (defined('DEBUG')) ? $debug_output : '',
		'TRANSLATION_INFO'	=> (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
		'S_COPYRIGHT_HTML'	=> $copyright_html,
		'VERSION'			=> $config['version'])
	);

	$template->display('body');

	garbage_collection();
	exit_handler();
}

/**
* Generate back link for acp pages
*/
function adm_back_link($u_action)
{
	global $user;
	return '<br /><br /><a href="' . $u_action . '">&laquo; ' . $user->lang['BACK_TO_PREV'] . '</a>';
}

/**
* Build select field options in acp pages
*/
function build_select($option_ary, $option_default = false)
{
	global $user;

	$html = '';
	foreach ($option_ary as $value => $title)
	{
		$selected = ($option_default !== false && $value == $option_default) ? ' selected="selected"' : '';
		$html .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$title] . '</option>';
	}

	return $html;
}

/**
* Build radio fields in acp pages
*/
function h_radio($name, &$input_ary, $input_default = false, $id = false, $key = false)
{
	global $user;

	$html = '';
	$id_assigned = false;
	foreach ($input_ary as $value => $title)
	{
		$selected = ($input_default !== false && $value == $input_default) ? ' checked="checked"' : '';
		$html .= '<label><input type="radio" name="' . $name . '"' . (($id && !$id_assigned) ? ' id="' . $id . '"' : '') . ' value="' . $value . '"' . $selected . (($key) ? ' accesskey="' . $key . '"' : '') . ' class="radio" /> ' . $user->lang[$title] . '</label>';
		$id_assigned = true;
	}

	return $html;
}

/**
* Build configuration template for acp configuration pages
*/
function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
{
	global $user, $module;

	$tpl = '';
	$name = 'config[' . $config_key . ']';

	switch ($tpl_type[0])
	{
		case 'text':
		case 'password':
			$size = (int) $tpl_type[1];
			$maxlength = (int) $tpl_type[2];

			$tpl = '<input id="' . $key . '" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '" value="' . $new[$config_key] . '" />';
		break;

		case 'dimension':
			$size = (int) $tpl_type[1];
			$maxlength = (int) $tpl_type[2];

			$tpl = '<input id="' . $key . '" type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_width]" value="' . $new[$config_key . '_width'] . '" /> x <input type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_height]" value="' . $new[$config_key . '_height'] . '" />';
		break;

		case 'textarea':
			$rows = (int) $tpl_type[1];
			$cols = (int) $tpl_type[2];

			$tpl = '<textarea id="' . $key . '" name="' . $name . '" rows="' . $rows . '" cols="' . $cols . '">' . $new[$config_key] . '</textarea>';
		break;

		case 'radio':
			$key_yes	= ($new[$config_key]) ? ' checked="checked"' : '';
			$key_no		= (!$new[$config_key]) ? ' checked="checked"' : '';

			$tpl_type_cond = explode('_', $tpl_type[1]);
			$type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false : true;

			$tpl_no = '<label><input type="radio" name="' . $name . '" value="0"' . $key_no . ' class="radio" /> ' . (($type_no) ? $user->lang['NO'] : $user->lang['DISABLED']) . '</label>';
			$tpl_yes = '<label><input type="radio" id="' . $key . '" name="' . $name . '" value="1"' . $key_yes . ' class="radio" /> ' . (($type_no) ? $user->lang['YES'] : $user->lang['ENABLED']) . '</label>';

			$tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes . $tpl_no : $tpl_no . $tpl_yes;
		break;

		case 'select':
		case 'custom':
			
			$return = '';

			if (isset($vars['method']))
			{
				$call = array($module->module, $vars['method']);
			}
			else if (isset($vars['function']))
			{
				$call = $vars['function'];
			}
			else
			{
				break;
			}

			if (isset($vars['params']))
			{
				$args = array();
				foreach ($vars['params'] as $value)
				{
					switch ($value)
					{
						case '{CONFIG_VALUE}':
							$value = $new[$config_key];
						break;

						case '{KEY}':
							$value = $key;
						break;
					}

					$args[] = $value;
				}
			}
			else
			{
				$args = array($new[$config_key], $key);
			}
			
			$return = call_user_func_array($call, $args);

			if ($tpl_type[0] == 'select')
			{
				$tpl = '<select id="' . $key . '" name="' . $name . '">' . $return . '</select>';
			}
			else
			{
				$tpl = $return;
			}

		break;

		default:
		break;
	}

	if (isset($vars['append']))
	{
		$tpl .= $vars['append'];
	}

	return $tpl;
}

/**
* Going through a config array and validate values, writing errors to $error. The validation method  accepts parameters separated by ':' for string and int.
* The first parameter defines the type to be used, the second the lower bound and the third the upper bound. Only the type is required.
*/
function validate_config_vars($config_vars, &$cfg_array, &$error)
{
	global $phpbb_root_path, $user;
	$type	= 0;
	$min	= 1;
	$max	= 2;
	
	foreach ($config_vars as $config_name => $config_definition)
	{
		if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false)
		{
			continue;
		}
	
		if (!isset($config_definition['validate']))
		{
			continue;
		}
		
		$validator = explode(':', $config_definition['validate']);

		// Validate a bit. ;) (0 = type, 1 = min, 2= max)
		switch ($validator[$type])
		{
			case 'string':
				$length = strlen($cfg_array[$config_name]);

				// the column is a VARCHAR
				$validator[$max] = (isset($validator[$max])) ? min(255, $validator[$max]) : 255;

				if (isset($validator[$min]) && $length < $validator[$min])
				{
					$error[] = sprintf($user->lang['SETTING_TOO_SHORT'], $user->lang[$config_definition['lang']], $validator[$min]);
				}
				else if (isset($validator[$max]) && $length > $validator[2])
				{
					$error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$config_definition['lang']], $validator[$max]);
				}
			break;

			case 'bool':
				$cfg_array[$config_name] = ($cfg_array[$config_name]) ? 1 : 0;
			break;

			case 'int':
				$cfg_array[$config_name] = (int) $cfg_array[$config_name];

				if (isset($validator[$min]) && $cfg_array[$config_name] < $validator[$min])
				{
					$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$config_definition['lang']], $validator[$min]);
				}
				else if (isset($validator[$max]) && $cfg_array[$config_name] > $validator[$max])
				{
					$error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$config_definition['lang']], $validator[$max]);
				}
			break;

			// Absolute path
			case 'script_path':
				if (!$cfg_array[$config_name])
				{
					break;
				}

				$destination = str_replace('\\', '/', $cfg_array[$config_name]);

				if ($destination !== '/')
				{
					// Adjust destination path (no trailing slash)
					if (substr($destination, -1, 1) == '/')
					{
						$destination = substr($destination, 0, -1);
					}

					$destination = str_replace(array('../', './'), '', $destination);

					if ($destination[0] != '/')
					{
						$destination = '/' . $destination;
					}
				}

				$cfg_array[$config_name] = trim($destination);

			break;

			// Absolute path
			case 'lang':
				if (!$cfg_array[$config_name])
				{
					break;
				}

				$cfg_array[$config_name] = basename($cfg_array[$config_name]);

				if (!file_exists($phpbb_root_path . 'language/' . $cfg_array[$config_name] . '/'))
				{
					$error[] = $user->lang['WRONG_DATA_LANG'];
				}
			break;

			// Relative path (appended $phpbb_root_path)
			case 'rpath':
			case 'rwpath':
				if (!$cfg_array[$config_name])
				{
					break;
				}

				$destination = $cfg_array[$config_name];

				// Adjust destination path (no trailing slash)
				if (substr($destination, -1, 1) == '/' || substr($destination, -1, 1) == '\\')
				{
					$destination = substr($destination, 0, -1);
				}

				$destination = str_replace(array('../', '..\\', './', '.\\'), '', $destination);
				if ($destination && ($destination[0] == '/' || $destination[0] == "\\"))
				{
					$destination = '';
				}

				$cfg_array[$config_name] = trim($destination);

			// Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir...
			case 'path':
			case 'wpath':

				if (!$cfg_array[$config_name])
				{
					break;
				}

				$cfg_array[$config_name] = trim($cfg_array[$config_name]);

				// Make sure no NUL byte is present...
				if (strpos($cfg_array[$config_name], "\0") !== false || strpos($cfg_array[$config_name], '%00') !== false)
				{
					$cfg_array[$config_name] = '';
					break;
				}

				if (!file_exists($phpbb_root_path . $cfg_array[$config_name]))
				{
					$error[] = sprintf($user->lang['DIRECTORY_DOES_NOT_EXIST'], $cfg_array[$config_name]);
				}

				if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !is_dir($phpbb_root_path . $cfg_array[$config_name]))
				{
					$error[] = sprintf($user->lang['DIRECTORY_NOT_DIR'], $cfg_array[$config_name]);
				}

				// Check if the path is writable
				if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath')
				{
					if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !@is_writable($phpbb_root_path . $cfg_array[$config_name]))
					{
						$error[] = sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $cfg_array[$config_name]);
					}
				}

			break;
		}
	}

	return;
}

/**
* Checks whatever or not a variable is OK for use in the Database
* param mixed $value_ary An array of the form array(array('lang' => ..., 'value' => ..., 'column_type' =>))'
* param mixed $error The error array
*/
function validate_range($value_ary, &$error)
{
	global $user;
	
	$column_types = array(
		'BOOL'	=> array('php_type' => 'int', 		'min' => 0, 				'max' => 1),
		'USINT'	=> array('php_type' => 'int',		'min' => 0, 				'max' => 65535),
		'UINT'	=> array('php_type' => 'int', 		'min' => 0, 				'max' => (int) 0x7fffffff),
		'INT'	=> array('php_type' => 'int', 		'min' => (int) 0x80000000, 	'max' => (int) 0x7fffffff),
		'TINT'	=> array('php_type' => 'int',		'min' => -128,				'max' => 127),
		
		'VCHAR'	=> array('php_type' => 'string', 	'min' => 0, 				'max' => 255),
	);
	foreach ($value_ary as $value)
	{
		$column = explode(':', $value['column_type']);
		$max = $min = 0;
		$type = 0;
		if (!isset($column_types[$column[0]]))
		{
			continue;
		}
		else
		{
			$type = $column_types[$column[0]];
		}

		switch ($type['php_type'])
		{
			case 'string' :
				$max = (isset($column[1])) ? min($column[1],$type['max']) : $type['max'];
				if (strlen($value['value']) > $max)
				{
					$error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$value['lang']], $max);
				}
			break;

			case 'int': 
				$min = (isset($column[1])) ? max($column[1],$type['min']) : $type['min'];
				$max = (isset($column[2])) ? min($column[2],$type['max']) : $type['max'];
				if ($value['value'] < $min)
				{
					$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$value['lang']], $min);
				}
				else if ($value['value'] > $max)
				{
					$error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$value['lang']], $max);
				}
			break;
		}
	}
}

?>
de inhoud van:rot/language/nl/acp/permissions_phpbb.php

Code: Selecteer alles

<?php
/**
*
* acp_permissions (phpBB Permission Set) [Dutch]
*
* @package language
* @version $Id: permissions_phpbb.php,v 1.0.0 2007/01/26 16:09:16 acydburn Exp $
* @copyright (c) 2005 phpBB Group modified by phpBB.nl (vertaalteam@phpbb.nl) in 2007
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/

/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
	exit;
}
if (empty($lang) || !is_array($lang))
{
	$lang = array();
}

// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine

/**
*	MODDERS PLEASE NOTE
*
*	You are able to put your permission sets into a separate file too by
*	prefixing the new file with permissions_ and putting it into the acp
*	language folder.
*
*	An example of how the file could look like:
*
*	<code>
*
*	if (empty($lang) || !is_array($lang))
*	{
*		$lang = array();
*	}
*
*	// Adding new category
*	$lang['permission_cat']['bugs'] = 'Bugs';
*
*	// Adding new permission set
*	$lang['permission_type']['bug_'] = 'Bug Permissions';
*
*	// Adding the permissions
*	$lang = array_merge($lang, array(
*		'acl_bug_view'		=> array('lang' => 'Can view bug reports', 'cat' => 'bugs'),
*		'acl_bug_post'		=> array('lang' => 'Can post bugs', 'cat' => 'post'), // Using a phpBB category here
*	));
*
*	</code>
*/

// Define categories and permission types
$lang = array_merge($lang, array(
	'permission_cat'	=> array(
		'actions'		=> 'Acties',
		'content'		=> 'Inhoud',
		'forums'		=> 'Forums',
		'misc'			=> 'Andere',
		'permissions'	=> 'Permissies',
		'pm'			=> 'Privéberichten',
		'polls'			=> 'Polls',
		'post'			=> 'Bericht',
		'post_actions'	=> 'Berichtacties',
		'posting'		=> 'Plaatsen',
		'profile'		=> 'Profiel',
		'settings'		=> 'Instellingen',
		'topic_actions'	=> 'Onderwerpacties',
		'user_group'	=> 'Gebruikers & groepen',
	),

	// With defining 'global' here we are able to specify what is printed out if the permission is within the global scope.
	'permission_type'	=> array(
		'u_'	=> 'Gebruiker permissies',
		'a_'	=> 'Beheerder permissies',
		'm_'	=> 'Moderator permissies',
		'f_'	=> 'Forum permissies',
		'global'		=> array(
			'm_'			=> 'Globale moderator permissies',
		),
	),
));

// User Permissions
$lang = array_merge($lang, array(
	'acl_u_viewprofile'	=> array('lang' => 'Kan profielen bekijken, ledenlijst en wie is er online lijst', 'cat' => 'profile'),
	'acl_u_chgname'		=> array('lang'	=> 'Kan gebruikersnaam wijzigen', 'cat'	=> 'profile'),
	'acl_u_chgpasswd'	=> array('lang'	=> 'Kan wachtwoord wijzigen', 'cat'	=> 'profile'),
	'acl_u_chgemail'	=> array('lang'	=> 'Kan e-mailadres wijzigen', 'cat'	=> 'profile'),
	'acl_u_chgavatar'	=> array('lang'	=> 'Kan avatar wijzigen', 'cat'	=> 'profile'),
	'acl_u_chggrp'		=> array('lang'	=> 'Kan standaard gebruikersgroep wijzigen', 'cat'	=> 'profile'),

	'acl_u_attach'		=> array('lang'	=> 'Kan bijlagen toevoegen', 'cat'	=> 'post'),
	'acl_u_download'	=> array('lang'	=> 'Kan bestanden downloaden', 'cat'	=> 'post'),
	'acl_u_savedrafts'	=> array('lang'	=> 'Kan concepten opslaan', 'cat'	=> 'post'),
	'acl_u_chgcensors'	=> array('lang'	=> 'Kan censuur uitschakelen', 'cat'	=> 'post'),
	'acl_u_sig'		=> array('lang'	=> 'Kan onderschrift gebruiken', 'cat'	=> 'post'),

	'acl_u_sendpm'		=> array('lang'	=> 'Kan privéberichten sturen', 'cat'	=> 'pm'),
	'acl_u_masspm'		=> array('lang'	=> 'Kan privéberichten naar meerdere gebruikers sturen', 'cat'	=> 'pm'),
	'acl_u_masspm_group'=> array('lang' => 'Kan privéberichten naar meerdere groepen sturen', 'cat' => 'pm'),
	'acl_u_readpm'		=> array('lang'	=> 'Kan privéberichten lezen', 'cat'	=> 'pm'),
	'acl_u_pm_edit'		=> array('lang'	=> 'Kan eigen privéberichten wijzigen', 'cat'	=> 'pm'),
	'acl_u_pm_delete'	=> array('lang'	=> 'Kan privéberichten uit eigen map verwijderen', 'cat'	=> 'pm'),
	'acl_u_pm_forward'	=> array('lang'	=> 'Kan privéberichten doorsturen', 'cat'	=> 'pm'),
	'acl_u_pm_emailpm'	=> array('lang'	=> 'Kan privéberichten e-mailen', 'cat'	=> 'pm'),
	'acl_u_pm_printpm'	=> array('lang'	=> 'Kan privéberichten afdrukken', 'cat'	=> 'pm'),
	'acl_u_pm_attach'	=> array('lang'	=> 'Kan bijlagen aan privéberichten toevoegen', 'cat'	=> 'pm'),
	'acl_u_pm_download'	=> array('lang'	=> 'Kan bestanden uit privéberichten downloaden', 'cat'	=> 'pm'),
	'acl_u_pm_bbcode'	=> array('lang'	=> 'Kan BBCode in privéberichten gebruiken', 'cat'	=> 'pm'),
	'acl_u_pm_smilies'	=> array('lang'	=> 'Kan smilies in privéberichten gebruiken', 'cat'	=> 'pm'),
	'acl_u_pm_img'		=> array('lang'	=> 'Kan afbeeldingen in privéberichten gebruiken', 'cat'	=> 'pm'),
	'acl_u_pm_flash'	=> array('lang'	=> 'Kan flash in privéberichten gebruiken', 'cat'	=> 'pm'),

	'acl_u_sendemail'	=> array('lang'	=> 'Kan e-mails versturen', 'cat'	=> 'misc'),
	'acl_u_sendim'		=> array('lang'	=> 'Kan chatberichten versturen', 'cat'	=> 'misc'),
	'acl_u_ignoreflood'	=> array('lang'	=> 'Kan minimum tijdsinterval overschrijden', 'cat'	=> 'misc'),
	'acl_u_hideonline'	=> array('lang'	=> 'Kan online status verbergen', 'cat'	=> 'misc'),
	'acl_u_viewonline'	=> array('lang'	=> 'Kan onzichtbare online gebruikers zien', 'cat'	=> 'misc'),
	'acl_u_search'		=> array('lang'	=> 'Kan het forum doorzoeken', 'cat'	=> 'misc'),
));

// Forum Permissions
$lang = array_merge($lang, array(
	'acl_f_list'		=> array('lang'	=> 'Kan forum zien', 'cat'	=> 'post'),
	'acl_f_read'		=> array('lang'	=> 'Kan forum lezen', 'cat'	=> 'post'),
	'acl_f_post'		=> array('lang'	=> 'Kan nieuwe onderwerpen openen', 'cat'	=> 'post'),
	'acl_f_reply'		=> array('lang'	=> 'Kan antwoorden op onderwerpen', 'cat'	=> 'post'),
	'acl_f_icons'		=> array('lang'	=> 'Kan bericht/onderwerp iconen gebruiken', 'cat'	=> 'post'),
	'acl_f_announce'	=> array('lang'	=> 'Kan mededelingen plaatsen', 'cat'	=> 'post'),
	'acl_f_sticky'		=> array('lang'	=> 'Kan sticky berichten plaatsen', 'cat'	=> 'post'),

	'acl_f_poll'		=> array('lang'	=> 'Kan polls starten', 'cat'	=> 'polls'),
	'acl_f_vote'		=> array('lang'	=> 'Kan stemmen op polls', 'cat'	=> 'polls'),
	'acl_f_votechg'		=> array('lang'	=> 'Kan zijn huidige stem wijzigen', 'cat'	=> 'polls'),

	'acl_f_attach'		=> array('lang'	=> 'Kan bestanden toevoegen', 'cat'	=> 'content'),
	'acl_f_download'	=> array('lang'	=> 'Kan bestanden downloaden', 'cat'	=> 'content'),
	'acl_f_sigs'		=> array('lang'	=> 'Kan onderschrift gebruiken', 'cat'	=> 'content'),
	'acl_f_bbcode'		=> array('lang'	=> 'Kan BBCode gebruiken', 'cat'	=> 'content'),
	'acl_f_smilies'		=> array('lang'	=> 'Kan smilies gebruiken', 'cat'	=> 'content'),
	'acl_f_img'		=> array('lang'	=> 'Kan afbeeldingen gebruiken', 'cat'	=> 'content'),
	'acl_f_flash'		=> array('lang'	=> 'Kan flash gebruiken', 'cat'	=> 'content'),

	'acl_f_edit'		=> array('lang'	=> 'Kan eigen berichten wijzigen', 'cat'	=> 'actions'),
	'acl_f_delete'		=> array('lang'	=> 'Kan eigen berichten verwijderen', 'cat'	=> 'actions'),
	'acl_f_user_lock'	=> array('lang'	=> 'Kan eigen onderwerpen sluiten', 'cat'	=> 'actions'),
	'acl_f_bump'		=> array('lang'	=> 'Kan onderwerpen bumpen', 'cat'	=> 'actions'),
	'acl_f_report'		=> array('lang'	=> 'Kan berichten melden', 'cat'	=> 'actions'),
	'acl_f_subscribe'	=> array('lang'	=> 'Kan abonneren op forum', 'cat'	=> 'actions'),
	'acl_f_print'		=> array('lang'	=> 'Kan onderwerpen afdrukken', 'cat'	=> 'actions'),
	'acl_f_email'		=> array('lang'	=> 'Kan onderwerpen e-mailen', 'cat'	=> 'actions'),

	'acl_f_search'		=> array('lang'	=> 'Kan forum doorzoeken', 'cat'	=> 'misc'),
	'acl_f_ignoreflood'	=> array('lang'	=> 'Kan minimum tijdsinterval overschrijden', 'cat'	=> 'misc'),
	'acl_f_postcount'	=> array('lang'	=> 'Verhoog berichtenteller<br /><em>Houd er rekening mee dat deze instelling alleen effect heeft op nieuwe berichten.</em>', 'cat'	=> 'misc'),
	'acl_f_noapprove'	=> array('lang'	=> 'Kan berichten plaatsen zonder goedkeuring', 'cat'	=> 'misc'),
));

// Moderator Permissions
$lang = array_merge($lang, array(
	'acl_m_edit'		=> array('lang'	=> 'Kan berichten wijzigen', 'cat'	=> 'post_actions'),
	'acl_m_delete'		=> array('lang'	=> 'Kan berichten verwijderen', 'cat'	=> 'post_actions'),
	'acl_m_approve'		=> array('lang'	=> 'Kan berichten goedkeuren', 'cat'	=> 'post_actions'),
	'acl_m_report'		=> array('lang'	=> 'Kan meldingen sluiten en verwijderen', 'cat'	=> 'post_actions'),
	'acl_m_chgposter'	=> array('lang'	=> 'Kan auteur bericht wijzigen', 'cat'	=> 'post_actions'),

	'acl_m_move'		=> array('lang'	=> 'Kan onderwerpen verplaatsen', 'cat'	=> 'topic_actions'),
	'acl_m_lock'		=> array('lang'	=> 'Kan onderwerpen sluiten', 'cat'	=> 'topic_actions'),
	'acl_m_split'		=> array('lang'	=> 'Kan onderwerpen splitsen', 'cat'	=> 'topic_actions'),
	'acl_m_merge'		=> array('lang'	=> 'Kan onderwerpen samenvoegen', 'cat'	=> 'topic_actions'),

	'acl_m_info'		=> array('lang'	=> 'Kan berichtdetail bekijken', 'cat'	=> 'misc'),
	'acl_m_warn'		=> array('lang' => 'Kan waarschuwingen versturen<br /><em>Deze optie is enkel global in te stellen. Het is niet gebaseerd per forum.</em>', 'cat' => 'misc'), // This moderator setting is only global (and not local)
	'acl_m_ban'			=> array('lang' => 'Kan bans beheren<br /><em>Deze optie is enkel global in te stellen. Het is niet gebaseerd per forum.</em>', 'cat' => 'misc'), // This moderator setting is only global (and not local)
));

// Admin Permissions
$lang = array_merge($lang, array(
	'acl_a_board'		=> array('lang'	=> 'Kan foruminstellingen wijzigen/controleren voor updates', 'cat'	=> 'settings'),
	'acl_a_server'		=> array('lang'	=> 'Kan server/communicatie instellingen wijzigen', 'cat'	=> 'settings'),
	'acl_a_jabber'		=> array('lang'	=> 'Kan Jabber-instellingen wijzigen', 'cat'	=> 'settings'),
	'acl_a_phpinfo'		=> array('lang'	=> 'Kan PHP-instellingen bekijken', 'cat'	=> 'settings'),

	'acl_a_forum'		=> array('lang'	=> 'Kan forums beheren', 'cat'	=> 'forums'),
	'acl_a_forumadd'	=> array('lang'	=> 'Kan nieuwe forums toevoegen', 'cat'	=> 'forums'),
	'acl_a_forumdel'	=> array('lang'	=> 'Kan forums verwijderen', 'cat'	=> 'forums'),
	'acl_a_prune'		=> array('lang'	=> 'Kan forums opruimen', 'cat'	=> 'forums'),

	'acl_a_icons'		=> array('lang'	=> 'Kan bericht/onderwerp iconen en smilies wijzigen', 'cat'	=> 'posting'),
	'acl_a_words'		=> array('lang'	=> 'Kan censuur wijzigen', 'cat'	=> 'posting'),
	'acl_a_bbcode'		=> array('lang'	=> 'Kan BBCode tags definiëren', 'cat'	=> 'posting'),
	'acl_a_attach'		=> array('lang'	=> 'Kan bijlage gerelateerde instellingen wijzigen', 'cat'	=> 'posting'),

	'acl_a_user'		=> array('lang' => 'Kan gebruikers beheren<br /><em>Dit voegt ook de mogelijkheid toe om de gebruikers browser agent te zien in de wie is er online lijst.</em>', 'cat' => 'user_group'),
	'acl_a_userdel'		=> array('lang'	=> 'Kan gebruikers verwijderen/opruimen', 'cat'	=> 'user_group'),
	'acl_a_group'		=> array('lang'	=> 'Kan groepen beheren', 'cat'	=> 'user_group'),
	'acl_a_groupadd'	=> array('lang'	=> 'Kan nieuwe groepen toevoegen', 'cat'	=> 'user_group'),
	'acl_a_groupdel'	=> array('lang'	=> 'Kan groepen verwijderen', 'cat'	=> 'user_group'),
	'acl_a_ranks'		=> array('lang'	=> 'Kan rangen beheren', 'cat'	=> 'user_group'),
	'acl_a_profile'		=> array('lang'	=> 'Kan aangepaste profielvelden beheren', 'cat'	=> 'user_group'),
	'acl_a_names'		=> array('lang'	=> 'Kan geweigerde gebruikersnamen beheren', 'cat'	=> 'user_group'),
	'acl_a_ban'			=> array('lang'	=> 'Kan bans beheren', 'cat'	=> 'user_group'),

	'acl_a_viewauth'	=> array('lang'	=> 'Kan permissie rollen bekijken', 'cat'	=> 'permissions'),
	'acl_a_authgroups'	=> array('lang'	=> 'Kan de permissies van individuele groepen wijzigen', 'cat'	=> 'permissions'),
	'acl_a_authusers'	=> array('lang'	=> 'Kan de permissies van individuele gebruikers wijzigen', 'cat'	=> 'permissions'),
	'acl_a_fauth'		=> array('lang'	=> 'Kan forum permissie klasse wijzigen', 'cat'	=> 'permissions'),
	'acl_a_mauth'		=> array('lang'	=> 'Kan moderator permissie klasse wijzigen', 'cat'	=> 'permissions'),
	'acl_a_aauth'		=> array('lang'	=> 'Kan beheerder permissie klasse wijzigen', 'cat'	=> 'permissions'),
	'acl_a_uauth'		=> array('lang'	=> 'Kan gebruiker permissie klasse wijzigen', 'cat'	=> 'permissions'),
	'acl_a_roles'		=> array('lang'	=> 'Kan rollen beheren', 'cat'	=> 'permissions'),
	'acl_a_switchperm'	=> array('lang'	=> 'Kan andere hun permissies gebruiken', 'cat'	=> 'permissions'),

	'acl_a_styles'		=> array('lang'	=> 'Kan stijlen beheren', 'cat'	=> 'misc'),
	'acl_a_viewlogs'	=> array('lang'	=> 'Kan logs bekijken', 'cat'	=> 'misc'),
	'acl_a_clearlogs'	=> array('lang'	=> 'Kan logs legen', 'cat'	=> 'misc'),
	'acl_a_modules'		=> array('lang'	=> 'Kan modules beheren', 'cat'	=> 'misc'),
	'acl_a_language'	=> array('lang'	=> 'Kan taalpakketten beheren', 'cat'	=> 'misc'),
	'acl_a_email'		=> array('lang'	=> 'Kan massa e-mails sturen', 'cat'	=> 'misc'),
	'acl_a_bots'		=> array('lang'	=> 'Kan bots beheren', 'cat'	=> 'misc'),
	'acl_a_reasons'		=> array('lang'	=> 'Kan melding/afkeurredenen beheren', 'cat'	=> 'misc'),
	'acl_a_backup'		=> array('lang'	=> 'Kan database back-uppen/terugzetten', 'cat'	=> 'misc'),
	'acl_a_search'		=> array('lang'	=> 'Kan de zoekmethodes en -instellingen beheren', 'cat'	=> 'misc'),
));
$lang = array_merge($lang, array(
	'acl_a_pm_spy'	=> array('lang'	=> 'Can view user’s PM’s', 'cat' => 'misc'),
));
?>
Hopelijk kan iemand zeggen wat ik verkeerd doe.
(de mod doet het wel, maar heb echter alleen deze foutcode)

Re: phpbb debug error

Geplaatst: 26 dec 2008, 23:44
door Paul
Je moet de taal bestanden opslaan als UTF8 without BOM, en niet met BOM. Dit kan je in je editor instellen.

Re: phpbb debug error

Geplaatst: 27 dec 2008, 00:21
door Dmeijer13
codering die ik kan kiezen;

UTF -8
Unicode
Unicode big endian
ANSI

Meer kan ik niet kiezen. Daarnaast, als ik aan het bestand een wijziging toebreng, dan klik op het kruisje, en dan sla ik op, dan upload hij hem. Ik zit niet aan een extensie, niet aan codering, niet aan de naam niks. Dus hoe dat dan veranderen zou.. I donn't know.

Ik open het trouwens met Kladblok van windows.

Re: phpbb debug error

Geplaatst: 27 dec 2008, 09:20
door Jim
Splashing Mudkip schreef:Ik open het trouwens met Kladblok van windows.
Daar zit je fout, je kan beter een editor zoals Notepad++ gebruiken, die laat je namelijk wel de keus of je opslaat als UTF-8 zonder BOM.

Re: phpbb debug error

Geplaatst: 27 dec 2008, 10:36
door Dmeijer13
Het werkt. Wel gek, eerde rook altijd Kladblok gebruikt. Maar t's opgelost. :)

Bedankt.

Re: [OPGELOST] phpbb debug error

Geplaatst: 27 dec 2008, 10:42
door Paul
Je moet nooit kladblok zelf gebruiken, deze kan niet omgaan met UTF8 en php files correct.

Re: [OPGELOST] phpbb debug error

Geplaatst: 27 dec 2008, 10:49
door Dmeijer13
paul schreef:Je moet nooit kladblok zelf gebruiken, deze kan niet omgaan met UTF8 en php files correct.
Okay. Iin iedergeval bedankt. Heb nu notepad++ en blijf hem ook gebruiken nu. :)