Если у Вас такая же пакость, как у Thoral, то можно ликвидирвать её так. В
viewtopic.php задаем переменную, которая будет показывать гость у нас или зарегистрированный пользователь.
if ( $userdata['session_logged_in'] ) {
$logg_view = 1;
}
else {
$logg_view = 0;
}
А в
functions.php ищем функцию generate_pagination и меняем её на этот вариант.
function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE)
{
global $topic_id, $forum_id, $logg_view, $lang;
if ( $logg_view == 100 ) {
$podstavka = 'forum';
$topic_id = $forum_id;
$logg_view = 0;
}
else {
$podstavka = 'topic';
}
$total_pages = ceil($num_items/$per_page);
if ( $total_pages == 1 ) {
return '';
}
$on_page = floor($start_item / $per_page) + 1;
$page_string = '';
if ( $total_pages > 10 )
{
$init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;
for($i = 1; $i < $init_page_max + 1; $i++)
{
if ( $logg_view == 1 ) {
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
}
else {
$topic_page = ( $i - 1 ) * $per_page;
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($podstavka . $topic_id . '-' . $topic_page) . '.html">' . $i . '</a>';
}
if ( $i < $init_page_max ) {
$page_string .= ", ";
}
}
if ( $total_pages > 3 )
{
if ( $on_page > 1 && $on_page < $total_pages )
{
$page_string .= ( $on_page > 5 ) ? ' ... ' : ', ';
$init_page_min = ( $on_page > 4 ) ? $on_page : 5;
$init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;
for($i = $init_page_min - 1; $i < $init_page_max + 2; $i++)
{
if ( $logg_view == 1 ) {
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
}
else {
$topic_page = ( $i - 1 ) * $per_page;
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($podstavka . $topic_id . '-' . $topic_page) . '.html">' . $i . '</a>';
}
if ( $i < $init_page_max + 1 ) {
$page_string .= ', ';
}
}
$page_string .= ( $on_page < $total_pages - 4 ) ? ' ... ' : ', ';
}
else {
$page_string .= ' ... ';
}
for($i = $total_pages - 2; $i < $total_pages + 1; $i++)
{
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
if( $i < $total_pages ) {
$page_string .= ", ";
}
}
}
}
else
{
for($i = 1; $i < $total_pages + 1; $i++) {
if ( $logg_view == 1 ) {
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
}
else {
$topic_page = ( $i - 1 ) * $per_page;
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($podstavka . $topic_id . '-' . $topic_page) . '.html">' . $i . '</a>';
}
if ( $i < $total_pages ) {
$page_string .= ', ';
}
}
}
if ( $add_prevnext_text ) {
if ( $on_page > 1 ) {
if ( $logg_view == 1 ) {
$page_string = ' <a href="' . append_sid($base_url . "&start=" . ( ( $on_page - 2 ) * $per_page ) ) . '">Пред.</a> ' . $page_string;
}
else {
$page_string = ' <a href="' . append_sid($podstavka . $topic_id . '-' . (( $on_page - 2 ) * $per_page)) . '.html">Пред.</a> ' . $page_string;
}
}
if ( $on_page < $total_pages ) {
if ( $logg_view == 1 ) {
$page_string .= ' <a href="' . append_sid($base_url . "&start=" . ( $on_page * $per_page ) ) . '">След.</a>';
}
else {
$page_string .= ' <a href="' . append_sid($podstavka . $topic_id . '-' . ($on_page * $per_page)) . '.html">След.</a>';
}
}
}
$page_string = 'На страницу ' . $page_string;
return $page_string;
}
Хоть проблема и решена, но мне очень интересно, почему она не возникла у Xperta. Здесь на сайте со ссылками гостей всё нормально. Или Xpert втихаря ликвидировал решил этот казус, а нам ничего не сказал?
