Dit zou de oplossing moeten zijn:
2 $db->sql_freeresult($result); when thier should only be 1
OPEN
attach_mod/includes/functions_selects.php
FIND
Code: Selecteer alles
function group_select($select_name,
$default_group = 0)
{
global $db, $lang;
$sql = 'SELECT group_id, group_name
FROM ' . EXTENSION_GROUPS_TABLE . '
ORDER BY group_name';
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, "Couldn't query Extension
Groups Table", "", __LINE__, __FILE__, $sql);
}
$group_select = '<select name="' . $select_name . '">';
$group_name = $db->sql_fetchrowset($result);
$num_rows = $db->sql_numrows($result);
$db->sql_freeresult($result);
if ($num_rows > 0)
{
$group_name[$num_rows]['group_id'] = 0;
$group_name[$num_rows]['group_name'] =
$lang['Not_assigned'];
for ($i = 0; $i < sizeof($group_name); $i++)
{
if (!$default_group)
{
$selected = ($i == 0) ? ' selected="selected"' : '';
}
else
{
$selected = ($group_name[$i]['group_id'] ==
$default_group) ? ' selected="selected"' : '';
}
$group_select .= '<option value="' .
$group_name[$i]['group_id'] . '"' . $selected . '>' .
$group_name[$i]['group_name'] . '</option>';
}
}
$db->sql_freeresult($result);
$group_select .= '</select>';
return $group_select;
}
REPLACE WITH
Code: Selecteer alles
function group_select($select_name,
$default_group = 0)
{
global $db, $lang;
$sql = 'SELECT group_id, group_name
FROM ' . EXTENSION_GROUPS_TABLE . '
ORDER BY group_name';
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, "Couldn't query Extension
Groups Table", "", __LINE__, __FILE__, $sql);
}
$group_select = '<select name="' . $select_name . '">';
$group_name = $db->sql_fetchrowset($result);
$num_rows = $db->sql_numrows($result);
$db->sql_freeresult($result);
if ($num_rows > 0)
{
$group_name[$num_rows]['group_id'] = 0;
$group_name[$num_rows]['group_name'] =
$lang['Not_assigned'];
for ($i = 0; $i < sizeof($group_name); $i++)
{
if (!$default_group)
{
$selected = ($i == 0) ? ' selected="selected"' : '';
}
else
{
$selected = ($group_name[$i]['group_id'] ==
$default_group) ? ' selected="selected"' : '';
}
$group_select .= '<option value="' .
$group_name[$i]['group_id'] . '"' . $selected . '>' .
$group_name[$i]['group_name'] . '</option>';
}
}
$group_select .= '</select>';
return $group_select;
}
Incase you are wondering what the change is, thier were
2 $db->sql_freeresult($result); the second code removes
one of them.
Attached the file in question with the fix.
Echter dit komt niet echt overeen met mijn functions_selects.php
hier mijn functions_selects.php:
Code: Selecteer alles
<?php
/***************************************************************************
* function_selects.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id: functions_selects.php,v 1.3.2.4 2002/12/22 12:20:35 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.
*
*
***************************************************************************/
//
// Pick a language, any language ...
//
function language_select($default, $select_name = "language", $dirname="language")
{
global $phpEx, $phpbb_root_path;
$dir = opendir($phpbb_root_path . $dirname);
$lang = array();
while ( $file = readdir($dir) )
{
if (preg_match('#^lang_#i', $file) && !is_file(@phpbb_realpath($phpbb_root_path . $dirname . '/' . $file)) && !is_link(@phpbb_realpath($phpbb_root_path . $dirname . '/' . $file)))
{
$filename = trim(str_replace("lang_", "", $file));
$displayname = preg_replace("/^(.*?)_(.*)$/", "\\1 [ \\2 ]", $filename);
$displayname = preg_replace("/\[(.*?)_(.*)\]/", "[ \\1 - \\2 ]", $displayname);
$lang[$displayname] = $filename;
}
}
closedir($dir);
@asort($lang);
@reset($lang);
$lang_select = '<select name="' . $select_name . '">';
while ( list($displayname, $filename) = @each($lang) )
{
$selected = ( strtolower($default) == strtolower($filename) ) ? ' selected="selected"' : '';
$lang_select .= '<option value="' . $filename . '"' . $selected . '>' . ucwords($displayname) . '</option>';
}
$lang_select .= '</select>';
return $lang_select;
}
//
// Pick a template/theme combo,
//
function style_select($default_style, $select_name = "style", $dirname = "templates")
{
global $db;
$sql = "SELECT themes_id, style_name
FROM " . THEMES_TABLE . "
ORDER BY template_name, themes_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't query themes table", "", __LINE__, __FILE__, $sql);
}
$style_select = '<select name="' . $select_name . '">';
while ( $row = $db->sql_fetchrow($result) )
{
$selected = ( $row['themes_id'] == $default_style ) ? ' selected="selected"' : '';
$style_select .= '<option value="' . $row['themes_id'] . '"' . $selected . '>' . $row['style_name'] . '</option>';
}
$style_select .= "</select>";
return $style_select;
}
//
// Pick a timezone
//
function tz_select($default, $select_name = 'timezone')
{
global $sys_timezone, $lang;
if ( !isset($default) )
{
$default == $sys_timezone;
}
$tz_select = '<select name="' . $select_name . '">';
while( list($offset, $zone) = @each($lang['tz']) )
{
$selected = ( $offset == $default ) ? ' selected="selected"' : '';
$tz_select .= '<option value="' . $offset . '"' . $selected . '>' . $zone . '</option>';
}
$tz_select .= '</select>';
return $tz_select;
}
?>
Wat moet ik aanpassen, want hetgeen in bovenstaande veranders is dat er
uitgehaald moet worden. Maar dit vind ik niet in mijn file.
De versie die ik heb geïnstalleerd is versie 2.4.0 (eergisteren gedownload!)