Просмотр файла modules/main/controllers/main.php

Размер файла: 2.58Kb
<?php
/**
 * Ant0ha's project
 *
 * @package
 * @author Anton Pisarenko <[email protected]>
 * @copyright Copyright (c) 2006 - 2010, Anton Pisarenko
 * @license http://ant0ha.ru/license.txt
 * @link http://ant0ha.ru
 */

defined('IN_SYSTEM') or die('<b>403<br />Запрет доступа!</b>');

//---------------------------------------------

/**
 * Главный пользовательский контроллер основного модуля
 */
class Main_Controller extends Controller {
	/**
	* Метод по умолчанию
	*/
	public function action_index() {
		$this->action_index_page();
	}

	/**
	* Индексная страница
	*/
	public function action_index_page() {
		$last_news = $this->db->get_row("SELECT * FROM #__news ORDER BY news_id DESC LIMIT 1");

		$info = $this->db->get_row("SELECT
			(SELECT COUNT(*) FROM #__users WHERE chat_last_time >= UNIX_TIMESTAMP() + ". $this->config['chat']['online_time'] ." * 60 AND user_id != '". USER_ID ."') AS chat_users_online
		");

		$this->tpl->assign(array(
			'info' => $info,
			'last_news' => $last_news
		));

		$this->tpl->display('index');
	}

	/**
	* ББкоды
	*/
	public function action_bbcode() {
		$this->tpl->display('bbcode');
	}
	
	/**
	 * Ошибка не найденой страницы
	 */
	public function action_page_not_found() {
		$error_message  = 'Запрашиваемой страницы не существует!<br />';
		$error_message .= '<a href="'. URL .'">Перейти на главную</a>';
		
		a_error($error_message);
	}

	/**
	* Рейтинг
	*/
	public function action_rating() {
		header('Content-type: text/plain');
		
		$star_full = '<img src="'. URL .'modules/main/images/rating/star_full.png" alt="" />';
		$star_half = '<img src="'. URL .'modules/main/images/rating/star_half.png" alt="" />';
		$star_empty = '<img src="'. URL .'modules/main/images/rating/star_empty.png" alt="" />';

		$rate = $_GET['rate'];
		if($rate < 0 or $rate > 5) exit('не верный формат рейтинга');

		# Получаем количество целых звездочек
		$full_stars = floor($rate);

		# Определяем дробную часть числа
		$out = explode('.', $rate);
		$fract = floatval('0.'.$out[1]);

		# Генерируем строку звездочек
		for($i = 0; $i < $full_stars; $i++) echo $star_full;

		if($full_stars != 5) {
			if($fract <= 0.25) echo $star_empty;
			elseif($fract > 0.25 && $fract < 0.75) echo $star_half;
			else echo $star_full;

			$empty_stars = 5 - ($full_stars + 1);
			for($i = 0; $i < $empty_stars; $i++) echo $star_empty;
		}
	}
}
?>