Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2012, 23:05   #1
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию выводом онлайн на серверах в отдельный модуль.

Напишу что делаю и то получаетcя:
Суть в том что мне нужно перенести на айте в другое мето показ онлайн игроков на серверах и сколько возможно:
Вот скрин стандарт:


Что я делаю:
-открываю фаил index.php
вписываю строчку $main->tpl->set('{st}',$st);
Дальше иду в директорию engine открываю фаил core.php:

[spoiler=Содержимое core]<?php
if( !defined( 'LM') ) die('Попытка взлома?');
include LM_DIR .'/config/other.config.php';
include LM_DIR .'/function/filter.php';
include LM_DIR .'/function/protocol.php';
init_reffer();
if(isset($_GET['langs']) &&$main->auth->Check_Auth())
{
include ROOT_DIR .'/langs/'.($main->auth->Check_Auth() ?$main->auth->langs : $conf['language']).'/main.php';
include LM_DIR .'/modules/up.php';
include LM_DIR .'/modules/month.php';
include LM_DIR .'/modules/banners.php';
include LM_DIR .'/modules/kat.php';
include LM_DIR .'/modules/st.php';
if( $conf['offline'] == 'on'&&(!$main->auth->admin &&!isset($_SESSION['lm_admin'])))
{

elseif($main->auth->blocked)
{
$main->tpl->load(ROOT_DIR .'/skins/banned.php');
.php';
elseif(isset($_GET['location']))
echo'<iframe width="500" height="400" scrolling="no" src="'.(($conf['rewrite']=='on') ?(int)$_GET['n'].'_doLocation.html': 'index.php?doLocation&n='.(int)$_GE T['n']).'" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0"></iframe>';
elseif(isset($_GET['doLocation']))
include LM_DIR .'/modules/location.php';
else
{
$skins = (is_dir(ROOT_DIR .'/skins/'.$conf['skin'])) ?$conf['skin'] : 'default';
$main->tpl->load(ROOT_DIR .'/skins/'.$skins.'/index.php');
$main->tpl->set('{theme}','skins/'.$skins);
switch($_GET['do'])
{
case 'static':
include LM_DIR .'/modules/static.php';
$main->tpl->title($nav);
$main->tpl->set('{main}',$contents);
break;
case 'st':
include LM_DIR .'/modules/st.php';
$main->tpl->title($nav); - вписал
$main->tpl->set('{main}',$contents);
break;

default :
include LM_DIR .'/modules/servers.php';
$main->tpl->title('Мониторинг Игровых Серверов');
$main->tpl->set('{main}',$contents);
break;
}
}
?>[/spoiler]


Дальше открываю фаил server.php , в нем и выводится эта статистика игроков что расположена на скрине.
[spoiler=Cодержимое server.php]к сожелению превышает 10000 символов[/spoiler]

Дальше я так делал, удалял трочки проверял работает статистика и так дошел до результата:
[spoiler=Результат работы статистики.]
<?php
if( ! defined( 'LM' ) ) die('Попытка взлома?');

$page = (isset($_GET['page'])) ? intval($_GET['page']) : 1;
$num = $page;
$perpage = $conf['perpage'];
$offset = ($num-1) * $perpage;
$my = $main->db->query('SELECT * FROM `lm_list` '.$type.' '.$status.' ORDER BY golos DESC LIMIT '.$offset.','.$perpage);



if(!$main->db->num($my))
{

}else{

$ttl_query = $main->db->query('SELECT * FROM `lm_list` where status=\'1\'');
$total['players'] = 0;
$total['playersmax'] = 0;
while ( $ttl = $main->db->fetch($ttl_query) ) {
$cache = unserialize(base64_decode($ttl['cache']));
$total['players'] += $cache['s']['players'];
$total['playersmax'] += $cache['s']['playersmax'];
}
$contents.= preg_replace(array('/\{players\}/is', '/\{playersmax\}/is'), array($total['players'], $total['playersmax']), $lang['view_text12']);

}
?>[/spoiler]

Дальше создал фаил st.php и закинул этот код.
Закинул в папку /engine/modules
Сам модуль {st} расположил там ,показано на 1-ом скрине.

Дальше немного не понял, вообщем если в фаиле server.php и в файле st.php
Прописать такой код
[spoiler=код]<?php
if( ! defined( 'LM' ) ) die('Попытка взлома?');

$page = (isset($_GET['page'])) ? intval($_GET['page']) : 1;
$num = $page;
$perpage = $conf['perpage'];
$offset = ($num-1) * $perpage;
$my = $main->db->query('SELECT * FROM `lm_list` '.$type.' '.$status.' ORDER BY golos DESC LIMIT '.$offset.','.$perpage);



if(!$main->db->num($my))
{

}else{

$ttl_query = $main->db->query('SELECT * FROM `lm_list` where status=\'1\'');
$total['players'] = 0;
$total['playersmax'] = 0;
while ( $ttl = $main->db->fetch($ttl_query) ) {
$cache = unserialize(base64_decode($ttl['cache']));
$total['players'] += $cache['s']['players'];
$total['playersmax'] += $cache['s']['playersmax'];
}
$contents.= preg_replace(array('/\{players\}/is', '/\{playersmax\}/is'), array($total['players'], $total['playersmax']), $lang['view_text12']);

}
?>[/spoiler]

Результат будит таким, заметте где прописан на скрине первом модуль {st} и где он выводится на этом крине.
.
Если фаил server.php вернуть в стандарт то будит как и раньше.Модуль st виден не будит.
Помогите я запутался.
Predator199 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хранение файлов на нескольких серверах CraZZy RabbIt PHP 3 27.12.2011 23:11
Модуль Graph или графический модуль Seferus Паскаль, Turbo Pascal, PascalABC.NET 0 11.12.2011 13:15
прокурируйте онлайн создание моей первой простой программы на с++ с выводом сообщения наэкран sergey1993 Qt и кроссплатформенное программирование С/С++ 4 07.02.2011 07:54
Типизированные файлы, модуль Crt, Модуль Graph Kate_Fleur Помощь студентам 1 06.05.2010 17:43