• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь не работает модуль "На линии"

Статус
В этой теме нельзя размещать новые ответы.

klu4ik

Создатель
Регистрация
11 Май 2008
Сообщения
39
Реакции
0
Залил все необходимые файлы для мода
Пишу в файле шаблона block_right.tpl :
PHP:
<!-- Коментарии -->
			<div class="m-bottom">
			<div class="m-text">
			<div class="menu_title" align="left"><img src="{THEME}/images/irate.gif"> Коментарии</div>
	    <div class="news" align="left">{include file="engine/modules/whoonline.php"}</div>
	 		</div>
			</div>
И на сайте это отображаеться как обычный текст :
PHP:
{include file="engine/modules/whoonline.php"}
Подскажите пожалуйста как исправить ?
 
Проверь:
1. файл whoonline.tpl скопируйте в папку со своим шаблоном
2. файл whoonline.php скопируйте в папку с модулями (engine/modules)
3. в шаблоне main.tpl подключите модуль {include file="путь_до_папки_с_модулями/whoonline.php"}

проверь пути все и на месте ли все файлы
 
да все так
Наверно проблема в том что у меня блоки разделены на block_left.tpl и block_right.tpl
Именно когда вставляю в них то не работает
а в main.tpl работает но, нужно это сделать в block_right.tpl
 
целый день сегодня просидел ничего не вышло
Подскажите кто нибудь
 
да все так
Наверно проблема в том что у меня блоки разделены на block_left.tpl и block_right.tpl
Именно когда вставляю в них то не работает
а в main.tpl работает но, нужно это сделать в block_right.tpl
Скинь whoonline.php Поправлю ;)
 
Обновил DLE с 7.3 до 8.2, модуль ONLINE надо заново настраивать?)
 
PHP:
<?php
require "core/init.php";
$live = $live ? $live : 300;
$template = $template ? $template : "whoonline";
class whoonline_function
{
	private $user_id		=	null;
	private $user_name		=	null;
	private $user_foto		=	null;
	private $user_group		=	null;
	private $user_groupid	=	null;
	private $user_position	=	null;
	private $user_os		=	"неизвестная";
	private $user_browser	=	"неизвестный";
	private $robots			=	false;
	protected $date_ajust	= 	0;
	protected function info()
	{
		global $_IP, $config;
		$this->date_adjust = $config["date_adjust"]*60;
		$this->robots($_SERVER["HTTP_USER_AGENT"]);
		if(!$this->robots)
		{
			$this->user_os($_SERVER["HTTP_USER_AGENT"]);
			$this->user_browser($_SERVER["HTTP_USER_AGENT"]);
		}
		$this->user_info();
		$this->user_position();
		return array(
			"time"		=>	time() + $this->date_adjust,
			"ip"		=>	$_IP ? $_IP : $_SERVER["REMOTE_ADDR"],
			"name"		=>	$this->user_name,
			"id"		=>	$this->user_id,
			"foto"		=>	$this->user_foto,
			"group"		=>	$this->user_group,
			"groupid"	=>	$this->user_groupid,
			"os"		=>	$this->user_os,
			"browser"	=>	$this->user_browser,
			"position"	=>	$this->user_position
		);
	}
	private function robots($useragent)
	{
        $arr = array("#.*(yandex|yadirectbot).*#si" => "Yandex", "#.*(google|accoona|gsa-crawler).*#si" => "Google", "#.*rambler.*#si" => "Rambler", '#.*mail.ru.*#si' => "Mail Ru", "#.*aport.*#si" => "Aport", "#.*TurtleScanner.*#si" => "Turtle", "#.*slurp.*#si" => "Inktomi Spider", "#.*msnbot.*#si" => "Msn", "#.*(askjeeves|ask jeeves).*#si" => "Ask Com", "#.*yahoo.*#si" => "Yahoo", "#.*scooter.*#si" => "AltaVista", "#.*lycos.*#si" => "Lycos.com", "#.*libwww.*#si" => "Punto", "#.*picsearch.*#si" => "PicSearch", "#.*mnogosearch.*#si" => "mnoGoSearch", "#.*(is_archiver|archive_org).*#si" => "Archive Org", "#.*W3C_Validator.*#si" => "W3C Validator", "#.*W3C_CSS_Validator.*#si" => "W3C CSS Validator");
        $result = preg_replace(array_keys($arr), $arr, $useragent);
        $this->robots = $result == $useragent ? $this->robots : $result;
	}
	private function user_os($useragent)
	{
		$arr = array("#.*Windows NT 5.1.*#si" => "Windows XP", "#.*Windows NT 5.2.*#si" => "Windows XP x64 or Server 2003", "#.*Windows NT 6.0.*#si" => "Windows Vista", "#.*Windows NT 6.1.*#si" => "Windows 7", "#.*Windows NT 5.0.*#si" => "Windows 2000", "#.*(Windows NT 4.0|Windows NT 3.5).*#si" => "Windows NT", "#.*Windows CE.*#si" => "Windows CE or Mobile", "#.*Windows Me.*#si" => "Windows ME", "#.*Windows 98.*#si" => "Windows 98", "#.*Windows 95.*#si" => "Windows 95", "#.*(Linux|Lynx|Unix).*#si" => "Linux", "#.*(Macintosh|PowerPC).*#si" => "MacOS", "#.*OS/2.*#si" => "OS/2", "#.*BeOS.*#si" => "BeOS");
		$result = preg_replace(array_keys($arr), $arr, $useragent);
		$this->user_os = $result == $useragent ? $this->user_os : $result;
	}
	private function user_browser($useragent)
 	{
 		$arr = array("#.*MSIE (\S*);.*#si" => "Internet Explorer \\1", "#.*(Opera.*Version|Opera)/(\S*).*#si" => "Opera \\2", "#.*Navigator/(\S*).*#si" => "Navigator \\1", "#.*Flock/(\S*).*#si" => "Flock \\1", "#.*Firefox/(\S*).*#si" => "Firefox \\1", "#.*Chrome/(\S*).*#si" => "Chrome \\1", "#.*Version/(\S*).*Safari.*#si" => "Safari \\1", "#.*Safari/(\S*).*#si" => "Safari \\1", "#.*K-Meleon.*#si" => "K-Meleon", "#.*SeaMonkey.*#si" => "SeaMonkey", "#.*Camino.*#si" => "Camino", "#.*Epiphany.*#si" => "Epiphany", "#.*America Online Browser.*#si" => "America Online Browser", "#.*avantbrowser.*#si" => "Avant Browser.");
        $result = preg_replace(array_keys($arr), $arr, $useragent);
        $this->user_browser = $result == $useragent ? $this->user_browser : $result;
	}
	private function user_info()
	{
		global $is_logged, $member_id, $user_group;
		if($this->robots)
		{
			$this->user_id = 2;
			$this->user_name = $this->robots;
			$this->user_group = "роботы";
		}
		elseif($is_logged)
		{
			$this->user_id = 1;
			$this->user_name = $member_id["name"];
			$this->user_foto = $member_id["foto"] ? $member_id["foto"] : null;
			$this->user_group = $user_group[$member_id["user_group"]]["group_name"];
			$this->user_groupid = $member_id["user_group"];
		}
		else
		{
			$this->user_id = 0;
			$this->user_name = "Гость";
			$this->user_group = "гости";
		}
	}
	private function user_position()
	{
		global $cat_info, $category_id, $dle_module, $nam_e, $titl_e;
		$result = "Просматривает главную страницу";
		switch($dle_module)
		{
			case "main":			$result = "Просматривает главную страницу"; break;
			case "showfull":		if($titl_e) $result = "Просматривает новость: $titl_e"; else $result = "Просматривает страницу: Error 404"; break;
			case "alltags":			$result = "Просматривает облако тегов"; break;
			case "cat":				if($cat_info[$category_id]["name"]) $result = "Просматривает категорию: {$cat_info[$category_id]["name"]}"; else $result = "Просматривает категорию: Error 404"; break;
			case "favorites":		$result = "Просматривает избранные статьи"; break;
			case "lastcomments":	$result = "Просматривает последние комментарии"; break;
			case "lastnews":		$result = "Просматривает последние новости"; break;
			case "rules":			$result = "Просматривает правила сайта"; break;
			case "static":			$result = "Просматривает страницу: $titl_e"; break;
			case "stats":			$result = "Просматривает статистику сайта"; break;
			case "tags":			$result = "Просматривает облако тегов"; break;
			case "userinfo":		$result = "Просматривает профиль: $nam_e"; break;
			case "addcomment":		$result = "Добавляет комментарий"; break;
			case "addnews":			$result = "Добавляет новость"; break;
			case "comments":		$result = "Добавляет комментарий"; break;
			case "allnews":			$result = "Находится в разделе: $nam_e"; break;
			case "feedback":		$result = "Находится в разделе: $nam_e"; break;
			case "pm":				$result = "Находится в разделе: $nam_e"; break;
		}
		$this->user_position = addslashes(htmlspecialchars($result));
	}
}
class whoonline extends whoonline_function
{
	private $template = null;
	private $live = null;
	private $whoonlock = null;
	private $whoonline = null;
	private $online = array();
	public function __construct()
	{
		$this->whoonlock = ENGINE_DIR."/data/whoonlock.txt";
		$this->whoonline = ENGINE_DIR."/data/whoonline.txt";
	}
	private function read()
	{
		$lines = $result = array();
		$result[] = $this->info();
		$lines = (array)unserialize(@file_get_contents($this->whoonline));
		foreach($lines as $arr)
		{
			if((in_array($result[0]["id"], array(1,2))) && (time() + $this->date_adjust - $arr["time"] < $this->live) && ($result[0]["ip"] != $arr["ip"]) && ($result[0]["name"] != $arr["name"])) $result[] = $arr;
			elseif(($result[0]["id"] == 0) && (time() + $this->date_adjust - $arr["time"] < $this->live) && ($result[0]["ip"] != $arr["ip"])) $result[] = $arr;
		}
		$this->online = $result;
	}
	private function write()
	{
		$lock = fopen($this->whoonlock, "a+");
		if(flock($lock, LOCK_EX+LOCK_NB)) 
		{
			$file = fopen($this->whoonline, "w");
			fwrite($file, serialize($this->online));
			fflush($file);
			fclose($file);
			flock($lock, LOCK_UN);
		}
		fclose($lock);
	}
	public function view($template, $live)
	{
		global $config, $view;
		$this->live = $live;
		$this->template = $template;
		$this->read();
		$this->write();
		$view->set("online", $this->online);
		$view->set("config", array("allow_alt_url" => $config["allow_alt_url"], "seo_type" => $config["seo_type"], "skin" => $config["skin"], "home_url" => $config["http_home_url"]));
		return $view->display($this->template);		
	}
}
$whoonline = new whoonline();
echo $whoonline->view($template, $live);
unset($live, $template, $whoonline);
?>
Спасибо!
и если можно покажите что вы исправили , для понимания)

Добавлено через 3 минуты
Обновил DLE с 7.3 до 8.2, модуль ONLINE надо заново настраивать?)
если у тебя модуль "На линии"
То нет , если файлы модуля остались и шаблон не менял
 
:) Лучше дай архив с модулем. Ну или еще добавь все php файлы связанные с ним и какие автор просил проводить изменения (лучше архив конечно)
 
вот модуль
но думаю дело не в модуле
 

Вложения

  • whoonline2.5.zip
    15,8 KB · Просмотры: 8
:yahoo: Сделал. Не много извращенным, но самым простым способом
Найти:
PHP:
require_once ROOT_DIR . '/engine/init.php';
Добавим ниже:
PHP:
require_once ROOT_DIR . '/engine/modules/inc_who.php';

Создаем файл /engine/modules/inc_who.php

В нем:
PHP:
<?
// RUnet Team || nulled.ws
$include = include 'engine/modules/whoonline.php';

$tpl->load_template ( 'my.tpl' );
$tpl->set ( '{shab}', $include );


?>
Где my.tpl Ставим название вашего шаблона
Теперь в твоем шаблоне (block_right.tpl)
за место
PHP:
{include file="engine/modules/whoonline.php"}
Ставишь просто:{shab}


:) Готово. Если что не так пиши
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху