sql_query($sql)) )
{
message_die(CRITICAL_ERROR, "Could not query config information", "", __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$CFG[$row['portal_name']] = $row['portal_value'];
}
$db->sql_freeresult($result);
// last seen hack
if ($CFG['last_seen']>0)
{
$sql = "SELECT username, user_id, user_level, user_allow_viewonline, user_lastlogon FROM " . USERS_TABLE . " WHERE user_id > 0 AND username <> 'Anonymous' ORDER BY user_lastlogon DESC LIMIT " . $CFG['last_seen'];
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query last seen information', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$user_online_link = color_group_colorize_name($row['user_id']);
if ( $row['user_allow_viewonline'] )
{
$logged_visible_online++;
}
else
{
$logged_hidden_online++;
}
if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
{
$template->assign_block_vars('last_seen_row', array(
'L_LSEEN_USERNAME' => $user_online_link,
'L_LSEEN_TIME' => create_date($board_config['default_dateformat'], $row['user_lastlogon'], $board_config['board_timezone'])));
}
}
$db->sql_freeresult($result);
$show_lastvbox = true;
}
//
// Recent Topics
//
if ( $CFG['number_recent_topics'] > 0 )
{
$sql = "SELECT * FROM ". FORUMS_TABLE . " ORDER BY forum_id";
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
}
$forum_data = array();
while( $row = $db->sql_fetchrow($result) )
{
$forum_data[] = $row;
}
$db->sql_freeresult($result);
$is_auth_ary = array();
$is_auth_ary = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata, $forum_data);
if( $CFG['exceptional_forums'] == '' )
{
$except_forum_id = '\'start\'';
}
else
{
$except_forum_id = $CFG['exceptional_forums'];
}
for ($i = 0; $i < count($forum_data); $i++)
{
if ((!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_read']) or (!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_view']))
{
if ($except_forum_id == '\'start\'')
{
$except_forum_id = $forum_data[$i]['forum_id'];
}
else
{
$except_forum_id .= ',' . $forum_data[$i]['forum_id'];
}
}
}
$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, t.topic_icon, t.topic_type, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
FROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . USERS_TABLE . " AS u
WHERE t.forum_id NOT IN (" . $except_forum_id . ")
AND t.topic_status <> 2
AND p.post_id = t.topic_last_post_id
AND p.poster_id = u.user_id
ORDER BY p.post_id DESC
LIMIT " . $CFG['number_recent_topics'];
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query recent topics information', '', __LINE__, __FILE__, $sql);
}
$number_recent_topics = $db->sql_numrows($result);
$recent_topic_row = array();
$dateformat = ($userdata['user_id'] == ANONYMOUS) ? $board_config['default_dateformat'] : $userdata['user_dateformat'];
$timezone = ($userdata['user_id'] == ANONYMOUS) ? $board_config['board_timezone'] : $userdata['user_timezone'];
if ( $number_recent_topics != 0 )
{
$template->assign_block_vars('switch_recent_topics_yes', array());
while ($row = $db->sql_fetchrow($result))
{
$recent_topic_row[] = $row;
}
for ($i = 0; $i < $number_recent_topics; $i++)
{
$recent_title_short = append_sid("fpost" . $recent_topic_row[$i]['topic_last_post_id'] . ".html" . '#' . $recent_topic_row[$i]['topic_last_post_id']);
//$recent_title_long = append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $recent_topic_row[$i]['post_id']) . '#' .$recent_topic_row[$i]['post_id'];
$recent_title_long = append_sid("viewtopic.$phpEx?t=" . $recent_topic_row[$i]['topic_id']) . '&view=newest';
$recent_title = ($plus_config['enable_shorturls']) ? $recent_title_short : $recent_title_long;
$template->assign_block_vars('switch_recent_topics_yes.recent_topic_row', array(
'U_TITLE' => $recent_title,
'L_TITLE' => $recent_topic_row[$i]['topic_title'],
'LAST_TITLE_ICON' => get_icon_title($recent_topic_row[$i]['topic_icon'], 0, $recent_topic_row[$i]['topic_type']),
'U_POSTER' => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $recent_topic_row[$i]['user_id']),
'S_POSTER' => color_group_colorize_name($recent_topic_row[$i]['user_id'],true),
'S_POSTTIME' => create_date( $dateformat, $recent_topic_row[$i]['post_time'], $timezone)
)
);
}
}
else
{
$template->assign_block_vars('switch_recent_topics_no', array());
$template->assign_vars(array(
'L_NO_RECENT_TOPICS' => $lang['No_recent_topics'])
);
}
$db->sql_freeresult($result);
$template->assign_block_vars('switch_recent_exp', array());
}
//
// END - Recent Topics
//
//
// Recent Files
//
if ( $CFG['number_recent_files'] > 0 )
{
$sql = "SELECT * FROM ". PA_FILES_TABLE . " WHERE file_approved = 1 ORDER BY file_time DESC
LIMIT " . $CFG['number_recent_files'];
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query files information', '', __LINE__, __FILE__, $sql);
}
else
{
include($phpbb_root_path . 'pafiledb/includes/functions_pafiledb.'.$phpEx);
$paFileDB = new pafiledb();
$paFileDB->init();
}
$files_data = array();
while( $row = $db->sql_fetchrow($result) )
{
if( !( ($paFileDB->auth[$row['file_catid']]['auth_download']) && ($paFileDB->auth[$row['file_catid']]['auth_view']) ))
{ }
else
{
$files_data[] = $row;
}
}
$number_recent_files = count($files_data);
$recent_files_row = array();
if ($number_recent_files != 0)
{
$template->assign_block_vars('switch_show_recentfiles', array());
while ($row = $db->sql_fetchrow($result))
{
$recent_files_row[] = $row;
}
$db->sql_freeresult($result);
for ($i = 0; $i < $number_recent_files; $i++)
{
if(strlen($files_data[$i]['file_name']) > 23)
{
$files_data[$i]['file_name'] = substr($files_data[$i]['file_name'],0,21);
$files_data[$i]['file_name'] .= "...";
}
$template->assign_block_vars('switch_show_recentfiles.recent_files_row', array(
'U_TITLE' => ($files_data[$i]['file_license'] > 0) ? append_sid('dload.'.$phpEx.'?action=license&license_id='.$files_data[$i]['file_license'].'&file_id='.$files_data[$i]['file_id']) : append_sid('dload.'.$phpEx.'?action=download&file_id='.$files_data[$i]['file_id']),
'L_TITLE' => $files_data[$i]['file_name']
)
);
}
}
else
{
$template->assign_block_vars('switch_none_recentfiles', array());
$template->assign_vars(array(
'L_NO_RECENT_FILE' => $lang['No_recent_files'])
);
}
$template->assign_block_vars('switch_recent_files', array());
}
//
// END - Recent Files
//
// Birthday Mod, Show users with birthday
if ($board_config['birthday_check_day'] > 0 )
{
$cache_data_file = $phpbb_root_path."cache/birthday_". $board_config['board_timezone'] . ".dat";
if (@is_file($cache_data_file) && empty($SID))
{
$valid = (date('YmdH',time()) - date('YmdH',@filemtime($cache_data_file))<1) ? true : false;
} else
{
$valid = false;
}
if ($valid )
{
include ($cache_data_file);
$birthday_today_list = stripslashes($birthday_today_list);
$birthday_week_list = stripslashes($birthday_week_list);
} else
{
$sql = ($board_config['birthday_check_day']) ? "SELECT user_id, username, user_birthday,user_level FROM " . USERS_TABLE. " WHERE user_birthday!=999999 ORDER BY username" :"";
if($result = $db->sql_query($sql))
{
if (!empty($result))
{
$time_now = time();
$this_year = create_date('Y', $time_now, $board_config['board_timezone']);
$date_today = create_date('Ymd', $time_now, $board_config['board_timezone']);
$date_forward = create_date('Ymd', $time_now+($board_config['birthday_check_day']*86400), $board_config['board_timezone']);
while ($birthdayrow = $db->sql_fetchrow($result))
{
$user_birthday2 = $this_year.($user_birthday = realdate("md",$birthdayrow['user_birthday'] ));
if ( $user_birthday2 < $date_today ) $user_birthday2 += 10000;
if ( $user_birthday2 > $date_today && $user_birthday2 <= $date_forward )
{
// user are having birthday within the next days
$user_age = ( $this_year.$user_birthday < $date_today ) ? $this_year - realdate ('Y',$birthdayrow['user_birthday'])+1 : $this_year- realdate ('Y',$birthdayrow['user_birthday']);
$style_color = color_group_colorize_name($birthdayrow['user_id'],true);
$birthday_week_list .= ' ' . $style_color . ' ('.$user_age.'),';
} else if ( $user_birthday2 == $date_today )
{
//user have birthday today
$user_age = $this_year - realdate ( 'Y',$birthdayrow['user_birthday'] );
$style_color = color_group_colorize_name($birthdayrow['user_id'],true);
$birthday_today_list .= ' ' . $style_color . ' ('.$user_age.'),';
}
}
if ($birthday_today_list) $birthday_today_list[ strlen( $birthday_today_list)-1] = ' ';
if ($birthday_week_list) $birthday_week_list[ strlen( $birthday_week_list)-1] = ' ';
}
$db->sql_freeresult($result);
if (empty($SID))
{
// stores the data set in a cache file
$data = "";
$fp = fopen( $cache_data_file, "w" );
fwrite($fp, $data);
fclose($fp);
@chmod($cache_data_file, 0666);
}
}
}
}
$birthday_today_list = stripslashes($birthday_today_list);
$birthday_week_list = stripslashes($birthday_week_list);
// Start add - Last visit MOD
if ($plus_config['show_last_visit'] != 0 && (($board_config['display_viewonline'] == 2) || ($board_config['display_viewonline'] == 1)) )
{
$cache_data_file = $phpbb_root_path."cache/last_visit_". $userdata['user_level'] . "_". $board_config['board_timezone'] . ".dat";
if (@is_file($cache_data_file))
{
$valid = (date('YmdH',time()) - date('YmdH',@filemtime($cache_data_file))<1) ? true : false;
} else
{
$valid = false;
}
if ($valid )
{
include ($cache_data_file);
} else
{
$time_now=time();
$time1Hour=$time_now-3600;
$minutes = date('is', $time_now);
$hour_now = $time_now - (60*($minutes[0].$minutes[1])) - ($minutes[2].$minutes[3]);
$dato=create_date('H', $time_now,$board_config['board_timezone']);
$timetoday = $hour_now - (3600*$dato);
if ($plus_config['show_last_visit'] == 2 )
{
$sql = 'SELECT session_ip, MAX(session_time) as session_time FROM '.SESSIONS_TABLE.' WHERE session_user_id="'.ANONYMOUS.'" AND session_time >= '.$timetoday.' AND session_time< '.($timetoday+86399).' GROUP BY session_ip';
if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve guest user today data", "", __LINE__, __FILE__, $sql);
while( $guest_list = $db->sql_fetchrow($result))
{
if ($guest_list['session_time'] >$time1Hour) $users_lasthour++;
}
$guests_today = $db->sql_numrows($result);
}
$sql = 'SELECT user_id,username,user_allow_viewonline,user_level,user_lastlogon FROM ' . USERS_TABLE . ' WHERE user_id!="'.ANONYMOUS.'" AND user_session_time >= '.$timetoday.' AND user_session_time< '.($timetoday+86399).' ORDER BY username';
if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve user today data", "", __LINE__, __FILE__, $sql);
while( $todayrow = $db->sql_fetchrow($result))
{
$style_color = "";
if ($todayrow['user_lastlogon']>=$time1Hour)
{
$users_lasthour++;
}
$style_color = addslashes(color_group_colorize_name($todayrow['user_id'],false));
$users_today_list.=( $todayrow['user_allow_viewonline'])?' ' . $style_color . ',' : (($userdata['user_level']==ADMIN) ? ' ' . $style_color .',' : '');
if (!$todayrow['user_allow_viewonline']) $logged_hidden_today++;
else $logged_visible_today++;
}
if ($users_today_list)
{
$users_today_list[ strlen( $users_today_list)-1] = ' ';
} else
{
$users_today_list = $lang['None'];
}
$total_users_today = $db->sql_numrows($result)+$guests_today;
$db->sql_freeresult($result);
if ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_sid']))
{
// stores the data set in a cache file
$data = "";
$fp = fopen( $cache_data_file, "w" );
fwrite($fp, $data);
fclose($fp);
@chmod($cache_data_file, 0666);
}
}
$users_today_list = $lang['Registered_users'].' ' . $users_today_list;
$l_today_user_s = ($total_users_today) ? ( ( $total_users_today == 1 )? $lang['User_today_total'] : $lang['Users_today_total'] ) : $lang['Users_today_zero_total'];
$l_today_r_user_s = ($logged_visible_today) ? ( ( $logged_visible_today == 1 ) ? $lang['Reg_user_total'] : $lang['Reg_users_total'] ) : $lang['Reg_users_zero_total'];
$l_today_h_user_s = ($logged_hidden_today) ? (($logged_hidden_today == 1) ? $lang['Hidden_user_total'] : $lang['Hidden_users_total'] ) : $lang['Hidden_users_zero_total'];
$l_today_users = sprintf($l_today_user_s, $total_users_today);
if ($plus_config['show_last_visit'] == 2 )
{
$l_today_g_user_s = ($guests_today) ? (($guests_today == 1) ? $lang['Guest_user_total'] : $lang['Guest_users_total']) : $lang['Guest_users_zero_total'];
$l_today_users .= sprintf($l_today_r_user_s, $logged_visible_today);
$l_today_users .= sprintf($l_today_h_user_s, $logged_hidden_today);
$l_today_users .= sprintf($l_today_g_user_s, $guests_today);
$l_today_text = ($users_lasthour)?sprintf($lang['Users_lasthour_explain'],$users_lasthour):$lang['Users_lasthour_none_explain'];
}
$template->assign_block_vars('lastvisits', array());
$show_lastvbox = true;
}
// End add - Last visit MOD
if ($show_lastvbox)
{
$template->assign_block_vars('switch_lastvbox', array());
unset($show_lastvbox);
}
//
// Start output of page
//
if ( $board_config['display_viewonline'] )
{
define('SHOW_ONLINE', true);
}
$page_title = $lang['Home'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'news' => 'portal_body.tpl')
);
//
// Avatar On Index MOD
//
$avatar_img = '';
if ( $userdata['user_avatar_type'] && $userdata['user_allowavatar'] )
{
switch( $userdata['user_avatar_type'] )
{
case USER_AVATAR_UPLOAD:
$size = check_avatar_size($board_config['avatar_path'] . '/' . $userdata['user_avatar'], $CFG['pics_thumbsize']);
$avatar_img = ( $board_config['allow_avatar_upload'] ) ? '' : '';
break;
case USER_AVATAR_REMOTE:
$size = check_avatar_size($userdata['user_avatar'], $CFG['pics_thumbsize'], true);
$avatar_img = ( $board_config['allow_avatar_remote'] ) ? '' : '';
break;
case USER_AVATAR_GALLERY:
$size = check_avatar_size($board_config['avatar_gallery_path'] . '/' . $userdata['user_avatar'], $CFG['pics_thumbsize']);
$avatar_img = ( $board_config['allow_avatar_local'] ) ? '' : '';
break;
}
}
// Check For Anonymous User
if ($userdata['user_id'] != '-1')
{
$name_link = color_group_colorize_name($userdata['user_id']);
}
else
{
$name_link = $lang['Guest'];
}
//
// END: Avatar On Index MOD
//
// Start add - Photo Album Block
if ( $CFG['pics_number'] > 0 )
{
// Build Categories Index
$sql_private_last = ($CFG['pics_all'] == '1') ? '' : ' AND c.cat_user_id = 0';
$sql = "SELECT c.*, COUNT(p.pic_id) AS count
FROM ". ALBUM_CAT_TABLE ." AS c
LEFT JOIN ". ALBUM_TABLE ." AS p ON c.cat_id = p.pic_cat_id
WHERE cat_id <> 0
$sql_private_last
GROUP BY cat_id
ORDER BY cat_order ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query categories list', '', __LINE__, __FILE__, $sql);
}
$catrows = array();
while( $row = $db->sql_fetchrow($result) )
{
$album_user_access = album_user_access($row['cat_id'], $row, 1, 0, 0, 0, 0, 0); // VIEW
if ($album_user_access['view'] == 1)
{
$catrows[] = $row;
}
}
$db->sql_freeresult($result);
if ( $CFG['pics_all'] == '1' )
{
$allowed_cat = '0'; // For Recent Public Pics below
}
else
{
$allowed_cat = '';
}
//
// $catrows now stores all categories which this user can view. Dump them out!
//
for ($i = 0; $i < count($catrows); $i++)
{
// Build allowed category-list (for recent pics after here)
$allowed_cat .= ($allowed_cat == '') ? $catrows[$i]['cat_id'] : ',' . $catrows[$i]['cat_id'];
// Get Last Pic of this Category
if ($catrows[$i]['count'] == 0)
{
// Category is empty
$last_pic_info = $lang['No_Pics'];
$u_last_pic = '';
$last_pic_title = '';
}
else
{
// Check Pic Approval
if ( ($catrows[$i]['cat_approval'] == ALBUM_ADMIN) or ($catrows[$i]['cat_approval'] == ALBUM_MOD) )
{
$pic_approval_sql = 'AND p.pic_approval = 1'; // Pic Approval ON
}
else
{
$pic_approval_sql = ''; // Pic Approval OFF
}
}
// END of Last Pic
}
// Recent Public Pics
if ( $CFG['pics_all'] == '1' )
{
$pics_allowed = '0';
}
else
{
$pics_allowed = '';
}
if ( $allowed_cat != $pics_allowed )
{
$CategoryID = $CFG['cat_id'];
if ( $CFG['pics_sort'] == '1' )
{
if ( $CategoryID != 0 )
{
$sql = "SELECT p.pic_id, p.pic_title, p.pic_thumbnail, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments
FROM ". ALBUM_TABLE ." AS p
LEFT JOIN ". USERS_TABLE ." AS u ON p.pic_user_id = u.user_id
LEFT JOIN ". ALBUM_CAT_TABLE ." AS ct ON p.pic_cat_id = ct.cat_id
LEFT JOIN ". ALBUM_RATE_TABLE ." AS r ON p.pic_id = r.rate_pic_id
LEFT JOIN ". ALBUM_COMMENT_TABLE ." AS c ON p.pic_id = c.comment_pic_id
WHERE p.pic_cat_id IN ($allowed_cat) AND ( p.pic_approval = 1 OR ct.cat_approval = 0 ) AND pic_cat_id IN ($CategoryID)
GROUP BY p.pic_id
ORDER BY RAND()
LIMIT ". $CFG['pics_number'];
}
else
{
$sql = "SELECT p.pic_id, p.pic_title, p.pic_thumbnail, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments
FROM ". ALBUM_TABLE ." AS p
LEFT JOIN ". USERS_TABLE ." AS u ON p.pic_user_id = u.user_id
LEFT JOIN ". ALBUM_CAT_TABLE ." AS ct ON p.pic_cat_id = ct.cat_id
LEFT JOIN ". ALBUM_RATE_TABLE ." AS r ON p.pic_id = r.rate_pic_id
LEFT JOIN ". ALBUM_COMMENT_TABLE ." AS c ON p.pic_id = c.comment_pic_id
WHERE p.pic_cat_id IN ($allowed_cat) AND ( p.pic_approval = 1 OR ct.cat_approval = 0 )
GROUP BY p.pic_id
ORDER BY RAND()
LIMIT ". $CFG['pics_number'];
}
}
else if ( $CFG['pics_sort'] == '0' )
{
if ( $CategoryID != 0 )
{
$sql = "SELECT p.pic_id, p.pic_title, p.pic_thumbnail, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments
FROM ". ALBUM_TABLE ." AS p
LEFT JOIN ". USERS_TABLE ." AS u ON p.pic_user_id = u.user_id
LEFT JOIN ". ALBUM_CAT_TABLE ." AS ct ON p.pic_cat_id = ct.cat_id
LEFT JOIN ". ALBUM_RATE_TABLE ." AS r ON p.pic_id = r.rate_pic_id
LEFT JOIN ". ALBUM_COMMENT_TABLE ." AS c ON p.pic_id = c.comment_pic_id
WHERE p.pic_cat_id IN ($allowed_cat) AND ( p.pic_approval = 1 OR ct.cat_approval = 0 ) AND pic_cat_id IN ($CategoryID)
GROUP BY p.pic_id
ORDER BY pic_time DESC
LIMIT ". $CFG['pics_number'];
}
else
{
$sql = "SELECT p.pic_id, p.pic_title, p.pic_thumbnail, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments
FROM ". ALBUM_TABLE ." AS p
LEFT JOIN ". USERS_TABLE ." AS u ON p.pic_user_id = u.user_id
LEFT JOIN ". ALBUM_CAT_TABLE ." AS ct ON p.pic_cat_id = ct.cat_id
LEFT JOIN ". ALBUM_RATE_TABLE ." AS r ON p.pic_id = r.rate_pic_id
LEFT JOIN ". ALBUM_COMMENT_TABLE ." AS c ON p.pic_id = c.comment_pic_id
WHERE p.pic_cat_id IN ($allowed_cat) AND ( p.pic_approval = 1 OR ct.cat_approval = 0 )
GROUP BY p.pic_id
ORDER BY pic_time DESC
LIMIT ". $CFG['pics_number'];
}
}
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query recent pics information', '', __LINE__, __FILE__, $sql);
}
$recentrow = array();
while( $row = $db->sql_fetchrow($result) )
{
$recentrow[] = $row;
}
$db->sql_freeresult($result);
if (count($recentrow) > 0)
{
for ($i = 0; $i < count($recentrow); $i += $album_config['cols_per_page'])
{
$template->assign_block_vars('recent_pics', array());
for ($j = $i; $j < ($i + $album_config['cols_per_page']); $j++)
{
if ( $j >= count($recentrow) )
{
break;
}
if (!$recentrow[$j]['rating'])
{
$recentrow[$j]['rating'] = $lang['Not_rated'];
}
else
{
$recentrow[$j]['rating'] = round($recentrow[$j]['rating'], 2);
}
$pic_size = @getimagesize(ALBUM_CACHE_PATH . $recentrow[$j]['pic_thumbnail']);
$pic_width = $pic_size[0];
$pic_height = $pic_size[1];
if ($pic_width > $pic_height)
{
$width = $CFG['pics_thumbsize'];
$height = $CFG['pics_thumbsize'] * ($pic_height/$pic_width);
}
else if ($pic_width < $pic_height)
{
$height = $CFG['pics_thumbsize'];
$width = $CFG['pics_thumbsize'] * ($pic_width/$pic_height);
}
else
{
$width = '90%';
$height = '90%';
}
// Display pics horizontally
$template->assign_block_vars('recent_pics.recent_col', array(
'U_PIC' => ($album_config['fullpic_popup']) ? append_sid("album_pic.$phpEx?pic_id=". $recentrow[$j]['pic_id']) : append_sid("album_showpage.$phpEx?pic_id=". $recentrow[$j]['pic_id']),
'THUMBNAIL' => append_sid("/album_thumbnail.$phpEx?pic_id=". $recentrow[$j]['pic_id']),
'WIDTH' => $width,
'HEIGHT' => $height,
'DESC' => $recentrow[$j]['pic_desc'])
);
if( ($recentrow[$j]['user_id'] == ALBUM_GUEST) or ($recentrow[$j]['username'] == '') )
{
$recent_poster = ($recentrow[$j]['pic_username'] == '') ? $lang['Guest'] : $recentrow[$j]['pic_username'];
}
else
{
$recent_poster = ''. $recentrow[$j]['username'] .'';
}
// Display pics vertically
$template->assign_block_vars('recent_pics.recent_detail', array(
'U_PIC' => ($album_config['fullpic_popup']) ? append_sid("album_pic.$phpEx?pic_id=". $recentrow[$j]['pic_id']) : append_sid("album_showpage.$phpEx?pic_id=". $recentrow[$j]['pic_id']),
'THUMBNAIL' => append_sid("/album_thumbnail.$phpEx?pic_id=". $recentrow[$j]['pic_id']),
'WIDTH' => $width,
'HEIGHT' => $height,
'DESC' => $recentrow[$j]['pic_desc'],
'TITLE' => $recentrow[$j]['pic_title'],
'POSTER' => $recent_poster,
'TIME' => create_date($board_config['default_dateformat'], $recentrow[$j]['pic_time'], $board_config['board_timezone']),
'VIEW' => $recentrow[$j]['pic_view_count'],
'RATING' => ($album_config['rate'] == 1) ? ( $lang['Rating'] . ': ' . $recentrow[$j]['rating'] . '
') : '',
'COMMENTS' => ($album_config['comment'] == 1) ? ( $lang['Comments'] . ': ' . $recentrow[$j]['comments'] . '
') : '')
);
}
}
}
else
{
// No Pics Found
$template->assign_block_vars('no_pics', array());
}
$template->assign_block_vars('switch_album_pic', array());
}
}
// End add - Photo Album Block
$alb_col = 0;
@$alb_col = (100/$album_config['cols_per_page']);
// Q2A
require_once("q2a.php");
$template->assign_vars(array(
'Q2A' => $q2a_table,
'WELCOME_TEXT' => $CFG['welcome_text'],
'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),
'TOTAL_TOPICS' => sprintf($lang['total_topics'], $total_topics),
'NEWEST_USER' => sprintf($lang['Newest_user'], '', $newest_user, ''),
'L_FORUM' => $lang['Forum'],
// Start add - Birthday MOD
'L_WHOSBIRTHDAY_WEEK' => ($board_config['birthday_check_day'] > 1) ? sprintf( (($birthday_week_list) ? $lang['Birthday_week'] : $lang['Nobirthday_week']), $board_config['birthday_check_day']).$birthday_week_list : '',
'L_WHOSBIRTHDAY_TODAY' => ($board_config['birthday_check_day']) ? ($birthday_today_list) ? $lang['Birthday_today'].$birthday_today_list : $lang['Nobirthday_today'] : '',
// End add - Birthday MOD
'L_BOARD_NAVIGATION' => $lang['Board_navigation'],
'L_STATISTICS' => $lang['Statistics'],
'L_ANNOUNCEMENT' => $lang['Post_Announcement'],
'L_POSTED' => $lang['Posted'],
'L_COMMENTS' => $lang['Comments'],
'L_VIEW_COMMENTS' => $lang['View_comments'],
'L_POST_COMMENT' => $lang['Post_your_comment'],
'L_SEND_PASSWORD' => $lang['Forgotten_password'],
'U_SEND_PASSWORD' => append_sid("profile.$phpEx?mode=sendpassword"),
'L_REGISTER_NEW_ACCOUNT' => sprintf($lang['Register_new_account'], '', ''),
'L_REMEMBER_ME' => $lang['Remember_me'],
'L_VIEW_COMPLETE_LIST' => $lang['View_complete_list'],
'L_POLL' => $lang['Poll'],
'L_VOTE_BUTTON' => $lang['Vote'],
'L_RECENT_FILES' => $lang['Recent_files'],
// Recent Topics
'L_RECENT_TOPICS' => $lang['Recent_topics'],
// Start add - Fully integrated shoutbox MOD
'U_SHOUTBOX' => append_sid("shoutbox.$phpEx"),
'L_SHOUTBOX' => $lang['Shoutbox'],
'U_SHOUTBOX_MAX' => append_sid("shoutbox_max.$phpEx"),
'U_FORUM' => append_sid("index.$phpEx"),
'U_LINKS' => append_sid("links.$phpEx"),
'U_CONTACT' => append_sid("kontakt.$phpEx"),
// Start add - Last visit MOD
'USERS_TODAY_LIST' => $users_today_list,
'L_USERS_LASTHOUR' => $l_today_text,
'L_USERS_TODAY' =>$l_today_users,
// End add - Last visit MOD
// End add - Fully integrated shoutbox MOD
'S_COLS' => $plus_config['cols_per_page'],
'S_COL_WIDTH' => (100/$plus_config['cols_per_page']) . '%',
// Photo Album
'L_NEWEST_PIC' => $lang['Newest_pic'],
'PIC_IMAGE' => append_sid('album_thumbnail.'. $phpEx . '?pic_id=' . $picrow['pic_id']),
'PIC_TITLE' => $picrow['pic_title'],
'PIC_POSTER' => $picrow['pic_username'],
'U_PIC_LINK' => append_sid('album_showpage.' . $phpEx . '?pic_id=' . $picrow['pic_id']),
'PIC_TIME' => create_date($board_config['default_dateformat'], $picrow['pic_time'], $board_config['board_timezone']),
// Start add - Photo Album Block
'S_COLS1' => $album_config['cols_per_page'],
'S_COL_WIDTH1' => $alb_col . '%',
'TARGET_BLANK' => ($album_config['fullpic_popup']) ? 'target="_blank"' : '',
'L_NEWEST_PICS' => $lang['Newest_pics'],
'L_NO_PICS' => $lang['No_Pics'],
'L_PIC_TITLE' => $lang['Pic_Title'],
'L_VIEW' => $lang['View'],
'L_POSTER' => $lang['Poster'],
'L_POSTED' => $lang['Posted'],
// End add - Photo Album Block
// Portal News Additions
'L_WORD_ON' => $lang['L_Word_on'],
'L_WORD_BY' => $lang['L_Word_by'],
'MINIPOST_IMG' => $images['icon_minipost'],
'NEWS_PRINT_IMG' => $images['news_print'],
'NEWS_EMAIL_IMG' => $images['news_email'],
'NEWS_REPLY_IMG' => $images['news_reply'],
'L_REPLY_NEWS' => $lang['News_Reply'],
'L_PRINT_NEWS' => $lang['News_Print'],
'L_EMAIL_NEWS' => $lang['News_Email'],
'L_NEWS_CATEGORIES' => $lang['News_Categories'],
'L_NEWS_ARCHIEVES' => $lang['News_Archieves'],
'L_NEWS_SUMMARY' => $lang['News_Summary'],
'L_NEWS_VIEWS' => $lang['News_Views'],
'L_NEWS_AND' => $lang['News_And'],
'L_NEWS_COMMENTS' => $lang['News_Comments'],
'L_NEWS_CATS' => $lang['News_Cats'],
'L_NO_NEWS_CATS' => $lang['No_News_Cats'],
'L_ABOUT_US' => $lang['About_us'],
'L_NAVIGATE' => $lang['Portal_Navigate'],
'L_TOOLS' => $lang['Portal_Tools'],
'L_LINKS' => $lang['Site_links'],
'L_CONTACT' => $lang['Site_Contact'],
'L_TOP_POSTERS' => $lang['Top_Posters'],
'L_TOP_MEMBER' => $lang['Top_Member'],
'L_TOP_POSTS' => $lang['Top_Posts'],
'L_QUICK_SEARCH' => $lang['Quick_Search'],
'L_ADV_SEARCH' => $lang['Advanced_Search'],
'L_SHOUTBOX' => $lang['Shoutbox'],
'L_SEARCH_NEW_P' => $lang['Search_new_p'],
'L_SHOUTBOXMAX' => $lang['Shoutbox'],
'U_SHOUTBOXMAX' => append_sid("shoutbox_max.$phpEx"),
// Welcome Avatar
'L_NAME_WELCOME' => $lang['Welcome'],
'U_NAME_LINK' => $name_link,
'L_LAST_SEEN' => $lang['Last_Seen'],
'AVATAR_IMG' => $avatar_img)
);
//
// Start Top Posters hack
if ( $CFG['number_top_posters'] > 0 )
{
$sql = "SELECT post_id FROM " . POSTS_TABLE . " ORDER BY post_id DESC LIMIT 1";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$total_post_perc = $row['post_id'];
$perc_mult = 3;
$perc_mult_set = 0;
$rank = 0;
$sql = "SELECT user_id, username, user_posts FROM " . USERS_TABLE ." WHERE user_id <> -1 ORDER BY user_posts DESC LIMIT ".$CFG['number_top_posters'];
$result = $db->sql_query($sql);
while( $row = $db->sql_fetchrow($result)) {
$rank++;
$class = (!($rank % 2)) ? 'row2' : 'row1';
$percentage = (get_db_stat('postcount') != 0) ? round(100 * $row['user_posts'] / get_db_stat('postcount'),0) : 0;
$bar_perc = round($percentage * $perc_mult,0);
$template->assign_block_vars("users", array(
'RANK' => $rank,
'CLASS' => $class,
'USERNAME' => color_group_colorize_name($row['user_id']),
'PERCENTAGE' => $percentage,
'URL' => $phpbb_root_path . "profile.php?mode=viewprofile&u=" . $row['user_id'],
'BAR' => $bar_perc,
'POSTS' => $row['user_posts'])
);
}
$db->sql_freeresult($result);
$template->assign_block_vars('switch_top_posters', array());
}
// End Top 5 Posters hack
//
//\\
//\\ Start - vgan's Portal Poll Mod V. 2.0
//\\
// Set the vote graphic length to 100
// Note: If the bars look too long at %100, (only 1 vote) set this value lower.
// Likewise, if it looks too short to you, increase it here.
$length = 65;
// Get the poll forum from EZportal config above
if( $CFG['poll_forum'] > 0)
{
$poll_forum = $CFG['poll_forum'];
$template->assign_block_vars('PORTAL_POLL', array());
$sql = 'SELECT
t.*, vd.*
FROM
' . TOPICS_TABLE . ' AS t,
' . VOTE_DESC_TABLE . ' AS vd
WHERE
t.forum_id IN (' . $poll_forum . ') AND
t.topic_status <> 1 AND
t.topic_status <> 2 AND
t.topic_vote = 1 AND
t.topic_id = vd.topic_id
ORDER BY
t.topic_time DESC
LIMIT
0,1';
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't obtain poll information.", "", __LINE__, __FILE__, $sql);
}
$total_polls = $db->sql_numrows($result);
$pollrow = $db->sql_fetchrowset($result);
$db->sql_freeresult($result);
if ( $total_polls != 0 )
{
$topic_id = $pollrow[0]['topic_id'] ;
$sql = "SELECT vd.vote_id, vd.vote_text, vd.vote_start, vd.vote_length, vr.vote_option_id, vr.vote_option_text, vr.vote_result
FROM " . VOTE_DESC_TABLE . " vd, " . VOTE_RESULTS_TABLE . " vr
WHERE vd.topic_id = $topic_id
AND vr.vote_id = vd.vote_id
ORDER BY vr.vote_option_id ASC";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't obtain vote data for this topic", "", __LINE__, __FILE__, $sql);
}
if( $vote_options = $db->sql_numrows($result) )
{
$vote_info = $db->sql_fetchrowset($result);
$vote_id = $vote_info[0]['vote_id'];
$vote_title = $vote_info[0]['vote_text'];
$sql = "SELECT vote_id
FROM " . VOTE_USERS_TABLE . "
WHERE vote_id = $vote_id
AND vote_user_id = " . $userdata['user_id'];
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't obtain user vote data for this topic", "", __LINE__, __FILE__, $sql);
}
$user_voted = ( $db->sql_numrows($result) ) ? TRUE : 0;
$db->sql_freeresult($result);
if( isset($_GET['vote']) || isset($_POST['vote']) )
{
$view_result = ( ( ( isset($_GET['vote']) ) ? $_GET['vote'] : $_POST['vote'] ) == "viewresult" ) ? TRUE : 0;
}
else
{
$view_result = 0;
}
$poll_expired = ( $vote_info[0]['vote_length'] ) ? ( ( $vote_info[0]['vote_start'] + $vote_info[0]['vote_length'] < time() ) ? TRUE : 0 ) : 0;
if( $user_voted || $view_result || $poll_expired || $forum_row['topic_status'] == TOPIC_LOCKED )
{
$template->set_filenames(array(
"pollbox" => "portal_poll_result.tpl")
);
$vote_results_sum = 0;
for($i = 0; $i < $vote_options; $i++)
{
$vote_results_sum += $vote_info[$i]['vote_result'];
}
$vote_graphic = 0;
$vote_graphic_max = count($images['voting_graphic']);
for($i = 0; $i < $vote_options; $i++)
{
$vote_percent = ( $vote_results_sum > 0 ) ? $vote_info[$i]['vote_result'] / $vote_results_sum : 0;
$portal_vote_graphic_length = round($vote_percent * $length);
$vote_graphic_img = $images['voting_graphic'][$vote_graphic];
$vote_graphic = ($vote_graphic < $vote_graphic_max - 1) ? $vote_graphic + 1 : 0;
if( count($orig_word) )
{
$vote_info[$i]['vote_option_text'] = preg_replace($orig_word, $replacement_word, $vote_info[$i]['vote_option_text']);
}
$template->assign_block_vars("poll_option", array(
"POLL_OPTION_CAPTION" => $vote_info[$i]['vote_option_text'],
"POLL_OPTION_RESULT" => $vote_info[$i]['vote_result'],
"POLL_OPTION_PERCENT" => sprintf("%.1d%%", ($vote_percent * 100)),
"POLL_OPTION_IMG" => $vote_graphic_img,
"POLL_OPTION_IMG_WIDTH" => $portal_vote_graphic_length/1)
);
}
$template->assign_vars(array(
"L_TOTAL_VOTES" => $lang['Total_votes'],
"TOTAL_VOTES" => $vote_results_sum,
"L_VIEW_RESULTS" => $lang['View_results'],
"U_VIEW_RESULTS" => append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&postdays=$post_days&postorder=$post_order&vote=viewresult"))
);
}
else
{
$template->set_filenames(array(
"pollbox" => "portal_poll_ballot.tpl")
);
for($i = 0; $i < $vote_options; $i++)
{
if( count($orig_word) )
{
$vote_info[$i]['vote_option_text'] = preg_replace($orig_word, $replacement_word, $vote_info[$i]['vote_option_text']);
}
$template->assign_block_vars("poll_option", array(
"POLL_OPTION_ID" => $vote_info[$i]['vote_option_id'],
"POLL_OPTION_CAPTION" => $vote_info[$i]['vote_option_text'])
);
}
$template->assign_vars(array(
"LOGIN_TO_VOTE" => '' . $lang['Login_to_vote'] . '')
);
$s_hidden_fields = '';
}
if( count($orig_word) )
{
$vote_title = preg_replace($orig_word, $replacement_word, $vote_title);
}
$template->assign_vars(array(
"POLL_QUESTION" => ''.$vote_title.'',
"L_SUBMIT_VOTE" => '',
"S_HIDDEN_FIELDS" => ( !empty($s_hidden_fields) ) ? $s_hidden_fields : "",
"S_POLL_ACTION" => append_sid("posting.$phpEx?" . POST_TOPIC_URL . "=$topic_id"))
);
$template->assign_var_from_handle("PORTAL_POLL", "pollbox");
}
}
else
{
$template->set_filenames(array(
"pollbox" => "portal_poll_ballot.tpl")
);
$template->assign_vars(array(
"POLL_QUESTION" => $lang['No_poll'],
"L_SUBMIT_VOTE" => '',
"S_HIDDEN_FIELDS" => "",
"S_POLL_ACTION" => '',
"LOGIN_TO_VOTE" => '')
);
$template->assign_var_from_handle("PORTAL_POLL", "pollbox");
}
}
//\\
//\\ End - vgan's Portal Poll Mod V. 2.0
//\\
if ( ($plus_config['show_shoutbox'] == 1 || $plus_config['show_shoutbox'] == 3 ) || ( ($plus_config['show_shoutbox'] == 2 || $plus_config['show_shoutbox'] == 4 ) && ( $userdata['session_user_id'] != ANONYMOUS ) ) )
{
$template->assign_block_vars('switch_show_shoutbox', array());
}
include($phpbb_root_path . 'mods/netclectic/mini_cal/mini_cal.'.$phpEx);
$template->assign_vars(array(
"TELL_LINK" => append_sid("http://".$HTTP_SERVER_VARS['HTTP_HOST'].$HTTP_SERVER_VARS['PHP_SELF']."?t=$topic_id", true)));
$content = new NewsModule( $phpbb_root_path );
$content->setVariables( array(
'L_INDEX' => $lang['Index'],
'L_CATEGORIES' => $lang['Categories'],
'L_ARCHIVES' => $lang['Archives']
) );
if( (isset( $_GET['news'] ) && $_GET['news'] == 'categories'))
{
// View the news categories.
$data_access = new NewsDataAccess( $phpbb_root_path );
$news_cats = $data_access->fetchCategories( );
$template->assign_block_vars('news_categories', array());
$cats = count($news_cats);
if ($cats == 0)
{
$template->assign_block_vars('no_news', array());
}
for ($i = 0; $i < count($news_cats); $i += $plus_config['cols_per_page'])
{
if ($cats >0)
{
$template->assign_block_vars('newsrow', array());
}
for ($j = $i; $j < ($i + $plus_config['cols_per_page']); $j++)
{
if( $j >= count($news_cats) )
{
break;
}
$template->assign_block_vars('newsrow.newscol', array(
'THUMBNAIL' => '/templates/pingviin_images/news/' . $news_cats[$j]['news_image'],
'ID' => $news_cats[$j]['news_id'],
'DESC' => $news_cats[$j]['news_category'],
)
);
$template->assign_block_vars('newsrow.news_detail', array(
'NEWSCAT' => $news_cats[$j]['news_category'],
'CATEGORY' => $newsrow[$j]['news_category']
)
);
}
}
}
elseif( isset( $_GET['news'] ) && $_GET['news'] == 'archives' )
{
// View the news Archives.
$year = (isset( $_GET['year'] )) ? intval($_GET['year']) : 0;
$month = (isset( $_GET['month'] )) ? intval($_GET['month']) : 0;
$day = (isset( $_GET['day'] )) ? intval($_GET['day']) : 0;
$key = (isset( $_GET['key'] )) ? $_GET['key'] : '';
$template->assign_block_vars('news_archives', array());
$content->setVariables( array( 'TITLE' => $lang['News'] . ' ' . $lang['Archives'] ) );
$content->renderArchives( $year, $month, $day, $key );
}
elseif (isset ($_GET['topic_id']) || $_GET['cat_id'])
{
$topic_id = 0;
if( isset( $_GET['topic_id'] ) )
{
$topic_id = intval($_GET['topic_id']);
}
elseif( isset( $_GET['news_id'] ) )
{
$topic_id = intval($_GET['news_id']);
}
$content->setVariables( array( 'TITLE' => $lang['News'] . ' ' . $lang['Articles'] ) );
$content->renderArticles( $topic_id );
}
else
{
// View news articles.
$topic_id = 0;
if( isset( $_GET['topic_id'] ) )
{
$topic_id = intval($_GET['topic_id']);
}
elseif( isset( $_GET['news_id'] ) )
{
$topic_id = intval($_GET['news_id']);
}
$template->assign_block_vars('welcome_text', array());
$content->setVariables( array( 'TITLE' => $lang['News'] . ' ' . $lang['Articles'] ) );
$content->renderArticles( $topic_id );
}
$content->renderPagination( );
$content->display( );
$content->clear( );
//
// Generate the page
//
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>