DataLife Engine > Версия для печати > Модификация вопрос ответ в DLE или Question Img v1.0

Первая проблема и не последняя это спам ботизм в Dle и Оптимизация DLE. Они взаимосвязаны это факт и наша задача и цель одновременно улучшить систему защиты и обеспечить любовь к ресурсу от поисковиков.Хак система вопрос-ответ с картинкой добавляет в стандартный функционал системы Вопрос-Ответ возможность добавлять картинку. Что должно, хоть на какое то время, помочь справиться с регистрацией ботов и т.д.Дальше у нас установка очень легкая и быстрая с минимум правок:

1. Файл: /engine/modules/functions.php

Найти:

if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

Добавить ниже:

#****** Question Img * by MSW ******#
function question_img($i) {
    $img = ( substr($i[1], 0, 4)=="http" ) ? $i[1] : "/uploads/question/{$i[1]}";
    return "
"; }

2. Файл: /engine/modules/register.php

Найти:

$tpl->set( '{question}', htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES ) );

или:

$tpl->set( '{question}', htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES, $config['charset'] ) );

Заменить на:

#****** Question Img * by MSW ******#
            $question['question'] = preg_replace_callback( "#\[img=(.+?)\]#is", "question_img", $question['question'] );
            $tpl->set( '{question}', stripslashes( $question['question'] ) );
#****** Question Img * by MSW ******#

3. Файл: /engine/modules/show.full.php

Найти:

$tpl->set( '{question}', "".htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES )."" );

или:

$tpl->set( '{question}', "".htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES, $config['charset'] )."" );

Заменить на:

#****** Question Img * by MSW ******#
            $question['question'] = preg_replace_callback( "#\[img=(.+?)\]#is", "question_img", $question['question'] );
            $tpl->set( '{question}', "".stripslashes( $question['question'] )."" );
#****** Question Img * by MSW ******#

4. Создать каталог: /uploads/question

Поместить в него картинки, например: 1.jpgПример вопроса:

Что изображено на картинке? [img=1.jpg]

Автор: MSW

Версия DLE: 9.4 и выше