Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Тема закрыта
Привет форумчанам!
Подскажите - проблема такая - в индексный файл был внедрен код с ссылкой на чужие ресурсы парсер выдавал ошибку на линии 330 - код подчистили - но при замене индексного файла что то сделали не так - попробовали залить последний бекап от 13 сентября ( backup forums_13_09_08.sql.gz ) - залить залили - страницы открываются но они все пустые.
Подскажите можно ли это восстановить или его придется сносить совсем ?
Если правили только индекс, то какой смысл восстанавливать бд?
Пустая страница - ошибка типа незакрытой скобки, аккуратнее надо копаться там, где мало знаний о сути явлений. прикрепи сюда свой индекс.
<?php
/***********************************************************************
Copyright (C) 2002-2005 Rickard Andersson ([email protected])
This file is part of PunBB.
PunBB 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.
PunBB is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
************************************************************************/
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
if ($pun_user['g_read_board'] == '0')
message($lang_common['No view']);
// Load the index.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/index.php';
$page_title = pun_htmlspecialchars($pun_config['o_board_title']);
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
// REAL MARK TOPIC AS READ MOD BEGIN
function is_reading($log_time, $last_post)
{
if ( $log_time > $last_post )
return true;
return false;
}
// РїРѕРґ РІРѕРїСЂРѕСЃРѕРј!
if (!$pun_user['is_guest']) {
$result = $db->query("DELETE FROM ".$db->prefix."log_forums WHERE log_time < " . (time() - $pun_user['mark_after']) ." AND user_id='".$pun_user['id']."'") or error('Unable to delete marked as read forum info', __FILE__, __LINE__, $db->error());
}
// REAL MARK TOPIC AS READ MOD END
// Print the categories and forums
// Add Topic Title Info to Last Post column MOD BEGIN
//
// ORIGINAL:
//$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
//
// MOD:
//$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster, t.subject FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'topics AS t ON f.last_post_id=t.last_post_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
//
// Add Topic Title Info to Last Post column MOD END
// REAL MARK TOPIC AS READ MOD BEGIN
// ORIGINAL WITH Add Topic Title Info to Last Post column MOD
//$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster, t.subject FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'topics AS t ON f.last_post_id=t.last_post_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
$result = $db->query('
SELECT c.id AS cid,
c.cat_name,
f.id AS fid,
f.forum_name,
f.forum_desc,
f.redirect_url,
f.moderators,
f.num_topics,
f.num_posts,
f.last_post,
f.last_post_id,
lf.log_time,
lf.mark_read,
f.last_poster,
t.subject,
p.poster_id
FROM '.$db->prefix.'categories AS c
INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id
LEFT JOIN '.$db->prefix.'topics AS t ON f.last_post_id=t.last_post_id
LEFT JOIN '.$db->prefix.'log_forums AS lf ON lf.user_id='.$pun_user['id'].' AND lf.forum_id=f.id
LEFT JOIN '.$db->prefix.'posts AS p ON f.last_post_id=p.id
LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].')
WHERE fp.read_forum IS NULL OR fp.read_forum=1
ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
// REAL MARK TOPIC AS READ MOD END
$cur_category = 0;
$cat_count = 0;
while ($cur_forum = $db->fetch_assoc($result))
{
$moderators = '';
if ($cur_forum['cid'] != $cur_category) // A new category since last iteration?
{
if ($cur_category != 0)
echo "\t\t\t".'</tbody>'."\n\t\t\t".'</table>'."\n\t\t".'</div>'."\n\t".'</div>'."\n".'</div>'."\n\n";
++$cat_count;
?>
<div id="idx<?php echo $cat_count ?>" class="blocktable">
<h2><span><?php echo pun_htmlspecialchars($cur_forum['cat_name']) ?></span></h2>
<div class="box">
<div class="inbox">
<table cellspacing="0">
<thead>
<tr>
<th class="tcl" scope="col"><?php echo $lang_common['Forum'] ?></th>
<th class="tc2" scope="col"><?php echo $lang_index['Topics'] ?></th>
<th class="tc3" scope="col"><?php echo $lang_common['Posts'] ?></th>
<th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
</tr>
</thead>
<tbody>
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<?php
$cur_category = $cur_forum['cid'];
}
$item_status = '';
$icon_text = $lang_common['Normal icon'];
$icon_type = 'icon';
// Are there new posts?
// REAL MARK TOPIC AS READ MOD BEGIN
//
// ORIGINAL:
// if (!$pun_user['is_guest'] && $cur_forum['last_post'] > $pun_user['last_visit'])
// куда деть mark_read???
if (!$pun_user['is_guest'] && !is_reading( $cur_forum['log_time'], $cur_forum['last_post']) && $cur_forum['last_post'] > $cur_forum['mark_read'] && $cur_forum['poster_id'] != $pun_user['id'] &&
($cur_forum['last_post'] > $pun_user['last_visit'] || (time() - $cur_forum['last_post'] < $pun_user['mark_after']) ))
// REAL MARK TOPIC AS READ MOD END
{
$item_status = 'inew';
$icon_text = $lang_common['New icon'];
$icon_type = 'icon inew';
}
// Is this a redirect forum?
if ($cur_forum['redirect_url'] != '')
{
$forum_field = '<h3><a href="'.pun_htmlspecialchars($cur_forum['redirect_url']).'" title="'.$lang_index['Link to'].' '.pun_htmlspecialchars($cur_forum['redirect_url']).'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</a></h3>';
$num_topics = $num_posts = ' ';
$item_status = 'iredirect';
$icon_text = $lang_common['Redirect icon'];
$icon_type = 'icon';
}
else
{
$forum_field = '<h3><a href="viewforum.php?id='.$cur_forum['fid'].'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</a></h3>';
$num_topics = $cur_forum['num_topics'];
$num_posts = $cur_forum['num_posts'];
}
if ($cur_forum['forum_desc'] != '')
$forum_field .= "\n\t\t\t\t\t\t\t\t".$cur_forum['forum_desc'];
// If there is a last_post/last_poster.
if ($cur_forum['last_post'] != '')
// BEGIN MOD
// NAME: Add Topic Title Info to Last Post column
//
// ORIGINAL:
// $last_post = '<a href="viewtopic.php?pid='.$cur_forum['last_post_id'].'#p'.$cur_forum['last_post_id'].'">'.format_time($cur_forum['last_post']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_forum['last_poster']).'</span>';
//
// MOD:
$last_post = '<a href="viewtopic.php?pid='.$cur_forum['last_post_id'].'#p'.$cur_forum['last_post_id'].'">'.pun_htmlspecialchars($cur_forum['subject']).'</a> <span class="byuser">'.format_time($cur_forum['last_post']).' - '.$lang_common['by'].' '.pun_htmlspecialchars($cur_forum['last_poster']).'</span>';
//
// END MOD
else
$last_post = ' ';
if ($cur_forum['moderators'] != '')
{
$mods_array = unserialize($cur_forum['moderators']);
$moderators = array();
while (list($mod_username, $mod_id) = @each($mods_array))
$moderators[] = '<a href="profile.php?id='.$mod_id.'">'.pun_htmlspecialchars($mod_username).'</a>';
$moderators = "\t\t\t\t\t\t\t\t".'<p><em>('.$lang_common['Moderated by'].'</em> '.implode(', ', $moderators).')</p>'."\n";
}
?>
<tr<?php if ($item_status != '') echo ' class="'.$item_status.'"'; ?>>
<td class="tcl">
<div class="intd">
<div class="<?php echo $icon_type ?>"><div class="nosize"><?php echo $icon_text ?></div></div>
<div class="tclcon">
<?php echo $forum_field."\n".$moderators ?>
</div>
</div>
</td>
<td class="tc2"><?php echo $num_topics ?></td>
<td class="tc3"><?php echo $num_posts ?></td>
<td class="tcr"><?php echo $last_post ?></td>
</tr>
<?php
}
// Did we output any categories and forums?
if ($cur_category > 0)
echo "\t\t\t".'</tbody>'."\n\t\t\t".'</table>'."\n\t\t".'</div>'."\n\t".'</div>'."\n".'</div>'."\n\n";
else
echo '<div id="idx0" class="block"><div class="box"><div class="inbox"><p>'.$lang_index['Empty board'].'</p></div></div></div>';
// Collect some statistics from the database
$result = $db->query('SELECT COUNT(id)-1 FROM '.$db->prefix.'users') or error('Unable to fetch total user count', __FILE__, __LINE__, $db->error());
$stats['total_users'] = $db->result($result);
$result = $db->query('SELECT id, username FROM '.$db->prefix.'users ORDER BY registered DESC LIMIT 1') or error('Unable to fetch newest registered user', __FILE__, __LINE__, $db->error());
$stats['last_user'] = $db->fetch_assoc($result);
$result = $db->query('SELECT SUM(num_topics), SUM(num_posts) FROM '.$db->prefix.'forums') or error('Unable to fetch topic/post count', __FILE__, __LINE__, $db->error());
list($stats['total_topics'], $stats['total_posts']) = $db->fetch_row($result);
?>
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<img src="img/bck_forum2.jpg" alt=" " width="762" height="107">
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<div id="brdstats" class="block">
<h2><span><?php echo $lang_index['Board info'] ?></span></h2>
<div class="box">
<div class="inbox">
<dl class="conr">
<dt><strong><?php echo $lang_index['Board stats'] ?></strong></dt>
<dd><?php echo $lang_index['No of users'].': <strong>'. $stats['total_users'] ?></strong></dd>
<dd><?php echo $lang_index['No of topics'].': <strong>'.$stats['total_topics'] ?></strong></dd>
<dd><?php echo $lang_index['No of posts'].': <strong>'.$stats['total_posts'] ?></strong></dd>
</dl>
<dl class="conl">
<dt><strong><?php echo $lang_index['User info'] ?></strong></dt>
<dd><?php echo $lang_index['Newest user'] ?>: <a href="profile.php?id=<?php echo $stats['last_user']['id'] ?>"><?php echo pun_htmlspecialchars($stats['last_user']['username']) ?></a></dd>
<?php
if ($pun_config['o_users_online'] == '1')
{
// Fetch users online info and generate strings for output
$num_guests = 0;
$users = array();
$result = $db->query('SELECT user_id, ident FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
while ($pun_user_online = $db->fetch_assoc($result))
{
if ($pun_user_online['user_id'] > 1)
$users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</a>';
else
++$num_guests;
}
$num_users = count($users);
echo "\t\t\t\t".'<dd>'. $lang_index['Users online'].': <strong>'.$num_users.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Guests online'].': <strong>'.$num_guests.'</strong></dd>'."\n\t\t\t".'</dl>'."\n";
if ($num_users > 0)
echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>'."\n\t\t\t".'</dl>'."\n";
else
echo "\t\t\t".'<div class="clearer"></div>'."\n";
}
else
echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";
?>
</div>
</div>
</div>
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<img src="img/bck_support.jpg" alt=" " width="762" height="107">
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<[email protected] COUNTEr--><noscript><a
target=_top href="http://top.mail.ru/jump?from=1051202"><img
src="http://da.c0.b0.a1.top.list.ru/counter?js=na;id=1051202;t=210"
border=0 height=31 width=88
alt="Рейтинг@Mail.ru"/></a></noscript><!--/COUNTER-->
<!--LiveInternet counter--><!--/LiveInternet-->
<!-- HotLog -->
<noscript>
<a href="http://click.hotlog.ru/?359047" target="_top">
<img src="http://hit17.hotlog.ru/cgi-bin/hotlog/count?s=359047&im=101" border=0
width=88 height=31 alt="HotLog"></a>
</noscript>
<!-- /HotLog -->
<!--begin of Rambler's Top100 code -->
<a href="http://top100.rambler.ru/top100/">
<img src="http://counter.rambler.ru/top100.cnt?945438" alt="" width=1 height=1 border=0></a>
<!--end of Top100 code-->
<!--begin of Top100 logo-->
<a href="http://top100.rambler.ru/top100/">
<img src="http://top100-images.rambler.ru/top100/banner-88x31-rambler-gray2.gif" alt="Rambler's Top100" width=88 height=31 border=0></a>
<!--end of Top100 logo -->
<?php
вот он
На первый взгляд ошибок нет, только нехватает строк
$footer_style = 'index';
require PUN_ROOT.'footer.php';
в самом конце
Спасибо большое
<?php
/***********************************************************************
Copyright (C) 2002-2005 Rickard Andersson ([email protected])
This file is part of PunBB.
PunBB 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.
PunBB is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
************************************************************************/
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
if ($pun_user['g_read_board'] == '0')
message($lang_common['No view']);
// Load the index.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/index.php';
$page_title = pun_htmlspecialchars($pun_config['o_board_title']);
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
// REAL MARK TOPIC AS READ MOD BEGIN
function is_reading($log_time, $last_post)
{
if ( $log_time > $last_post )
return true;
return false;
}
// РїРѕРґ РІРѕРїСЂРѕСЃРѕРј!
if (!$pun_user['is_guest']) {
$result = $db->query("DELETE FROM ".$db->prefix."log_forums WHERE log_time < " . (time() - $pun_user['mark_after']) ." AND user_id='".$pun_user['id']."'") or error('Unable to delete marked as read forum info', __FILE__, __LINE__, $db->error());
}
// REAL MARK TOPIC AS READ MOD END
// Print the categories and forums
// Add Topic Title Info to Last Post column MOD BEGIN
//
// ORIGINAL:
//$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
//
// MOD:
//$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster, t.subject FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'topics AS t ON f.last_post_id=t.last_post_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
//
// Add Topic Title Info to Last Post column MOD END
// REAL MARK TOPIC AS READ MOD BEGIN
// ORIGINAL WITH Add Topic Title Info to Last Post column MOD
//$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster, t.subject FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'topics AS t ON f.last_post_id=t.last_post_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
$result = $db->query('
SELECT c.id AS cid,
c.cat_name,
f.id AS fid,
f.forum_name,
f.forum_desc,
f.redirect_url,
f.moderators,
f.num_topics,
f.num_posts,
f.last_post,
f.last_post_id,
lf.log_time,
lf.mark_read,
f.last_poster,
t.subject,
p.poster_id
FROM '.$db->prefix.'categories AS c
INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id
LEFT JOIN '.$db->prefix.'topics AS t ON f.last_post_id=t.last_post_id
LEFT JOIN '.$db->prefix.'log_forums AS lf ON lf.user_id='.$pun_user['id'].' AND lf.forum_id=f.id
LEFT JOIN '.$db->prefix.'posts AS p ON f.last_post_id=p.id
LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].')
WHERE fp.read_forum IS NULL OR fp.read_forum=1
ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
// REAL MARK TOPIC AS READ MOD END
$cur_category = 0;
$cat_count = 0;
while ($cur_forum = $db->fetch_assoc($result))
{
$moderators = '';
if ($cur_forum['cid'] != $cur_category) // A new category since last iteration?
{
if ($cur_category != 0)
echo "\t\t\t".'</tbody>'."\n\t\t\t".'</table>'."\n\t\t".'</div>'."\n\t".'</div>'."\n".'</div>'."\n\n";
++$cat_count;
?>
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<div id="idx<?php echo $cat_count ?>" class="blocktable">
<h2><span><?php echo pun_htmlspecialchars($cur_forum['cat_name']) ?></span></h2>
<div class="box">
<div class="inbox">
<table cellspacing="0">
<thead>
<tr>
<th class="tcl" scope="col"><?php echo $lang_common['Forum'] ?></th>
<th class="tc2" scope="col"><?php echo $lang_index['Topics'] ?></th>
<th class="tc3" scope="col"><?php echo $lang_common['Posts'] ?></th>
<th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
</tr>
</thead>
<tbody>
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<?php
$cur_category = $cur_forum['cid'];
}
$item_status = '';
$icon_text = $lang_common['Normal icon'];
$icon_type = 'icon';
// Are there new posts?
// REAL MARK TOPIC AS READ MOD BEGIN
//
// ORIGINAL:
// if (!$pun_user['is_guest'] && $cur_forum['last_post'] > $pun_user['last_visit'])
// куда деть mark_read???
if (!$pun_user['is_guest'] && !is_reading( $cur_forum['log_time'], $cur_forum['last_post']) && $cur_forum['last_post'] > $cur_forum['mark_read'] && $cur_forum['poster_id'] != $pun_user['id'] &&
($cur_forum['last_post'] > $pun_user['last_visit'] || (time() - $cur_forum['last_post'] < $pun_user['mark_after']) ))
// REAL MARK TOPIC AS READ MOD END
{
$item_status = 'inew';
$icon_text = $lang_common['New icon'];
$icon_type = 'icon inew';
}
// Is this a redirect forum?
if ($cur_forum['redirect_url'] != '')
{
$forum_field = '<h3><a href="'.pun_htmlspecialchars($cur_forum['redirect_url']).'" title="'.$lang_index['Link to'].' '.pun_htmlspecialchars($cur_forum['redirect_url']).'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</a></h3>';
$num_topics = $num_posts = ' ';
$item_status = 'iredirect';
$icon_text = $lang_common['Redirect icon'];
$icon_type = 'icon';
}
else
{
$forum_field = '<h3><a href="viewforum.php?id='.$cur_forum['fid'].'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</a></h3>';
$num_topics = $cur_forum['num_topics'];
$num_posts = $cur_forum['num_posts'];
}
if ($cur_forum['forum_desc'] != '')
$forum_field .= "\n\t\t\t\t\t\t\t\t".$cur_forum['forum_desc'];
// If there is a last_post/last_poster.
if ($cur_forum['last_post'] != '')
// BEGIN MOD
// NAME: Add Topic Title Info to Last Post column
//
// ORIGINAL:
// $last_post = '<a href="viewtopic.php?pid='.$cur_forum['last_post_id'].'#p'.$cur_forum['last_post_id'].'">'.format_time($cur_forum['last_post']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_forum['last_poster']).'</span>';
//
// MOD:
$last_post = '<a href="viewtopic.php?pid='.$cur_forum['last_post_id'].'#p'.$cur_forum['last_post_id'].'">'.pun_htmlspecialchars($cur_forum['subject']).'</a> <span class="byuser">'.format_time($cur_forum['last_post']).' - '.$lang_common['by'].' '.pun_htmlspecialchars($cur_forum['last_poster']).'</span>';
//
// END MOD
else
$last_post = ' ';
if ($cur_forum['moderators'] != '')
{
$mods_array = unserialize($cur_forum['moderators']);
$moderators = array();
while (list($mod_username, $mod_id) = @each($mods_array))
$moderators[] = '<a href="profile.php?id='.$mod_id.'">'.pun_htmlspecialchars($mod_username).'</a>';
$moderators = "\t\t\t\t\t\t\t\t".'<p><em>('.$lang_common['Moderated by'].'</em> '.implode(', ', $moderators).')</p>'."\n";
}
?>
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<tr<?php if ($item_status != '') echo ' class="'.$item_status.'"'; ?>>
<td class="tcl">
<div class="intd">
<div class="<?php echo $icon_type ?>"><div class="nosize"><?php echo $icon_text ?></div></div>
<div class="tclcon">
<?php echo $forum_field."\n".$moderators ?>
</div>
</div>
</td>
<td class="tc2"><?php echo $num_topics ?></td>
<td class="tc3"><?php echo $num_posts ?></td>
<td class="tcr"><?php echo $last_post ?></td>
</tr>
<?php
}
// Did we output any categories and forums?
if ($cur_category > 0)
echo "\t\t\t".'</tbody>'."\n\t\t\t".'</table>'."\n\t\t".'</div>'."\n\t".'</div>'."\n".'</div>'."\n\n";
else
echo '<div id="idx0" class="block"><div class="box"><div class="inbox"><p>'.$lang_index['Empty board'].'</p></div></div></div>';
// Collect some statistics from the database
$result = $db->query('SELECT COUNT(id)-1 FROM '.$db->prefix.'users') or error('Unable to fetch total user count', __FILE__, __LINE__, $db->error());
$stats['total_users'] = $db->result($result);
$result = $db->query('SELECT id, username FROM '.$db->prefix.'users ORDER BY registered DESC LIMIT 1') or error('Unable to fetch newest registered user', __FILE__, __LINE__, $db->error());
$stats['last_user'] = $db->fetch_assoc($result);
$result = $db->query('SELECT SUM(num_topics), SUM(num_posts) FROM '.$db->prefix.'forums') or error('Unable to fetch topic/post count', __FILE__, __LINE__, $db->error());
list($stats['total_topics'], $stats['total_posts']) = $db->fetch_row($result);
?>
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<img src="img/bck_forum2.jpg" alt=" " width="762" height="107">
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<div id="brdstats" class="block">
<h2><span><?php echo $lang_index['Board info'] ?></span></h2>
<div class="box">
<div class="inbox">
<dl class="conr">
<dt><strong><?php echo $lang_index['Board stats'] ?></strong></dt>
<dd><?php echo $lang_index['No of users'].': <strong>'. $stats['total_users'] ?></strong></dd>
<dd><?php echo $lang_index['No of topics'].': <strong>'.$stats['total_topics'] ?></strong></dd>
<dd><?php echo $lang_index['No of posts'].': <strong>'.$stats['total_posts'] ?></strong></dd>
</dl>
<dl class="conl">
<dt><strong><?php echo $lang_index['User info'] ?></strong></dt>
<dd><?php echo $lang_index['Newest user'] ?>: <a href="profile.php?id=<?php echo $stats['last_user']['id'] ?>"><?php echo pun_htmlspecialchars($stats['last_user']['username']) ?></a></dd>
<?php
if ($pun_config['o_users_online'] == '1')
{
// Fetch users online info and generate strings for output
$num_guests = 0;
$users = array();
$result = $db->query('SELECT user_id, ident FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
while ($pun_user_online = $db->fetch_assoc($result))
{
if ($pun_user_online['user_id'] > 1)
$users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</a>';
else
++$num_guests;
}
$num_users = count($users);
echo "\t\t\t\t".'<dd>'. $lang_index['Users online'].': <strong>'.$num_users.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Guests online'].': <strong>'.$num_guests.'</strong></dd>'."\n\t\t\t".'</dl>'."\n";
if ($num_users > 0)
echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>'."\n\t\t\t".'</dl>'."\n";
else
echo "\t\t\t".'<div class="clearer"></div>'."\n";
}
else
echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";
?>
</div>
</div>
</div>
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<img src="img/bck_support.jpg" alt=" " width="762" height="107">
<img src="img/bck_line.JPG" alt=" " width="762" height="13">
<[email protected] COUNTEr--><script language="JavaScript" type="text/javascript"><!--
d=document;var a='';a+=';r='+escape(d.referrer)
js=10//--></script><script language="JavaScript1.1" type="text/javascript"><!--
a+=';j='+navigator.javaEnabled()
js=11//--></script><script language="JavaScript1.2" type="text/javascript"><!--
s=screen;a+=';s='+s.width+'*'+s.height
a+=';d='+(s.colorDepth?s.colorDepth:s.pixelDepth)
js=12//--></script><script language="JavaScript1.3" type="text/javascript"><!--
js=13//--></script><script language="JavaScript" type="text/javascript"><!--
d.write('<a href="http://top.mail.ru/jump?from=1051202"'+
' target=_top><img src="http://da.c0.b0.a1.top.list.ru/counter'+
'?id=1051202;t=210;js='+js+a+';rand='+Math.random()+
'" alt="Рейтинг@Mail.ru"'+' border=0 height=31 width=88/><\/a>')
if(11<js)d.write('<'+'!-- ')//--></script><noscript><a
target=_top href="http://top.mail.ru/jump?from=1051202"><img
src="http://da.c0.b0.a1.top.list.ru/counter?js=na;id=1051202;t=210"
border=0 height=31 width=88
alt="Рейтинг@Mail.ru"/></a></noscript><script language="JavaScript" type="text/javascript"><!--
if(11<js)d.write('--'+'>')//--></script><!--/COUNTER-->
<!--LiveInternet counter--><script type="text/javascript"><!--
document.write('<a href="http://www.liveinternet.ru/click" '+
'target=_blank><img src="http://counter.yadro.ru/hit?t52.6;r'+
escape(document.referrer)+((typeof(screen)=='undefined')?'':
';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+';u'+escape(document.URL)+
';'+Math.random()+
'" alt="" title="LiveInternet: показано число просмотров и посетителей за 24 часа" '+
'border=0 width=88 height=31><\/a>')//--></script><!--/LiveInternet-->
<!-- HotLog -->
<script type="text/javascript" language="javascript">
hotlog_js="1.0";
hotlog_r=""+Math.random()+"&s=359047&im=101&r="+escape(document.referrer)+"&pg="+
escape(window.location.href);
document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N");
</script>
<script type="text/javascript" language="javascript1.1">
hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N")
</script>
<script type="text/javascript" language="javascript1.2">
hotlog_js="1.2";
hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+
(((navigator.appName.substring(0,3)=="Mic"))?
screen.colorDepth:screen.pixelDepth)</script>
<script type="text/javascript" language="javascript1.3">hotlog_js="1.3"</script>
<script type="text/javascript" language="javascript">hotlog_r+="&js="+hotlog_js;
document.write("<a href='http://click.hotlog.ru/?359047' target='_top'><img "+
" src='http://hit17.hotlog.ru/cgi-bin/hotlog/count?"+
hotlog_r+"&' border=0 width=88 height=31 alt=HotLog><\/a>")
</script>
<noscript>
<a href="http://click.hotlog.ru/?359047" target="_top">
<img src="http://hit17.hotlog.ru/cgi-bin/hotlog/count?s=359047&im=101" border=0
width=88 height=31 alt="HotLog"></a>
</noscript>
<!-- /HotLog -->
<!--begin of Rambler's Top100 code -->
<a href="http://top100.rambler.ru/top100/">
<img src="http://counter.rambler.ru/top100.cnt?945438" alt="" width=1 height=1 border=0></a>
<!--end of Top100 code-->
<!--begin of Top100 logo-->
<a href="http://top100.rambler.ru/top100/">
<img src="http://top100-images.rambler.ru/top100/banner-88x31-rambler-gray2.gif" alt="Rambler's Top100" width=88 height=31 border=0></a>
<!--end of Top100 logo -->
<?php
$footer_style = 'index';
require PUN_ROOT.'footer.php';
Подскажите еще - вставляем такой индексный файл - начальную страницу форума показывает пустой - почему, что сделали не так и в чем ошбка ?
index.php подключает еще до едрени фени всяких файлов.
по моему опыту пустая страница возникала, если я портил языковой файл - обычно остутствующая запятая или незакрытая кавычка.
я бы посоветовал восстановить из бекапа все файлы из подпапок lang/ - это как минимум, а лучше вообще весь форум
P.S. когда на форуме приводите пример на PHP, помещайте этот код в тег [ code ] [ /code ] !!!
Редактировался artoodetoo (2008-09-19 06:50:46)
Скажите а если форум переустановить полностью и заменить версию сборки ( допустим, раньше была 12 - а заменить ее на 15 ) бекап SQL базы от 12 версии будет работать на 15 ?
С уверенностью можно сказать только для чистого движка. Но практически обновиться с версии 1.2 до 1.2.15 возможно. Только методы будут разные.
Интересует следующее - на форуме какие то повреждения, возможно придется его сносить и переустанавливать заново полностью. Скажите бекап SQL версии 1.2.12 будет работать на установленной версии 1.2.15, совместимы ли они?
Благодарим форумчан за посильную помощь!!!
Остается непонятный, есть ли на вашем форуме моды, которые могли изменить базу данных. Если нет, то практически никаких препятствий. Просто устанавливаете форум версии 1.2.15 и делаете восстановление базы данных.
Для обновления базы данных которая у вас уже есть нужно осуществить следующие действия:
1. Восстановить поверх новой пустой базы 1.2.15 дамп старой базы 1.2.12
2. Залить в корень форума файл 12_to_1215_update.php
3. Запустить этот файл (в браузере, как инсталлятор)
Найти пакеты для обновления старых версий с скриптами обновления структуры БД можно здесь:
http://punbb.informer.com/download/museum/
Здесь список изменений версии 1.2.15 по отношению к 1.2.12
http://punbb.informer.com/download/hdif … .2.15.html
Если же вы меняете одну сборку на другую, здесь уже все гораздо сложнее. Нужно точно знать какие моды установлены, какие изменения они внесли в базу данных и в код самого скрипта.
Вопрос. А почему именно 1.2.15, а не 1.2.20 сразу?
coordinator, спасибо за развернтую консультацию, на форуме не был установлен ни один мод ( по причине их дырявости ), поняли так что для установки версии 1.2.15 и внедрения старого дампа SQL ( от прошлой версии 1.2.12 )потрбуется провести :
0. Залить версию форума 1.2.15
1. Восстановить поверх новой пустой базы 1.2.15 дамп старой базы 1.2.12
2. Залить в корень форума файл 12_to_1215_update.php
3. Запустить этот файл (в браузере, как инсталлятор)
После запуска файла в браузере - следовать рекомендациям ( мы так поняли ). Если что не так поправьте нас пожалуйста. Еще раз выражаем благодарность форумчанам за братскую помощь и консультации. Можем со своей стороны помочь в вопросах по продвижению. Еще, конечно можно было бы сразу ставить версию 1.2.20 - киньте ссылочку если не затруднит. Спасибо.
Редактировался Serganja (2008-09-20 11:33:25)
Есть ещё способ. Сам не пробовал, пишу от балды. Но на деле, возможно, первое, что попробовал бы сделать, чтобы не морочиться с патчами и ручным запуском обновлялок модов.
Короче, так. Для работы с базой наверняка используется phpMyAdmin. Он-то нам и нужен.
[li]Выгружаем скрипт создания таблиц (без данных) существующей базы. Он должен получиться небольшим - таблиц в PunBB не так много. Эту базу назовём старой.[/li][li]Ставим нужную версию форума отдельно, создаётся отдельная база. Назовём её новой. База будет пустой.[/li][li]Выгружаем новую базу аналогично старой, получаем ещё один скрипт.[/li][li]Теперь берём оба скрипта и сравниваем чем-то вроде WinMerge.[/li]
В результате будет видно, чем отличаются базы. Глядя на изменения, в phpMyAdmin можно давать команды, добавляющие недостающие поля в таблицы новой базы, типа:
alter table posts add my_field integer;
После изменений можно выгрузить скрипт новой базы ещё раз и сравнить для проверки. Если всё окей, можно грузить данные.
Freeman, в случае с Serganja твой способ будет более сложным.
Как оказалось, модов нет, так что все просто илегко. Заливаем все файлы версии PunBB 1.2.20 вместо старых, кроме config.php и папки с аватарами. Заливаем в корень: 12_to_1220_update.php из папки extra и запускаем. Все.
Если конфиг верный и база не битая, форум будет работать без проблем.
Ссылка, как просили:
http://punbb.informer.com/download/punbb-1.2.20.zip
Спасибо ребята!
Страницы 1
Тема закрыта