Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы » Как запретить complaint не авторизированным?

Как запретить complaint не авторизированным?


     Общие вопросы, Общие вопросы по PHP    1658

вопрос
Ищу на оборот. Что бы гость не мог отправлять жалобу об ошибки.
https://dle-faq.ru/faq/common/447-kak-razreshit-gostyam-polzovatsya-funkciey-zhaloby-complaint.html
Все стоит противоположно этому. DLE 11.1.

Ответил: irrwisch


в /engine/ajax/complaint.php найти

} elseif ($_POST['action'] == "orfo") {

    if(!$text) die( "error" );

    $seltext = convert_unicode( $_POST['seltext'], $config['charset'] );
    $seltext = htmlspecialchars( $parse->process( trim( $seltext ) ), ENT_QUOTES, $config['charset'] );
    $url = $db->safesql( htmlspecialchars( $parse->clear_url( trim( $_POST['url'] ) ), ENT_QUOTES, $config['charset'] ) );

    if(!$seltext) die( "error" );

    if( !$is_logged ) $author = $_IP; else $author = $db->safesql($member_id['name']);

    $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_complaint WHERE p_id='0' AND c_id='0' AND n_id='0' AND `from`='{$author}'" );

    if ($row['count'] > 2 ) { echo $lang['error_complaint_1']; die(); }

    $seltext = "<div class=\"quote\">".stripslashes( $seltext )."</div>";
    $text = $db->safesql( $seltext.$text );

    $db->query( "INSERT INTO " . PREFIX . "_complaint (`p_id`, `c_id`, `n_id`, `text`, `from`, `to`, `date`) values ('0', '0', '0', '{$text}', '{$author}', '{$url}', '{$_TIME}')" );

    if ( $config['allow_complaint_mail'] ) {
        $mail->send( $config['admin_mail'], $lang['mail_complaint'], $lang['mail_complaint_1'] );    
    }

}

заменить на

} elseif ($_POST['action'] == "orfo") {

    if(!$text) die( "error" );
    if( !$is_logged ) {echo "<a href='/index.php?do=register'>Зарегистрируйтесь</a>, либо выполните вход для отправки.";}
    else {

    $seltext = convert_unicode( $_POST['seltext'], $config['charset'] );
    $seltext = htmlspecialchars( $parse->process( trim( $seltext ) ), ENT_QUOTES, $config['charset'] );
    $url = $db->safesql( htmlspecialchars( $parse->clear_url( trim( $_POST['url'] ) ), ENT_QUOTES, $config['charset'] ) );

    if(!$seltext) die( "error" );

    $author = $db->safesql($member_id['name']);

    $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_complaint WHERE p_id='0' AND c_id='0' AND n_id='0' AND `from`='{$author}'" );

    if ($row['count'] > 2 ) { echo $lang['error_complaint_1']; die(); }

    $seltext = "<div class=\"quote\">".stripslashes( $seltext )."</div>";
    $text = $db->safesql( $seltext.$text );

    $db->query( "INSERT INTO " . PREFIX . "_complaint (`p_id`, `c_id`, `n_id`, `text`, `from`, `to`, `date`) values ('0', '0', '0', '{$text}', '{$author}', '{$url}', '{$_TIME}')" );

    if ( $config['allow_complaint_mail'] ) {
        $mail->send( $config['admin_mail'], $lang['mail_complaint'], $lang['mail_complaint_1'] );    
    }
    }
}

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

наверх