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

Тема в разделе "DLE", создана пользователем klu4ik, 6 окт 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. klu4ik

    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"}
    Подскажите пожалуйста как исправить ?
     
  2. Mons

    Mons

    Регистр.:
    2 апр 2006
    Сообщения:
    1.589
    Симпатии:
    916
    Проверь:
    проверь пути все и на месте ли все файлы
     
  3. klu4ik

    klu4ik Создатель

    Регистр.:
    11 май 2008
    Сообщения:
    39
    Симпатии:
    0
    да все так
    Наверно проблема в том что у меня блоки разделены на block_left.tpl и block_right.tpl
    Именно когда вставляю в них то не работает
    а в main.tpl работает но, нужно это сделать в block_right.tpl
     
  4. klu4ik

    klu4ik Создатель

    Регистр.:
    11 май 2008
    Сообщения:
    39
    Симпатии:
    0
    целый день сегодня просидел ничего не вышло
    Подскажите кто нибудь
     
  5. CheburatoR-all

    CheburatoR-all Гипножаба

    Регистр.:
    26 апр 2009
    Сообщения:
    295
    Симпатии:
    438
    Скинь whoonline.php Поправлю ;)
     
    klu4ik нравится это.
  6. D.Masty

    D.Masty Писатель

    Регистр.:
    16 дек 2008
    Сообщения:
    8
    Симпатии:
    0
    Обновил DLE с 7.3 до 8.2, модуль ONLINE надо заново настраивать?)
     
  7. klu4ik

    klu4ik Создатель

    Регистр.:
    11 май 2008
    Сообщения:
    39
    Симпатии:
    0
    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($lockLOCK_EX+LOCK_NB)) 
            {
                
    $file fopen($this->whoonline"w");
                
    fwrite($fileserialize($this->online));
                
    fflush($file);
                
    fclose($file);
                
    flock($lockLOCK_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 минуты
    если у тебя модуль "На линии"
    То нет , если файлы модуля остались и шаблон не менял
     
  8. CheburatoR-all

    CheburatoR-all Гипножаба

    Регистр.:
    26 апр 2009
    Сообщения:
    295
    Симпатии:
    438
    :) Лучше дай архив с модулем. Ну или еще добавь все php файлы связанные с ним и какие автор просил проводить изменения (лучше архив конечно)
     
    klu4ik нравится это.
  9. klu4ik

    klu4ik Создатель

    Регистр.:
    11 май 2008
    Сообщения:
    39
    Симпатии:
    0
    вот модуль
    но думаю дело не в модуле
     

    Вложения:

  10. CheburatoR-all

    CheburatoR-all Гипножаба

    Регистр.:
    26 апр 2009
    Сообщения:
    295
    Симпатии:
    438
    :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}


    :) Готово. Если что не так пиши
     
    klu4ik нравится это.
Статус темы:
Закрыта.