Version 2.2.0 RC-1
This commit is contained in:
1 parent
f73f8bff6d
commit
22f1b963ee
1034 files changed
+178610
-70897
No files matched your search
@@ -2,27 +2,17 @@
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| Invision Power Board 2.1.7
|
||||
| Invision Power Board
|
||||
| =============================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2005 Invision Power Services, Inc.
|
||||
| (c) 2001 - 2006 Invision Power Services, Inc.
|
||||
| http://www.invisionpower.com
|
||||
| =============================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| http://www.ibresource.ru/products/invisionpowerboard/
|
||||
| Time: Tuesday 18th of July 2006 05:56:00 PM
|
||||
| Release: 52f408a29988b02f45b5e6f4ba5af0ae
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
| http://www.ibresource.ru/license
|
||||
+---------------------------------------------------------------------------
|
||||
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
|
||||
+---------------------------------------------------------------------------
|
||||
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
|
||||
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
|
||||
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
|
||||
+---------------------------------------------------------------------------
|
||||
| > $Date: 2006-01-30 18:53:19 +0000 (Mon, 30 Jan 2006) $
|
||||
| > $Revision: 127 $
|
||||
| > $Date: 2006-09-28 23:05:45 +0100 (Thu, 28 Sep 2006) $
|
||||
| > $Revision: 587 $
|
||||
| > $Author: bfarber $
|
||||
+---------------------------------------------------------------------------
|
||||
|
|
||||
@@ -38,7 +28,7 @@
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Íåêîððåêòíûé àäðåñ</h1>Âû íå èìååòå äîñòóïà ê ýòîìó ôàéëó íàïðÿìóþ. Åñëè âû íåäàâíî îáíîâëÿëè ôîðóì, âû äîëæíû îáíîâèòü âñå ñîîòâåòñòâóþùèå ôàéëû.";
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
@@ -90,7 +80,14 @@ class forums {
|
||||
|
||||
if ( $read = $this->ipsclass->my_getcookie('topicsread') )
|
||||
{
|
||||
$this->read_array = $this->ipsclass->clean_int_array( unserialize(stripslashes($read)) );
|
||||
if( $read != "-1" )
|
||||
{
|
||||
$this->read_array = $this->ipsclass->clean_int_array( unserialize(stripslashes($read)) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->read_array = array();
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
@@ -122,7 +119,7 @@ class forums {
|
||||
$this->can_close_topics = 1;
|
||||
$this->can_open_topics = 1;
|
||||
}
|
||||
else if ( is_array( $this->ipsclass->member['_moderator'][ $this->forum['id'] ] ) )
|
||||
else if ( isset($this->ipsclass->member['_moderator'][ $this->forum['id'] ]) AND is_array( $this->ipsclass->member['_moderator'][ $this->forum['id'] ] ) )
|
||||
{
|
||||
if ( $this->ipsclass->member['_moderator'][ $this->forum['id'] ]['edit_topic'] )
|
||||
{
|
||||
@@ -139,10 +136,6 @@ class forums {
|
||||
$this->can_open_topics = 1;
|
||||
}
|
||||
}
|
||||
/*else if ( $this->ipsclass->member['g_edit_topic'] == 1 )
|
||||
{
|
||||
$this->can_edit_topics = 1; would need to check per tid
|
||||
}*/
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
@@ -186,7 +179,7 @@ class forums {
|
||||
|
||||
if ( ! $this->forum['id'] )
|
||||
{
|
||||
$this->ipsclass->Error( array( LEVEL => 1, MSG => 'is_broken_link') );
|
||||
$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'is_broken_link') );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
@@ -199,7 +192,7 @@ class forums {
|
||||
// Is it a redirect forum?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $this->forum['redirect_on'] )
|
||||
if ( isset($this->forum['redirect_on']) AND $this->forum['redirect_on'] )
|
||||
{
|
||||
$redirect = $this->ipsclass->DB->simple_exec_query( array( 'select' => 'redirect_url', 'from' => 'forums', 'where' => "id=".$this->forum['id']) );
|
||||
|
||||
@@ -249,7 +242,7 @@ class forums {
|
||||
// Check forum access perms
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! $this->ipsclass->input['L'] )
|
||||
if ( ! isset($this->ipsclass->input['L']) OR !$this->ipsclass->input['L'] )
|
||||
{
|
||||
$this->ipsclass->forums->forums_check_access( $this->forum['id'], 1 );
|
||||
}
|
||||
@@ -336,9 +329,9 @@ class forums {
|
||||
// Do we have permission to view these rules?
|
||||
//-----------------------------------------
|
||||
|
||||
$bad_entry = $this->ipsclass->forums->forums_check_access($this->forum['id'], 1);
|
||||
$allow_access = $this->ipsclass->forums->forums_check_access( $this->forum['id'], 1 );
|
||||
|
||||
if ($bad_entry == 1)
|
||||
if ( $allow_access === FALSE )
|
||||
{
|
||||
$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_view_topic') );
|
||||
}
|
||||
@@ -376,11 +369,11 @@ class forums {
|
||||
// are we checking for user authentication via the log in form
|
||||
// for a private forum w/password protection?
|
||||
|
||||
if ( isset($this->ipsclass->input['L']) && $this->ipsclass->input['L'] > 1 )
|
||||
if ( $this->ipsclass->input['L'] > 1 )
|
||||
{
|
||||
$this->ipsclass->Error( array( LEVEL=> 5, MSG =>'incorrect_use') );
|
||||
$this->ipsclass->Error( array( 'LEVEL' => 5, 'MSG' =>'incorrect_use') );
|
||||
}
|
||||
|
||||
|
||||
$this->ipsclass->input['L'] == 1 ? $this->authenticate_user() : $this->render_forum();
|
||||
}
|
||||
|
||||
@@ -416,7 +409,7 @@ class forums {
|
||||
//-----------------------------------------
|
||||
|
||||
# If we've changed the filters, bounce back to page 1
|
||||
$this->ipsclass->input['st'] = ( $this->ipsclass->input['changefilters'] ) ? 0 : intval($this->ipsclass->input['st']);
|
||||
$this->ipsclass->input['st'] = isset($this->ipsclass->input['changefilters']) ? 0 : (intval($this->ipsclass->input['st']) > 0 ? intval($this->ipsclass->input['st']) : 0);
|
||||
|
||||
//-----------------------------------------
|
||||
// Are we actually a moderator for this forum?
|
||||
@@ -424,7 +417,7 @@ class forums {
|
||||
|
||||
if ( ! $this->ipsclass->member['g_is_supmod'] AND ! $this->ipsclass->member['g_access_cp'] )
|
||||
{
|
||||
if ( ! is_array( $this->ipsclass->member['_moderator'][ $this->forum['id'] ] ) )
|
||||
if ( !isset($this->ipsclass->member['_moderator'][ $this->forum['id'] ]) OR !is_array( $this->ipsclass->member['_moderator'][ $this->forum['id'] ] ) )
|
||||
{
|
||||
$this->ipsclass->member['is_mod'] = 0;
|
||||
}
|
||||
@@ -438,7 +431,7 @@ class forums {
|
||||
{
|
||||
$announcements = array();
|
||||
|
||||
foreach( $this->ipsclass->cache['announcements'] as $id => $announce )
|
||||
foreach( $this->ipsclass->cache['announcements'] as $announce )
|
||||
{
|
||||
$order = $announce['announce_start'] ? $announce['announce_start'].','.$announce['announce_id'] : $announce['announce_id'];
|
||||
|
||||
@@ -462,11 +455,11 @@ class forums {
|
||||
|
||||
rsort( $announcements );
|
||||
|
||||
foreach( $announcements as $id => $announce )
|
||||
foreach( $announcements as $announce )
|
||||
{
|
||||
if ( $announce['announce_start'] )
|
||||
{
|
||||
$announce['announce_start'] = gmdate( 'j.n.Y', $announce['announce_start'] );
|
||||
$announce['announce_start'] = gmdate( 'jS F Y', $announce['announce_start'] );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -487,7 +480,9 @@ class forums {
|
||||
// Read topics
|
||||
//-----------------------------------------
|
||||
|
||||
$First = intval($this->ipsclass->input['st']);
|
||||
$First = intval($this->ipsclass->input['st']) > 0 ? intval($this->ipsclass->input['st']) : 0;
|
||||
|
||||
$this->ipsclass->member['members_markers']['board'] = isset($this->ipsclass->member['members_markers']['board']) ? $this->ipsclass->member['members_markers']['board'] : 0;
|
||||
|
||||
$this->ipsclass->input['last_visit'] = $this->ipsclass->member['last_visit'] > $this->ipsclass->member['members_markers']['board'] ? $this->ipsclass->member['last_visit'] : $this->ipsclass->member['members_markers']['board'];
|
||||
|
||||
@@ -495,7 +490,7 @@ class forums {
|
||||
// Over ride with 'master' cookie?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $this->ipsclass->forum_read[0] > $this->ipsclass->forum_read[ $this->ipsclass->input['f'] ] )
|
||||
if ( isset($this->ipsclass->forum_read[0]) AND $this->ipsclass->forum_read[0] > $this->ipsclass->forum_read[ $this->ipsclass->input['f'] ] )
|
||||
{
|
||||
$this->ipsclass->forum_read[ $this->ipsclass->input['f'] ] = $this->ipsclass->forum_read[0];
|
||||
}
|
||||
@@ -504,30 +499,61 @@ class forums {
|
||||
// Sort options
|
||||
//-----------------------------------------
|
||||
|
||||
$cookie_prune = $this->ipsclass->my_getcookie( $this->forum['id']."_prune_day" );
|
||||
$cookie_sort = $this->ipsclass->my_getcookie( $this->forum['id']."_sort_key" );
|
||||
$cookie_sortb = $this->ipsclass->my_getcookie( $this->forum['id']."_sort_by" );
|
||||
$cookie_fill = $this->ipsclass->my_getcookie( $this->forum['id']."_topicfilter" );
|
||||
|
||||
$prune_value = $this->ipsclass->select_var( array(
|
||||
1 => $this->ipsclass->input['prune_day'],
|
||||
2 => $this->forum['prune'] ,
|
||||
3 => '100' )
|
||||
1 => isset($this->ipsclass->input['prune_day']) ? $this->ipsclass->input['prune_day'] : NULL,
|
||||
2 => !empty($cookie_prune) ? $cookie_prune : NULL,
|
||||
3 => $this->forum['prune'] ,
|
||||
4 => '100' )
|
||||
);
|
||||
|
||||
$sort_key = $this->ipsclass->select_var( array(
|
||||
1 => $this->ipsclass->input['sort_key'],
|
||||
2 => $this->forum['sort_key'],
|
||||
3 => 'last_post' )
|
||||
1 => isset($this->ipsclass->input['sort_key']) ? $this->ipsclass->input['sort_key'] : NULL,
|
||||
2 => !empty($cookie_sort) ? $cookie_sort : NULL,
|
||||
3 => $this->forum['sort_key'],
|
||||
4 => 'last_post' )
|
||||
);
|
||||
|
||||
$sort_by = $this->ipsclass->select_var( array(
|
||||
1 => $this->ipsclass->input['sort_by'],
|
||||
2 => $this->forum['sort_order'] ,
|
||||
3 => 'Z-A' )
|
||||
1 => isset($this->ipsclass->input['sort_by']) ? $this->ipsclass->input['sort_by'] : NULL,
|
||||
2 => !empty($cookie_sortb) ? $cookie_sortb : NULL,
|
||||
3 => $this->forum['sort_order'] ,
|
||||
4 => 'Z-A' )
|
||||
);
|
||||
|
||||
$topicfilter = $this->ipsclass->select_var( array(
|
||||
1 => $this->ipsclass->input['topicfilter'],
|
||||
2 => $this->forum['topicfilter'] ,
|
||||
3 => 'all' )
|
||||
1 => isset($this->ipsclass->input['topicfilter']) ? $this->ipsclass->input['topicfilter'] : NULL,
|
||||
2 => !empty($cookie_fill) ? $cookie_fill : NULL,
|
||||
3 => $this->forum['topicfilter'] ,
|
||||
4 => 'all' )
|
||||
);
|
||||
|
||||
|
||||
if( isset($this->ipsclass->input['remember']) AND $this->ipsclass->input['remember'] )
|
||||
{
|
||||
if( isset($this->ipsclass->input['prune_day']) AND $this->ipsclass->input['prune_day'] )
|
||||
{
|
||||
$this->ipsclass->my_setcookie( $this->forum['id']."_prune_day", $this->ipsclass->input['prune_day'] );
|
||||
}
|
||||
|
||||
if( isset($this->ipsclass->input['sort_key']) AND $this->ipsclass->input['sort_key'] )
|
||||
{
|
||||
$this->ipsclass->my_setcookie( $this->forum['id']."_sort_key", $this->ipsclass->input['sort_key'] );
|
||||
}
|
||||
|
||||
if( isset($this->ipsclass->input['sort_by']) AND $this->ipsclass->input['sort_by'] )
|
||||
{
|
||||
$this->ipsclass->my_setcookie( $this->forum['id']."_sort_by", $this->ipsclass->input['sort_by'] );
|
||||
}
|
||||
|
||||
if( isset($this->ipsclass->input['topicfilter']) AND $this->ipsclass->input['topicfilter'] )
|
||||
{
|
||||
$this->ipsclass->my_setcookie( $this->forum['id']."_topicfilter", $this->ipsclass->input['topicfilter'] );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Figure out sort order, day cut off, etc
|
||||
@@ -583,7 +609,7 @@ class forums {
|
||||
|
||||
if ( (!isset($filter_keys[$topicfilter])) or (!isset($sort_keys[$sort_key])) or (!isset($prune_by_day[$prune_value])) or (!isset($sort_by_keys[$sort_by])) )
|
||||
{
|
||||
$this->ipsclass->Error( array( LEVEL=> 5, MSG =>'incorrect_use') );
|
||||
$this->ipsclass->Error( array( 'LEVEL' => 5, 'MSG' =>'incorrect_use') );
|
||||
}
|
||||
|
||||
$r_sort_by = $sort_by == 'A-Z' ? 'ASC' : 'DESC';
|
||||
@@ -708,7 +734,7 @@ class forums {
|
||||
//-----------------------------------------
|
||||
// Start printing the page
|
||||
//-----------------------------------------
|
||||
|
||||
|
||||
$this->output .= $this->ipsclass->compiled_templates['skin_forum']->PageTop( $this->forum, $this->can_edit_topics, $this->can_open_topics, $this->can_close_topics );
|
||||
|
||||
//-----------------------------------------
|
||||
@@ -734,6 +760,8 @@ class forums {
|
||||
// Mod filter?
|
||||
//-----------------------------------------
|
||||
|
||||
$this->ipsclass->input['modfilter'] = isset($this->ipsclass->input['modfilter']) ? $this->ipsclass->input['modfilter'] : '';
|
||||
|
||||
if ( $this->ipsclass->input['modfilter'] == 'invisible_topics' and $this->ipsclass->member['is_mod'] )
|
||||
{
|
||||
$topic_sort = 't.approved asc,';
|
||||
@@ -828,7 +856,9 @@ class forums {
|
||||
|
||||
if ( $this->ipsclass->vars['db_topic_read_cutoff'] and count($topic_ids) )
|
||||
{
|
||||
if ( $this->ipsclass->forums->forum_by_id[ $this->forum['id'] ]['_db_row'] )
|
||||
if ( isset($this->ipsclass->forums->forum_by_id[ $this->forum['id'] ]['_db_row']) AND
|
||||
$this->ipsclass->forums->forum_by_id[ $this->forum['id'] ]['_db_row']
|
||||
)
|
||||
{
|
||||
$this->db_row = $this->ipsclass->forums->forum_by_id[ $this->forum['id'] ]['_db_row'];
|
||||
}
|
||||
@@ -855,7 +885,7 @@ class forums {
|
||||
{
|
||||
foreach( $this->my_topics_read as $tid => $date )
|
||||
{
|
||||
if ( is_array( $topic_array[ $tid ] ) )
|
||||
if ( isset($topic_array[ $tid ]) AND is_array( $topic_array[ $tid ] ) )
|
||||
{
|
||||
$this->read_topics_tid[] = $tid;
|
||||
$topic_array[ $tid ]['db_read'] = $date > $this->db_row['marker_last_cleared'] ? $date : $this->db_row['marker_last_cleared'];
|
||||
@@ -883,7 +913,7 @@ class forums {
|
||||
// Show meh the topics!
|
||||
//-----------------------------------------
|
||||
|
||||
foreach( $topic_array as $tid => $topic )
|
||||
foreach( $topic_array as $topic )
|
||||
{
|
||||
if ( $topic['pinned'] )
|
||||
{
|
||||
@@ -899,6 +929,11 @@ class forums {
|
||||
// Finish off the rest of the page $filter_keys[$topicfilter]))
|
||||
//-----------------------------------------
|
||||
|
||||
$sort_by_html = "";
|
||||
$sort_key_html = "";
|
||||
$prune_day_html = "";
|
||||
$filter_html = "";
|
||||
|
||||
foreach ($sort_by_keys as $k => $v)
|
||||
{
|
||||
$sort_by_html .= $k == $sort_by ? "<option value='$k' selected='selected'>" . $this->ipsclass->lang[ $sort_by_keys[ $k ] ] . "</option>\n"
|
||||
@@ -931,6 +966,7 @@ class forums {
|
||||
if( $this->ipsclass->member['is_mod'] )
|
||||
{
|
||||
$count = 0;
|
||||
$other_pages = 0;
|
||||
|
||||
if( $this->ipsclass->input['selectedtids'] != "" )
|
||||
{
|
||||
@@ -942,6 +978,11 @@ class forums {
|
||||
{
|
||||
if( $tid != '' )
|
||||
{
|
||||
if( !array_key_exists( $tid, $topic_array ) )
|
||||
{
|
||||
$other_pages++;
|
||||
}
|
||||
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
@@ -949,6 +990,11 @@ class forums {
|
||||
}
|
||||
|
||||
$this->ipsclass->lang['f_go'] .= " ({$count})";
|
||||
|
||||
if( $other_pages )
|
||||
{
|
||||
$this->ipsclass->lang['f_go'] .= " ({$other_pages} {$this->ipsclass->lang['jscript_otherpage']})";
|
||||
}
|
||||
}
|
||||
|
||||
$this->output .= $this->ipsclass->compiled_templates['skin_forum']->TableEnd($this->forum, $this->auth_key);
|
||||
@@ -959,6 +1005,7 @@ class forums {
|
||||
|
||||
if ( $this->ipsclass->member['is_mod'] )
|
||||
{
|
||||
$mm_html = "";
|
||||
$mm_array = $this->ipsclass->get_multimod( $this->forum['id'] );
|
||||
|
||||
if ( is_array( $mm_array ) and count( $mm_array ) )
|
||||
@@ -1106,6 +1153,8 @@ class forums {
|
||||
$cached = array();
|
||||
$active = array( 'guests' => 0, 'anon' => 0, 'members' => 0, 'names' => "");
|
||||
$rows = array( $ar_time => array( 'login_type' => substr($this->ipsclass->member['login_anonymous'],0, 1),
|
||||
'id' => 0,
|
||||
'location' => 'sf',
|
||||
'running_time' => $ar_time,
|
||||
'member_id' => $this->ipsclass->member['id'],
|
||||
'member_name' => $this->ipsclass->member['members_display_name'],
|
||||
@@ -1122,14 +1171,27 @@ class forums {
|
||||
|
||||
krsort( $rows );
|
||||
|
||||
//-----------------------------------------
|
||||
// Is this a root admin in disguise?
|
||||
// Is that kinda like a diamond in the rough?
|
||||
//-----------------------------------------
|
||||
|
||||
$our_mgroups = array();
|
||||
|
||||
if( $this->ipsclass->member['mgroup_others'] )
|
||||
{
|
||||
$our_mgroups = explode( ",", $this->ipsclass->clean_perm_string( $this->ipsclass->member['mgroup_others'] ) );
|
||||
}
|
||||
|
||||
$our_mgroups[] = $this->ipsclass->member['mgroup'];
|
||||
|
||||
//-----------------------------------------
|
||||
// PRINT...
|
||||
//-----------------------------------------
|
||||
|
||||
foreach( $rows as $i => $result )
|
||||
foreach( $rows as $result )
|
||||
{
|
||||
$result['suffix'] = $this->ipsclass->cache['group_cache'][ $result['member_group'] ]['suffix'];
|
||||
$result['prefix'] = $this->ipsclass->cache['group_cache'][ $result['member_group'] ]['prefix'];
|
||||
$result['member_name'] = $this->ipsclass->make_name_formatted( $result['member_name'], $result['member_group'] );
|
||||
|
||||
$last_date = $this->ipsclass->get_time( $result['running_time'] );
|
||||
|
||||
@@ -1156,9 +1218,9 @@ class forums {
|
||||
|
||||
if ($result['login_type'] == 1)
|
||||
{
|
||||
if ( ($this->ipsclass->member['mgroup'] == $this->ipsclass->vars['admin_group']) and ($this->ipsclass->vars['disable_admin_anon'] != 1) )
|
||||
if ( (in_array( $this->ipsclass->vars['admin_group'], $our_mgroups )) and ($this->ipsclass->vars['disable_admin_anon'] != 1) )
|
||||
{
|
||||
$active['names'] .= "$p_start<a href='{$this->ipsclass->base_url}showuser={$result['member_id']}'$p_title>{$result['prefix']}{$result['member_name']}{$result['suffix']}</a>*$p_end, ";
|
||||
$active['names'] .= "$p_start<a href='{$this->ipsclass->base_url}showuser={$result['member_id']}'{$p_title}>{$result['member_name']}</a>*{$p_end}, ";
|
||||
$active['anon']++;
|
||||
}
|
||||
else
|
||||
@@ -1169,7 +1231,7 @@ class forums {
|
||||
else
|
||||
{
|
||||
$active['members']++;
|
||||
$active['names'] .= "$p_start<a href='{$this->ipsclass->base_url}showuser={$result['member_id']}'$p_title>{$result['prefix']}{$result['member_name']}{$result['suffix']}</a>$p_end, ";
|
||||
$active['names'] .= "$p_start<a href='{$this->ipsclass->base_url}showuser={$result['member_id']}'{$p_title}>{$result['member_name']}</a>{$p_end}, ";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1196,8 +1258,15 @@ class forums {
|
||||
// Parse data
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function parse_data( $topic )
|
||||
function parse_data( $topic, $last_time_default=1 )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$this->read_array[ $topic['tid'] ] = isset( $this->read_array[ $topic['tid'] ] ) ? $this->read_array[ $topic['tid'] ] : 0;
|
||||
$this->ipsclass->forum_read[ $topic['forum_id'] ] = isset( $this->ipsclass->forum_read[ $topic['forum_id'] ] ) ? $this->ipsclass->forum_read[ $topic['forum_id'] ] : 0;
|
||||
|
||||
//-----------------------------------------
|
||||
// Get a real ID so that moved
|
||||
// topic don't break owt
|
||||
@@ -1257,7 +1326,7 @@ class forums {
|
||||
//-----------------------------------------
|
||||
// Using DB?
|
||||
//-----------------------------------------
|
||||
//print $this->ipsclass->vars['db_topic_read_cutoff'];print " ".$topic['last_post'];print " ".$this->ipsclass->member['members_markers']['board'];exit;
|
||||
|
||||
if ( $this->ipsclass->member['id'] and $this->ipsclass->vars['db_topic_read_cutoff'] AND ($topic['last_post'] > intval($this->ipsclass->member['members_markers']['board'])) )
|
||||
{
|
||||
$db_topic_read_cutoff = time() - $this->ipsclass->vars['db_topic_read_cutoff'] * 86400;
|
||||
@@ -1268,7 +1337,7 @@ class forums {
|
||||
// Have we read this topic before?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $topic['db_read'] )
|
||||
if ( isset($topic['db_read']) AND $topic['db_read'] )
|
||||
{
|
||||
$last_time = $topic['db_read'];
|
||||
}
|
||||
@@ -1278,7 +1347,9 @@ class forums {
|
||||
}
|
||||
else
|
||||
{
|
||||
$last_time = 1;
|
||||
# $last_time_default is used because we don't have db tracking loaded
|
||||
# when we're using search
|
||||
$last_time = $last_time_default;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1303,10 +1374,7 @@ class forums {
|
||||
// Attachy ment
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $topic['topic_hasattach'] )
|
||||
{
|
||||
$topic['attach_img'] = $this->ipsclass->compiled_templates['skin_forum']->topic_attach_icon($topic['tid'], intval($topic['topic_hasattach']));
|
||||
}
|
||||
$topic['attach_img'] = $topic['topic_hasattach'] ? $this->ipsclass->compiled_templates['skin_forum']->topic_attach_icon($topic['tid'], intval($topic['topic_hasattach'])) : '';
|
||||
|
||||
//-----------------------------------------
|
||||
// Yawn
|
||||
@@ -1318,12 +1386,11 @@ class forums {
|
||||
|
||||
$topic['starter'] = $topic['starter_id'] ? $this->ipsclass->make_profile_link( $topic['starter_name'], $topic['starter_id']) : "-".$topic['starter_name']."-";
|
||||
|
||||
if ($topic['poll_state'])
|
||||
{
|
||||
$topic['prefix'] = $this->ipsclass->vars['pre_polls'].' ';
|
||||
}
|
||||
$topic['prefix'] = $topic['poll_state'] ? $this->ipsclass->vars['pre_polls'].' ' : '';
|
||||
|
||||
if ( ($this->ipsclass->member['id']) and ($topic['author_id']) )
|
||||
$show_dots = "";
|
||||
|
||||
if ( $this->ipsclass->member['id'] and ( isset($topic['author_id']) AND $topic['author_id'] ) )
|
||||
{
|
||||
$show_dots = 1;
|
||||
}
|
||||
@@ -1332,6 +1399,8 @@ class forums {
|
||||
|
||||
$topic['topic_icon'] = $topic['icon_id'] ? '<img src="'.$this->ipsclass->vars['img_url'] . '/folder_post_icons/icon' . $topic['icon_id'] . '.gif" border="0" alt="" />'
|
||||
: ' ';
|
||||
|
||||
$topic['topic_icon'] = $topic['pinned'] ? '<{B_PIN}>' : $topic['topic_icon'];
|
||||
|
||||
$topic['start_date'] = $this->ipsclass->get_date( $topic['start_date'], 'LONG' );
|
||||
|
||||
@@ -1340,8 +1409,9 @@ class forums {
|
||||
//-----------------------------------------
|
||||
|
||||
$pages = 1;
|
||||
$topic['PAGES'] = "";
|
||||
|
||||
if ( $this->ipsclass->member['is_mod'] )
|
||||
if ( isset($this->ipsclass->member['is_mod']) AND $this->ipsclass->member['is_mod'] )
|
||||
{
|
||||
$topic['posts'] += intval($topic['topic_queuedposts']);
|
||||
}
|
||||
@@ -1423,9 +1493,13 @@ class forums {
|
||||
$topic['posts'] = $this->ipsclass->compiled_templates['skin_forum']->who_link($topic['tid'], $topic['posts']);
|
||||
}
|
||||
|
||||
if ( ( $this->ipsclass->member['g_is_supmod'] or $this->ipsclass->member['_moderator'][ $topic['forum_id'] ]['post_q'] == 1 ) and ( $topic['topic_queuedposts'] ) )
|
||||
{
|
||||
$topic['_hasqueued'] = 0;
|
||||
|
||||
if ( ( $this->ipsclass->member['g_is_supmod'] or
|
||||
(isset($this->ipsclass->member['_moderator'][ $topic['forum_id'] ]['post_q']) AND $this->ipsclass->member['_moderator'][ $topic['forum_id'] ]['post_q'] == 1) ) and
|
||||
( $topic['topic_queuedposts'] )
|
||||
)
|
||||
{
|
||||
$topic['_hasqueued'] = 1;
|
||||
}
|
||||
|
||||
@@ -1435,7 +1509,7 @@ class forums {
|
||||
|
||||
$topic['_rate_img'] = '';
|
||||
|
||||
if ( $this->forum['forum_allow_rating'] )
|
||||
if ( isset($this->forum['forum_allow_rating']) AND $this->forum['forum_allow_rating'] )
|
||||
{
|
||||
if ( $topic['topic_rating_total'] )
|
||||
{
|
||||
@@ -1456,7 +1530,7 @@ class forums {
|
||||
// Already switched on?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $this->ipsclass->member['is_mod'] )
|
||||
if (isset($this->ipsclass->member['is_mod']) AND $this->ipsclass->member['is_mod'] )
|
||||
{
|
||||
if ( $this->ipsclass->input['selectedtids'] )
|
||||
{
|
||||
@@ -1482,6 +1556,12 @@ class forums {
|
||||
{
|
||||
$topic = $this->parse_data( $topic );
|
||||
|
||||
$topic['PAGES'] = isset($topic['PAGES']) ? $topic['PAGES'] : '';
|
||||
$topic['prefix'] = isset($topic['prefix']) ? $topic['prefix'] : '';
|
||||
$topic['attach_img'] = isset($topic['attach_img']) ? $topic['attach_img'] : '';
|
||||
$topic['_hasqueued'] = isset($topic['_hasqueued']) ? $topic['_hasqueued'] : '';
|
||||
$topic['tidon'] = isset($topic['tidon']) ? $topic['tidon'] : 0;
|
||||
|
||||
$p_start = "";
|
||||
$p_end = "";
|
||||
$class1 = "row2";
|
||||
@@ -1496,7 +1576,7 @@ class forums {
|
||||
$class2 = 'row2shaded';
|
||||
$classposts = 'row4shaded';
|
||||
}
|
||||
else if ( $topic['_hasqueued'] )
|
||||
else if ( isset($topic['_hasqueued']) AND $topic['_hasqueued'] )
|
||||
{
|
||||
$classposts = 'row4shaded';
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user