Хак [хак] php вставка на главной или свой модуль для ДЛЕ

Тема в разделе "DLE", создана пользователем AchiLLeSS, 9 май 2007.

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

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

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

    AchiLLeSS

    Регистр.:
    13 дек 2006
    Сообщения:
    841
    Симпатии:
    415
    1. В папке engine\modules создаем файл mymodul.php примерно с следующим содержанием:
    PHP:
    <?php
    /*
    =====================================================
     Copyright (c) 2007 AchiLLeS
    =====================================================
    */
    if(!defined('DATALIFEENGINE'))
    {
      die(
    "Hacking attempt!");
    }

    $aa="12";
    $navivod="

    Мне <b> 
    $aa </b> лет


    "
    ;


    ?>
    примечание: $navivod=" то что хотим вывести на главной";


    2. Jткрываем файл engine/init.php и в самом низу перед знаком ?> дописуем
    PHP:
        include_once ENGINE_DIR.'/modules/mymodul.php';
        
    3. Открываем index.php находим строки
    PHP:
        $tpl->set('{calendar}'$tpl->result['calendar']);
        
    $tpl->set('{archives}'$tpl->result['archive']);
        
    $tpl->set('{vote}'$tpl->result['vote']);
        
    $tpl->set('{topnews}',$topnews);
        
    $tpl->set('{login}',$login_panel);
        
    после дописивыем
    PHP:
        $tpl->set('{mymodul}',$navivod);
        
    4. Открываем шаблон main.tpl и где хотим вывести наш модуль вставляем {mymodul}

    Все!:-] что дальше делать думаю вы поняли
    С ув. АсhiLLeS
     
    amasbee и yura нравится это.
  2. Kaiser

    Kaiser Создатель

    Регистр.:
    17 дек 2006
    Сообщения:
    16
    Симпатии:
    0
    Прикольно, при удобном случае заценю! :ay:
     
  3. masima

    masima

    Регистр.:
    9 мар 2007
    Сообщения:
    733
    Симпатии:
    1.338
    интересно конечно но ещё бы дописал как делает шабоны под модули, ЧПУ к ним и вывод отдельной страницей

    Добавлено через 6 минут
    http://vssp.ru/2007/02/15/uchimsja_pisat_moduli_dlja_datalife.html - учимся писать модули...
    http://vssp.ru/2007/02/23/uchimsja_pisat_moduli_s_adminpanelju_dlja_dle.html - вот статья как писать модули с админ панелью

    вот вроде всё что есть... пользователям DLE взять на заметку и можно писать модули самим...
     
  4. SiMuS

    SiMuS Прохожие

    По такой же системе все модули и прикручиваются))
     
  5. masima

    masima

    Регистр.:
    9 мар 2007
    Сообщения:
    733
    Симпатии:
    1.338
    SiMuS - да ты прав... но есть ещё пару мелочей которые нужно учитывать
     
  6. SidexQX

    SidexQX Создатель

    Регистр.:
    10 фев 2007
    Сообщения:
    42
    Симпатии:
    6
    А что делать если "mymodul.php" это файл другого скрипта?
    У меня начинает ругаться на отсутствие файлов и пр... Как сделать так, что б вставлялось как html?
    P.S. Помогите пожалуйста, подробно;)))
     
  7. eshkin

    eshkin

    Регистр.:
    13 апр 2006
    Сообщения:
    599
    Симпатии:
    256
    всмысле? вставлять как результат чего то? :eek:
     
  8. masima

    masima

    Регистр.:
    9 мар 2007
    Сообщения:
    733
    Симпатии:
    1.338
    как ты вставишь php как html????
    там структура, функции разные...
    а если mymodul.php это другой скрипт то надо смотреть обращения к базе, файлики с функционалом и т.д.
     
  9. SidexQX

    SidexQX Создатель

    Регистр.:
    10 фев 2007
    Сообщения:
    42
    Симпатии:
    6
    mymodul.php - это один из файлов скрипта... который неиспользует бд, всё хранит в файлах...
    <!--#include file="arhive/recent.php" --> - непомогло...

    Далее привожу скрипт который пытаюсь вставить:
    PHP:
    <?php

    define
    ('IN_PHPATM'true);
    $include_location dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME'])."/";
    include(
    $include_location.'include/conf.php');
    include(
    $include_location.'include/common.'.$phpExt);

    $num_last_files 7;
    //
    // Ricerca ricorsivamente i file contenuti nella directory indicata ed
    // in ogni subdirectory in essa contenuta e ritorna un array contentente
    // i dieci files piщ recentri trovati fino a quel momento
    //
    function find_last_files($current_dir$lastfiles = array())
    {
        global 
    $max_last_files$hidden_dirs$showhidden$reserved_files$num_last_files;

        
    // Leggo il contenuto della directory passata come primo argomento
        
    $handle opendir($current_dir);
        while (
    false !== ($filename readdir($handle)))
        {
            
    // Scarto i file da non visualizzare o non accettabili
            
    if (!eregi($reserved_files$filename) && show_hidden_files($filename))
            {
                
    // Se и una dir lancio ricursivamente la funzione
                
    if(is_dir("$current_dir/$filename"))
                {

                    
    // Non controllo le dir nascoste
                      
    if (eregi($hidden_dirs$filename) && !$showhidden)
                      {
                          continue;
                      }

                    
    $lastfiles find_last_files("$current_dir/$filename"$lastfiles);
                    continue;
                }

                
    // Inserisco il file trovato nell'array
                
    $file_modif_time filemtime("$current_dir/$filename");
                
    $lastfiles["$current_dir/$filename"] = $file_modif_time;
            }
        }
        
    closedir($handle);

        
    // Ordino l'array trovato in base alla data d'invio e
        // mantengo solo i primi '$last_files_shown' valori (definito in conf.php)
        
    arsort($lastfilesSORT_NUMERIC);
        
    array_splice($lastfiles$num_last_files);

        return 
    $lastfiles;
    }

    //
    // Stampa l'intera pagina
    //
    function show_contents()
    {
        global 
    $mess$grants$user_status$phpExt;
        global 
    $font,$order,$totalsize,$tablecolor,$headercolor,$bordercolor;
        global 
    $headerfontcolor$normalfontcolor;
        echo 
    "<script language=\"javascript\">\n";
        echo 
    "function popup(file, dir) {\n";
        echo 
    "var fen=window.open('index.${phpExt}?action=view&filename='+file+'&directory='+dir+'&".SID."','filemanager','status=yes,scrollbars=yes,resizable=yes,width=500,height=400');\n";
        echo 
    "}\n";
        echo 
    "</script>\n";
        
    show_files();
    echo 
    "
      <!---  ---!>
        
    \n"
    ;
    }

    //
    // Stampa l'elenco dei file ordinati in base al numero di download
    //
    function show_files()
    {
      global 
    $font,$direction,$order,$directory,$totalsize,$mess,$tablecolor,$lightcolor;
      global 
    $file_out_max_caracters,$normalfontcolor,$uploads_folder_name;
      global 
    $comment_max_caracters,$datetimeformat$logged_user_name$grants;
      global 
    $user_status,$activationcode,$max_filesize_to_mail;
      global 
    $mail_functions_enabled$timeoffset$validation_enabled$phpExt;

        
    $lastfiles find_last_files($uploads_folder_name);
        while (list(
    $filename$filedate) = each($lastfiles))
        {
            
    $directory ereg_replace($uploads_folder_name''dirname($filename));
            if (
    strchr($directory'/') == 0)
                
    $directory substr($directory1);

            list(
    $upl_user$upl_ip$filestatus$contents) = get_file_description($filename$comment_max_caracters);

            if (!
    $validation_enabled ||
                 
    $filestatus == VALIDATED ||
                (
    $filestatus == UNVALIDATED && $grants[$user_status][VALIDATE]))
            {
    echo 
    "

    <a href=\"index.
    ${phpExt}?action=downloadfile&filename=".basename($filename)."&directory=$directory&".SID."\">
    <img src=\"images/"
    .get_mimetype_img($filename)."\" align=\"ABSMIDDLE\" border=\"0\"></a> ";
    if (
    is_viewable($filename))
    {echo 
    "<a href=\"javascript:popup('".basename($filename)."', '".$directory."')\">";}
    echo 
    substr(basename($filename),0,$file_out_max_caracters);
    if(
    is_viewable($filename) || is_dir($filename))
    {echo 
    "</a>\n";}
    // Load description
    list($upl_user$upl_ip$filestatus$contents) = get_file_description($filename$comment_max_caracters);
    echo 
    "(".count_file_download($filename).")<BR><font face=\"$font\" size=\"1\" color=\"$normalfontcolor\">$contents</font>";
    echo 
    "<BR>\n";
        }
       } 
    // while loop
    }

    //----------------------------------------------------------------------------
    //      MAIN
    //----------------------------------------------------------------------------

    // In caso non sia abilitata la visione anonima, reindirizzo a index.php
    if (!$grants[$user_status][VIEW])
    {
        
    header($header_location.'index.'.$phpExt.'?'.SID);
        exit;
    }
    echo 
    "------------- начало списка ---------------
    <div align=\"left\">
    <table border=0><tr><td weight=\"200px\"><font size=\"1\" face=\"
    $font\" color=\"$normalfontcolor\">";
    show_contents();
    echo 
    "</font></td></tr></table></div>
    -------------- конец списка ---------------"
    ;

    ?>
    - это немного переработанный компонент скрипта файлообненника...
    Хочу вставить его блоком на главную...
     
  10. SidexQX

    SidexQX Создатель

    Регистр.:
    10 фев 2007
    Сообщения:
    42
    Симпатии:
    6
    ответа непоследует? подскажите плз, оч надо...
     
Статус темы:
Закрыта.