Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Онлайн игроков.
#11
А у меня как раз работает все. Спасибо PROGRAMMATOR, правда не все что я просил но я благодарен очень.
Ответ
#12
PROGRAMMATOR, не знаю как у тебя, посмотрев исходники DLE 8.0 то сразу понял там бы твой пример не сработал бы.

PHP код:
<?php 
$this
->template = preg_replace( "#\\{include file=['\"](.+?)['\"]\\}#ies", "\$this->sub_load_template('\\1')", $this->template );

PHP код:
<?php 
function sub_load_template($tpl_name) {

$tpl_name = totranslit( $tpl_name );

if(
$tpl_name == '' || ! file_exists( $this->dir . DIRECTORY_SEPARATOR . $tpl_name ) ) {
die(
"Невозможно загрузить шаблон: " . $tpl_name );
return
false;
}
$template = file_get_contents( $this->dir . DIRECTORY_SEPARATOR . $tpl_name );

return
$template;
}

Отсюда стало ясно что данный тег просто бы грузил файл шаблона и не более.
Хотя в новой версии может уже и работает...

Добавлено через 4 минуты
Да, проблема кроется иммено в ранних версиях.
В ДЛЕ 8.3 уже другой код.

PHP код:
<?php 
$this
->template = preg_replace( "#\\{include file=['\"](.+?)['\"]\\}#ies", "\$this->load_file('\\1', 'tpl')", $this->template );


PHP код:
<?php 
function load_file( $name, $include_file = "tpl" ) {
global
$db, $is_logged, $member_id, $cat_info, $config, $user_group, $category_id, $_TIME, $lang, $smartphone_detected, $dle_module;

$name = str_replace( '..', '', $name );

$url = @parse_url ($name);
$type = explode( ".", $url['path'] );
$type = strtolower( end( $type ) );

if (
$type == "tpl") {

return
$this->sub_load_template( $name );

}

if (
$include_file == "php") {

if ( !
$this->allow_php_include ) return;

if (
$type != "php") return "Для подключения допускаются только файлы с расширением .tpl или .php";

if (
$url['path']{0} == "/" )
$file_path = dirname (ROOT_DIR.$url['path']);
else
$file_path = dirname (ROOT_DIR."/".$url['path']);

$file_name = pathinfo($url['path']);
$file_name = $file_name['basename'];

if (
stristr ( php_uname( "s" ) , "windows" ) === false )
$chmod_value = @decoct(@fileperms($file_path)) % 1000;

if (
$chmod_value == 777 ) return "Файл {$url['path']} находится в папке, которая доступна для записи (CHMOD 777). В целях безопасности подключение файлов из таких папок невозможно. Измените права на папку, чтобы на нее небыло прав на запись.";

if ( !
file_exists($file_path."/".$file_name) ) return "Файл {$url['path']} не найден, его загрузка невозможна.";

if (
$url['query'] ) {

parse_str( $url['query'] );

}

ob_start();
$tpl = new dle_template( );
$tpl->dir = TEMPLATE_DIR;
include
$file_path."/".$file_name;
return
ob_get_clean();

}

return
'{include file="'.$name.'"}';


}
Человек человеку друг, а зомби зомби зомби
Ответ
#13
Начиная с 8.2 поддерживается подключение модулей через {include} Wink
Хорошо, если у кого версия DataLife Engine ниже 8.2, то создаем модуль aion_online.php в /engine/modules/ с кодом:

PHP код:
<?php

// защита от прямого запуска
if (!defined('DATALIFEENGINE')) die ("Hacking attempt!");

// подключаемся к mysql
mysql_connect('localhost', 'root', 'newpass') or die (mysql_error());
// выбираем базу данных
mysql_select_db('aion');

// выполняем запрос на получение игроков в онлайне
// можно использовать count(*), и mysql_result
$sql = mysql_query('SELECT * FROM players WHERE online=1');
// узнаем количество строк соответствующих нашему запросу
$sql = mysql_num_rows($sql);

// вот и все, $sql содержит количество геймеров
// выводим их
$aion_online = 'Сейчас в игре: '.$sql;

?>

Открываем index.php в корне сайта и после строки:

PHP код:
<?php 
require_once ROOT_DIR . '/engine/init.php';

Подключаем наш модуль:

PHP код:
<?php 
require_once ENGINE_DIR . '/modules/aion_online.php';

Ниже ищем строку:

PHP код:
<?php 
$tpl
->set ( '{speedbar}', $tpl->result['speedbar'] );

И после нее пишем:

PHP код:
<?php 
$tpl
->set ('{aion_online}', $aion_online);

Все, пишем в нужном месте шаблона тег {aion_online} и радуемся. Smile
Ответ
#14
PROGRAMMATOR, А можно модуль онлайна серверов? Smile
Ответ
#15
Да там вроде на первой странице есть код, просто немного подумав, можно прикрутить его к aion_online.
Ответ
#16
Спасибо уже написал себе модуль. Smile
Ответ
#17
Хм, а где же его код? Нужно делится! Smile
Ответ
#18
Smile Сейчас выкину.

http://forum.zone-game.info/showthread.p...#post45886 - вотCool
Ответ
#19
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\VertrigoServ\www\engine\modules\aion_online.php on line 15

что это? торчит с верху сайта..
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Тормозит сервер и выкидывает переодически игроков в чем проблема ? sayran 10 4,266 03-13-2012, 02:34 AM
Последний пост: sayran
  Вывод количества онлайн Romanz 6 3,679 08-24-2010, 03:14 PM
Последний пост: IIIeik
  Онлайн Администрация Bumerok 14 4,507 07-15-2010, 05:19 PM
Последний пост: Bumerok
  Поиск игроков - некорректно работает. ViAl 7 4,079 04-01-2010, 02:43 PM
Последний пост: zaqwer
  Модуль онлайн для DLE warman4ik 21 11,093 11-30-2009, 05:53 AM
Последний пост: Lampard_DS
  Модуль "кто онлайн?" warman4ik 9 2,957 11-22-2009, 04:22 AM
Последний пост: warman4ik

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)