Esempio n. 1
0
function ratings_large()
{
    global $template, $db, $config, $theme, $lang, $meta_content, $forum_top;
    if (!isset($forum_top)) {
        $forum_top = -1;
    }
    $top_rated_row = top_rated_topics($config['large_rating_return_limit'], $forum_top);
    $rank = 0;
    if (sizeof($top_rated_row)) {
        for ($i = 0; $i < sizeof($top_rated_row); $i++) {
            $last_rate_info = last_rating_info($top_rated_row[$i]['topic_id']);
            $template->assign_block_vars('topicrow', array('RANK' => ++$rank, 'CLASS' => !($rank % 2) ? $theme['td_class2'] : $theme['td_class1'], 'URL' => append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_TOPIC_URL . '=' . $top_rated_row[$i]['topic_id']), 'LAST_RATER' => id_to_value($last_rate_info['user'], 'user'), 'LAST_RATER_TIME' => create_date_ip($config['default_dateformat'], $last_rate_info['time'], $config['board_timezone']), 'TITLE' => id_to_value($top_rated_row[$i]['topic_id'], 'topic'), 'FORUM' => id_to_value(id_to_value($top_rated_row[$i]['topic_id'], 'topictoforum'), 'forum'), 'RATING' => sprintf('%.2f', $top_rated_row[$i]['average']), 'MIN' => $top_rated_row[$i]['min'], 'MAX' => $top_rated_row[$i]['max'], 'L_VIEW_DETAILS' => $config['allow_ext_rating'] ? sprintf($lang['View_Details_2'], append_sid('rate.' . PHP_EXT . '?rate_mode=detailed&amp;topic_id=' . $top_rated_row[$i]['topic_id'])) : '', 'NUMBER_OF_RATES' => $top_rated_row[$i]['rating_number']));
        }
    } else {
        $template->assign_block_vars('notopics', array('MESSAGE' => $lang['No_Topics_Rated']));
    }
    $template->assign_vars(array('PAGE_NAME' => $meta_content['page_title'], 'L_FOR_FORUM' => $forum_top != -1 ? sprintf($lang['For_Forum'], id_to_value($forum_top, 'forum')) : $lang['All_Forums'], 'L_LAST_RATED' => $lang['Last_Rated'], 'L_RATES' => $lang['Number_of_Rates'], 'L_RATING' => $lang['Rating'], 'L_MIN' => $lang['Min_Rating'], 'L_MAX' => $lang['Max_Rate'], 'S_FORUMS' => make_forum_drop_down_box(), 'S_MODE_ACTION' => append_sid('rate.' . PHP_EXT), 'L_BY_FORUM' => $lang['By_Forum'], 'L_VIEW' => $lang['Go']));
    // JHL: Template vars commented out to use standard TPL features
    /*
    $template->set_filenames(array('body' => 'rate_main.tpl'));
    $template->pparse('body');
    */
}
function ratings_view_topic()
{
    global $userdata, $template, $db, $board_config, $theme, $phpbb_root_path, $phpEx, $lang, $page_title, $forum_id, $topic_id;
    $rath_auth_data = rate_auth($userdata['user_id'], $forum_id, $topic_id);
    if ($rath_auth_data == RATE_AUTH_NONE) {
        $template->assign_block_vars("noauth", array("RATE_TOPIC_USER" => ''));
    } else {
        if ($rath_auth_data != RATE_AUTH_PRVIATE || $rath_auth_data == RATE_AUTH_PRVIATE && $userdata['user_id'] != ANONYMOUS) {
            if ($rath_auth_data == RATE_AUTH_DENY) {
                $template->assign_block_vars("noauth", array("RATE_TOPIC_USER" => sprintf($lang['Not_Authorized_To_Rate'])));
            } else {
                $select_rate_choices = "<select name=\"rating\">";
                for ($i = 1; $i <= $board_config['rating_max']; $i++) {
                    $select_rate_choices .= "<option value=\"" . $i . "\"{$selected}>" . $i . "</option>";
                }
                $select_rate_choices .= "</select>";
                if (!rating_inserted($userdata['user_id'], $topic_id)) {
                    $template->assign_block_vars("rate", array("L_CHOOSE_RATING" => $lang['Choose_Rating'], "L_RATE" => $lang['Rate'], "S_RATE_SELECT" => $select_rate_choices, "S_HIDDEN_FIELDS" => '<input type="hidden" name="topic_id" value="' . $topic_id . '" /><input type="hidden" name="rate_mode" value="rate" />', "S_RATE_ACTION" => append_sid("rate.{$phpEx}"), "RATE_TOPIC_USER" => ""));
                } else {
                    if ($board_config['allow_rerate']) {
                        $template->assign_block_vars("rerate", array("L_CHANGE_RATING" => $lang['Change_Rating'], "L_RATE" => $lang['Rate'], "S_RATE_SELECT" => $select_rate_choices, "S_HIDDEN_FIELDS" => '<input type="hidden" name="topic_id" value="' . $topic_id . '" /><input type="hidden" name="rate_mode" value="rerate" />', "S_RATE_ACTION" => append_sid("rate.{$phpEx}")));
                    }
                    $template->assign_block_vars("rated", array("RATE_TOPIC_USER" => sprintf($lang['Already_Rated'], rating_value($userdata['user_id'], $topic_id))));
                }
            }
            //
            //Common Output Variables
            //
            $rating_row = rating_stats($topic_id);
            $template->assign_vars(array("L_RATE_TOPIC_USER_ANON" => $board_config['check_anon_ip_when_rating'] && $userdata['user_id'] == ANONYMOUS ? sprintf($lang['Or_Someone_From_IP']) : "", "RATE_TOPIC_STATS" => sprintf($lang['Rate_Stats'], $rating_row['average'], $rating_row['minimum'], $rating_row['maximum'], $rating_row['number_of_rates']), "TOPIC_TITLE" => id_to_value($topic_id, 'topic'), "L_SUMMARY" => $lang['Summary']));
            if ($board_config['allow_ext_rating']) {
                $template->assign_vars(array("FULL_STATS_URL" => sprintf($lang['View_Details'], append_sid("rate.{$phpEx}?rate_mode=detailed&amp;topic_id=" . $topic_id))));
            }
            $template->set_filenames(array("rate_viewtopic" => "rate_viewtopic.tpl"));
            $template->assign_var_from_handle('RATING_VIEWTOPIC', 'rate_viewtopic');
        }
    }
}
Esempio n. 3
0
		break;
	default:
		if ($forum_top == '')
		{
			$forum_top = -1;
		}
		$meta_content['page_title'] = sprintf($lang['Top_Topics'], $config['large_rating_return_limit']);
		break;
}

// Include Header (It Contains Rate Functions).

if ($rate_mode == 'detailed')
{
	$nav_server_url = create_server_url();
	$breadcrumbs['address'] = $lang['Nav_Separator'] . '<a href="' . $nav_server_url . append_sid('rate.' . PHP_EXT) . '">' . $lang['Rating'] . '</a>' . $lang['Nav_Separator'] . '<a class="nav-current" href="' . append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_TOPIC_URL . '=' . $topic_id) . '">' . id_to_value($topic_id, 'topic') . '</a>';
	$breadcrumbs['bottom_right_links'] = '<span class="gensmall">' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid(CMS_PAGE_VIEWTOPIC . '?' . POST_TOPIC_URL . '=' . $topic_id) . '">', '</a>') . '</span>';
}

// Display modes, for if the page is called seperately

switch($rate_mode)
{
	case 'rate':
		rate_topic($user->data['user_id'], $topic_id, $rating, 'rate');
		break;
	case 'rerate':
		rate_topic($user->data['user_id'], $topic_id, $rating, 'rerate');
	break;
	case 'detailed':
		ratings_detailed($topic_id);