Помощь Вопросы по DLE (ВНИМАТЕЛЬНО читаем первый пост!!!)

Тема в разделе "DLE", создана пользователем Горбушка, 18 май 2013.

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

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

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

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.138
    Симпатии:
    2.148
    Навигатор | Изменения в шаблонах | Локализации | F.A.Q. | Внешний вид

    Если у Вас недостаточно постов/уровня для создания новой темы, пишите свои вопросы здесь.

    Если постов хватает - в новую тему.

    Спасибо на этом форуме говорят кнопкой "Мне нравится"...
     
    Последнее редактирование: 1 сен 2016
    CannabiS, Seraferer и gon9 нравится это.
  2. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.122
    Симпатии:
    778
    в расширенном поиске есть варианты по чему проводить поиск.
     
  3. pm9

    pm9 Писатель

    Регистр.:
    29 июл 2016
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте!

    Достался мне "в наследство" сайт на DLE 9.2. Хочу обновить до 11.2.
    Доступа к ПУ хостинга нет, только FTP и админка. На хостинге PHP 5.2.17.

    Версия DataLife Engine: 9.2
    Тип лицензии скрипта: Лицензия активирована
    Режим работы сайта: Включен
    Операционная система: Linux 3.10.0--generic-shared-3.2-20160306
    Версия PHP: 5.2.17-pl0-gentoo
    Версия MySQL: 5.6.33-79.0-log MySQLi
    Информация о GD: GD Version: bundled (2.0.34 compatible), FreeType Support: Enabled, FreeType Linkage: with freetype, T1Lib Support: Enabled, GIF Read Support: Enabled, GIF Create Support: Enabled, JPG Support: Enabled, PNG Support: Enabled, WBMP Support: Enabled, XPM Support: Disabled, XBM Support: Enabled, JIS-mapped Japanese Font Support: Disabled,

    Раньше везде заявлялось, что DLE нужен PHP 5.2 и выше, а теперь в требованиях 5.3.7...

    ВОПРОС: Можно ли обновить DLE без обновления PHP? Что не будет работать?

    Заранее благодарен за любое мнение.

    PS: На другом хостинге с PHP 5.6 тренировался с обновлением копии этого сайта - все получается, но на рабочем - возникают сомнения.
     
  4. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.122
    Симпатии:
    778
    Если установлено много модулей/хаков, все их придется адаптировать, а некоторые переписывать почти заново.
    Обновляй php и будет всё работать. Или можешь попробовать поставить последнюю версию ДЛЕ на пхп 5,2 и потом сообщить о результатах работы на старой версии PHP.
    ответ на это будет когда проведешь проверку, на думаю что тут много поклонников PHP 5.2 которые не хотят обновляться...
     
  5. wolgast

    wolgast

    Регистр.:
    9 дек 2006
    Сообщения:
    296
    Симпатии:
    31
    После обновления DLE "поехала" форма комментариев на страницах, как можно исправить? Вот пример:
     
  6. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.122
    Симпатии:
    778
    1. Почитать шапку раздела, найти там "ИЗМЕНЕНИЯ В ШАБЛОНАХ" - http://dle-news.ru/extras/diffs/
    2. Сделать правки шаблона...
    и готово.
     
    Горбушка нравится это.
  7. DizeD

    DizeD Писатель

    Регистр.:
    30 ноя 2016
    Сообщения:
    3
    Симпатии:
    0
    Добрейший вечерочек! Столкнулся с такой проблемой, версия движка 11.2
    На статической странице разместил файл, попытался его скачать, перекидывает на другую страницу и выдает ошибку Access denied (Доступ закрыт), при просмотре файла онлайн, перекидывает на страницу c названием download.php и та же ошибка.
    Копался в настройках движка ничего не нашел. В файл download.php лезть не хочу т.к не шарю, подскажите что можно сделать.

    Код:
    <?php
    /*
    =====================================================
    DataLife Engine - by SoftNews Media Group
    -----------------------------------------------------
    http://dle-news.ru/
    -----------------------------------------------------
    Copyright (c) 2004-2017 SoftNews Media Group
    =====================================================
    Данный код защищен авторскими правами
    =====================================================
    Файл: download.php
    -----------------------------------------------------
    Назначение: Скачивание файлов
    =====================================================
    */
    define ( 'DATALIFEENGINE', true );
    define ( 'FILE_DIR', '../uploads/files/' );
    define ( 'ROOT_DIR', '..' );
    define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );
    
    @error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
    @ini_set ( 'display_errors', true );
    @ini_set ( 'html_errors', false );
    @ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
    
    function reset_url($url) {
        $url = (string)$url;
      
        $value = str_replace ( "http://", "", $url );
        $value = str_replace ( "https://", "", $value );
        $value = str_replace ( "www.", "", $value );
        $value = explode ( "/", $value );
        $value = reset ( $value );
        return $value;
    }
    
    function clear_url_dir($var) {
        $var = (string)$var;
      
        $var = str_ireplace( ".php", "", $var );
        $var = str_ireplace( ".php", ".ppp", $var );
        $var = trim( strip_tags( $var ) );
        $var = str_replace( "\\", "/", $var );
        $var = preg_replace( "/[^a-z0-9\/\_\-]+/mi", "", $var );
        return $var;
      
    }
    
    require ENGINE_DIR . '/data/config.php';
    
    date_default_timezone_set ( $config['date_adjust'] );
    
    if ($config['http_home_url'] == "") {
      
        $config['http_home_url'] = explode ( "engine/download.php", $_SERVER['PHP_SELF'] );
        $config['http_home_url'] = reset ( $config['http_home_url'] );
        $config['http_home_url'] = "http://" . $_SERVER['HTTP_HOST'] . $config['http_home_url'];
    
    }
    
    require_once ENGINE_DIR . '/classes/mysql.php';
    require_once ENGINE_DIR . '/data/dbconfig.php';
    require_once ENGINE_DIR . '/modules/functions.php';
    
    dle_session();
    $_TIME = time();
    
    //################# Определение групп пользователей
    $user_group = get_vars ( "usergroup" );
    
    if ( !$user_group ) {
      
        $user_group = array ();
      
        $db->query ( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
      
        while ( $row = $db->get_row () ) {
          
            $user_group[$row['id']] = array ();
          
            foreach ( $row as $key => $value ) {
                $user_group[$row['id']][$key] = $value;
            }
      
        }
      
        set_vars ( "usergroup", $user_group );
        $db->free ();
    
    }
    
    require_once ENGINE_DIR . '/modules/sitelogin.php';
    require_once ENGINE_DIR . '/classes/download.class.php';
    
    if ( !$is_logged ) {
        $member_id['user_group'] = 5;
    }
    
    $id = intval( $_REQUEST['id'] );
    $viewonline = intval( $_REQUEST['viewonline'] );
    $perm = true;
    $onlineview_ext = array('doc', 'docx','odt','pdf','xls','xlsx');
    
    if ($_REQUEST['area'] == "static") {
      
        $row = $db->super_query ( "SELECT name, onserver FROM " . PREFIX . "_static_files WHERE id ='{$id}'" );
      
    } else {
      
        $row = $db->super_query ( "SELECT news_id, name, onserver FROM " . PREFIX . "_files WHERE id ='{$id}'" );
    
        if ( $row['news_id'] AND !$viewonline ) {
          
            $row_news = $db->super_query ( "SELECT id, autor, date, category, approve, access FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE id ='{$row['news_id']}'" );
          
            if( $row_news['id'] ) {
                $options = news_permission( $row_news['access'] );
                if( $options[$member_id['user_group']] AND $options[$member_id['user_group']] != 3 ) $perm = true;
                if( $options[$member_id['user_group']] == 3 ) $perm = false;
      
                if ($config['no_date'] AND !$config['news_future'] AND !$user_group[$member_id['user_group']]['allow_all_edit']) {
          
                    if( strtotime($row_news['date']) > $_TIME ) {
                        $perm = false;      
                    }
          
                }
              
                $cat_list = explode( ',', $row_news['category'] );
              
                if( count($cat_list) ) {
                  
                    $allow_list = explode( ',', $user_group[$member_id['user_group']]['allow_cats'] );
                    $not_allow_cats = explode ( ',', $user_group[$member_id['user_group']]['not_allow_cats'] );
          
                    foreach ( $cat_list as $element ) {
                          
                        if( $allow_list[0] != "all" AND !in_array( $element, $allow_list ) ) $perm = false;
                      
                        if( $not_allow_cats[0] != "" AND in_array( $element, $not_allow_cats ) ) $perm = false;
                      
                    }
                  
                }
              
                if( !$row_news['approve'] AND $member_id['name'] != $row_news['autor'] AND !$user_group[$member_id['user_group']]['allow_all_edit'] ) $perm = false;
              
            } else $perm = false;
    
        } elseif ( !$row['news_id'] ) {
            $perm = false;
        }
    
    }
    
    if ( !$row['name'] ) {
        die ( "Access denied" );
    }
    
    if ( !$perm ) {
        die ( "You don't have access to download this file" );
    }
    
    $url = @parse_url ( $row['onserver'] );
    
    $file_path = dirname (clear_url_dir($url['path']));
    $file_name = pathinfo($url['path']);
    $file_ext  = totranslit($file_name['extension'], true, false);
    $file_name = totranslit($file_name['basename'], false);
    
    if ($file_path AND $file_path != ".") $file_name = $file_path."/".$file_name;
    
    if( stripos ( $file_name, ".php" ) !== false ) {
        die ( "Access denied" );
    }
    
    if ($viewonline == 1 AND in_array($file_ext, $onlineview_ext) ) {
      
        $config['files_antileech'] = false;
        $user_group[$member_id['user_group']]['files_max_speed'] = 0;
        $user_group[$member_id['user_group']]['allow_files'] = true;
      
    }
    
    if ( !$user_group[$member_id['user_group']]['allow_files'] ) {
        die ( "Access denied" );
    }
    
    if ($config['files_antileech']) {
      
        $_SERVER['HTTP_REFERER'] = reset_url ( $_SERVER['HTTP_REFERER'] );
        $_SERVER['HTTP_HOST'] = reset_url ( $_SERVER['HTTP_HOST'] );
    
        if ($_SERVER['HTTP_HOST'] != $_SERVER['HTTP_REFERER']) {
            @header ( 'Location: ' . $config['http_home_url'] );
            die ( "Access denied!!!<br /><br />Please visit <a href=\"{$config['http_home_url']}\">{$config['http_home_url']}</a>" );
        }
    
    }
    
    $file = new download ( FILE_DIR . $file_name, $row['name'], $config['files_force'], intval($user_group[$member_id['user_group']]['files_max_speed']) );
    
    if ($_REQUEST['area'] == "static") {
      
        if ($config['files_count'] AND !$file->range) {
            $db->query ( "UPDATE " . PREFIX . "_static_files SET dcount=dcount+1 WHERE id ='$id'" );
        }
    
    } else {
      
        if ($config['files_count'] AND !$file->range) {
            $db->query ( "UPDATE " . PREFIX . "_files SET dcount=dcount+1 WHERE id ='$id'" );
        }
    
    }
    
    $db->close ();
    session_write_close();
    
    $file->download_file();
    ?>
     
  8. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.138
    Симпатии:
    2.148
    Мало данных... Что за файл? Не .php случаем?
    Стоит ли параметр в настройке групп "Разрешить скачивание файлов" в положение on?
    Если файл с таким ID в таблице _static_files?

    Собственно это все причины ошибки Access denied, если конечно текст ошибки ровно такой...
     
  9. DizeD

    DizeD Писатель

    Регистр.:
    30 ноя 2016
    Сообщения:
    3
    Симпатии:
    0
    Забыл сказать что до момента заливки файлов делал импорт бд, нужно ли какой то запрос сделать в бд, если да то какой?
    Файлы pdf и doc формата. В таблице _static_files присутствует. В настройках групп скачивание разрешено.
     
    Последнее редактирование: 23 дек 2016
  10. enfernal

    enfernal Писатель

    Регистр.:
    17 апр 2012
    Сообщения:
    9
    Симпатии:
    2
    Привет Всем!

    Вопрос такой, если включить вывод ошибок в админке и на сайте, таким кодом в index.php или admin.php:

    Код:
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    То сыпется уйма предупреждений/уведомлений а порой и ошибок, это проблема с версией php, или все Dle так криво написана? (При том что движок чистый, только установленный, v. 11.2)
    [​IMG]
     
  11. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.122
    Симпатии:
    778
    чем не нравится в файле админки код:
    PHP:
    if( !defined'E_DEPRECATED' ) ) {

        @
    error_reporting E_ALL E_WARNING E_NOTICE );
        @
    ini_set 'error_reporting'E_ALL E_WARNING E_NOTICE );

    } else {

        @
    error_reporting E_ALL E_WARNING E_DEPRECATED E_NOTICE );
        @
    ini_set 'error_reporting'E_ALL E_WARNING E_DEPRECATED E_NOTICE );

    }

    @
    ini_set 'display_errors'true );
    @
    ini_set 'html_errors'false );
    ? Насколько видно это и есть код вывода ошибок, зачем ещё что-то добавлять?