24.07.2010, 15:37
|
#4
|
Пользователь
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
|
5. Примеры Для особо ленивых буду комментировать свои действия, но тут всё и так понятно без лишних слов...
5.1 Создаём модуль PVP-рейтинга на базе отдельной страницы.
PHP код:
<?php
/**
* @author Desperado
* @copyright 2010
* http://dev-masters.ru/
*/
if( ! defined( 'DATALIFEENGINE' ) ) die( "Hacking attempt!" ); // Запрещаем прямой доступ к файлу
define ( 'ROOT_DIR', dirname ( __FILE__ ) ); // Определяем корневой каталог в константу
define ( 'WOW_DIR', ROOT_DIR . '/engine/modules/wow' ); // Задаём каталог папки с модулями
define ( "CACHE_DIR", ROOT_DIR . '/engine/cache/' ); // Задаём папку для хранения кеша (по-умолчанию, папка самого движка)
define ("CACHE_NAME", "pvp"); // Имя файла кеша
require_once ROOT_DIR . '/config/config.php'; // Подключаем файл конфигурации
require_once ROOT_DIR . '/engine/cacheClass.php'; // Подключаем файл кеширования
require_once WOW_DIR . '/includes/functions/func.php'; // Подключаем файл функции //
require_once WOW_DIR . '/includes/array/character_array.php'; // Подключааем массив персонажей
$cache = new cacheClass(CACHE_DIR, CACHETIME); // Начинаем работу с кешем
if ($cache->checkForWrite(CACHE_NAME))
{
$sMySql = mysql_connect(DBHOST, DBUSER, DBPASS); // Соединяемся с базой
mysql_query("SET NAMES COLLATE"); // Устанавливаем кодировку соединения
$aSql = mysql_query("SELECT `c`.`name`, `c`.`totalHonorPoints`, `c`.`class`, `c`.`totalKills`, `c`.`chosenTitle`, `a`.`gmlevel`
FROM `characters`.`characters` c
INNER JOIN `realmd`.`account` a ON `a`.`id` = `c`.`account`
WHERE `a`.`gmlevel` = '0'
ORDER BY `c`.`totalKills` DESC
LIMIT 0 , 100", $sMySql); // Выбираем данные
// Рисуем таблицу
$szContent .= "<br />
<table width='100%' border='1' align='center'><tr>
<td align='center' width='20%'><b><font color='green'>Персонаж</font></b></td>
<td align='center' width='20%'><b><font color='green'>Класс</font></b></td>
<td align='center' width='15%'><b><font color='green'>Очки чести</font></b></td>
<td align='center' width='15%'><b><font color='green'>Убийств</font></b></td>
<td align='center' width='25%'><b><font color='green'>Ранг</font></b></td>
</tr></table>";
// Начинаем обработку данных в цикле и создаём финальную версию таблицы
while ($row = mysql_fetch_array($aSql))
{
$show_name = $row***91;'name'***93;;
$show_totalHonorPoints = $row***91;'totalHonorPoints'***93;;
$show_totalKills = $row***91;'totalKills'***93;;
$show_class = $class***91;$row***91;'class'***93;***93;;
$show_pvp = $pvp***91;$row***91;'chosenTitle'***93;***93;;
$szContent .= "<table width='100%' border='1' align='center'><tr>
<td align='center' width='20%'>".$show_name."</td>
<td align='center' width='20%'>".$show_class."</td>
<td align='center' width='15%'>".$show_totalHonorPoints."</td>
<td align='center' width='15%'>".$show_totalKills."</td>
<td align='center' width='25%'>".$show_pvp."</td>
</tr></table>";
}
$szContent .= "<br><center><font color = 'red'><strong>PvP Ранг отображается в случае выбора оного в профиле персонажа</strong></font></center>";
mysql_close($sMySql); // Закрываем соединение mysql
$cache->setContent($szContent);
$cache->writeCache(CACHE_NAME);
$tpl->result***91;'content'***93; = $cache->getContent();
}
else
{
$tpl->result***91;'content'***93; = $cache->readCache(CACHE_NAME);
}
?>
Сохраняем файл в папке /engine/modules/wow под именем pvp.php
Открываем файл engine.php, расположенный в папке /engine/ и находим в нём
PHP код:
switch ( $do ) {
Ниже добавляем
PHP код:
case "pvp" :
include ENGINE_DIR . '/modules/wow/pvp.php';
break;
Сохраняем. Всё, теперь ваша страница будет доступна по адресу http://ваш-сайт/index.php?do=pvp
5.2. Создаём модуль "задротов" на базе отдельной страницы
PHP код:
<?php
/**
* @author Desperado
* @copyright 2010
* http://dev-masters.ru/
*/
if( ! defined( 'DATALIFEENGINE' ) ) die( "Hacking attempt!" ); // Запрещаем прямой доступ к файлу
define ( 'ROOT_DIR', dirname ( __FILE__ ) ); // Определяем корневой каталог в константу
define ( 'WOW_DIR', ROOT_DIR . '/engine/modules/wow' ); // Задаём каталог папки с модулями
define ( "CACHE_DIR", ROOT_DIR . '/engine/cache/' ); // Задаём папку для хранения кеша (по-умолчанию, папка самого движка)
define ("CACHE_NAME", "time"); // Имя файла кеша
require_once ROOT_DIR . '/config/config.php'; // Подключаем файл конфигурации
require_once ROOT_DIR . '/engine/cacheClass.php'; // Подключаем файл кеширования
require_once WOW_DIR . '/includes/functions/func.php'; // Подключаем файл функции
require_once WOW_DIR . '/includes/array/character_array.php'; // Подключааем массив персонажей
$cache = new cacheClass(CACHE_DIR, CACHETIME); // Начинаем работу с кешем
if ($cache->checkForWrite(CACHE_NAME))
{
$sMySql = mysql_connect(DBHOST, DBUSER, DBPASS); // Соединяемся с базой
mysql_query("SET NAMES COLLATE"); // Устанавливаем кодировку соединения
mysql_select_db(CDB, $sMySql);
$aSql = mysql_query("SELECT `name`, `race`, `class`, `totaltime` FROM `characters` ORDER BY `totaltime` DESC LIMIT 0 , 71", $sMySql);
$szContent .= "<br /><table width='100%' border='1' align='center'><tr>
<td align='center' width='20%'><font color='green'>Персонаж</font></td>
<td align='center' width='20%'><font color='green'>Сыгранное время</font></td>
<td align='center' width='20%'><font color='green'>Класс</font></td>
<td align='center' width='20%'><font color='green'>Раса</font></td>
</tr></table>";
while ($row = mysql_fetch_array($aSql))
{
$name = $row***91;'name'***93;;
$totaltime = conventNormTime($row***91;'totaltime'***93;);
$show_race = $race***91;$row***91;'race'***93;***93;;
$show_class = $class***91;$row***91;'class'***93;***93;;
$szContent .= "<table width='100%' border='1' align='center'><tr>
<td align='center' width='20%'>$name</td>
<td align='center' width='20%'>$totaltime</td>
<td align='center' width='20%'>$show_class</td>
<td align='center' width='20%'>$show_race</td>
</tr></table>";
}
mysql_close($sMySql); // Закрываем соединение mysql
$cache->setContent($szContent);
$cache->writeCache(CACHE_NAME);
$tpl->result***91;'content'***93; = $cache->getContent();
}
else
{
$tpl->result***91;'content'***93; = $cache->readCache(CACHE_NAME);
}
?>
Сохраняем файл в папке /engine/modules/wow под именем nolife.php
Открываем файл engine.php, расположенный в папке /engine/ и находим в нём
PHP код:
switch ( $do ) {
Ниже добавляем
PHP код:
case "no-life" :
include ENGINE_DIR . '/modules/wow/nolife.php';
break;
Сохраняем. Всё, теперь ваша страница будет доступна по адресу http://ваш-сайт/index.php?do=no-life
|
|
|