function cms_block_statistics() { global $config, $template, $lang; $total_topics = $config['max_topics']; $total_posts = $config['max_posts']; $total_topics = $config['max_topics']; $total_posts = $config['max_posts']; $total_users = $config['max_users']; $newest_userdata['user_id'] = $config['last_user_id']; $newest_user = colorize_username($newest_userdata['user_id']); $newest_uid = $newest_userdata['user_id']; if ($total_posts == 0) { $l_total_post_s = $lang['Posted_articles_zero_total']; } elseif ($total_posts == 1) { $l_total_post_s = $lang['Posted_article_total']; } else { $l_total_post_s = $lang['Posted_articles_total']; } if ($total_users == 0) { $l_total_user_s = $lang['Registered_users_zero_total']; } elseif ($total_users == 1) { $l_total_user_s = $lang['Registered_user_total']; } else { $l_total_user_s = $lang['Registered_users_total']; } $template->assign_vars(array('TOTAL_USERS' => sprintf($l_total_user_s, $total_users), 'NEWEST_USER' => sprintf($lang['Newest_user'], '', $newest_user, ''), 'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts), 'TOTAL_TOPICS' => sprintf($lang['total_topics'], $total_topics))); }
function cms_block_user_block() { global $db, $cache, $config, $template, $user, $lang; /* if($user->data['session_logged_in']) { $sql = "SELECT COUNT(post_id) as total FROM " . POSTS_TABLE . " WHERE post_time >= " . $user->data['user_lastvisit'] . " AND poster_id <> " . $user->data['user_id'] . " AND post_time < " . time(); $db->sql_return_on_error(true); $result = $db->sql_query($sql); $db->sql_return_on_error(false); if($result) { $row = $db->sql_fetchrow($result); $lang['Search_new'] = $lang['Search_new'] . " (" . $row['total'] . ")"; $db->sql_freeresult($result); } } */ // Check For Anonymous User if ($user->data['user_id'] != ANONYMOUS) { $name_link = colorize_username($user->data['user_id'], $user->data['username'], $user->data['user_color'], $user->data['user_active']); $avatar_img = user_get_avatar($user->data['user_id'], $user->data['user_level'], $user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_allowavatar']); } else { $name_link = $lang['Guest']; $avatar_img = '<img src="' . $config['default_avatar_guests_url'] . '" alt="" />'; } $s_last_visit = create_date($config['default_dateformat'], $user->data['user_lastvisit'], $config['board_timezone']); $template->assign_vars(array('U_PORTAL_NOSID' => CMS_PAGE_HOME, 'AVATAR_IMG' => $avatar_img, 'U_NAME_LINK' => $name_link, 'LAST_VISIT_DATE' => sprintf($lang['You_last_visit'], $s_last_visit), 'L_REMEMBER_ME' => $lang['Remember_me'], 'L_SEND_PASSWORD' => $lang['Forgotten_password'], 'U_SEND_PASSWORD' => append_sid(CMS_PAGE_PROFILE . '?mode=sendpassword'), 'L_REGISTER_NEW_ACCOUNT' => sprintf($lang['Register_new_account'], '<a href="' . append_sid(CMS_PAGE_PROFILE . '?mode=register') . '">', '</a>'), 'L_NEW_SEARCH' => $lang['Search_new'])); }
function ts_id_2_name($id, $mode = 'user') { global $db; if ($id == '') { return '?'; } switch ($mode) { case 'user_formatted': $sql = "SELECT user_id, username, user_active, user_color FROM " . USERS_TABLE . " WHERE user_id = " . $id; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $formatted_username = colorize_username($row['user_id'], $row['username'], $row['user_color'], $row['user_active']); return $formatted_username; break; case 'user': $sql = "SELECT username FROM " . USERS_TABLE . " WHERE user_id = " . $id; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); return $row['username']; break; case 'forum': $sql = "SELECT f.forum_name\n\t\t\t\tFROM " . FORUMS_TABLE . " f, " . TOPICS_TABLE . " t\n\t\t\t\tWHERE t.topic_id = " . $id . "\n\t\t\t\t\tAND t.forum_id = f.forum_id"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); return $row['forum_name']; break; } }
function cms_block_recent_articles() { // if article approved in the table is equal to 1 the article has been approved, else it is not approved, so don't show it. global $db, $cache, $config, $template, $user, $lang, $table_prefix, $style_row, $block_id, $cms_config_vars; $template->_tpldata['recent_articles.'] = array(); @(include_once IP_ROOT_PATH . 'includes/bbcode.' . PHP_EXT); $sql = "SELECT * FROM " . KB_ARTICLES_TABLE . " ORDER BY article_id DESC LIMIT " . $cms_config_vars['md_total_articles'][$block_id]; $result = $db->sql_query($sql); //now lets get our info if ($row = $db->sql_fetchrow($result)) { $i = 0; do { if ($row['approved'] == 1) { $title = $row['article_title']; $author_id = $row['article_author_id']; $author = colorize_username($author_id); $article_category_id = $row['article_id']; $url = append_sid(IP_ROOT_PATH . 'kb.' . PHP_EXT . '?mode=article&k=' . $article_category_id); if ($cms_config_vars['md_recent_articles_style'][$block_id] == '1') { $style_row = 'articles_scroll'; } else { $style_row = 'articles_static'; } $template->assign_block_vars($style_row, ''); // Convert and clean special chars! $title = htmlspecialchars_clean($title); $template->assign_block_vars($style_row . '.recent_articles', array('TITLE' => $title, 'U_ARTICLE' => $url, 'AUTHOR' => $author, 'DATE' => create_date_ip($config['default_dateformat'], $row['article_date'], $config['board_timezone']))); } $i++; } while ($row = $db->sql_fetchrow($result)); $db->sql_freeresult($result); } }
function cms_block_forum() { global $db, $cache, $config, $template, $images, $lang, $bbcode, $block_id, $cms_config_vars; $template->_tpldata['fetchpost_row.'] = array(); if (!class_exists('class_topics')) { include IP_ROOT_PATH . 'includes/class_topics.' . PHP_EXT; } $class_topics = new class_topics(); $template->assign_vars(array('L_COMMENTS' => $lang['Comments'], 'L_VIEW_COMMENTS' => $lang['View_comments'], 'L_POST_COMMENT' => $lang['Post_your_comment'], 'L_POSTED' => $lang['Posted'], 'L_ANNOUNCEMENT' => $lang['Post_Announcement'], 'L_REPLIES' => $lang['Replies'], 'L_REPLY_NEWS' => $lang['News_Reply'], 'L_PRINT_NEWS' => $lang['News_Print'], 'L_EMAIL_NEWS' => $lang['News_Email'], 'MINIPOST_IMG' => $images['icon_minipost'], 'NEWS_REPLY_IMG' => $images['news_reply'], 'NEWS_PRINT_IMG' => $images['news_print'], 'NEWS_EMAIL_IMG' => $images['news_email'], 'IMG_CLOCK' => $images['news_clock'])); $article = request_var('article', 0); if (!empty($article)) { $cms_config_vars['md_news_length'][$block_id] = 0; } // Mighty Gorgon: edited by JHL, I still need to check the impacts on the auth system //$fetchposts = $class_topics->fetch_posts($cms_config_vars['md_news_forum_id'][$block_id], $cms_config_vars['md_num_news'][$block_id], $cms_config_vars['md_news_length'][$block_id], false, false, false, false); $fetchposts = $class_topics->fetch_posts($cms_config_vars['md_news_forum_id'][$block_id], $cms_config_vars['md_num_news'][$block_id], $cms_config_vars['md_news_length'][$block_id]); for ($i = 0; $i < sizeof($fetchposts); $i++) { $open_bracket = ''; $close_bracket = ''; $read_full = ''; if (empty($article) && $fetchposts[$i]['striped'] == 1) { $open_bracket = '[ '; $close_bracket = ' ]'; $read_full = $lang['Read_Full']; } // Convert and clean special chars! $topic_title = htmlspecialchars_clean($fetchposts[$i]['topic_title']); $template->assign_block_vars('fetchpost_row', array('TOPIC_ID' => $fetchposts[$i]['topic_id'], 'TITLE' => $topic_title, 'POSTER' => $fetchposts[$i]['username'], 'POSTER_CG' => colorize_username($fetchposts[$i]['user_id'], $fetchposts[$i]['username'], $fetchposts[$i]['user_color'], $fetchposts[$i]['user_active']), 'TIME' => $fetchposts[$i]['topic_time'], 'TEXT' => $fetchposts[$i]['post_text'], 'REPLIES' => $fetchposts[$i]['topic_replies'], 'U_VIEW_COMMENTS' => append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_FORUM_URL . '=' . $fetchposts[$i]['forum_id'] . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id'] . '&' . POST_POST_URL . '=' . $fetchposts[$i]['post_id'] . '#p' . $fetchposts[$i]['post_id'], true), 'U_POST_COMMENT' => append_sid('posting.' . PHP_EXT . '?mode=reply&' . POST_FORUM_URL . '=' . $fetchposts[$i]['forum_id'] . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id']), 'U_PRINT_TOPIC' => append_sid('printview.' . PHP_EXT . '?' . POST_FORUM_URL . '=' . $fetchposts[$i]['forum_id'] . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id'] . '&start=0'), 'U_EMAIL_TOPIC' => append_sid('tellafriend.' . PHP_EXT . '?topic_title=' . urlencode(ip_utf8_decode($fetchposts[$i]['topic_title'])) . '&topic_id=' . $fetchposts[$i]['topic_id']), 'U_READ_FULL' => append_sid($index_file . '?article=' . $i), 'L_READ_FULL' => $read_full, 'OPEN' => $open_bracket, 'CLOSE' => $close_bracket)); } }
function cms_block_recent_topics() { global $db, $cache, $config, $template, $user, $lang, $block_id, $cms_config_vars; $template->_tpldata['recent_topic_row.'] = array(); $except_forums = build_exclusion_forums_list(); $current_time = time(); $extra = "AND t.topic_time <= {$current_time}"; $sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username, u.user_active, u.user_color\n\t\t\tFROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . USERS_TABLE . " AS u\n\t\t\tWHERE t.forum_id NOT IN (" . $except_forums . ")\n\t\t\t\tAND t.topic_status <> 2\n\t\t\t\tAND p.post_id = t.topic_last_post_id\n\t\t\t\tAND p.poster_id = u.user_id\n\t\t\t\t{$extra}\n\t\t\tORDER BY p.post_time DESC\n\t\t\tLIMIT " . $cms_config_vars['md_num_recent_topics'][$block_id]; $result = $db->sql_query($sql); $number_recent_topics = $db->sql_numrows($result); $recent_topic_row = array(); while ($row1 = $db->sql_fetchrow($result)) { $recent_topic_row[] = $row1; } $db->sql_freeresult($result); if ($cms_config_vars['md_recent_topics_style'][$block_id]) { $style_row = 'scroll'; } else { $style_row = 'static'; } $template->assign_block_vars($style_row, ''); for ($i = 0; $i < $number_recent_topics; $i++) { $recent_topic_row[$i]['topic_title'] = censor_text($recent_topic_row[$i]['topic_title']); // Convert and clean special chars! $topic_title = htmlspecialchars_clean($recent_topic_row[$i]['topic_title']); $template->assign_block_vars($style_row . '.recent_topic_row', array('U_TITLE' => append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_FORUM_URL . '=' . $recent_topic_row[$i]['forum_id'] . '&' . POST_TOPIC_URL . '=' . $recent_topic_row[$i]['topic_id'] . '&' . POST_POST_URL . '=' . $recent_topic_row[$i]['post_id']) . '#p' . $recent_topic_row[$i]['post_id'], 'L_TITLE' => $topic_title, 'L_BY' => $lang['By'], 'L_ON' => $lang['POSTED_ON'], 'S_POSTER' => colorize_username($recent_topic_row[$i]['user_id'], $recent_topic_row[$i]['username'], $recent_topic_row[$i]['user_color'], $recent_topic_row[$i]['user_active']), 'S_POSTTIME' => create_date_ip($config['default_dateformat'], $recent_topic_row[$i]['post_time'], $config['board_timezone']))); } }
function cms_block_random_topics() { global $db, $cache, $config, $template, $user, $lang, $bbcode, $block_id, $cms_config_vars; @(include_once IP_ROOT_PATH . 'includes/bbcode.' . PHP_EXT); $template->_tpldata['random_topic_row.'] = array(); $bbcode->allow_html = $user->data['user_allowhtml'] && $config['allow_html'] ? true : false; $bbcode->allow_bbcode = $user->data['user_allowbbcode'] && $config['allow_bbcode'] ? true : false; $bbcode->allow_smilies = $user->data['user_allowsmile'] && $config['allow_smilies'] ? true : false; $allowed_forum_id = build_allowed_forums_list(); if ($allowed_forum_id != '') { $allow_forum_id = $cms_config_vars['md_random_topics_forums'][$block_id]; if ($allow_forum_id == '0') { $allowed_forums_sql = 'AND t.forum_id IN (' . $allowed_forum_id . ')'; } else { $allowed_forums = explode(',', $allow_forum_id); $allowed_forums_tmp = explode(',', $allowed_forum_id); $allowed_forum_id = ''; for ($i = 0; $i < sizeof($allowed_forums); $i++) { for ($j = 0; $j < sizeof($allowed_forums_tmp); $j++) { if ($allowed_forums[$i] == $allowed_forums_tmp[$j]) { $allowed_forum_id .= $allowed_forums[$i] . ','; break; } } } if ($allowed_forum_id != '') { $allowed_forum_id = substr($allowed_forum_id, -1, 1) == ',' ? substr($allowed_forum_id, 0, -1) : $allowed_forum_id; $allowed_forums_sql = 'AND t.forum_id IN (' . $allowed_forum_id . ')'; } else { $no_topics_found = true; } } } else { $allowed_forums_sql = ''; } $sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username, u.user_active, u.user_color, f.forum_name\n\t\t\tFROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . USERS_TABLE . " AS u, " . FORUMS_TABLE . " AS f\n\t\t\tWHERE t.topic_status <> 2\n\t\t\t\t" . $allowed_forums_sql . "\n\t\t\t\tAND f.forum_id = t.forum_id\n\t\t\t\tAND p.post_id = t.topic_last_post_id\n\t\t\t\tAND p.poster_id = u.user_id\n\t\t\tORDER BY RAND()\n\t\t\tLIMIT " . $cms_config_vars['md_num_random_topics'][$block_id]; $result = $db->sql_query($sql); $number_random_topics = $db->sql_numrows($result); $random_topic_row = array(); while ($row1 = $db->sql_fetchrow($result)) { $random_topic_row[] = $row1; } $db->sql_freeresult($result); if ($number_random_topics == 0 || $no_topics_found == true) { $template->assign_block_vars('no_topics', array('L_NO_TOPICS' => $lang['No_topics_found'])); } else { if ($cms_config_vars['md_random_topics_style'][$block_id]) { $style_row = 'scroll'; } else { $style_row = 'static'; } $template->assign_block_vars($style_row, ''); for ($i = 0; $i < $number_random_topics; $i++) { $random_topic_row[$i]['topic_title'] = censor_text($recent_topic_row[$i]['topic_title']); $template->assign_block_vars($style_row . '.random_topic_row', array('U_FORUM' => append_sid(CMS_PAGE_VIEWFORUM . '?' . POST_FORUM_URL . '=' . $random_topic_row[$i]['forum_id']), 'L_FORUM' => $random_topic_row[$i]['forum_name'], 'U_TITLE' => append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_FORUM_URL . '=' . $random_topic_row[$i]['forum_id'] . '&' . POST_TOPIC_URL . '=' . $random_topic_row[$i]['topic_id'] . '&' . POST_POST_URL . '=' . $random_topic_row[$i]['post_id']) . '#p' . $random_topic_row[$i]['post_id'], 'L_TITLE' => $bbcode->parse(htmlspecialchars($random_topic_row[$i]['topic_title'])), 'L_BY' => $lang['By'], 'L_ON' => $lang['POSTED_ON'], 'S_POSTER' => colorize_username($random_topic_row[$i]['user_id'], $random_topic_row[$i]['username'], $random_topic_row[$i]['user_color'], $random_topic_row[$i]['user_active']), 'S_POSTTIME' => create_date_ip($config['default_dateformat'], $random_topic_row[$i]['post_time'], $config['board_timezone']))); } } }
function cms_block_online_users_chat() { global $db, $cache, $config, $template, $theme, $images, $user, $lang, $table_prefix; $ajax_chat_page = !empty($config['ajax_chat_link_type']) ? CMS_PAGE_AJAX_CHAT : CMS_PAGE_AJAX_SHOUTBOX; $ajax_chat_link = !empty($config['ajax_chat_link_type']) ? append_sid($ajax_chat_page) . '" target="_chat' : '#" onclick="window.open(\'' . append_sid($ajax_chat_page) . '\', \'_chat\', \'width=720,height=600,resizable=yes\'); return false;'; $online_time = 300; $cache_time = 600; // Initialize data $online_users_array = array('reg' => 0, 'guests' => 0, 'tot' => 0, 'list' => '', 'text' => '', 'users' => array(), 'user_ids' => array()); if (!function_exists('get_online_users')) { @(include_once IP_ROOT_PATH . 'includes/functions_online.' . PHP_EXT); } $online_users_chat = get_online_users('chat', true, false, '', $online_time, $cache_time); foreach ($online_users_chat as $online_user_chat_data) { $uid = $online_user_chat_data['user_id']; if (!in_array($uid, $online_users_array['user_ids'])) { $online_users_array['user_ids'][] = $uid; $online_users_array['users'][$uid] = array('user_id' => $online_user_chat_data['user_id'], 'username' => $online_user_chat_data['username'], 'username_clean' => $online_user_chat_data['username_clean'], 'user_color' => $online_user_chat_data['user_color'], 'user_active' => $online_user_chat_data['user_active'], 'user_allow_viewonline' => 1); } } $online_users = get_online_users('site', true, false, '', $online_time, $cache_time); foreach ($online_users as $online_user_data) { $uid = $online_user_data['user_id']; if (!in_array($uid, $online_users_array['user_ids'])) { if ($online_user_data['user_allow_viewonline'] || $user->data['user_level'] == ADMIN || $user->data['user_id'] == $online_user_data['user_id']) { $online_users_array['user_ids'][] = $uid; $io = $online_user_data['user_allow_viewonline'] ? true : false; $online_users_array['users'][$uid] = array('user_id' => $online_user_data['user_id'], 'username' => $online_user_data['username'], 'username_clean' => $online_user_data['username_clean'], 'user_color' => $online_user_data['user_color'], 'user_active' => $online_user_data['user_active'], 'user_allow_viewonline' => $online_user_data['user_allow_viewonline']); } } } $online_users_array['tot'] = sizeof($online_users_array['users']); $online_users_array['text'] = empty($online_users_array['tot']) ? $lang['Reg_users_zero_total'] : ($online_users_array['tot'] == 1 ? $lang['Reg_user_total'] : sprintf($lang['Reg_users_total'], $online_users_array['tot'])); $online_users_text = ''; $switch_users_online = false; if (empty($online_users_array['tot'])) { $online_users_text = $lang['CHAT_NO_USERS']; } else { foreach ($online_users_array['users'] as $k => $online_user_data) { $online_users_sort[$k] = $online_user_data['username_clean']; } asort($online_users_sort); foreach ($online_users_sort as $k => $v) { $cu = $online_users_array['users'][$k]; $io = $cu['user_allow_viewonline'] ? true : false; $user_link = ''; if ($user->data['session_logged_in'] && $user->data['user_id'] != $cu['user_id']) { $chat_room = 'chat_room=' . (min($user->data['user_id'], $cu['user_id']) . '|' . max($user->data['user_id'], $cu['user_id'])); $chat_link = append_sid($ajax_chat_page . '?' . $ajax_chat_room); $user_link = !empty($config['ajax_chat_link_type']) ? $chat_link . '" target="_chat' : '#" onclick="window.open(\'' . $chat_link . '\', \'_chat\', \'width=720,height=600,resizable=yes\'); return false;'; } $online_users_text .= (empty($online_users_text) ? '' : ', ') . ($io ? '' : '<em>') . colorize_username($cu['user_id'], $cu['username'], $cu['user_color'], $cu['user_active'], false, false, false, false, $user_link) . ($io ? '' : '</em>'); } $switch_users_online = !empty($online_users_text) ? true : false; } $template->assign_vars(array('S_USERS_ONLINE' => $switch_users_online, 'B_ONLINE_USERS_TEXT' => $online_users_text, 'B_U_CHAT' => $ajax_chat_link)); }
function cms_block_forum_attach() { global $db, $cache, $config, $template, $images, $lang, $bbcode, $block_id, $cms_config_vars; if (!class_exists('class_topics')) { include IP_ROOT_PATH . 'includes/class_topics.' . PHP_EXT; } $class_topics = new class_topics(); @(include_once IP_ROOT_PATH . ATTACH_MOD_PATH . 'displaying.' . PHP_EXT); $template->_tpldata['articles_fp.'] = array(); $index_file = !empty($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : getenv('SCRIPT_NAME'); $index_file = htmlspecialchars(urldecode($index_file)); $template->set_filenames(array('forum_attach_block' => 'blocks/forum_attach_block.tpl')); $template->assign_vars(array('L_COMMENTS' => $lang['Comments'], 'L_VIEW_COMMENTS' => $lang['View_comments'], 'L_POST_COMMENT' => $lang['Post_your_comment'], 'L_POSTED' => $lang['Posted'], 'L_ANNOUNCEMENT' => $lang['Post_Announcement'], 'L_REPLIES' => $lang['Replies'], 'L_REPLY_NEWS' => $lang['News_Reply'], 'L_PRINT_NEWS' => $lang['News_Print'], 'L_EMAIL_NEWS' => $lang['News_Email'], 'MINIPOST_IMG' => $images['icon_minipost'], 'NEWS_REPLY_IMG' => $images['news_reply'], 'NEWS_PRINT_IMG' => $images['news_print'], 'NEWS_EMAIL_IMG' => $images['news_email'], 'IMG_CLOCK' => $images['news_clock'])); // $only_auth_view must have the opposite value of $cms_config_vars['md_ignore_auth_view'][$block_id] // Suggested by JHL - To Be Verified! //$only_auth_view = (!empty($cms_config_vars['md_ignore_auth_view'][$block_id]) ? true : false); $only_auth_view = !empty($cms_config_vars['md_ignore_auth_view'][$block_id]) || $cms_config_vars['md_ignore_auth_view'][$block_id] == true ? false : true; if ($cms_config_vars['md_single_post_retrieve'][$block_id]) { $single_post_id = request_var('post_id', 0); if ($cms_config_vars['md_single_post_auto_id'][$block_id]) { $single_post_id = !empty($single_post_id) ? $single_post_id : $cms_config_vars['md_single_post_id'][$block_id]; } else { $single_post_id = $cms_config_vars['md_single_post_id'][$block_id]; } // Mighty Gorgon: edited by JHL, I still need to check the impacts of this amendment //$fetchposts = $class_topics->fetch_posts($single_post_id, 1, $cms_config_vars['md_single_post_length'][$block_id], false, false, true, $only_auth_view); $fetchposts = $class_topics->fetch_posts($single_post_id, 1, $cms_config_vars['md_single_post_length'][$block_id], false, 0, true, $only_auth_view); } else { $fetchposts = $class_topics->fetch_posts($cms_config_vars['md_posts_forum_id'][$block_id], $cms_config_vars['md_num_posts'][$block_id], $cms_config_vars['md_posts_length'][$block_id], $cms_config_vars['md_posts_show_portal'][$block_id], $cms_config_vars['md_posts_random'][$block_id], false, $only_auth_view); } for ($i = 0; $i < sizeof($fetchposts); $i++) { init_display_post_attachments($fetchposts[$i]['topic_attachment'], $fetchposts[$i], true, $block_id); $open_bracket = ''; $close_bracket = ''; $read_full = ''; if ($fetchposts[$i]['striped'] == 1) { $open_bracket = '[ '; $close_bracket = ' ]'; $read_full = $lang['Read_Full']; } // Convert and clean special chars! $topic_title = htmlspecialchars_clean($fetchposts[$i]['topic_title']); $template->assign_block_vars('articles_fp', array('TOPIC_ID' => $fetchposts[$i]['topic_id'], 'FORUM_ID' => $fetchposts[$i]['forum_id'], 'TITLE' => $topic_title, 'POSTER' => $fetchposts[$i]['username'], 'POSTER_CG' => colorize_username($fetchposts[$i]['user_id'], $fetchposts[$i]['username'], $fetchposts[$i]['user_color'], $fetchposts[$i]['user_active']), 'TIME' => $fetchposts[$i]['topic_time'], 'TEXT' => $fetchposts[$i]['post_text'], 'REPLIES' => $fetchposts[$i]['topic_replies'], 'U_VIEW_COMMENTS' => append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_FORUM_URL . '=' . $fetchposts[$i]['forum_id'] . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id'] . '&' . POST_POST_URL . '=' . $fetchposts[$i]['post_id'] . '#p' . $fetchposts[$i]['post_id'], true), 'U_POST_COMMENT' => append_sid('posting.' . PHP_EXT . '?mode=reply&' . POST_FORUM_URL . '=' . $fetchposts[$i]['forum_id'] . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id']), 'U_PRINT_TOPIC' => append_sid('printview.' . PHP_EXT . '?' . POST_FORUM_URL . '=' . $fetchposts[$i]['forum_id'] . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id'] . '&start=0'), 'U_EMAIL_TOPIC' => append_sid('tellafriend.' . PHP_EXT . '?topic_title=' . urlencode(ip_utf8_decode($fetchposts[$i]['topic_title'])) . '&topic_id=' . $fetchposts[$i]['topic_id']), 'U_READ_FULL' => append_sid($index_file . '?article=' . $i), 'L_READ_FULL' => $read_full, 'OPEN' => $open_bracket, 'CLOSE' => $close_bracket)); display_attachments($fetchposts[$i]['post_id'], 'articles_fp'); } }
/** * * @Extra credits for this file * Mohd - (mohdalbasri@hotmail.com) * */ function display_comments(&$file_data) { global $pafiledb, $pafiledb_config, $pafiledb_functions; global $db, $cache, $config, $template, $images, $user, $lang, $bbcode; @(include_once IP_ROOT_PATH . 'includes/bbcode.' . PHP_EXT); @(include_once IP_ROOT_PATH . 'includes/functions_users.' . PHP_EXT); $template->assign_vars(array('L_COMMENTS' => $lang['Comments'])); $sql = 'SELECT c.*, u.username, u.user_id, u.user_active, u.user_color, u.user_level, u.user_allow_viewemail, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_msnm, u.user_skype, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_from, u.user_from_flag, u.user_rank, u.user_rank2, u.user_rank3, u.user_rank4, u.user_rank5, u.user_birthday, u.user_gender, u.user_allow_viewonline, u.user_lastvisit, u.user_session_time, u.user_style, u.user_lang FROM ' . PA_COMMENTS_TABLE . ' AS c LEFT JOIN ' . USERS_TABLE . " AS u ON c.poster_id = u.user_id\n\t\tWHERE c.file_id = '" . $file_data['file_id'] . "'\n\t\tORDER BY c.comments_time ASC"; $result = $db->sql_query($sql); if (!($comment_number = $db->sql_numrows($result))) { $template->assign_vars(array('L_NO_COMMENTS' => $lang['No_comments'], 'NO_COMMENTS' => true)); } $ranks_array = $cache->obtain_ranks(false); while ($comments_row = $db->sql_fetchrow($result)) { $time = create_date_ip($config['default_dateformat'], $comments_row['comments_time'], $config['board_timezone']); $comments_text = $comments_row['comments_text']; $comments_text = comment_suite($comments_text); $comments_text = censor_text($comments_text); //bbcode parser Start $bbcode->allow_html = $pafiledb_config['allow_html'] ? true : false; $bbcode->allow_bbcode = $pafiledb_config['allow_bbcode'] ? true : false; $bbcode->allow_smilies = $pafiledb_config['allow_smilies'] ? true : false; $comments_text = $bbcode->parse($comments_text); //bbcode parser End $poster = $comments_row['user_id'] == ANONYMOUS ? $lang['Guest'] : colorize_username($comments_row['user_id'], $comments_row['username'], $comments_row['user_color'], $comments_row['user_active']); $user_info = array(); $user_info = generate_user_info($comments_row); foreach ($user_info as $k => $v) { ${$k} = $v; } $poster_posts = $comments_row['user_id'] != ANONYMOUS ? $lang['Posts'] . ': ' . $comments_row['user_posts'] : ''; $poster_from = $user_info['from']; $poster_joined = $user_info['joined']; $poster_avatar = $user_info['avatar']; // Mighty Gorgon - Multiple Ranks - BEGIN $user_ranks = generate_ranks($comments_row, $ranks_array); // Mighty Gorgon - Multiple Ranks - END $comments_text = str_replace("\n", "\n<br />\n", $comments_text); $template->assign_block_vars('text', array('POSTER' => $poster, 'U_COMMENT_DELETE' => $pafiledb->modules[$pafiledb->module_name]->auth[$file_data['file_catid']]['auth_delete_comment'] && $file_info['user_id'] == $user->data['user_id'] || $pafiledb->modules[$pafiledb->module_name]->auth[$file_data['file_catid']]['auth_mod'] ? append_sid('dload.' . PHP_EXT . "?action=post_comment&cid={$comments_row['comments_id']}&delete=do&file_id={$file_data['file_id']}") : '', 'AUTH_COMMENT_DELETE' => $pafiledb->modules[$pafiledb->module_name]->auth[$file_data['file_catid']]['auth_delete_comment'] && $file_info['user_id'] == $user->data['user_id'] || $pafiledb->modules[$pafiledb->module_name]->auth[$file_data['file_catid']]['auth_mod'] ? true : false, 'DELETE_IMG' => $pafiledb->modules[$pafiledb->module_name]->auth[$file_data['file_catid']]['auth_delete_comment'] && $file_info['user_id'] == $user->data['user_id'] || $pafiledb->modules[$pafiledb->module_name]->auth[$file_data['file_catid']]['auth_mod'] ? $images['icon_delpost'] : '', 'ICON_MINIPOST_IMG' => IP_ROOT_PATH . $images['icon_minipost'], 'ICON_SPACER' => IP_ROOT_PATH . $images['spacer'], 'GENDER' => $user_info['gender'], 'USER_RANK_01' => $user_ranks['rank_01_html'], 'USER_RANK_01_IMG' => $user_ranks['rank_01_img_html'], 'USER_RANK_02' => $user_ranks['rank_02_html'], 'USER_RANK_02_IMG' => $user_ranks['rank_02_img_html'], 'USER_RANK_03' => $user_ranks['rank_03_html'], 'USER_RANK_03_IMG' => $user_ranks['rank_03_img_html'], 'USER_RANK_04' => $user_ranks['rank_04_html'], 'USER_RANK_04_IMG' => $user_ranks['rank_04_img_html'], 'USER_RANK_05' => $user_ranks['rank_05_html'], 'USER_RANK_05_IMG' => $user_ranks['rank_05_img_html'], 'POSTER_JOINED' => $poster_joined, 'POSTER_POSTS' => $poster_posts, 'POSTER_FROM' => $poster_from, 'POSTER_AVATAR' => $poster_avatar, 'TITLE' => $comments_row['comments_title'], 'TIME' => $time, 'TEXT' => $comments_text)); } $db->sql_freeresult($result); $template->assign_vars(array('REPLY_IMG' => $pafiledb->modules[$pafiledb->module_name]->auth[$file_data['file_catid']]['auth_post_comment'] ? $images['pa_comment_post'] : '', 'AUTH_POST' => $pafiledb->modules[$pafiledb->module_name]->auth[$file_data['file_catid']]['auth_post_comment'] ? true : false, 'L_COMMENT_DO' => $pafiledb->modules[$pafiledb->module_name]->auth[$file_data['file_catid']]['auth_post_comment'] ? $lang['Comment_do'] : '', 'L_COMMENTS' => $lang['Comments'], 'L_AUTHOR' => $lang['Author'], 'L_POSTED' => $lang['Posted'], 'L_COMMENT_SUBJECT' => $lang['Comment_subject'], 'L_COMMENT_ADD' => $lang['Comment_add'], 'L_COMMENT_DELETE' => $lang['Comment_delete'], 'L_COMMENTS_NAME' => $lang['Name'], 'L_BACK_TO_TOP' => $lang['Back_to_top'], 'SPACER' => $images['spacer'], 'U_COMMENT_DO' => append_sid('dload.' . PHP_EXT . '?action=post_comment&file_id=' . $file_data['file_id']))); }
function cms_block_staff() { global $db, $cache, $config, $template, $theme, $images, $user, $lang, $table_prefix; $sql = "SELECT * FROM " . USERS_TABLE . "\n\t\t\tWHERE user_level <> 0\n\t\t\tORDER BY user_level"; $result = $db->sql_query($sql); while ($db_select = $db->sql_fetchrow($result)) { if ($db_select['user_level'] == JUNIOR_ADMIN || $db_select['user_level'] == ADMIN) { $user_level = $lang['Memberlist_Administrator']; } elseif ($db_select['user_level'] == MOD) { $user_level = $lang['Memberlist_Moderator']; } $u_name = colorize_username($db_select['user_id'], $db_select['username'], $db_select['user_color'], $db_select['user_active']); $l_name = $db_select[username]; $template->assign_block_vars('staff', array('USER_LEVEL' => $user_level, 'L_NAME' => $l_name, 'U_NAME' => $u_name)); } $db->sql_freeresult($result); $template->assign_vars(array('STAFF_NAME' => $lang['Staff'], 'STAFF_ADMIN' => $lang['Memberlist_Administrator'], 'STAFF_MOD' => $lang['Memberlist_Moderator'])); }
function cms_block_top_posters() { global $db, $cache, $config, $template, $lang, $block_id, $cms_config_vars; include_once IP_ROOT_PATH . 'includes/functions_users.' . PHP_EXT; $top_posters_n = intval($cms_config_vars['md_total_poster'][$block_id]) ? $cms_config_vars['md_total_poster'][$block_id] : 10; $show_admins = true; $show_mods = true; $top_posters_array = top_posters($top_posters_n, $show_admins, $show_mods, true); $show_avatars = $cms_config_vars['md_show_avatars'][$block_id] == true ? true : false; $template->assign_var('S_SHOW_AVATARS', $show_avatars); for ($i = 0; $i < sizeof($top_posters_array); $i++) { $username2 = $top_posters_array[$i]['username']; $username = colorize_username($top_posters_array[$i]['user_id'], $top_posters_array[$i]['username'], $top_posters_array[$i]['user_color'], $top_posters_array[$i]['user_active']); $user_id = $top_posters_array[$i]['user_id']; $posts = $top_posters_array[$i]['user_posts'] ? $top_posters_array[$i]['user_posts'] : 0; $poster_avatar = user_get_avatar($top_posters_array[$i]['user_id'], $top_posters_array[$i]['user_level'], $top_posters_array[$i]['user_avatar'], $top_posters_array[$i]['user_avatar_type'], $top_posters_array[$i]['user_allowavatar']); $template->assign_block_vars('topposter', array('USERNAME' => $username, 'POSTS' => $posts, 'AVATAR_IMG' => $poster_avatar, 'U_VIEWPOSTER' => append_sid(CMS_PAGE_PROFILE . '?mode=viewprofile&' . POST_USERS_URL . '=' . $user_id), 'U_VIEWPOSTS' => append_sid(CMS_PAGE_SEARCH . '?search_author=' . urlencode(ip_utf8_decode($username2)) . '&showresults=posts'))); } }
{ $sql = "SELECT u.username, u.user_id, u.user_active, u.user_color, u.user_level, u.user_allow_viewemail, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_msnm, u.user_skype, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_from, u.user_from_flag, u.user_rank, u.user_rank2, u.user_rank3, u.user_rank4, u.user_rank5, u.user_birthday, u.user_gender, u.user_allow_viewonline, u.user_lastvisit, u.user_session_time, u.user_style, u.user_lang, tv.view_time, tv.view_count FROM " . USERS_TABLE . " u, " . TOPIC_VIEW_TABLE . " tv WHERE u.user_id = tv.user_id AND tv.topic_id = " . $topic_id . " " . $sql_hidden . " GROUP BY tv.user_id ORDER BY $order_by"; } $result = $db->sql_query($sql); $i = 0; while ($row = $db->sql_fetchrow($result)) { $user_id = $row['user_id']; $username = colorize_username($row['user_id'], $row['username'], $row['user_color'], $row['user_active']); $user_info = array(); $user_info = generate_user_info($row); foreach ($user_info as $k => $v) { $$k = $v; } if (!empty($like)) { $topic_time = ($row['like_time']) ? create_date($config['default_dateformat'], $row['like_time'], $config['board_timezone']) : $lang['Never_last_logon']; $view_count = ' '; } else {
function main($action) { global $template, $lang, $config, $pafiledb_config, $db, $images, $user; if (!$this->auth_global['auth_search']) { if (!$user->data['session_logged_in']) { redirect(append_sid(CMS_PAGE_LOGIN . '?redirect=dload.' . PHP_EXT . '&action=stats', true)); } $message = sprintf($lang['Sorry_auth_search'], $this->auth_global['auth_search_type']); message_die(GENERAL_MESSAGE, $message); } include IP_ROOT_PATH . 'includes/functions_search.' . PHP_EXT; $search_keywords = request_var('search_keywords', '', true); $search_keywords = htmlspecialchars_decode($search_keywords, ENT_COMPAT); $search_author = request_var('search_author', '', true); $search_author = htmlspecialchars_decode($search_author, ENT_COMPAT); $search_id = request_var('search_id', 0); $search_terms = request_var('search_terms', ''); $search_terms = $search_terms == 'all' ? 1 : 0; $cat_id = request_var('cat_id', 0); $comments_search = request_var('comments_search', ''); $comments_search = $comments_search == 'YES' ? 1 : 0; $start = request_var('start', 0); $start = $start < 0 ? 0 : $start; $sort_method = request_var('sort_method', $pafiledb_config['sort_method']); $sort_method = check_var_value($sort_method, array('file_name', 'file_time', 'file_dls', 'file_rating', 'file_update_time')); $sort_method = $sort_method == 'file_rating' ? 'rating' : $sort_method; $sort_order = request_var('order', $pafiledb_config['sort_order']); $sort_order = check_var_value($sort_order, array('DESC', 'ASC')); $limit_sql = $start == 0 ? $pafiledb_config['settings_file_page'] : $start . ',' . $pafiledb_config['settings_file_page']; // encoding match for workaround $multibyte_charset = 'utf-8, big5, shift_jis, euc-kr, gb2312'; if (isset($_POST['submit']) || $search_author != '' || $search_keywords != '' || $search_id) { $store_vars = array('search_results', 'total_match_count', 'split_search', 'sort_method', 'sort_order'); if ($search_author != '' || $search_keywords != '') { if ($search_author != '' && $search_keywords == '') { $search_author = str_replace('*', '%', trim($search_author)); $sql = get_users_sql($search_author, true, false, true, false); $result = $db->sql_query($sql); $matching_userids = ''; if ($row = $db->sql_fetchrow($result)) { do { $matching_userids .= ($matching_userids != '' ? ', ' : '') . $row['user_id']; } while ($row = $db->sql_fetchrow($result)); } else { message_die(GENERAL_MESSAGE, $lang['No_search_match']); } $sql = "SELECT *\n\t\t\t\t\t\tFROM " . PA_FILES_TABLE . "\n\t\t\t\t\t\tWHERE user_id IN ({$matching_userids})"; $result = $db->sql_query($sql); $search_ids = array(); while ($row = $db->sql_fetchrow($result)) { if ($this->auth[$row['file_catid']]['auth_view']) { $search_ids[] = $row['file_id']; } } $db->sql_freeresult($result); $total_match_count = sizeof($search_ids); } elseif ($search_keywords != '') { stopwords_synonyms_init(); $split_search = array(); $split_search = !strstr($multibyte_charset, $lang['ENCODING']) ? split_words(clean_words('search', stripslashes($search_keywords), $stopwords_array, $synonyms_array), 'search') : split(' ', $search_keywords); $word_count = 0; $current_match_type = 'or'; $word_match = array(); $result_list = array(); for ($i = 0; $i < sizeof($split_search); $i++) { switch ($split_search[$i]) { case 'and': $current_match_type = 'and'; break; case 'or': $current_match_type = 'or'; break; case 'not': $current_match_type = 'not'; break; default: if (!empty($search_terms)) { $current_match_type = 'and'; } $match_word = addslashes('%' . str_replace('*', '', $split_search[$i]) . '%'); $sql = "SELECT file_id\n\t\t\t\t\t\t\t\t\tFROM " . PA_FILES_TABLE . "\n\t\t\t\t\t\t\t\t\tWHERE (file_name LIKE '{$match_word}'\n\t\t\t\t\t\t\t\t\tOR file_creator LIKE '{$match_word}'\n\t\t\t\t\t\t\t\t\tOR file_desc LIKE '{$match_word}'\n\t\t\t\t\t\t\t\t\tOR file_longdesc LIKE '{$match_word}')"; $result = $db->sql_query($sql); $row = array(); while ($temp_row = $db->sql_fetchrow($result)) { $row[$temp_row['file_id']] = 1; if (!$word_count) { $result_list[$temp_row['file_id']] = 1; } elseif ($current_match_type == 'or') { $result_list[$temp_row['file_id']] = 1; } elseif ($current_match_type == 'not') { $result_list[$temp_row['file_id']] = 0; } } if ($current_match_type == 'and' && $word_count) { @reset($result_list); while (list($file_id, $match_count) = @each($result_list)) { if (!$row[$file_id]) { $result_list[$file_id] = 0; } } } if ($comments_search) { $sql = "SELECT file_id\n\t\t\t\t\t\t\t\t\tFROM " . PA_COMMENTS_TABLE . "\n\t\t\t\t\t\t\t\t\tWHERE (comments_title LIKE '{$match_word}'\n\t\t\t\t\t\t\t\t\tOR comments_text LIKE '{$match_word}')"; $result = $db->sql_query($sql); $row = array(); while ($temp_row = $db->sql_fetchrow($result)) { $row[$temp_row['file_id']] = 1; if (!$word_count) { $result_list[$temp_row['file_id']] = 1; } else { if ($current_match_type == 'or') { $result_list[$temp_row['file_id']] = 1; } else { if ($current_match_type == 'not') { $result_list[$temp_row['file_id']] = 0; } } } } if ($current_match_type == 'and' && $word_count) { @reset($result_list); while (list($file_id, $match_count) = @each($result_list)) { if (!$row[$file_id]) { $result_list[$file_id] = 0; } } } } $word_count++; $db->sql_freeresult($result); } } @reset($result_list); $search_ids = array(); while (list($file_id, $matches) = each($result_list)) { if ($matches) { $search_ids[] = $file_id; } } unset($result_list); $total_match_count = sizeof($search_ids); } // Author name search if ($search_author != '') { $search_author = str_replace('*', '%', trim($db->sql_escape($search_author))); } if ($total_match_count) { $where_sql = $cat_id ? 'AND file_catid IN (' . $this->gen_cat_ids($cat_id, '') . ')' : ''; if ($search_author == '') { $sql = "SELECT file_id, file_catid\n\t\t\t\t\t\t\tFROM " . PA_FILES_TABLE . "\n\t\t\t\t\t\t\tWHERE file_id IN (" . implode(", ", $search_ids) . ")\n\t\t\t\t\t\t\t\t{$where_sql}\n\t\t\t\t\t\t\tGROUP BY file_id"; } else { $from_sql = PA_FILES_TABLE . " f"; if ($search_author != '') { $from_sql .= ", " . USERS_TABLE . " u"; $where_sql .= " AND u.user_id = f.user_id AND u.username LIKE '{$search_author}' "; } $where_sql .= $cat_id ? 'AND file_catid IN (' . $this->gen_cat_ids($cat_id, '') . ')' : ''; $sql = "SELECT f.file_id, f.file_catid\n\t\t\t\t\t\t\tFROM {$from_sql}\n\t\t\t\t\t\t\tWHERE f.file_id IN (" . implode(", ", $search_ids) . ")\n\t\t\t\t\t\t\t{$where_sql}\n\t\t\t\t\t\t\tGROUP BY f.file_id"; } $result = $db->sql_query($sql); $search_ids = array(); while ($row = $db->sql_fetchrow($result)) { if ($this->auth[$row['file_catid']]['auth_view']) { $search_ids[] = $row['file_id']; } } $db->sql_freeresult($result); $total_match_count = sizeof($search_ids); } else { message_die(GENERAL_MESSAGE, $lang['No_search_match']); } // // Finish building query (for all combinations) // and run it ... // $expiry_time = $current_time - $config['session_length']; $sql = "SELECT session_id\n\t\t\t\t\tFROM " . SESSIONS_TABLE . "\n\t\t\t\t\tWHERE session_time > {$expiry_time}"; $db->sql_return_on_error(true); $result = $db->sql_query($sql); $db->sql_return_on_error(false); if ($result) { $delete_search_ids = array(); while ($row = $db->sql_fetchrow($result)) { $delete_search_ids[] = "'" . $row['session_id'] . "'"; } if (sizeof($delete_search_ids)) { $sql = "DELETE FROM " . SEARCH_TABLE . "\n\t\t\t\t\t\t\tWHERE session_id NOT IN (" . implode(", ", $delete_search_ids) . ")"; $result = $db->sql_query($sql); } } // Store new result data $search_results = implode(', ', $search_ids); $store_search_data = array(); for ($i = 0; $i < sizeof($store_vars); $i++) { $store_search_data[$store_vars[$i]] = ${$store_vars}[$i]; } $result_array = serialize($store_search_data); unset($store_search_data); mt_srand((double) microtime() * 1000000); $search_id = mt_rand(); $sql = "UPDATE " . SEARCH_TABLE . "\n\t\t\t\t\tSET search_id = {$search_id}, search_array = '" . $db->sql_escape($result_array) . "'\n\t\t\t\t\tWHERE session_id = '" . $user->data['session_id'] . "'"; $db->sql_return_on_error(true); $result = $db->sql_query($sql); $db->sql_return_on_error(false); if (!$result || !$db->sql_affectedrows()) { $sql = "INSERT INTO " . SEARCH_TABLE . " (search_id, session_id, search_array)\n\t\t\t\t\t\tVALUES({$search_id}, '" . $user->data['session_id'] . "', '" . $db->sql_escape($result_array) . "')"; $result = $db->sql_query($sql); } } else { $search_id = intval($search_id); if ($search_id) { $sql = "SELECT search_array\n\t\t\t\t\t\tFROM " . SEARCH_TABLE . "\n\t\t\t\t\t\tWHERE search_id = {$search_id}\n\t\t\t\t\t\tAND session_id = '" . $user->data['session_id'] . "'"; $result = $db->sql_query($sql); if ($row = $db->sql_fetchrow($result)) { $search_data = unserialize($row['search_array']); for ($i = 0; $i < sizeof($store_vars); $i++) { ${$store_vars}[$i] = $search_data[$store_vars[$i]]; } } } } if ($search_results != '') { $sql = "SELECT f1.*, AVG(r.rate_point) AS rating, COUNT(r.votes_file) AS total_votes, u.user_id, u.username, u.user_active, u.user_color, c.cat_id, c.cat_name, COUNT(cm.comments_id) AS total_comments\n\t\t\t\t\tFROM (" . PA_FILES_TABLE . " AS f1, " . PA_CATEGORY_TABLE . " AS c)\n\t\t\t\t\t\tLEFT JOIN " . PA_VOTES_TABLE . " AS r ON f1.file_id = r.votes_file\n\t\t\t\t\t\tLEFT JOIN " . USERS_TABLE . " AS u ON f1.user_id = u.user_id\n\t\t\t\t\t\tLEFT JOIN " . PA_COMMENTS_TABLE . " AS cm ON f1.file_id = cm.file_id\n\t\t\t\t\tWHERE f1.file_id IN ({$search_results})\n\t\t\t\t\tAND c.cat_id = f1.file_catid\n\t\t\t\t\tAND f1.file_approved = '1'\n\t\t\t\t\tGROUP BY f1.file_id\n\t\t\t\t\tORDER BY {$sort_method} {$sort_order}\n\t\t\t\t\tLIMIT {$limit_sql}"; $result = $db->sql_query($sql); $searchset = array(); while ($row = $db->sql_fetchrow($result)) { $searchset[] = $row; } $db->sql_freeresult($result); $l_search_matches = $total_match_count == 1 ? sprintf($lang['Found_search_match'], $total_match_count) : sprintf($lang['Found_search_matches'], $total_match_count); $template->assign_vars(array('L_SEARCH_MATCHES' => $l_search_matches)); for ($i = 0; $i < sizeof($searchset); $i++) { $cat_url = append_sid('dload.' . PHP_EXT . '?action=category&cat_id=' . $searchset[$i]['cat_id']); $file_url = append_sid('dload.' . PHP_EXT . '?action=file&file_id=' . $searchset[$i]['file_id']); //=================================================== // Format the date for the given file //=================================================== $date = create_date_ip($config['default_dateformat'], $searchset[$i]['file_time'], $config['board_timezone']); //=================================================== // Get rating for the file and format it //=================================================== //$rating = ($searchset[$i]['rating'] != 0) ? round($searchset[$i]['rating'], 2) . ' / 10' : $lang['Not_rated']; //$rating2 = ($searchset[$i]['rating'] != 0) ? sprintf("%.1f", round(($searchset[$i]['rating']), 2) / 2) : '0.0'; $rating2 = $searchset[$i]['rating'] != 0 ? sprintf("%.1f", round($searchset[$i]['rating'], 0) / 2) : '0.0'; //=================================================== // If the file is new then put a new image in front of it //=================================================== $is_new = false; if (time() - $pafiledb_config['settings_newdays'] * 24 * 60 * 60 < $searchset[$i]['file_time']) { $is_new = true; } $xs_new = $is_new ? '-new' : ''; //=================================================== // Get the post icon fot this file //=================================================== if ($searchset[$i]['file_pin'] != FILE_PINNED) { if ($searchset[$i]['file_posticon'] == 'none' || $searchset[$i]['file_posticon'] == 'none.gif') { $posticon = '<img src="' . IP_ROOT_PATH . FILES_ICONS_DIR . 'default.png" alt="" />'; //$posticon = ' '; } else { $posticon = '<img src="' . FILES_ICONS_DIR . $searchset[$i]['file_posticon'] . '" alt="" />'; } } else { $posticon = '<img src="' . $images['forum_link'] . '" alt="" />'; } $poster = $searchset[$i]['user_id'] == ANONYMOUS ? $lang['Guest'] : colorize_username($searchset[$i]['user_id'], $searchset[$i]['username'], $searchset[$i]['user_color'], $searchset[$i]['user_active']); $template->assign_block_vars('searchresults', array('CAT_NAME' => $searchset[$i]['cat_name'], 'FILE_NEW_IMAGE' => $images['pa_file_new'], 'PIN_IMAGE' => $posticon, 'L_HOME' => $lang['Home'], 'CURRENT_TIME' => sprintf($lang['Current_time'], create_date($config['default_dateformat'], time(), $config['board_timezone'])), 'XS_NEW' => $xs_new, 'IS_NEW_FILE' => $is_new, 'FILE_NAME' => $searchset[$i]['file_name'], 'FILE_DESC' => $searchset[$i]['file_desc'], 'FILE_SUBMITER' => $poster, 'DATE' => $date, 'RATING' => $rating2, 'DOWNLOADS' => $searchset[$i]['file_dls'], 'U_FILE' => $file_url, 'U_CAT' => $cat_url)); } $base_url = append_sid('dload.' . PHP_EXT . '?action=search&search_id=' . $search_id); $template->assign_vars(array('PAGINATION' => generate_pagination($base_url, $total_match_count, $pafiledb_config['settings_file_page'], $start), 'PAGE_NUMBER' => sprintf($lang['Page_of'], floor($start / $pafiledb_config['settings_file_page']) + 1, ceil($total_match_count / $pafiledb_config['settings_file_page'])), 'DOWNLOAD' => $pafiledb_config['settings_dbname'], 'L_HOME' => $lang['Home'], 'U_INDEX_HOME' => append_sid(CMS_PAGE_HOME), 'U_DOWNLOAD' => append_sid('dload.' . PHP_EXT), 'L_HOME' => $lang['Home'], 'CURRENT_TIME' => sprintf($lang['Current_time'], create_date($config['default_dateformat'], time(), $config['board_timezone'])), 'XS_NEW' => $xs_new, 'L_INDEX' => sprintf($lang['Forum_Index'], $config['sitename']), 'L_RATE' => $lang['DlRating'], 'L_DOWNLOADS' => $lang['Dls'], 'L_DATE' => $lang['Date'], 'L_NAME' => $lang['Name'], 'L_FILE' => $lang['File'], 'L_SUBMITER' => $lang['Submiter'], 'L_CATEGORY' => $lang['Category'], 'L_NEW_FILE' => $lang['New_file'])); $this->display($lang['Download'], 'pa_search_result.tpl'); } else { message_die(GENERAL_MESSAGE, $lang['No_search_match']); } } if (!isset($_POST['submit']) || $search_author == '' && $search_keywords == '' && !$search_id) { $dropmenu = $this->jumpmenu_option(); $template->assign_vars(array('S_SEARCH_ACTION' => append_sid('dload.php'), 'S_CAT_MENU' => $dropmenu, 'DOWNLOAD' => $pafiledb_config['settings_dbname'], 'U_INDEX_HOME' => append_sid(CMS_PAGE_HOME), 'U_DOWNLOAD' => append_sid('dload.' . PHP_EXT), 'L_HOME' => $lang['Home'], 'CURRENT_TIME' => sprintf($lang['Current_time'], create_date($config['default_dateformat'], time(), $config['board_timezone'])), 'XS_NEW' => $xs_new, 'L_YES' => $lang['Yes'], 'L_NO' => $lang['No'], 'L_SEARCH_OPTIONS' => $lang['Search_options'], 'L_SEARCH_KEYWORDS' => $lang['Search_keywords'], 'L_SEARCH_KEYWORDS_EXPLAIN' => $lang['Search_keywords_explain'], 'L_SEARCH_AUTHOR' => $lang['Search_author'], 'L_SEARCH_AUTHOR_EXPLAIN' => $lang['Search_author_explain'], 'L_SEARCH_ANY_TERMS' => $lang['Search_for_any'], 'L_SEARCH_ALL_TERMS' => $lang['Search_for_all'], 'L_INCLUDE_COMMENTS' => $lang['Include_comments'], 'L_SORT_BY' => $lang['Select_sort_method'], 'L_SORT_DIR' => $lang['Order'], 'L_SORT_ASCENDING' => $lang['Sort_Ascending'], 'L_SORT_DESCENDING' => $lang['Sort_Descending'], 'L_INDEX' => sprintf($lang['Forum_Index'], $config['sitename']), 'L_RATING' => $lang['DlRating'], 'L_DOWNLOADS' => $lang['Dls'], 'L_DATE' => $lang['Date'], 'L_NAME' => $lang['Name'], 'L_UPDATE_TIME' => $lang['Update_time'], 'L_SEARCH' => $lang['Search'], 'L_SEARCH_FOR' => $lang['Search_for'], 'L_ALL' => $lang['All'], 'L_CHOOSE_CAT' => $lang['Choose_cat'])); $this->display($lang['Download'], 'pa_search_body.tpl'); } }
function main($action) { global $db, $cache, $config, $images, $user, $lang, $bbcode, $pafiledb_config, $template, $pafiledb_functions; @(include_once IP_ROOT_PATH . 'includes/bbcode.' . PHP_EXT); $cat_id = request_var('cat_id', 0); $file_id = request_var('file_id', 0); $action = request_var('action', ''); if ($file_id == 0 && $action != '') { $file_id_array = array(); $file_id_array = explode('=', $action); $file_id = $file_id_array[1]; } if (empty($file_id)) { message_die(GENERAL_MESSAGE, $lang['File_not_exist']); } // ======================================================= // file id is not set, give him/her a nice error message // ======================================================= $sql = "SELECT f.*, AVG(r.rate_point) AS rating, COUNT(r.votes_file) AS total_votes, u.user_id, u.username, u.user_active, u.user_color, COUNT(c.comments_id) as total_comments\n\t\t\tFROM " . PA_FILES_TABLE . " AS f\n\t\t\t\tLEFT JOIN " . PA_VOTES_TABLE . " AS r ON f.file_id = r.votes_file\n\t\t\t\tLEFT JOIN " . USERS_TABLE . " AS u ON f.user_id = u.user_id\n\t\t\t\tLEFT JOIN " . PA_COMMENTS_TABLE . " AS c ON f.file_id = c.file_id\n\t\t\tWHERE f.file_id = " . (int) $file_id . "\n\t\t\tAND f.file_approved = 1\n\t\t\tGROUP BY f.file_id "; $result = $db->sql_query($sql); //=================================================== // file doesn't exist' //=================================================== if (!($file_data = $db->sql_fetchrow($result))) { message_die(GENERAL_MESSAGE, $lang['File_not_exist']); } $db->sql_freeresult($result); //=================================================== // Pafiledb auth for viewing file //=================================================== if (!$this->auth[$file_data['file_catid']]['auth_view_file']) { if (!$user->data['session_logged_in']) { redirect(append_sid(CMS_PAGE_LOGIN . '?redirect=dload.' . PHP_EXT . '&action=file&file_id=' . $file_id, true)); } $message = sprintf($lang['Sorry_auth_view'], $this->auth[$file_data['file_catid']]['auth_view_file_type']); message_die(GENERAL_MESSAGE, $message); } $this->generate_category_nav($file_data['file_catid']); $template->assign_vars(array('L_INDEX' => sprintf($lang['Forum_Index'], $config['sitename']), 'L_HOME' => $lang['Home'], 'CURRENT_TIME' => sprintf($lang['Current_time'], create_date($config['default_dateformat'], time(), $config['board_timezone'])), 'U_INDEX_HOME' => append_sid(CMS_PAGE_HOME), 'U_DOWNLOAD_HOME' => append_sid('dload.' . PHP_EXT), 'FILE_NAME' => $file_data['file_name'], 'DOWNLOAD' => $pafiledb_config['settings_dbname'])); //=================================================== // Prepare file info to display them //=================================================== $file_time = create_date_ip($config['default_dateformat'], $file_data['file_time'], $config['board_timezone']); $file_last_download = $file_data['file_last'] ? create_date_ip($config['default_dateformat'], $file_data['file_last'], $config['board_timezone']) : $lang['never']; $file_update_time = $file_data['file_update_time'] ? create_date_ip($config['default_dateformat'], $file_data['file_update_time'], $config['board_timezone']) : $lang['never']; $file_author = trim($file_data['file_creator']); $file_version = trim($file_data['file_version']); $file_screenshot_url = trim($file_data['file_ssurl']); $file_website_url = trim($file_data['file_docsurl']); //$file_rating = ($file_data['rating'] != 0) ? round($file_data['rating'], 2) . ' / 10' : $lang['Not_rated']; //$file_rating2 = ($file_data['rating'] != 0) ? sprintf("%.1f", round(($file_data['rating']), 2)/2) : '0.0'; $file_rating2 = $file_data['rating'] != 0 ? sprintf("%.1f", round($file_data['rating'], 0) / 2) : '0.0'; $file_download_link = $file_data['file_license'] > 0 ? append_sid('dload.' . PHP_EXT . '?action=license&license_id=' . $file_data['file_license'] . '&file_id=' . $file_id) : append_sid('dload.' . PHP_EXT . '?action=download&file_id=' . $file_id); $file_size = $pafiledb_functions->get_file_size($file_id, $file_data); /* $file_poster = ($file_data['user_id'] != ANONYMOUS) ? '<a href="' . append_sid(CMS_PAGE_PROFILE.'?mode=viewprofile&' . POST_USERS_URL . '=' . $file_data['user_id']) . '">' : ''; $file_poster .= ($file_data['user_id'] != ANONYMOUS) ? $file_data['username'] : $lang['Guest']; $file_poster .= ($file_data['user_id'] != ANONYMOUS) ? '</a>' : ''; */ $file_poster = $file_data['user_id'] == ANONYMOUS ? $lang['Guest'] : colorize_username($file_data['user_id'], $file_data['username'], $file_data['user_color'], $file_data['user_active']); $bbcode->allow_html = $config['allow_html'] ? true : false; $bbcode->allow_bbcode = $config['allow_bbcode'] ? true : false; $bbcode->allow_smilies = $config['allow_smilies'] ? true : false; $file_long_desc = $bbcode->parse($file_data['file_longdesc']); $template->assign_vars(array('L_CLICK_HERE' => $lang['Click_here'], 'L_AUTHOR' => $lang['Creator'], 'L_VERSION' => $lang['Version'], 'L_SCREENSHOT' => $lang['Scrsht'], 'L_WEBSITE' => $lang['Docs'], 'L_FILE' => $lang['File'], 'L_EDIT' => $lang['Editfile'], 'L_DELETE' => $lang['Deletefile'], 'L_DESC' => $lang['Desc'], 'L_VOTES' => $lang['Votes'], 'L_DATE' => $lang['Date'], 'L_UPDATE_TIME' => $lang['Update_time'], 'L_LASTTDL' => $lang['Lastdl'], 'L_DLS' => $lang['Dls'], 'L_RATING' => $lang['DlRating'], 'L_SIZE' => $lang['File_size'], 'L_DOWNLOAD' => $lang['Downloadfile'], 'L_RATE' => $lang['Rate'], 'L_EMAIL' => $lang['Emailfile'], 'L_SUBMITED_BY' => $lang['Submiter'], 'SHOW_AUTHOR' => !empty($file_author) ? true : false, 'SHOW_VERSION' => !empty($file_version) ? true : false, 'SHOW_SCREENSHOT' => !empty($file_screenshot_url) ? true : false, 'SHOW_WEBSITE' => !empty($file_website_url) ? true : false, 'SS_AS_LINK' => $file_data['file_sshot_link'] ? true : false, 'FILE_NAME' => $file_data['file_name'], 'FILE_LONGDESC' => $file_long_desc, 'FILE_SUBMITED_BY' => $file_poster, 'FILE_AUTHOR' => $file_author, 'FILE_VERSION' => $file_version, 'FILE_SCREENSHOT' => $file_screenshot_url, 'FILE_WEBSITE' => $file_website_url, 'AUTH_EDIT' => $this->auth[$file_data['file_catid']]['auth_edit_file'] && $file_data['user_id'] == $user->data['user_id'] || $this->auth[$file_data['file_catid']]['auth_mod'] ? true : false, 'AUTH_DELETE' => $this->auth[$file_data['file_catid']]['auth_delete_file'] && $file_data['user_id'] == $user->data['user_id'] || $this->auth[$file_data['file_catid']]['auth_mod'] ? true : false, 'AUTH_DOWNLOAD' => $this->auth[$file_data['file_catid']]['auth_download'] ? true : false, 'AUTH_RATE' => $this->auth[$file_data['file_catid']]['auth_rate'] ? true : false, 'AUTH_EMAIL' => $this->auth[$file_data['file_catid']]['auth_email'] ? true : false, 'INCLUDE_COMMENTS' => $this->auth[$file_data['file_catid']]['auth_view_comment'] ? true : false, 'DELETE_IMG' => $images['icon_delpost'], 'EDIT_IMG' => $images['icon_edit'], 'DOWNLOAD_IMG' => $images['pa_download'], 'RATE_IMG' => $images['pa_rate'], 'EMAIL_IMG' => $images['pa_email'], 'FILE_VOTES' => $file_data['total_votes'], 'TIME' => $file_time, 'UPDATE_TIME' => $file_data['file_update_time'] != $file_data['file_time'] ? $file_update_time : $lang['never'], 'RATING' => $file_rating2, 'FILE_DLS' => intval($file_data['file_dls']), 'FILE_SIZE' => $file_size, 'LAST' => $file_last_download, 'U_DELETE' => append_sid('dload.' . PHP_EXT . '?action=user_upload&do=delete&file_id=' . $file_id), 'U_EDIT' => append_sid('dload.' . PHP_EXT . '?action=user_upload&file_id=' . $file_id), 'U_DOWNLOAD' => $file_download_link, 'U_RATE' => append_sid('dload.' . PHP_EXT . '?action=rate&file_id=' . $file_id), 'U_EMAIL' => append_sid('dload.' . PHP_EXT . '?action=email&file_id=' . $file_id))); $custom_fields = new custom_fields(); $custom_fields->custom_table = PA_CUSTOM_TABLE; $custom_fields->custom_data_table = PA_CUSTOM_DATA_TABLE; $custom_fields->init(); $custom_fields->display_data($file_id); if ($this->auth[$file_data['file_catid']]['auth_view_comment']) { include IP_ROOT_PATH . PA_FILE_DB_PATH . 'functions_comment.' . PHP_EXT; display_comments($file_data); } $this->display($lang['Download'], 'pa_file_body.tpl'); }
$folder_alt = $similar['topic_status'] == TOPIC_LOCKED ? $lang['Topic_locked'] : $lang['No_new_posts']; $newest_img = ''; } } else { $folder_image = $folder; $folder_alt = $similar['topic_status'] == TOPIC_LOCKED ? $lang['Topic_locked'] : $lang['No_new_posts']; $newest_img = ''; } $similar['topic_title'] = censor_text($similar['topic_title']); $similar_topic_title = strlen($similar['topic_title']) > 45 ? substr($similar['topic_title'], 0, 42) . '...' : $similar['topic_title']; // Convert and clean special chars! $similar_topic_title = htmlspecialchars_clean($similar_topic_title); // SMILEYS IN TITLE - BEGIN if ($config['smilies_topic_title'] == true && !$lofi) { $bbcode->allow_smilies = $config['allow_smilies'] ? true : false; $similar_topic_title = $bbcode->parse_only_smilies($similar_topic_title); } // SMILEYS IN TITLE - END $topic_url = '<a href="' . append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_TOPIC_URL . '=' . $similar['topic_id']) . '" class="' . $topic_class . '">' . $similar_topic_title . '</a>'; $author = $similar['user_id'] != ANONYMOUS ? colorize_username($similar['user_id'], $similar['username'], $similar['user_color'], $similar['user_active']) : ($similar['post_username'] != '' ? '<span style="font-weight: bold; color: ' . $config['active_users_color'] . '">' . $similar['post_username'] . '</span>' : '<span style="font-weight: bold; color: ' . $config['active_users_color'] . '">' . $lang['Guest'] . '</span>'); $forum_url = append_sid(CMS_PAGE_VIEWFORUM . '?' . POST_FORUM_URL . '=' . $similar['forum_id']); $forum = '<a href="' . $forum_url . '">' . $similar['forum_name'] . '</a>'; $last_post_author = $similar['id2'] != ANONYMOUS ? colorize_username($similar['id2'], $similar['user2'], $similar['user_color2'], $similar['user_active2']) : ($similar['post_username2'] != '' ? '<span style="font-weight: bold; color: ' . $config['active_users_color'] . '">' . $similar['post_username2'] . '</span>' : '<span style="font-weight: bold; color: ' . $config['active_users_color'] . '">' . $lang['Guest'] . '</span>'); $post_url = '<a href="' . append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_POST_URL . '=' . $similar['topic_last_post_id']) . '#p' . $similar['topic_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a><br />' . $last_post_author; //$post_time = create_date_ip($config['default_dateformat'], $similar['topic_time'], $config['board_timezone']); $post_time = create_date_ip($config['default_dateformat'], $similar['topic_last_post_time'], $config['board_timezone']); $row_class = !($i % 2) ? $theme['td_class1'] : $theme['td_class2']; $template->assign_block_vars('similar.topics', array('ROW_CLASS' => $row_class, 'FOLDER' => $folder_image, 'ALT' => $folder_alt, 'TYPE' => $topic_type, 'TITLE' => $topic_url, 'AUTHOR' => $author, 'FORUM' => $forum, 'REPLIES' => $replies, 'NEWEST' => $newest_img, 'POST_TIME' => $post_time, 'POST_URL' => $post_url)); } //for $template->assign_var_from_handle('SIMILAR_VIEWTOPIC', 'similar_viewtopic');
* @package Icy Phoenix * @version $Id$ * @copyright (c) 2008 Icy Phoenix * @license http://opensource.org/licenses/gpl-license.php GNU Public License * */ if (!defined('IN_ICYPHOENIX')) { die('Hacking attempt'); } include_once IP_ROOT_PATH . 'includes/functions_profile.' . PHP_EXT; // Top Posting Users $template->assign_vars(array('L_RANK' => $lang['Rank'], 'L_TIME2' => $lang['Time2'], 'L_PERCENTAGE' => $lang['Percent'], 'L_USERNAME' => $lang['Username'], 'L_GRAPH' => $lang['Graph'], 'MODULE_NAME' => $lang['module_name_most_logged_on_users'])); $sql = "SELECT SUM(user_totaltime) as total_time\n\tFROM " . USERS_TABLE . "\n\tWHERE user_id <> " . ANONYMOUS; $result = $stat_db->sql_query($sql); $row = $stat_db->sql_fetchrow($result); $total_time = $row['total_time']; $sql = 'SELECT user_id, username, user_active, user_color, user_totaltime FROM ' . USERS_TABLE . ' WHERE (user_id <> ' . ANONYMOUS . ') AND (user_totaltime > 0) ORDER BY user_totaltime DESC LIMIT ' . $return_limit; $result = $stat_db->sql_query($sql); $user_count = $stat_db->sql_numrows($result); $user_data = $stat_db->sql_fetchrowset($result); $firstcount = $user_data[0]['user_totaltime']; $template->_tpldata['stats_row.'] = array(); for ($i = 0; $i < $user_count; $i++) { $class = $i % 2 ? $theme['td_class2'] : $theme['td_class1']; $statistics->do_math($firstcount, $user_data[$i]['user_totaltime'], $total_time); $template->assign_block_vars('stats_row', array('RANK' => $i + 1, 'CLASS' => $class, 'USERNAME' => colorize_username($user_data[$i]['user_id'], $user_data[$i]['username'], $user_data[$i]['user_color'], $user_data[$i]['user_active']), 'PERCENTAGE' => $statistics->percentage, 'BAR' => $statistics->bar_percent, 'TIME' => make_hours($user_data[$i]['user_totaltime']))); }
* */ if (!defined('IN_ICYPHOENIX')) { die('Hacking attempt'); } $template->assign_vars(array('L_RANK' => $lang['Rank'], 'L_TOPICS' => $lang['Topics'], 'L_PERCENTAGE' => $lang['Percent'], 'L_USERNAME' => $lang['Username'], 'L_GRAPH' => $lang['Graph'], 'MODULE_NAME' => $lang['module_name_most_active_topicstarter'])); $percentage = 0; $bar_percent = 0; $total_topics = $config['max_topics']; $sql = 'SELECT u.user_id, u.username, u.user_active, u.user_color, COUNT(t.topic_poster) num_topics FROM ' . USERS_TABLE . ' u, ' . TOPICS_TABLE . ' t WHERE (t.topic_poster <> ' . ANONYMOUS . ') AND (u.user_posts > 0) AND (u.user_id = t.topic_poster) GROUP BY t.topic_poster ORDER BY num_topics DESC LIMIT ' . $return_limit; $result = $stat_db->sql_query($sql); $user_count = $stat_db->sql_numrows($result); $user_data = $stat_db->sql_fetchrowset($result); $firstcount = $user_data[0]['num_topics']; $template->_tpldata['stats_row.'] = array(); for ($i = 0; $i < $user_count; $i++) { $class = $i % 2 ? $theme['td_class2'] : $theme['td_class1']; $percentage = 0; $bar_percent = 0; $cst = $firstcount > 0 ? 90 / $firstcount : 90; if ($user_data[$i]['num_topics'] != 0) { $percentage = $total_topics ? round(min(100, $user_data[$i]['num_topics'] / $total_topics * 100)) : 0; $bar_percent = round($user_data[$i]['num_topics'] * $cst); } // top_posters_do_math($firstcount, $user_data[$i]['num_topics'], $total_topics); $template->assign_block_vars('stats_row', array('RANK' => $i + 1, 'CLASS' => $class, 'USERNAME' => colorize_username($user_data[$i]['user_id'], $user_data[$i]['username'], $user_data[$i]['user_color'], $user_data[$i]['user_active']), 'PERCENTAGE' => $percentage, 'BAR' => $bar_percent, 'TOPICS' => $user_data[$i]['num_topics'])); }
<option value="90"> ' . $lang['3_MONTHS'] . '</option> <option value="180"> ' . $lang['6_MONTHS'] . '</option> <option value="365"> ' . $lang['1_YEAR'] . '</option> </select>'; // Generate page include 'page_header_admin.' . PHP_EXT; $template->set_filenames(array('body' => ADM_TPL . 'prune_users_body.tpl')); $n = 0; while (!empty($sql_up[$n])) { $vars = 'days_' . $n; $default[$n] = $default[$n] ? $default[$n] : 10; $days[$n] = isset($_GET[$vars]) ? $_GET[$vars] : (isset($_POST[$vars]) ? intval($_POST[$vars]) : $default[$n]); // make a extra option if the parsed days value does not already exisit if (!strpos($options, 'value="' . $days[$n])) { $options = '<option value="' . $days[$n] . '"> ' . sprintf($lang['X_DAYS'], $days[$n]) . '</option>' . $options; } $select[$n] = '<select name="days_' . $n . '" size="1" onchange="SetDays();" class="gensmall">' . str_replace('value="' . $days[$n] . '"> ', 'value="' . $days[$n] . '" selected="selected"> *', $options); $sql_full = "SELECT user_id , username, user_active, user_color, user_level\n\t\t\t\t\t\t\tFROM " . USERS_TABLE . "\n\t\t\t\t\t\t\tWHERE user_id <> '" . ANONYMOUS . "'\n\t\t\t\t\t\t\t" . $sql_up[$n] . "\n\t\t\t\t\t\t\tAND user_regdate < '" . (time() - 86400 * $days[$n]) . "'\n\t\t\t\t\t\t\tORDER BY username LIMIT 800"; $result = $db->sql_query($sql_full); $user_list = $db->sql_fetchrowset($result); $user_count = sizeof($user_list); for ($i = 0; $i < $user_count; $i++) { $list[$n] .= ' ' . colorize_username($user_list[$i]['user_id'], $user_list[$i]['username'], $user_list[$i]['user_color'], $user_list[$i]['user_active']); } $db->sql_freeresult($result); $template->assign_block_vars('prune_list', array('LIST' => $list[$n] ? $list[$n] : $lang['None'], 'USER_COUNT' => $user_count, 'L_PRUNE' => $lang['Prune_commands'][$n], 'L_PRUNE_EXPLAIN' => sprintf($lang['Prune_explain'][$n], $days[$n]), 'S_PRUNE_USERS' => append_sid('admin_prune_users.' . PHP_EXT), 'S_DAYS' => $select[$n], 'U_PRUNE' => '<a href="' . append_sid(IP_ROOT_PATH . ADM . '/admin_prune_users_loop.' . PHP_EXT . '?mode=prune_' . $n . '&days=' . $days[$n]) . '" onclick="return confirm(\'' . sprintf($lang['Prune_on_click'], $user_count) . '\')">' . $lang['Prune_commands'][$n] . '</a>')); $n++; } $template->assign_vars(array('L_PRUNE_ACTION' => $lang['Prune_Action'], 'L_PRUNE_LIST' => $lang['Prune_user_list'], 'L_DAYS' => $lang['Days'], 'L_PRUNE_USERS' => $lang['Prune_users'], 'L_PRUNE_USERS_EXPLAIN' => $lang['Prune_users_explain'])); $template->pparse('body'); include 'page_footer_admin.' . PHP_EXT;
$pmto = append_sid(CMS_PAGE_PRIVMSG . '?mode=post&' . POST_USERS_URL . '=' . $staff[user_id]); $pm = '<a href="' . $pmto . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" /></a>'; $mailto = ($config['board_email_form']) ? append_sid(CMS_PAGE_PROFILE . '?mode=email&' . POST_USERS_URL .'=' . $staff['user_id']) : 'mailto:' . $staff['user_email']; $mail = ($staff['user_email']) ? '<a href="' . $mailto . '"><img src="' . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" /></a>' : ''; $user_info = array(); $user_info = generate_user_info($staff); foreach ($user_info as $k => $v) { $$k = $v; } $template->assign_block_vars('user_level.staff', array( 'ROW_CLASS' => $row_class, 'USERNAME' => colorize_username($staff['user_id'], $staff['username'], $staff['user_color'], $staff['user_active']), 'RANK' => $rank, 'RANK_IMAGE' => $rank_image, 'AVATAR' => $avatar, 'FORUMS' => $forums, 'POSTS' => $staff['user_posts'], 'POST_PERCENT' => sprintf($lang['User_post_pct_stats'], $post_percent), 'POSTS_PER_DAY' => sprintf($lang['User_post_day_stats'], $posts_per_day), 'TOPICS' => $user_topics, 'TOPIC_PERCENT' => sprintf($lang['User_post_pct_stats'], $topic_percent), 'TOPICS_PER_DAY' => sprintf($lang['Staff_user_topic_day_stats'], $topics_per_day), 'LAST_POST' => $last_post, 'JOINED' => create_date($lang['JOINED_DATE_FORMAT'], $staff['user_regdate'], $config['board_timezone']), 'PERIOD' => sprintf($lang['Staff_period'], $memberdays), 'PROFILE_IMG' => $profile_img,
/** * Prepares the comments for display. * * @param integer the article id to fetch the comments for. * * @return void * * @access public */ function renderComments($article_id, $start = 0) { global $config, $user, $lang; $trimmed = false; $comments = $this->data->fetchPosts($article_id, $start); $this->item_count = $this->data->fetchPostsCount($article_id); if (is_array($comments)) { foreach ($comments as $comment) { $comment['post_text'] = $this->parseMessage($comment['post_text'], $comment['enable_bbcode'], $comment['enable_html'], $comment['enable_smilies'], $comment['enable_autolinks_acronyms']); $dateformat = $user->data['user_id'] == ANONYMOUS ? $config['default_dateformat'] : $user->data['user_dateformat']; $timezone = $user->data['user_id'] == ANONYMOUS ? $config['board_timezone'] : $user->data['user_timezone']; $this->setBlockVariables('comments', array('L_TITLE' => $comment['post_subject'], 'POST_DATE' => create_date_ip($dateformat, $comment['post_time'], $timezone), 'L_POSTER' => colorize_username($comment['user_id'], $comment['username'], $comment['user_color'], $comment['user_active']), 'BODY' => $comment['post_text'])); } } }
function cms_block_kb() { global $db, $cache, $config, $template, $theme, $images, $table_prefix, $user, $lang, $block_id, $cms_config_vars; global $ip_cms; if (!class_exists('class_topics')) { include IP_ROOT_PATH . 'includes/class_topics.' . PHP_EXT; } $class_topics = new class_topics(); @(include_once IP_ROOT_PATH . ATTACH_MOD_PATH . 'displaying.' . PHP_EXT); $template->_tpldata['kb_list.'] = array(); $template->_tpldata['kb_article.'] = array(); $template->_tpldata['cat_row.'] = array(); $template->_tpldata['menu_row.'] = array(); $template->set_filenames(array('kb_block' => 'blocks/kb_block.tpl')); $template->assign_vars(array('L_COMMENTS' => $lang['Comments'], 'L_VIEW_COMMENTS' => $lang['View_comments'], 'L_POST_COMMENT' => $lang['Post_your_comment'], 'L_POSTED' => $lang['Posted'], 'L_ANNOUNCEMENT' => $lang['Post_Announcement'], 'L_REPLIES' => $lang['Replies'], 'L_REPLY_ARTICLE' => $lang['Article_Reply'], 'L_PRINT_ARTICLE' => $lang['Article_Print'], 'L_EMAIL_ARTICLE' => $lang['Article_Email'], 'L_TOPIC' => $lang['Topic'], 'L_ARTICLES' => $lang['Articles'], 'L_TIME' => $lang['Articles_time'], 'L_OPTIONS' => $lang['Articles_options'], 'MINIPOST_IMG' => $images['icon_minipost'], 'ARTICLE_COMMENTS_IMG' => $images['vf_topic_nor'], 'ARTICLE_REPLY_IMG' => $images['news_reply'], 'ARTICLE_PRINT_IMG' => $images['news_print'], 'ARTICLE_EMAIL_IMG' => $images['news_email'])); if (isset($_GET['kb']) && $_GET['kb'] == 'article') { $template->assign_block_vars('kb_article', array()); $forum_id = request_var(POST_FORUM_URL, 0); // Mighty Gorgon: edited by JHL, I still need to check the impacts on the auth system //$fetchposts = $class_topics->fetch_posts($forum_id, 0, 0, false, false, false, false); $fetchposts = $class_topics->fetch_posts($forum_id, 0, 0); $id = isset($_GET[POST_TOPIC_URL]) ? intval($_GET[POST_TOPIC_URL]) : intval($_POST[POST_TOPIC_URL]); $i = 0; while ($fetchposts[$i]['topic_id'] != $id) { $i++; } init_display_post_attachments($fetchposts[$i]['topic_attachment'], $fetchposts[$i], true, $block_id); $template->assign_vars(array('TOPIC_ID' => $fetchposts[$i]['topic_id'], 'KB_TITLE' => $fetchposts[$i]['topic_title'], 'TOPIC_DESC' => $fetchposts[$i]['topic_desc'], 'POSTER' => $fetchposts[$i]['username'], 'POSTER_CG' => colorize_username($fetchposts[$i]['user_id'], $fetchposts[$i]['username'], $fetchposts[$i]['user_color'], $fetchposts[$i]['user_active']), 'TIME' => $fetchposts[$i]['topic_time'], 'TEXT' => $fetchposts[$i]['post_text'], 'REPLIES' => $fetchposts[$i]['topic_replies'], 'U_VIEW_COMMENTS' => append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_FORUM_URL . '=' . $forum_id . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id'], true), 'U_POST_COMMENT' => append_sid('posting.' . PHP_EXT . '?mode=reply&' . POST_FORUM_URL . '=' . $forum_id . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id']), 'U_PRINT_TOPIC' => append_sid('printview.' . PHP_EXT . '?' . POST_FORUM_URL . '=' . $forum_id . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id'] . '&start=0'), 'U_EMAIL_TOPIC' => append_sid('tellafriend.' . PHP_EXT . '?topic_title=' . urlencode(ip_utf8_decode($fetchposts[$i]['topic_title'])) . '&topic_id=' . $fetchposts[$i]['topic_id']))); display_attachments($fetchposts[$i]['post_id'], 'articles_fp'); } else { if (isset($_GET['kb']) && $_GET['kb'] == 'category') { $template->assign_block_vars('kb_list', array()); $forum_id = request_var(POST_FORUM_URL, 0); // Mighty Gorgon: edited by JHL, I still need to check the impacts on the auth system //$fetchposts = $class_topics->fetch_posts($forum_id, 0, 0, false, false, false, false); $fetchposts = $class_topics->fetch_posts($forum_id, 0, 0); for ($i = 0; $i < sizeof($fetchposts); $i++) { init_display_post_attachments($fetchposts[$i]['topic_attachment'], $fetchposts[$i], true, $block_id); $template->assign_block_vars('kb_list.kb_articles', array('TOPIC_ID' => $fetchposts[$i]['topic_id'], 'TOPIC_TITLE' => $fetchposts[$i]['topic_title'], 'TOPIC_DESC' => $fetchposts[$i]['topic_desc'], 'POSTER' => $fetchposts[$i]['username'], 'POSTER_CG' => colorize_username($fetchposts[$i]['user_id'], $fetchposts[$i]['username'], $fetchposts[$i]['user_color'], $fetchposts[$i]['user_active']), 'TIME' => $fetchposts[$i]['topic_time'], 'REPLIES' => $fetchposts[$i]['topic_replies'], 'U_VIEW_ARTICLE' => append_sid($_SERVER['SCRIPT_NAME'] . '?kb=article&f=' . $forum_id . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id'], true), 'U_VIEW_COMMENTS' => append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_FORUM_URL . '=' . $forum_id . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id'], true), 'U_POST_COMMENT' => append_sid('posting.' . PHP_EXT . '?mode=reply&' . POST_FORUM_URL . '=' . $forum_id . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id']), 'U_PRINT_TOPIC' => append_sid('printview.' . PHP_EXT . '?' . POST_FORUM_URL . '=' . $forum_id . '&' . POST_TOPIC_URL . '=' . $fetchposts[$i]['topic_id'] . '&start=0'), 'U_EMAIL_TOPIC' => append_sid('tellafriend.' . PHP_EXT . '?topic_title=' . urlencode(ip_utf8_decode($fetchposts[$i]['topic_title'])) . '&topic_id=' . $fetchposts[$i]['topic_id']))); display_attachments($fetchposts[$i]['post_id'], 'articles_fp'); } $template->assign_vars(array('KB_TITLE' => $lang['Kb_name'])); } else { $template->assign_block_vars('cat_row', array()); $sql = "SELECT * FROM " . CMS_NAV_MENU_TABLE . "\n\t\t\t\t\t\t\tWHERE menu_id = '" . intval($cms_config_vars['kb_cat_id'][$block_id]) . "'\n\t\t\t\t\t\t\tLIMIT 1"; $result = $db->sql_query($sql, 0, 'cms_menu_', CMS_CACHE_FOLDER); //$row = $db->sql_fetchrow($result); while ($row = $db->sql_fetchrow($result)) { break; } $db->sql_freeresult($result); if ($row['menu_name_lang'] != '' && isset($lang[$row['menu_name_lang']])) { $main_menu_name = $lang[$row['menu_name_lang']]; } else { $main_menu_name = $row['menu_name'] != '' ? $row['menu_name'] : $lang['quick_links']; } $sql = "SELECT * FROM " . CMS_NAV_MENU_TABLE . "\n\t\t\t\t\t\t\tWHERE menu_parent_id = '" . intval($cms_config_vars['kb_cat_id'][$block_id]) . "'\n\t\t\t\t\t\t\tORDER BY cat_parent_id ASC, menu_order ASC"; $result = $db->sql_query($sql, 0, 'cms_menu_', CMS_CACHE_FOLDER); $menu_cat = array(); $cat_item = array(); $menu_item = array(); $auth_levels = $ip_cms->cms_auth_view(); while ($menu_item = $db->sql_fetchrow($result)) { if ($menu_item['cat_id'] > 0) { $cat_item[$menu_item['cat_id']] = $menu_item; } if ($menu_item['cat_parent_id'] > 0) { $menu_cat[$menu_item['cat_parent_id']][$menu_item['menu_item_id']] = $menu_item; } } $db->sql_freeresult($result); foreach ($cat_item as $cat_item_data) { if ($cat_item_data['menu_status'] == false) { $cat_allowed = false; } else { $auth_level_req = $cat_item_data['auth_view']; $cat_allowed = in_array($auth_level_req, $auth_levels) ? true : false; } if (!empty($cat_allowed)) { //echo($cat_item_data['menu_name'] . '<br />'); $cat_id = $cat_item_data['cat_id']; if ($cat_item_data['menu_name_lang'] != '' && isset($lang[$cat_item_data['menu_name_lang']])) { $cat_name = $lang[$cat_item_data['menu_name_lang']]; } else { $cat_name = $cat_item_data['menu_name'] != '' ? stripslashes($cat_item_data['menu_name']) : 'cat_item' . $cat_item_data['cat_id']; } $cat_icon = $cat_item_data['menu_icon'] != '' ? '<img src="' . $cat_item_data['menu_icon'] . '" alt="" title="' . $cat_name . '" style="vertical-align:middle;" /> ' : '<img src="' . $images['nav_menu_sep'] . '" alt="" title="" style="vertical-align:middle;" /> '; //$cat_icon = (($cat_item_data['menu_icon'] != '') ? '<img src="' . $cat_item_data['menu_icon'] . '" alt="" title="' . $cat_name . '" style="vertical-align:middle;" /> ' : ' '); if ($cat_item_data['menu_link'] != '') { $cat_link = append_sid($cat_item_data['menu_link']); if ($cat_item_data['menu_link_external'] == true) { $cat_link .= '" target="_blank'; } } $template->assign_block_vars('cat_row', array('CAT_ID' => $cat_item_data['cat_id'], 'CAT_ITEM' => $cat_name, 'CAT_ICON' => $cat_icon)); foreach ($menu_cat[$cat_id] as $menu_cat_item_data) { if ($menu_cat_item_data['menu_status'] == false) { $menu_allowed = false; } else { $auth_level_req = $menu_cat_item_data['auth_view']; $menu_allowed = in_array($auth_level_req, $auth_levels) ? true : false; } if (!empty($menu_allowed)) { //echo($menu_cat_item_data['menu_name'] . '<br />'); if ($menu_cat_item_data['menu_name_lang'] != '' && isset($lang[$menu_cat_item_data['menu_name_lang']])) { $menu_name = $lang[$menu_cat_item_data['menu_name_lang']]; } else { $menu_name = $menu_cat_item_data['menu_name'] != '' ? stripslashes($menu_cat_item_data['menu_name']) : 'cat_item' . $menu_cat_item_data['cat_id']; } if ($menu_cat_item_data['menu_link_external'] == true) { $menu_link .= '" target="_blank'; $menu_link = $menu_cat_item_data['menu_link']; } else { $menu_link = append_sid($menu_cat_item_data['menu_link']); } $menu_icon = $menu_cat_item_data['menu_icon'] != '' ? '<img src="' . $menu_cat_item_data['menu_icon'] . '" alt="" title="' . $menu_name . '" style="vertical-align:middle;" />' : '<img src="' . $images['nav_menu_sep'] . '" alt="" title="" style="vertical-align:middle;" />'; $menu_desc = $menu_cat_item_data['menu_desc']; $template->assign_block_vars('cat_row.menu_row', array('MENU_ITEM' => $menu_name, 'MENU_LINK' => $menu_link, 'MENU_ICON' => $menu_icon, 'MENU_DESC' => $menu_desc)); } } } } $template->assign_vars(array('KB_TITLE' => $lang['Kb_name'])); } } }
$sql = "SELECT p.*, u.username, u.user_active, u.user_color, u.user_level, u.user_avatar_type, u.user_allowavatar, u.user_avatar FROM " . PROFILE_VIEW_TABLE . " p, " . USERS_TABLE . " u WHERE p.viewer_id = u.user_id AND p.user_id = " . $user_id . " ORDER BY p.view_stamp DESC LIMIT " . $start . ", " . $config['posts_per_page']; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $viewer = $row['viewer_id']; $viewer_avatar = user_get_avatar($row['viewer_id'], $row['user_level'], $row['user_avatar'], $row['user_avatar_type'], $row['user_allowavatar']); $template->assign_block_vars('row', array( 'AVATAR' => $viewer_avatar, 'VIEW_BY' => colorize_username($viewer, $row['username'], $row['user_color'], $row['user_active']), 'NUMBER' => $row['counter'], 'STAMP' => create_date_ip($user->data['user_dateformat'], $row['view_stamp'], $user->data['user_timezone']) ) ); } $template->assign_vars(array( 'PAGINATION' => generate_pagination('profile_view_user.' . PHP_EXT . '?' . POST_USERS_URL . '=' . $user_id, $total, $config['posts_per_page'], $start), 'PROFILE' => '<a href="' . append_sid(CMS_PAGE_PROFILE . '?mode=viewprofile&' . POST_USERS_URL . '=' . $user_id) . '" class="nav-current">' . $profile['username'] . '</a>', 'L_VIEW_TITLE' => $meta_content['page_title'], 'L_VIEWER' => $lang['Username'], 'L_NUMBER' => $lang['Views'], 'L_STAMP' => $lang['Last_updated'] ) );
$template->assign_block_vars('switch_hidden_group', array()); $template->assign_vars(array('PAGINATION' => ' ', 'PAGE_NUMBER' => ' ', 'L_HIDDEN_MEMBERS' => $lang['Group_hidden_members'])); } // We've displayed the members who belong to the group, now we do that pending memebers... if ($is_moderator) { // Users pending in ONLY THIS GROUP (which is moderated by this user) if ($modgroup_pending_count) { $row_class = ''; for ($i = 0; $i < $modgroup_pending_count; $i++) { $username = $modgroup_pending_list[$i]['username']; $user_id = $modgroup_pending_list[$i]['user_id']; $user_info = array(); $user_info = generate_user_info($modgroup_pending_list[$i], $config['default_dateformat'], $is_moderator); $row_class = ip_zebra_rows($row_class); $user_select = '<input type="checkbox" name="member[]" value="' . $user_id . '">'; $template->assign_block_vars('pending_members_row', array('ROW_CLASS' => $row_class, 'USER_ID' => $user_id, 'USERNAME' => colorize_username($modgroup_pending_list[$i]['user_id'], $modgroup_pending_list[$i]['username'], $modgroup_pending_list[$i]['user_color'], $modgroup_pending_list[$i]['user_active']), 'FROM' => $user_info['from'], 'JOINED' => $user_info['joined'], 'POSTS' => $user_info['posts'], 'AVATAR_IMG' => $user_info['avatar'], 'AGE' => $user_info['age'], 'GENDER' => $user_info['gender'], 'STYLE' => $user_info['style'], 'PROFILE_IMG' => $user_info['profile_img'], 'PROFILE_URL' => $user_info['profile_url'], 'PROFILE' => $user_info['profile'], 'SEARCH_IMG' => $user_info['search_img'], 'SEARCH_URL' => $user_info['search_url'], 'SEARCH' => $user_info['search'], 'PM_IMG' => $user_info['pm_img'], 'PM_URL' => $user_info['pm_url'], 'PM' => $user_info['pm'], 'EMAIL_IMG' => $user_info['email_img'], 'EMAIL_URL' => $user_info['email_url'], 'EMAIL' => $user_info['email'], 'WWW_IMG' => $user_info['www_img'], 'WWW_URL' => $user_info['www_url'], 'WWW' => $user_info['www'], 'AIM_IMG' => $user_info['aim_img'], 'AIM_URL' => $user_info['aim_url'], 'AIM' => $user_info['aim'], 'ICQ_STATUS_IMG' => $user_info['icq_status_img'], 'ICQ_IMG' => $user_info['icq_img'], 'ICQ_URL' => $user_info['icq_url'], 'ICQ' => $user_info['icq'], 'MSN_IMG' => $user_info['msn_img'], 'MSN_URL' => $user_info['msn_url'], 'MSN' => $user_info['msn'], 'SKYPE_IMG' => $user_info['skype_img'], 'SKYPE_URL' => $user_info['skype_url'], 'SKYPE' => $user_info['skype'], 'YIM_IMG' => $user_info['yahoo_img'], 'YIM_URL' => $user_info['yahoo_url'], 'YIM' => $user_info['yahoo'], 'ONLINE_STATUS_IMG' => $user_info['online_status_img'], 'ONLINE_STATUS_CLASS' => $user_info['online_status_class'], 'ONLINE_STATUS_URL' => $user_info['online_status_url'], 'ONLINE_STATUS' => $user_info['online_status'], 'L_ONLINE_STATUS' => $user_info['online_status_lang'], 'U_VIEWPROFILE' => append_sid(CMS_PAGE_PROFILE . '?mode=viewprofile&' . POST_USERS_URL . '=' . $user_id))); } $template->assign_block_vars('switch_pending_members', array()); $template->assign_vars(array('L_SELECT' => $lang['Select'], 'L_APPROVE_SELECTED' => $lang['Approve_selected'], 'L_DENY_SELECTED' => $lang['Deny_selected'])); $template->assign_var_from_handle('PENDING_USER_BOX', 'pendinginfo'); } } if ($is_moderator) { $template->assign_block_vars('switch_mod_option', array()); $template->assign_block_vars('switch_add_member', array()); } if ($user->data['user_level'] == ADMIN) { $template->assign_block_vars('switch_mod_option.switch_admin', array()); } $template->pparse('info'); } else {
$news_label = ''; $word_censor = censor_text($topic['topic_title']); $topic_title = ((empty($topic['title_compl_infos'])) ? '' : $topic['title_compl_infos'] . ' ') . ((strlen($topic['topic_title']) < $topic_length) ? $word_censor : substr(stripslashes($word_censor), 0, $topic_length) . '...'); $topic_link = $class_topics->build_topic_icon_link($forum_id, $topic['topic_id'], $topic['topic_type'], $topic['topic_reg'], $topic['topic_replies'], $topic['news_id'], $topic['poll_start'], $topic['topic_status'], $topic['topic_moved_id'], $topic['post_time'], $user_replied, $replies); $topic_id = $topic_link['topic_id']; $topic_id_append = $topic_link['topic_id_append']; $topic_pagination = generate_topic_pagination($forum_id, $topic_id, $replies); $first_time = create_date_ip($lang['DATE_FORMAT_VF'], $topic['topic_time'], $config['board_timezone'], true); $first_author = ($topic['first_poster_id'] != ANONYMOUS) ? colorize_username($topic['topic_first_poster_id'], $topic['topic_first_poster_name'], $topic['topic_first_poster_color'], 1) : (($topic['topic_first_poster_name'] != '') ? $topic['topic_first_poster_name'] : $lang['Guest']); $last_time = create_date_ip($config['default_dateformat'], $topic['topic_last_post_time'], $config['board_timezone']); $last_author = ($topic['topic_last_poster_id'] != ANONYMOUS) ? colorize_username($topic['topic_last_poster_id'], $topic['topic_last_poster_name'], $topic['topic_last_poster_color'], 1) : (($topic['topic_last_poster_name'] != '') ? $topic['topic_last_poster_name'] : $lang['Guest']); $last_url = '<a href="' . append_sid(CMS_PAGE_VIEWTOPIC . '?' . $forum_id_append . '&' . $topic_id_append . '&' . POST_POST_URL . '=' . $topic['topic_last_post_id']) . '#p' . $topic['topic_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>'; $topic_tags_links = $class_topics_tags->build_tags_list_single_topic($topic['topic_tags']); // Convert and clean special chars! $topic_title = htmlspecialchars_clean($topic_title); $template->assign_block_vars('row', array( 'CLASS' => $class, 'ROW_NUMBER' => $i + 1, 'TOPIC_ID' => $topic_id, 'TOPIC_FOLDER_IMG' => $topic_link['image'], 'L_TOPIC_FOLDER_ALT' => $topic_link['image_alt'], 'TOPIC_TITLE' => $topic_title, 'TOPIC_TYPE' => $topic_link['type'],
{ $topic_id = $topic_link['topic_id']; } $topic_id_append = $topic_link['topic_id_append']; $topic_pagination = generate_topic_pagination($forum_id, $topic_id, $replies); $first_post_time = create_date_ip($config['default_dateformat'], $topic_rowset[$i]['topic_time'], $config['board_timezone']); //$first_post_author = ($topic_rowset[$i]['topic_starter_id'] == ANONYMOUS) ? (($topic_rowset[$i]['topic_starter_guest'] != '') ? $topic_rowset[$i]['topic_starter_guest'] . ' ' : $lang['Guest'] . ' ') : '<a href="' . append_sid(CMS_PAGE_PROFILE . '?mode=viewprofile&' . POST_USERS_URL . '=' . $topic_rowset[$i]['topic_starter_id']) . '">' . $topic_rowset[$i]['topic_starter'] . '</a> '; $first_post_author = colorize_username($topic_rowset[$i]['topic_starter_id'], $topic_rowset[$i]['topic_starter'], $topic_rowset[$i]['topic_starter_color'], $topic_rowset[$i]['topic_starter_active']); $first_post_url = ($type == 'shadow') ? '' : '<a href="' . append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_TOPIC_URL . '=' . $topic_id) . '"><img src="' . $images['icon_latest_reply'] . '" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>'; $last_post_time = create_date_ip($config['default_dateformat'], $topic_rowset[$i]['post_time'], $config['board_timezone']); //$last_post_author = ($topic_rowset[$i]['user_id'] == ANONYMOUS) ? (($topic_rowset[$i]['post_username'] != '') ? $topic_rowset[$i]['post_username'] . ' ' : $lang['Guest'] . ' ') : '<a href="' . append_sid(CMS_PAGE_PROFILE . '?mode=viewprofile&' . POST_USERS_URL . '=' . $topic_rowset[$i]['user_id']) . '">' . $topic_rowset[$i]['username'] . '</a> '; $last_post_author = colorize_username($topic_rowset[$i]['user_id'], $topic_rowset[$i]['username'], $topic_rowset[$i]['user_color'], $topic_rowset[$i]['user_active']); $last_post_url = '<a href="' . append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']) . '#p' . $topic_rowset[$i]['topic_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>'; $u_view_topic = 'modcp.' . PHP_EXT . '?mode=split&' . POST_TOPIC_URL . '=' . $topic_id . '&sid=' . $user->data['session_id']; $topic_replies = $topic_rowset[$i]['topic_replies']; $last_post_time = create_date_ip($config['default_dateformat'], $topic_rowset[$i]['post_time'], $config['board_timezone']); $template->assign_block_vars('topicrow', array( 'U_VIEW_TOPIC' => $u_view_topic, 'TOPIC_ID' => $topic_id, 'TOPIC_FOLDER_IMG' => $topic_link['image'], 'L_TOPIC_FOLDER_ALT' => $topic_link['image_alt'], 'TOPIC_AUTHOR' => $topic_author, 'TOPIC_TITLE' => $topic_title, 'TOPIC_TYPE' => $topic_link['type'],
echo "\t\t</td>"; echo "\t</tr>"; $q1 = "SELECT *\n\t\tFROM " . FORCE_READ_USERS_TABLE . "\n\t\tGROUP BY user\n\t\tORDER BY time ASC\n\t\tLIMIT {$start}, {$show}"; $r1 = $db->sql_query($q1); while ($row1 = $db->sql_fetchrow($r1)) { $target_user = $row1['user']; $time = $row1['time']; $time = strftime("%b. %d, %Y @ %H:%M:%S", $time); $q = "SELECT username, user_color, user_active\n\t\t\tFROM " . USERS_TABLE . "\n\t\t\tWHERE user_id = " . $target_user; $r = $db->sql_query($q); $row = $db->sql_fetchrow($r); $name = $row['username']; echo "\t<tr>"; echo "\t\t<td class=\"row2\" width=\"50%\" valign=\"middle\">"; echo "\t\t\t<span class=\"genmed\">"; echo "\t\t\t\t" . colorize_username($target_user, $name, $row['user_color'], $row['user_active']) . " [<a href=\"" . append_sid($_SERVER['SCRIPT_NAME'] . "?mode=delete_user&user="******"\">" . $lang['Delete'] . "</a>]"; echo "\t\t\t</span>"; echo "\t\t</td>"; echo "\t\t<td class=\"row2\" width=\"50%\" valign=\"middle\">"; echo "\t\t\t<span class=\"genmed\">"; echo "\t\t\t\t{$time}"; echo "\t\t\t</span>"; echo "\t\t</td>"; echo "\t</tr>"; } echo "</table>"; } elseif ($mode == 'config') { if ($update == 'new_effected') { $new = $_POST['effected']; $new = !$new ? '0' : $new; set_config('ftr_all_users', $new);
function cms_block_album() { global $db, $cache, $config, $template, $theme, $images, $user, $lang, $table_prefix, $block_id, $cms_config_vars, $cms_config_layouts, $cms_page, $album_config; $cms_page_id_tmp = 'album'; $cms_auth_level_tmp = isset($cms_config_layouts[$cms_page_id_tmp]['view']) ? $cms_config_layouts[$cms_page_id_tmp]['view'] : AUTH_ALL; $process_block = check_page_auth($cms_page_id_tmp, $cms_auth_level_tmp, true); if (!$process_block) { return; } if (!defined('IMG_THUMB')) { define('IMG_THUMB', true); } $template->_tpldata['recent_pics.'] = array(); $template->_tpldata['recent_details.'] = array(); $template->_tpldata['no_pics'] = array(); /* echo($cms_config_vars['md_pics_all'][$block_id] . '<br />'); echo($cms_config_vars[$block_id . '_' . 'md_pics_all']); exit; */ include_once ALBUM_MOD_PATH . 'album_common.' . PHP_EXT; global $album_config; $sql = "SELECT c.*, COUNT(p.pic_id) AS count\n\t\t\t\tFROM " . ALBUM_CAT_TABLE . " AS c\n\t\t\t\t\tLEFT JOIN " . ALBUM_TABLE . " AS p ON c.cat_id = p.pic_cat_id\n\t\t\t\t" . ($cms_config_vars['md_pics_all'][$block_id] == '1' ? '' : 'WHERE cat_user_id = 0') . "\n\t\t\t\tGROUP BY cat_id\n\t\t\t\tORDER BY cat_order ASC"; $result = $db->sql_query($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 ($cms_config_vars['md_pics_all'][$block_id] == '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 < sizeof($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) { // // Oh, this 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 || $catrows[$i]['cat_approval'] == ALBUM_MOD) { $pic_approval_sql = 'AND p.pic_approval = 1'; // Pic Approval ON } else { $pic_approval_sql = ''; // Pic Approval OFF } } } if ($cms_config_vars['md_pics_all'][$block_id] == '1') { $pics_allowed = '0'; } else { $pics_allowed = ''; } $no_pics = false; if ($allowed_cat != $pics_allowed) { $category_id = $cms_config_vars['md_cat_id'][$block_id]; if ($cms_config_vars['md_pics_sort'][$block_id] == '1') { if ($category_id != 0) { $sql = "SELECT p.*, u.user_id, u.username, u.user_active, u.user_color, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments\n\t\t\t\t\t\tFROM " . ALBUM_TABLE . " AS p\n\t\t\t\t\t\t\tLEFT JOIN " . USERS_TABLE . " AS u ON p.pic_user_id = u.user_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_CAT_TABLE . " AS ct ON p.pic_cat_id = ct.cat_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_RATE_TABLE . " AS r ON p.pic_id = r.rate_pic_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_COMMENT_TABLE . " AS c ON p.pic_id = c.comment_pic_id\n\t\t\t\t\t\tWHERE p.pic_cat_id IN ({$allowed_cat}) AND (p.pic_approval = 1 OR ct.cat_approval = 0) AND pic_cat_id IN ({$category_id})\n\t\t\t\t\t\tGROUP BY p.pic_id\n\t\t\t\t\t\tORDER BY RAND()\n\t\t\t\t\t\tLIMIT " . $cms_config_vars['md_pics_number'][$block_id]; } else { $sql = "SELECT p.*, u.user_id, u.username, u.user_active, u.user_color, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments\n\t\t\t\t\t\tFROM " . ALBUM_TABLE . " AS p\n\t\t\t\t\t\t\tLEFT JOIN " . USERS_TABLE . " AS u ON p.pic_user_id = u.user_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_CAT_TABLE . " AS ct ON p.pic_cat_id = ct.cat_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_RATE_TABLE . " AS r ON p.pic_id = r.rate_pic_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_COMMENT_TABLE . " AS c ON p.pic_id = c.comment_pic_id\n\t\t\t\t\t\tWHERE p.pic_cat_id IN ({$allowed_cat}) AND (p.pic_approval = 1 OR ct.cat_approval = 0)\n\t\t\t\t\t\tGROUP BY p.pic_id\n\t\t\t\t\t\tORDER BY RAND()\n\t\t\t\t\t\tLIMIT " . $cms_config_vars['md_pics_number'][$block_id]; } } elseif ($cms_config_vars['md_pics_sort'][$block_id] == '0') { if ($category_id != 0) { $sql = "SELECT p.*, u.user_id, u.username, u.user_active, u.user_color, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments\n\t\t\t\t\t\tFROM " . ALBUM_TABLE . " AS p\n\t\t\t\t\t\t\tLEFT JOIN " . USERS_TABLE . " AS u ON p.pic_user_id = u.user_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_CAT_TABLE . " AS ct ON p.pic_cat_id = ct.cat_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_RATE_TABLE . " AS r ON p.pic_id = r.rate_pic_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_COMMENT_TABLE . " AS c ON p.pic_id = c.comment_pic_id\n\t\t\t\t\t\tWHERE p.pic_cat_id IN ({$allowed_cat}) AND (p.pic_approval = 1 OR ct.cat_approval = 0) AND pic_cat_id IN ({$category_id})\n\t\t\t\t\t\tGROUP BY p.pic_id\n\t\t\t\t\t\tORDER BY pic_time DESC\n\t\t\t\t\t\tLIMIT " . $cms_config_vars['md_pics_number'][$block_id]; } else { $sql = "SELECT p.*, u.user_id, u.username, u.user_active, u.user_color, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments\n\t\t\t\t\t\tFROM " . ALBUM_TABLE . " AS p\n\t\t\t\t\t\t\tLEFT JOIN " . USERS_TABLE . " AS u ON p.pic_user_id = u.user_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_CAT_TABLE . " AS ct ON p.pic_cat_id = ct.cat_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_RATE_TABLE . " AS r ON p.pic_id = r.rate_pic_id\n\t\t\t\t\t\t\tLEFT JOIN " . ALBUM_COMMENT_TABLE . " AS c ON p.pic_id = c.comment_pic_id\n\t\t\t\t\t\tWHERE p.pic_cat_id IN ({$allowed_cat}) AND (p.pic_approval = 1 OR ct.cat_approval = 0)\n\t\t\t\t\t\tGROUP BY p.pic_id\n\t\t\t\t\t\tORDER BY pic_time DESC\n\t\t\t\t\t\tLIMIT " . $cms_config_vars['md_pics_number'][$block_id]; } } $result = $db->sql_query($sql); $recentrow = array(); while ($row = $db->sql_fetchrow($result)) { $recentrow[] = $row; } $db->sql_freeresult($result); $total_pics = sizeof($recentrow); if ($total_pics > 0) { $total_rows = ceil($total_pics / $cms_config_vars['md_pics_rows_number'][$block_id]); $total_cols = ceil($total_pics / $cms_config_vars['md_pics_cols_number'][$block_id]); $image_counter = 0; while ($image_counter < $total_pics) { for ($i = 0; $i < $cms_config_vars['md_pics_rows_number'][$block_id]; $i++) { $template->assign_block_vars('recent_pics', array()); for ($j = 0; $j < $cms_config_vars['md_pics_cols_number'][$block_id]; $j++) { if ($image_counter >= $total_pics) { $template->assign_block_vars('recent_pics.recent_no_detail', array()); } else { if (!$recentrow[$image_counter]['rating']) { $recentrow[$image_counter]['rating'] = $lang['Not_rated']; } else { $recentrow[$image_counter]['rating'] = round($recentrow[$image_counter]['rating'], 2); } if ($recentrow[$image_counter]['user_id'] == ALBUM_GUEST || $recentrow[$image_counter]['username'] == '') { $recent_poster = $recentrow[$image_counter]['pic_username'] == '' ? $lang['Guest'] : $recentrow[$image_counter]['pic_username']; } else { $recent_poster = colorize_username($recentrow[$image_counter]['user_id'], $recentrow[$image_counter]['username'], $recentrow[$image_counter]['user_color'], $recentrow[$image_counter]['user_active']); } $thumbnail_file = append_sid(album_append_uid('album_thumbnail.' . PHP_EXT . '?pic_id=' . $recentrow[$image_counter]['pic_id'])); if ($album_config['thumbnail_cache'] == true && $album_config['quick_thumbs'] == true) { $thumbnail_file = picture_quick_thumb($recentrow[$image_counter]['pic_filename'], $recentrow[$image_counter]['pic_thumbnail'], $thumbnail_file); } $pic_sp_link = append_sid(album_append_uid('album_showpage.' . PHP_EXT . '?pic_id=' . $recentrow[$image_counter]['pic_id'])); $pic_dl_link = append_sid(album_append_uid('album_pic.' . PHP_EXT . '?pic_id=' . $recentrow[$image_counter]['pic_id'])); $template->assign_block_vars('recent_pics.recent_detail', array('U_PIC' => $album_config['fullpic_popup'] ? $pic_dl_link : $pic_sp_link, 'U_PIC_SP' => $pic_sp_link, 'U_PIC_DL' => $pic_dl_link, 'IS_FIRST_PIC' => $image_counter == 0 ? true : false, 'THUMBNAIL' => $thumbnail_file, 'DESC' => $recentrow[$image_counter]['pic_desc'], 'TITLE' => $recentrow[$image_counter]['pic_title'], 'POSTER' => $recent_poster, 'TIME' => create_date_ip($config['default_dateformat'], $recentrow[$image_counter]['pic_time'], $config['board_timezone']), 'VIEW' => $recentrow[$image_counter]['pic_view_count'], 'RATING' => $album_config['rate'] == 1 ? $lang['Rating'] . ': ' . $recentrow[$image_counter]['rating'] . '<br />' : '', 'COMMENTS' => $album_config['comment'] == 1 ? $lang['Comments'] . ': ' . $recentrow[$image_counter]['comments'] . '<br />' : '')); if ($image_counter == 0) { $template->assign_vars(array('HS_GALLERY_ID' => 'hs_gallery_id_' . $recentrow[$image_counter]['pic_id'], 'HS_PIC_ID' => 'hs_pic_id_' . $recentrow[$image_counter]['pic_id'], 'HS_PIC_TITLE' => $recentrow[$image_counter]['pic_title'], 'HS_PIC_FULL' => $pic_dl_link, 'HS_PIC_THUMB' => $thumbnail_file)); } } $image_counter++; } } } } else { // No Pics Found $template->assign_block_vars('no_pics', array()); $no_pics = true; } } else { // No Cats Found $template->assign_block_vars('no_pics', array()); $no_pics = true; } $template->assign_vars(array('S_COL_WIDTH' => 100 / ($cms_config_vars['md_pics_cols_number'][$block_id] == 0 ? 4 : $cms_config_vars['md_pics_cols_number'][$block_id]) . '%', 'S_THUMBNAIL_SIZE' => $album_config['thumbnail_size'], 'TARGET_BLANK' => $album_config['fullpic_popup'] ? 'target="_blank"' : '', 'S_HIGHSLIDE' => !empty($config['thumbnail_highslide']) ? true : false, 'S_HIGHSLIDER' => !empty($cms_config_vars['md_pics_slider'][$block_id]) ? true : false, 'S_JQ_NIVO_SLIDER' => !empty($cms_config_vars['md_pics_slider'][$block_id]) ? true : false, 'S_SLIDER_ID' => 'cms_slider_' . $block_id, 'S_NO_PICS' => !empty($no_pics) ? true : false, 'L_NO_PICS' => $lang['No_Pics'], 'L_PIC_TITLE' => $lang['Pic_Title'], 'L_VIEW' => $lang['View'], 'L_POSTER' => $lang['Poster'], 'L_POSTED' => $lang['Posted'], 'U_ALBUM' => append_sid('album.' . PHP_EXT), 'L_ALBUM' => $lang['Album'])); }
$proof .= " AND u.username NOT LIKE '" . chr($i) . "%' "; } $alpha_where = $alphanum == '0' ? $proof : ($alphanum != '' ? "AND u.username LIKE '" . $db->sql_escape($alphanum) . "%'" : ''); $user_where = !empty($user_search) ? " AND u.username LIKE ('" . $db->sql_escape($user_search) . "'%)" : ''; $per_page = $config['topics_per_page']; if ($sort_item == 'user_modules') { $sql = "SELECT u.username, u.user_id, u.user_active, u.user_color, u.user_rank, u.user_allow_pm, u.user_allowavatar\n\t\t\tFROM " . USERS_TABLE . " u, " . JR_ADMIN_TABLE . " j\n\t\t\tWHERE u.user_id <> " . ANONYMOUS . "\n\t\t\t{$alpha_where}\n\t\t\t{$user_where}\n\t\t\t\tAND j.user_id = u.user_id\n\t\t\tORDER BY u.username ASC\n\t\t\tLIMIT {$start}, {$per_page}"; } else { $sql = "SELECT u.username, u.user_id, u.user_active, u.user_color, u.user_rank, u.user_allow_pm, u.user_allowavatar\n\t\t\tFROM " . USERS_TABLE . " u\n\t\t\tWHERE u.user_id <> " . ANONYMOUS . "\n\t\t\t{$alpha_where}\n\t\t\t{$user_where}\n\t\t\tORDER BY u." . $sort_item . " " . $order . "\n\t\t\tLIMIT {$start}, {$per_page}"; } $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $jr_admin_row = jr_admin_get_user_info($row['user_id']); $module_count = !empty($jr_admin_row['user_jr_admin']) ? sizeof(explode(EXPLODE_SEPARATOR_CHAR, $jr_admin_row['user_jr_admin'])) : 0; $block_text = 'userrow'; $template->assign_block_vars($block_text, array('USERNAME_FULL' => colorize_username($row['user_id'], $row['username'], $row['user_color'], $row['user_active']), 'NAME' => $row['username'], 'ID' => $row['user_id'], 'ALLOW_PM' => $row['user_allow_pm'] ? 'checked="checked"' : '', 'ALLOW_AVATAR' => $row['user_allowavatar'] ? 'checked="checked"' : '', 'ACTIVE' => $row['user_active'] ? 'checked="checked"' : '', 'ROW_CLASS' => $i++ % 2 ? 'row1' : 'row2', 'RANK_LIST' => jr_admin_make_rank_list($row['user_id'], $row['user_rank']), 'BOOKMARK' => !$assigned_current_letter_link ? '<a name="' . $current_letter . '">' : '', 'BOOKMARK_END' => !$assigned_current_letter_link ? '</a>' : '', 'MODULES' => $module_count != 0 ? sprintf($lang['Modules_Owned'], $module_count) : ' ', 'MODULE_COUNT' => $module_count != 0 ? sprintf($lang['Modules_Owned'], $module_count) : '')); //We 'know' we assigned it if it wasn't already now $assigned_current_letter_link = true; } if ($sort_item == 'user_modules') { $sql = "SELECT u.user_id\n\t\t\tFROM " . USERS_TABLE . " u, " . JR_ADMIN_TABLE . " j\n\t\t\tWHERE u.user_id <> " . ANONYMOUS . "\n\t\t\t{$alpha_where}\n\t\t\t{$user_where}\n\t\t\t\tAND j.user_id = u.user_id"; } else { $sql = "SELECT u.user_id\n\t\t\tFROM " . USERS_TABLE . " u\n\t\t\tWHERE u.user_id <> " . ANONYMOUS . "\n\t\t\t{$alpha_where}\n\t\t\t{$user_where}"; } $result = $db->sql_query($sql); $row = $db->sql_numrows($result); $total_users_count = $row; $template->assign_vars(array('PAGINATION' => generate_pagination('admin_jr_admin.' . PHP_EXT . '?sort_item=' . $sort_item . '&order=' . $order . '&alphanum=' . $alphanum, $total_users_count, $per_page, $start), 'PAGE_NUMBER' => sprintf($lang['Page_of'], floor($start / $per_page) + 1, ceil($total_users_count / $per_page)))); //Make sort image choice and sorting links $base_order = $order == 'ASC' ? 'order=DESC' : 'order=ASC'; $base_filename = append_sid(basename(__FILE__) . '?' . $base_order);
for ($ji = 0; $ji < sizeof($ranksrow); $ji++) { if ($row['user_rank'] == $ranksrow[$ji]['rank_id'] && $ranksrow[$ji]['rank_special']) { $poster_rank = $ranksrow[$ji]['rank_title']; $rank_image = $ranksrow[$ji]['rank_image'] ? '<img src="' . IP_ROOT_PATH . $ranksrow[$ji]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" /><br />' : ''; } } } else { for ($ji = 0; $ji < sizeof($ranksrow); $ji++) { if ($row['user_posts'] >= $ranksrow[$ji]['rank_min'] && !$ranksrow[$ji]['rank_special']) { $poster_rank = $ranksrow[$ji]['rank_title']; $rank_image = $ranksrow[$ji]['rank_image'] ? '<img src="' . IP_ROOT_PATH . $ranksrow[$ji]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" /><br />' : ''; } } } // setup user row template variables $template->assign_block_vars('user_row', array('ROW_NUMBER' => $i + (intval($_GET['start']) + 1), 'ROW_CLASS' => !($i % 2) ? $theme['td_class1'] : $theme['td_class2'], 'USER_ID' => $row['user_id'], 'ACTIVE' => $row['user_active'] == true ? $lang['Yes'] : $lang['No'], 'USERNAME' => colorize_username($row['user_id'], $row['username'], $row['user_color'], $row['user_active']), 'U_PROFILE' => append_sid(IP_ROOT_PATH . CMS_PAGE_PROFILE . '?mode=viewprofile&' . POST_USERS_URL . '=' . $row['user_id']), 'RANK' => $poster_rank, 'I_RANK' => $rank_image, 'I_AVATAR' => $avatar_img, 'JOINED' => create_date($lang['JOINED_DATE_FORMAT'], $row['user_regdate'], $config['board_timezone']), 'BIRTHDAY' => $row['user_birthday'] != 999999 ? realdate($lang['DATE_FORMAT_BIRTHDAY'], $row['user_birthday']) : '', 'LAST_ACTIVITY' => !empty($row['user_session_time']) ? create_date('d M Y @ h:ia', $row['user_session_time'], $config['board_timezone']) : $lang['Never'], 'POSTS' => $row['user_posts'] ? $row['user_posts'] : 0, 'U_SEARCH' => append_sid(IP_ROOT_PATH . CMS_PAGE_SEARCH . '?search_author=' . urlencode(strip_tags($row['username'])) . '&showresults=posts'), 'U_WEBSITE' => $row['user_website'] ? $row['user_website'] : '', 'USER_LANG' => $row['user_lang'], 'USER_STYLE' => $row['user_style'], 'EMAIL' => $row['user_email'], 'U_PM' => append_sid(IP_ROOT_PATH . CMS_PAGE_PRIVMSG . '?mode=post&' . POST_USERS_URL . '=' . $row['user_id']), 'U_MANAGE' => append_sid(IP_ROOT_PATH . ADM . '/admin_users.' . PHP_EXT . '?mode=edit&' . POST_USERS_URL . '=' . $row['user_id']), 'U_PERMISSIONS' => append_sid(IP_ROOT_PATH . ADM . '/admin_ug_auth.' . PHP_EXT . '?mode=user&' . POST_USERS_URL . '=' . $row['user_id']))); // get the users group information $group_sql = "SELECT *\n\t\t\t\tFROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g\n\t\t\t\tWHERE ug.user_id = " . $row['user_id'] . "\n\t\t\t\t\tAND g.group_single_user <> 1\n\t\t\t\t\tAND g.group_id = ug.group_id"; $group_result = $db->sql_query($group_sql); $g = 0; while ($group_row = $db->sql_fetchrow($group_result)) { // assign the group varibles if ($group_row['group_moderator'] == $row['user_id']) { $group_status = $lang['Moderator']; } else { if ($group_row['user_pending'] == true) { $group_status = $lang['Pending']; } else { $group_status = $lang['Member']; } }