Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Как сделать, чтобы при нажатие открывалось окно и после "отравить"приходило на почту

Как сделать, чтобы при нажатие открывалось окно и после "отравить"приходило на почту


     17.02.2014    Все вопросы » Хаки    2790

вопрос
Сейчас у меня при нажатие просто приходит оповещение на почту.
Как сделать, чтобы при нажатие открывалось окно и после "отравить"приходило на почту


Как сделать, чтобы при нажатие выходило чисто окно(без выбора как на скрине):

Как сделать, чтобы при нажатие открывалось окно и после "отравить"приходило на почту


Человек пишет какую серию удалили и отправляет и после данный текст приходит мне на почту.

Ответил: vitnet


Как вариант можно так:
engine/ajax/complaint.php
найти
} elseif ($_POST['action'] == "news") {

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

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

    $row = $db->super_query( "SELECT id, autor FROM " . PREFIX . "_post WHERE id='{$id}'" );

    if(!$row['id']) die("Operation not Allowed");

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

    $db->query( "SELECT id FROM " . PREFIX . "_complaint WHERE n_id='{$id}' AND `from`='{$member_id['name']}'" );

    if ($db->num_rows()) { echo $lang['error_complaint_1']; die(); }

    $text = $db->safesql( $text );

    $db->query( "INSERT INTO " . PREFIX . "_complaint (`p_id`, `c_id`, `n_id`, `text`, `from`, `to`, `date`) values ('0', '0', '{$row['id']}', '{$text}', '{$member_id['name']}', '', '{$_TIME}')" );

}

добавить ниже
 elseif ($_POST['action'] == "news_g") {
    if( !$id OR !$text) die( "error" );
    $row = $db->super_query( "SELECT id, autor FROM " . PREFIX . "_post WHERE id='{$id}'" );
    if(!$row['id']) die("Operation not Allowed");

    include_once ENGINE_DIR . '/classes/mail.class.php';
    $mail = new dle_mail( $config, true );
    $text = $db->safesql( $text );
    $url   = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
    $mail->send( $config['admin_mail'], "Уведомление о отсутствии видео на сайте", "Нет видео по адресу: " . $url . "<br /><br />Текст: " . $text );  
}

engine/classes/js/dle_js.js
найти
function AddComplaint(a,c){var b={};b[dle_act_lang[3]]=function(){$(this).dialog("close")};b[dle_p_send]=function(){if(1>$("#dle-promt-text").val().length)$("#dle-promt-text").addClass("ui-state-error");else{var b=$("#dle-promt-text").val();$(this).dialog("close");$("#dlepopup").remove();$.post(dle_root+"engine/ajax/complaint.php",{id:a,text:b,action:c},function(a){"ok"==a?DLEalert(dle_p_send_ok,dle_info):DLEalert(a,dle_info)})}};$("#dlepopup").remove();$("body").append("<div id='dlepopup' title='"+
dle_complaint+"' style='display:none'><br /><textarea name='dle-promt-text' id='dle-promt-text' class='ui-widget-content ui-corner-all' style='width:97%;height:100px; padding: .4em;'></textarea></div>");$("#dlepopup").dialog({autoOpen:!0,width:500,dialogClass:"modalfixed",buttons:b});$(".modalfixed.ui-dialog").css({position:"fixed"});$("#dlepopup").dialog("option","position",["0","0"])}

заменить на
function AddComplaint(a,c,d){var b={};var t="";if(d){t="Сериалы: указать сезон/серию.";}else{t=dle_complaint;}b[dle_act_lang[3]]=function(){$(this).dialog("close")};b[dle_p_send]=function(){if(1>$("#dle-promt-text").val().length)$("#dle-promt-text").addClass("ui-state-error");else{var b=$("#dle-promt-text").val();$(this).dialog("close");$("#dlepopup").remove();$.post(dle_root+"engine/ajax/complaint.php",{id:a,text:b,action:c},function(a){"ok"==a?DLEalert(dle_p_send_ok,dle_info):DLEalert(a,dle_info)})}};$("#dlepopup").remove();$("body").append("<div id='dlepopup' title='"+t+"' style='display:none'><br /><textarea name='dle-promt-text' id='dle-promt-text' class='ui-widget-content ui-corner-all' style='width:97%;height:100px; padding: .4em;'></textarea></div>");$("#dlepopup").dialog({autoOpen:!0,width:500,dialogClass:"modalfixed",buttons:b});$(".modalfixed.ui-dialog").css({position:"fixed"});$("#dlepopup").dialog("option","position",["0","0"])}

в шаблон пропиши
<a href="javascript:AddComplaint('{r-id}', 'news_g', '1')">Изъяли видео? Сообщите мне</a>

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

feniks01
Гости

feniks01 - 17 февраля 2014 18:14 -


Исправьте пожалуйста второй скрин на этот:

skitalec
Юзер

skitalec - 17 февраля 2014 18:33 -

Я не понял, это вопрос по dle или ucoz? окно модальное с ucoz...
если по dle, то как вариант использовать модуль "Жалобы на новость", немного переделать под себя и получить требуемый результат.

feniks01
Гости

feniks01 - 17 февраля 2014 18:55 -

А мы на каком сайте находимся? Вот и ответ.
Это .tpl? Если да, как называется? "Переделать" - это вправить стили? а если php то вообще проблематично..

vitnet
PHP-developer

vitnet - 17 февраля 2014 19:34 -

Я так понял авторизации нет, значит может подойти вот этот модуль

feniks01
Гости

feniks01 - 17 февраля 2014 19:45 -

Немного муторно :( Авторизация только у админа, чтобы редактировать новости. А отсылают ,только гости.

Сможете переделать немного? Если да, то в ЛС отпишу.

ychelovek33
Юзер

ychelovek33 - 21 февраля 2014 16:11 -

Пофиг какой движок у сайта (допустим у нас DLE)



<a href="opw1()">Оставить жалобу</a>
<div id="window" style="display:none; position:absoolute; top:250px; width: 500px; height:500px; left:50%; margin-left:-250px;">
<?php

if (isset($_POST['addnick'])) {
mail(adminemail@mail.ru", "JALOBA", 'Жалоба на новость {title}\n\n\n\n'.$_POST['texts']);

echo '
<form method="post">
<textarea name="texts"></textarea>
<input type="submit" name="addnick" value="Оставить жалобу">
</form>
';
?>
</div>
<script>
function opw1() {
    document.getElementById("window").style.display="block";
          }
</script>



P.S. Должно работать))))

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

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

наверх