Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Конфликт двух хаков.

Конфликт двух хаков.


     08.12.2013    Все вопросы » Общие вопросы    4315

вопрос
Всем привет, раньше я задавал вопрос как Вывести профиль вместо главной страницы для пользователей, вот сейчас я установил хак по убиранию id с полной новости. Все встало хорошо, но когда переходишь в новость, ссылка становится как на новость но выводится профиль. Как это убрать, при этом не убирая ни один из хаков?

Вот код вывода профиля
if($is_logged AND $dle_module=='main'){
    $subaction = 'userinfo';
    $user = $member_id['name'];
}


а вот код хака по убиранию ид
engine.php
            // ################ Новость целиком #################
            if ($subaction != '' or $_GET['newsid']) {
                if (! $_GET['newsid']) $sql_news = "SELECT * FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE alt_name ='$news_name' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 1";
                else $sql_news = "SELECT * FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE  alt_name = '{$_GET['newsid']}'";
                if ($subaction == '') $subaction = "showfull";
            }
        }


show.short.php
if( $config['seo_type'] == 1 OR $config['seo_type'] == 2  ) {
                if( $row['category'] and $config['seo_type'] == 2 ) {
                    $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['alt_name'] . ".html";
                } else {
                    $full_link = $config['http_home_url'] . $row['alt_name'] . ".html";
                }    
            } else {        
                $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
            }        
        } else {
            $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['alt_name'];
        }


и htaccess
# Сам пост 
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3 [L]
RewriteRule ^([^.]+)/(.*).html(/?)+$ index.php?newsid=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2 [L]
RewriteRule ^(.*).html(/?)+$ index.php?newsid=$1 [L]

Ответил: i_loves_ac_dc


Сам спросил, сам решил.

В engine.php найти:
            if ($subaction == 'userinfo') {
                
                $allow_userinfo = TRUE;
                include_once (ENGINE_DIR . '/modules/profile.php');
            
            } else {
                $allow_active_news = TRUE;
            }


Выше вставить:
            if($is_logged AND $dle_module=='main'){
    $subaction = 'userinfo';
    $user = $member_id['name'];
}

5 комментариев

ПафНутиЙ
Админ

ПафНутиЙ - 8 декабря 2013 10:49 -

Используйте третий тип ЧПУ

Каков вопрос - таков и ответ. Просто помните об этом.

i_loves_ac_dc
Гости

i_loves_ac_dc - 8 декабря 2013 10:50 -

там будет http:// site.ru/2008/04/02/имя новости.html а я бы хотел
http:// site.ru/категория/подкатегория/имя новости.html

ПафНутиЙ
Админ

ПафНутиЙ - 8 декабря 2013 10:56 -

зато id не будет и проблем тоже)
Убирание ID новости через разные хаки, на мой взгляд, самый лучший и надёжный способ огрести вагон проблем на пустом месте.

Каков вопрос - таков и ответ. Просто помните об этом.

i_loves_ac_dc
Гости

i_loves_ac_dc - 8 декабря 2013 12:22 -

if($is_logged AND $dle_module=='main'){
    $subaction = 'userinfo';
    $user = $member_id['name'];
}

может задать такой же только для просмотра полной новости?

i_loves_ac_dc
Гости

i_loves_ac_dc - 8 декабря 2013 15:27 -

Помогите пожалуйста, не хочу терять функционал) Пожалуйста

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх