I've installed 1.3.7 of this mod on a 2.0.17 board
I am getting the following error and do not know what to do, to fix it and cannot find anything to fix it here.
Parse error: parse error, unexpected $ in /home/u2/krawlers/html/forum/admin/admin_banner.php on line 413
Unforunately it is showing up instead of my admin panel so I cannot admin my forum meanwhile.
Here is my admin_banner.php file:
<?php
/***************************************************************************
* admin_banner.php
* -------------------
* ver 1.2.5
* Author: Niels Chr. Rød, Denmark
*
***************************************************************************/
/***************************************************************************
*
* 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) )
{
$file = basename(__FILE__);
$module['Styles']['Banner'] = "$file";
return;
}
function selection($default='0', $select_name = 'banner_type')
{
global $lang;
if ( !isset($default) )
{
$default == 0;
}
$type_select = '<select name="' . strtolower($select_name) . '" onChange"SetType();">';
while( list($offset, $type) = @each( $lang[$select_name] ) )
{
$selected = ( $offset == $default ) ? ' selected="selected"' : '';
$type_select .= '<option value="' . $offset . '"' . $selected . '>' . $type . '</option>';
}
$type_select .= '</select>';
return $type_select;
}
//
// Let's set the root dir for phpBB
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_banner.' . $phpEx);
if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
$mode = (isset($HTTP_GET_VARS['mode'])) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
}
else
{
//
// These could be entered via a form button
//
if( isset($HTTP_POST_VARS['add']) )
{
$mode = "add";
}
else if( isset($HTTP_POST_VARS['save']) )
{
$mode = "save";
}
else
{
$mode = "";
}
}
if( $mode!= "")
{
if( $mode == "edit" || $mode == "add" )
{
//
// They want to add a new banner, show the form.
//
if( isset($HTTP_POST_VARS['id']) || isset($HTTP_GET_VARS['id']) )
{
$banner_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : intval($HTTP_GET_VARS['id']);
}
else
{
$banner_id = 0;
}
$s_hidden_fields = "";
if( $mode == "edit" )
{
if( empty($banner_id) )
{
message_die(GENERAL_MESSAGE, $lang['Missing_banner_id']);
}
$sql = "SELECT * FROM " . BANNERS_TABLE . "
WHERE banner_id = '$banner_id'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't obtain banner data", "", __LINE__, __FILE__, $sql);
}
$banner_info = $db->sql_fetchrow($result);
$s_hidden_fields .= '<input type="hidden" name="id" value="' . $banner_id . '" />';
}
else
{
// Default settings for new banners
$banner_info['banner_active'] = 1;
$banner_info['banner_weigth'] = 50;
$banner_info['banner_level'] = -1;
$banner_info['banner_level_type'] = 2;
$banner_info['banner_type'] = 0;
$banner_info['banner_width'] = 122;
$banner_info['banner_height'] = 55;
$banner_info['banner_filter_time'] = 600;
}
$s_hidden_fields .= '<input type="hidden" name="mode" value="save" />';
$banner_is_active = ( $banner_info['banner_active'] ) ? "checked=\"checked\"" : "";
$banner_is_not_active = ( !$banner_info['banner_active'] ) ? "checked=\"checked\"" : "";
$template->set_filenames(array(
'body' => 'admin/banner_edit_body.tpl')
);
$owner = get_userdata( intval($banner_info['banner_owner']) );
$s_time_week_begin='<option value="0">-
<option value="1">'.$lang['datetime']['Mon'].'
<option value="2">'.$lang['datetime']['Tue'].'
<option value="3">'.$lang['datetime']['Wed'].'
<option value="4">'.$lang['datetime']['Thu'].'
<option value="5">'.$lang['datetime']['Fri'].' <option value="6">'.$lang['datetime']['Sat'].'
<option value="0">'.$lang['datetime']['Sun'];
$s_time_week_end=$s_time_week_begin;
$s_time_min_begin ='<option value="00">00
<option value="10">10
<option value="15">15
<option value="20">20
<option value="30">30
<option value="40">40
<option value="45">45
<option value="50">50
<option value="59">59';
$s_time_min_end ='<option value="00">00
<option value="09">09
<option value="14">14
<option value="19">19
<option value="29">29
<option value="39">39
<option value="44">44
<option value="49">49
<option value="59">59';
$s_time_hours_begin ='<option value="00">00
<option value="01">01
<option value="02">02
<option value="03">03
<option value="04">04
<option value="05">05
<option value="06">06
<option value="07">07
<option value="08">08
<option value="09">09
<option value="10">10
<option value="11">11
<option value="12">12
<option value="13">13
<option value="14">14
<option value="15">15
<option value="16">16
<option value="17">17
<option value="18">18
<option value="19">19
<option value="20">20
<option value="21">21
<option value="22">22
<option value="23">23';
$s_time_hours_end=$s_time_hours_begin;
$s_time_date_begin='<option value="0">-
<option value="01">01
<option value="02">02
<option value="03">03
<option value="04">04
<option value="05">05
<option value="06">06
<option value="07">07
<option value="08">08
<option value="09">09
<option value="10">10
<option value="11">11
<option value="12">12
<option value="13">13
<option value="14">14
<option value="15">15
<option value="16">16
<option value="17">17
<option value="18">18
<option value="19">19
<option value="20">20
<option value="21">21
<option value="22">22
<option value="23">23
<option value="24">24
<option value="25">25
<option value="26">26
<option value="27">27
<option value="28">28
<option value="29">29
<option value="30">30
<option value="31">31';
$s_time_date_end=$s_time_date_begin;
$s_time_months_begin='<option value="0">-
<option value="01">'.$lang['datetime']['Jan'].'
<option value="02">'.$lang['datetime']['Feb'].'
<option value="03">'.$lang['datetime']['Mar'].'
<option value="04">'.$lang['datetime']['Apr'].'
<option value="05">'.$lang['datetime']['May'].'
<option value="06">'.$lang['datetime']['Jun'].'
<option value="07">'.$lang['datetime']['Jul'].'
<option value="08">'.$lang['datetime']['Aug'].'
<option value="09">'.$lang['datetime']['Sep'].'
<option value="10">'.$lang['datetime']['Oct'].'
<option value="11">'.$lang['datetime']['Nov'].'
<option value="12">'.$lang['datetime']['Dec'];
$s_time_months_end=$s_time_months_begin;
$s_time_year_begin =' <option value="0">-
<option value="2002">2002
<option value="2003">2003
<option value="2004">2004
<option value="2005">2005
<option value="2006">2006
<option value="2007">2007
<option value="2008">2008
<option value="2009">2009
<option value="2010">2010
<option value="2099">2099';
$s_time_year_end =$s_time_year_begin;
switch ($banner_info['banner_timetype'])
{
case 0: $rule_type=$lang['No_time'];
$rule_begin = $lang['None'];
$rule_end = $lang['None'];
$c_no_time = 'CHECKED';break;
case 2:
$time_begin = $banner_info['time_begin'];
$hour_begin=$time_begin['0'].$time_begin['1'];
$min_begin=$time_begin['2'].$time_begin['3'];
$time_end = $banner_info['time_end'];
$hour_end=$time_end['0'].$time_end['1'];
$min_end=$time_end['2'].$time_end['3'];
$s_time_hours_begin = str_replace("value=\"$hour_begin\">", "value=\"".$hour_begin."\" SELECTED>" ,$s_time_hours_begin);
$s_time_hours_end = str_replace("value=\"$hour_end\">", "value=\"".$hour_end."\" SELECTED>" ,$s_time_hours_end);
$s_time_min_begin = str_replace("value=\"$min_begin\">", "value=\"".$min_begin."\" SELECTED>" ,$s_time_min_begin);
$s_time_min_end = str_replace("value=\"$min_end\">", "value=\"".$min_end."\" SELECTED>" ,$s_time_min_end);
$rule_type=$lang['By_time'];
$rule_begin = sprintf("%04d",$banner_info['time_begin']);
$rule_end = sprintf("%04d",$banner_info['time_end']);
$c_by_time = 'CHECKED';break;
case 4 :
$time_begin = $banner_info['time_begin'];
$hour_begin=$time_begin['0'].$time_begin['1'];
$min_begin=$time_begin['2'].$time_begin['3'];
$week_begin=$banner_info['date_begin'];
$time_end = $banner_info['time_end'];
$hour_end=$time_end['0'].$time_end['1'];
$min_end=$time_end['2'].$time_end['3'];
$week_end=$banner_info['date_end'];
$s_time_hours_begin = str_replace("value=\"$hour_begin\">", "value=\"".$hour_begin."\" SELECTED>" ,$s_time_hours_begin);
$s_time_hours_end = str_replace("value=\"$hour_end\">", "value=\"".$hour_end."\" SELECTED>" ,$s_time_hours_end);
$s_time_min_begin = str_replace("value=\"$min_begin\">", "value=\"".$min_begin."\" SELECTED>" ,$s_time_min_begin);
$s_time_min_end = str_replace("value=\"$min_end\">", "value=\"".$min_end."\" SELECTED>" ,$s_time_min_end);
$s_time_week_begin=str_replace("value=\"$week_begin\">", "value=\"".$week_begin."\" SELECTED>" ,$s_time_week_begin);
$s_time_week_end=str_replace("value=\"$week_end\">", "value=\"".$week_end."\" SELECTED>" ,$s_time_week_end);
$rule_type=$lang['By_week'];
$day_array = array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
$rule_begin = $lang['datetime'][$day_array[$banner_info['date_begin']]].', '.sprintf("%04d",$banner_info['time_begin']);
$rule_end = $lang['datetime'][$day_array[$banner_info['date_end']]].', '.sprintf("%04d",$banner_info['time_end']);
$c_by_week = 'CHECKED';break;
case 6:
$time_begin = $banner_info['time_begin'];
$hour_begin=$time_begin['0'].$time_begin['1'];
$min_begin=$time_begin['2'].$time_begin['3'];
$time_end = $banner_info['time_end'];
$hour_end=$time_end['0'].$time_end['1'];
$min_end=$time_end['2'].$time_end['3'];
$s_time_hours_begin = str_replace("value=\"$hour_begin\">", "value=\"".$hour_begin."\" SELECTED>" ,$s_time_hours_begin);
$s_time_hours_end = str_replace("value=\"$hour_end\">", "value=\"".$hour_end."\" SELECTED>" ,$s_time_hours_end);
$s_time_min_begin = str_replace("value=\"$min_begin\">", "value=\"".$min_begin."\" SELECTED>" ,$s_time_min_begin);
$s_time_min_end = str_replace("value=\"$min_end\">", "value=\"".$min_end."\" SELECTED>" ,$s_time_min_end);
$date_begin = $banner_info['date_begin'];
$year_begin=$date_begin['0'].$date_begin['1'].$date_begin['2'].$date_begin['3'];
$month_begin=$date_begin['4'].$date_begin['5'];
$day_begin=$date_begin['6'].$date_begin['7'];
$date_end = $banner_info['date_end'];
$year_end=$date_end['0'].$date_end['1'].$date_end['2'].$date_end['3'];
$month_end=$date_end['4'].$date_end['5'];
$day_end=$date_end['6'].$date_end['7'];
$s_time_year_begin = str_replace("value=\"$year_begin\">", "value=\"$year_begin\" SELECTED>" ,$s_time_year_begin);
$s_time_year_end = str_replace("value=\"$year_end\">", "value=\"$year_end\" SELECTED>" ,$s_time_year_end);
$s_time_months_begin = str_replace("value=\"$month_begin\">", "value=\"$month_begin\" SELECTED>" ,$s_time_months_begin);
$s_time_months_end = str_replace("value=\"$month_end\">", "value=\"$month_end\" SELECTED>" ,$s_time_months_end);
$s_time_date_begin = str_replace("value=\"$day_begin\">", "value=\"$day_begin\" SELECTED>" ,$s_time_date_begin);
$s_time_date_end = str_replace("value=\"$day_end\">", "value=\"$day_end\" SELECTED>" ,$s_time_date_end);
$rule_type=$lang['By_date'];
$rule_begin = $banner_info['date_begin'].', '.sprintf("%04d",$banner_info['time_begin']);
$rule_end = $banner_info['date_end'].', '.sprintf("%04d",$banner_info['time_end']);
$c_by_date = 'CHECKED';break;
default: $rule_type=$lang['Not_specify'];
}
$n=0;
while ( $lang['Banner_spot'][$n] )
{
$s_banner_spot.= ( $banner_info['banner_spot']==$n ) ?
'<option value="'.$n.'" SELECTED>* '.$lang['Banner_spot'][$n] :
'<option value="'.$n.'" >'.$lang['Banner_spot'][$n];
$n++;
}
$n='-1';
$s_level='<select name="banner_level">';
while ( $lang['Banner_level'][$n] )
{
$s_level.= ( $banner_info['banner_level']==$n ) ?
'<option value="'.$n.'" SELECTED>* '.$lang['Banner_level'][$n] :
'<option value="'.$n.'" >'.$lang['Banner_level'][$n];
$n++;
}
$s_level .='</select>';
$n=0;
$s_level_type = '<select name="banner_level_type">';
while ( $lang['Banner_level_type'][$n] )
{
$s_level_type.= ( $banner_info['banner_level_type']==$n ) ?
'<option value="'.$n.'" SELECTED> '.$lang['Banner_level_type'][$n] :
'<option value="'.$n.'" >'.$lang['Banner_level_type'][$n];
$n++;
}
$s_level_type .='</select>';
//forum selection
$sql = "SELECT f.forum_name, f.forum_id
FROM " . FORUMS_TABLE . " f
WHERE f.cat_id=0 ORDER BY f.forum_name ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain special pages list", "", __LINE__, __FILE__, $sql);
}
$forum_rows = $db->sql_fetchrowset($result);
$db->sql_freeresult($result);
$sql = "SELECT f.forum_name, f.forum_id
FROM " . FORUMS_TABLE . " f, " . CATEGORIES_TABLE . " c
WHERE c.cat_id = f.cat_id ORDER BY c.cat_order ASC, f.forum_order ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain forum list", "", __LINE__, __FILE__, $sql);
}
$forum_rows = array_merge($forum_rows,$db->sql_fetchrowset($result));
$db->sql_freeresult($result);
$forum_select_list = '<select name="' . POST_FORUM_URL . '">';
$forum_select_list .= '<option value="0">' . $lang['All_available'] . '</option>';
for($i = 0; $i < count($forum_rows); $i++)
{
$forum_select_list .= '<option value="' . $forum_rows[$i]['forum_id'] . '">' . $forum_rows[$i]['forum_name'] . '</option>';
}
$forum_select_list .= '</select>';
$forum_select_list = str_replace("value=\"".$banner_info['banner_forum']."\">", "value=\"".$banner_info['banner_forum']."\" SELECTED>*" ,$forum_select_list);
$banner_size = ($banners[$i]['banner_width']<>'') ? 'width="'.$banners[$i]['banner_width'].'"' : '';
$banner_size .= ($banners[$i]['banner_height']<>'') ? ' height="'.$banners[$i]['banner_height'].'"' : '';
switch ($banner_info['banner_type'])
{
case 6 :
// swf
$banner_example = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,23,0" id="macromedia" '.$banner_size.' align="abscenter" border="0" ><param name=movie value="'.$banner_info['banner_name'].'" /><param name=quality value=high /><embed src="'.$banner_info['banner_name'].'" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" autostart="true" />
<noembed><a href="'.append_sid('redirect.'.$phpEx.'?banner_id='.$banner_info['banner_id']).'" target="_blank">'.$banner_info['banner_description'].'</a></noembed></object>';
break;
case 4 :
// custom
$banner_example = $banner_info['banner_name'];
break;
case 2 :
$banner_example = '<a href="'.append_sid('redirect.'.$phpEx.'?banner_id='.$banner_info['banner_id']).'" target="_blank">'.$banner_info['banner_name'].'</a>';
break;
case 0 :
default:
$banner_example = '<a href="'.append_sid('redirect.'.$phpEx.'?banner_id='.$banner_info['banner_id']).'" target="_blank"><img src="'.$banner_info['banner_name'].'" '.$banner_size.' border="0" alt="'.$banner_info['banner_description'].'" title="'.$banner_info['banner_description'].'" /></a>';
}
$template->assign_vars(array(
'L_BANNER_TITLE' => $lang['Banner_title'],
'L_BANNER_TEXT' => $lang['Banner_add_text'],
'L_BANNER_ACTIVATE' => $lang['Banner_activate'],
'BANNER_NOT_ACTIVE' => $banner_is_not_active,
'BANNER_ACTIVE' => $banner_is_active,
'L_BANNER_TYPE' => $lang['Banner_type_text'],
'BANNER_TYPE' => selection($banner_info['banner_type'], 'Banner_type'),
'L_BANNER_NAME' => $lang['Banner_name'],
'L_BANNER_NAME_EXPLAIN' =>$lang['Banner_name_explain'],
'BANNER_NAME' => $banner_info['banner_name'],
'L_BANNER_EXAMPLE' => $lang['Banner_example'],
'L_BANNER_EXAMPLE_EXPLAIN' => $lang['Banner_example_explain'],
'BAN

