Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Есть у кого готовое решение?

Тема в разделе "Свободное общение", создана пользователем Voldigoad, 16 мар 2020.

16.03.20 в 19:34
24.03.20 в 15:31
19
1.170
0
  1. TopicStarter Overlay
    Voldigoad

    PRO Users

    Регистрация:
    19 сен 2019
    Сообщения:
    158
    Лучших ответов:
    1
    Рейтинги:
    +20 / 4 / -0
    В общем тут всё описывать нету смысла так как это сделал уже другой человек, вот здесь клик
    Очень нужная данная фишка, а то бывает жалобы приходят от не зареганных людей а спросить у них о конкретных вещах никак(но я лично не настолько вкаченный хакерман чтобы по ip найти челика:D)
     
  2. ProfitGet

    PRO Users

    Регистрация:
    3 авг 2018
    Сообщения:
    1.511
    Лучших ответов:
    1
    Рейтинги:
    +233 / 104 / -0
    ZERROY, рекомендую реализовать функционал на подобие этого :D, только текст свой есствно... ;) :

    [​IMG]
     
    • Смешно Смешно x 3
  3. Uralbox

    Команда форума VIP Кинотрафик v2

    Регистрация:
    25 окт 2015
    Сообщения:
    1.593
    Лучших ответов:
    0
    Рейтинги:
    +184 / 5 / -0
    Осталось ещё кнопку - "да" вырезать :D
     
  4. TopicStarter Overlay
    Voldigoad

    PRO Users

    Регистрация:
    19 сен 2019
    Сообщения:
    158
    Лучших ответов:
    1
    Рейтинги:
    +20 / 4 / -0
    Какое это имеет отношение к данной теме?
     
  5. ProfitGet

    PRO Users

    Регистрация:
    3 авг 2018
    Сообщения:
    1.511
    Лучших ответов:
    1
    Рейтинги:
    +233 / 104 / -0
    ZERROY, это шаблон обратной связи (готовое решение), только текст на свой смени... ;)
     
  6. PlusLike

    PlusLike Бывалый

    Регистрация:
    23 авг 2019
    Сообщения:
    115
    Лучших ответов:
    0
    Рейтинги:
    +13 / 11 / -0
    ProfitGet Прекрасный чёрный юмор, добро тебе соратник :D
     
  7. Sam_Morrou

    PRO Users

    Регистрация:
    2 мар 2017
    Сообщения:
    622
    Лучших ответов:
    0
    Рейтинги:
    +69 / 12 / -0
    Тоже интересует данный функционал, давно хотел такое реализовать.
     
    • Нравится Нравится x 1
  8. TopicStarter Overlay
    Voldigoad

    PRO Users

    Регистрация:
    19 сен 2019
    Сообщения:
    158
    Лучших ответов:
    1
    Рейтинги:
    +20 / 4 / -0
    UP, ребята очень нужно!
     
  9. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.299
    Лучших ответов:
    31
    Рейтинги:
    +3.896 / 96 / -0
    500 рублей, или 700 на двоих.
     
  10. Roman.U

    PRO Users

    Регистрация:
    13 ноя 2015
    Сообщения:
    6.192
    Лучших ответов:
    5
    Рейтинги:
    +1.037 / 117 / -0
    Когда-то на юкоз была такая фитча, себе на сайт ставил. Там при жалобе были типо Не работает фильм, плохой звук, фильм прерывается, ниже юзер мог писать текст если не один пункт не подходит... В общем че хочешь то пиши.
    Нужно искать скрипт для юкоз, и пределывать под дле. Кстати фитча действительно путевая, но жалоб будет больше, оно тебе нужно).
     
  11. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    ZERROY за очень выразительный и понятный заголовок, тема во флудильне, в будущем все подобные невнятные и непонятные заголовки будут или во флудильне или в мусорке!

    !!!УЧИТЕСЬ ПРАВИЛЬНО ПИСАТЬ ЗАГОЛОВОК ТЕМЫ!!!
     
    • Нравится Нравится x 1
  12. ProfitGet

    PRO Users

    Регистрация:
    3 авг 2018
    Сообщения:
    1.511
    Лучших ответов:
    1
    Рейтинги:
    +233 / 104 / -0
    Roman.U, в юкозе не скрипт, а форма обратной связи, которую можно вывести в полную новость чезез специальные $коды$ , которые работают только в юкозе... ;)
     
  13. Roman.U

    PRO Users

    Регистрация:
    13 ноя 2015
    Сообщения:
    6.192
    Лучших ответов:
    5
    Рейтинги:
    +1.037 / 117 / -0
    Ну я точно не помню, вроде ты прав, именно форма. Но когда был на козе лет 5 назад может больше не помню там таких форм и фитчь в нэте полно было. Я к тому, что можно переделать под дле. Я кстати в свое время ее убрал спецом чтобы не ебали мозг из-за всякой херни. Было 100к трафа так там юзеры хуярили те жалобы тоннами, плохое качество, звук (он почти всегда плохой на пиратках). В общем гемор еще тот. Вот и подумал, что если хотят пиздеть, пусть пишут. Помогло).
     
  14. Sam_Morrou

    PRO Users

    Регистрация:
    2 мар 2017
    Сообщения:
    622
    Лучших ответов:
    0
    Рейтинги:
    +69 / 12 / -0
    Я не против, если ZERROY согласится, можно и скинутся.
     
  15. sunx

    PRO Users

    Регистрация:
    9 ноя 2015
    Сообщения:
    272
    Лучших ответов:
    1
    Рейтинги:
    +177 / 34 / -0
    PunPun, к выпадающему списку кнопку "сделать скриншот экрана" можно сделать? сколько будет стоить?
    К примеру как в гугле
    TeOoQ6HEQJmVl5VbodMfaQ.png
     
  16. TopicStarter Overlay
    Voldigoad

    PRO Users

    Регистрация:
    19 сен 2019
    Сообщения:
    158
    Лучших ответов:
    1
    Рейтинги:
    +20 / 4 / -0
    я согласен
     
    • Нравится Нравится x 1
  17. TopicStarter Overlay
    Voldigoad

    PRO Users

    Регистрация:
    19 сен 2019
    Сообщения:
    158
    Лучших ответов:
    1
    Рейтинги:
    +20 / 4 / -0
    Мы согласны, шо, какой ритуал надо провести чтобы ты взялся за работу?)
     
  18. Sam_Morrou

    PRO Users

    Регистрация:
    2 мар 2017
    Сообщения:
    622
    Лучших ответов:
    0
    Рейтинги:
    +69 / 12 / -0
    Может передумал, или ему на сайте Техническая поддержка написать?
     
  19. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.299
    Лучших ответов:
    31
    Рейтинги:
    +3.896 / 96 / -0
    Нет, я занят модулем. Скоро дам знать.
     
    • Нравится Нравится x 1
  20. TeraMoune

    TeraMoune Бывалый

    Регистрация:
    6 апр 2019
    Сообщения:
    310
    Лучших ответов:
    3
    Рейтинги:
    +130 / 9 / -0
    Гости сайта будут видеть дополнительное поле email которое будет отображено в разделе администратора в списке жалоб, тип редактируется самостоятельно, так же стилизация. В функции js AddComplaint есть select_type в переменной находится select с вариантами типа, в админке в том же разделе будет меню для выборки. Меню формируется при наличии типов жалоб. А типы жалоб попадают те какие опишите сами. Email адрес если был указан будет под IP адресом.
    Найти функцию function AddComplaint и заменить всю на
    PHP:
    function AddComplaintidactionguest ){
        var 
    = {};

        
    b[dle_act_lang[3]] = function() {
            $(
    this).dialog('close');                   
        };

        
    b[dle_p_send] = function() {
            if ( $(
    '#dle-promt-text').val().length 1) {
                $(
    '#dle-promt-text').addClass('ui-state-error');
            } else {
                var 
    response = $('#dle-promt-text').val(),
                    
    email = $('#complaint_email').val() ? $('#complaint_email').val() : '',
                    
    type = $('#complaint_type').val() ? $('#complaint_type').val() : '';
                $(
    this).dialog('close');
                $(
    '#dlepopup').remove();
                $.
    post(dle_root 'engine/ajax/controller.php?mod=complaint', { idid,  textresponseactionactionuser_hashdle_login_hashemailemailtypetype },
                    function(
    data){
                        if (
    data == 'ok') { DLEalert(dle_p_send_okdle_info); } else { DLEalert(datadle_info); }
                    });

            }           
        };
     
        if( 
    guest ) var input_mail "<input id=\"complaint_email\" type=\"email\" name=\"email\" placeholder=\"Почтовый адрес для обратной связи\">";
        else var 
    input_mail "";
     
        var 
    select_type "<select name=\"complaint_type\" id=\"complaint_type\"><option selected=\"\">Выберите тип</option><option value=\"Видео недоступно\">Видео недоступно</option><option value=\"Опечатка\">Опечатка</option></select>";

        $(
    '#dlepopup').remove();
                    
        $(
    'body').append("<div id='dlepopup' title='"+dle_complaint+"' style='display:none'><div>"+select_type+" "+input_mail+"</div><br /><textarea name='dle-promt-text' id='dle-promt-text' class='ui-widget-content ui-corner-all' style='width:97%;height:100px;'>Привет</textarea></div>");
                    
        $(
    '#dlepopup').dialog({
            
    autoOpentrue,
            
    width500,
            
    resizablefalse,
            
    dialogClass"modalfixed dle-popup-complaint",
            
    buttonsb
        
    });

        $(
    '.modalfixed.ui-dialog').css({position:"fixed"});
        $(
    '#dlepopup').dialog"option""position", { my"center"at"center"ofwindow } );

    };
    PHP:
    <?xml version="1.0" encoding="utf-8"?>
    <dleplugin>
        <name>Extended complaint</name>
        <description>Расширение формы жалобы. Добавлены поля email и select c типом жалобы (Редактируется отдельно в dle_js.js)</description>
        <icon></icon>
        <version></version>
        <dleversion>13</dleversion>
        <versioncompare>greater</versioncompare>
        <upgradeurl></upgradeurl>
        <filedelete>0</filedelete>
        <needplugin></needplugin>
        <mysqlinstall><![CDATA[ALTER TABLE `{prefix}_complaint` ADD `email` varchar(100) NOT NULL default '', ADD `type` varchar(100) NOT NULL default '';]]></mysqlinstall>
        <mysqlupgrade><![CDATA[]]></mysqlupgrade>
        <mysqlenable><![CDATA[]]></mysqlenable>
        <mysqldisable><![CDATA[]]></mysqldisable>
        <mysqldelete><![CDATA[ALTER TABLE `{prefix}_complaint` DROP `email`, DROP `type`;]]></mysqldelete>
        <phpinstall><![CDATA[]]></phpinstall>
        <phpupgrade><![CDATA[]]></phpupgrade>
        <phpenable><![CDATA[]]></phpenable>
        <phpdisable><![CDATA[]]></phpdisable>
        <phpdelete><![CDATA[]]></phpdelete>
        <file name="engine/ajax/complaint.php">
            <operation action="after">
                <searchcode><![CDATA[$text = strip_tags($_POST['text']);]]></searchcode>
                <replacecode><![CDATA[
    $email = isset($_POST['email']) ? strip_tags($_POST['email']) : '';
    $email = $parse->process( trim( $email ) );
    $type = (isset($_POST['type']) && $_POST['type'] != 'Выберите тип') ? strip_tags($_POST['type']) : '';
    $type = $parse->process( trim( $type ) );]]></replacecode>
            </operation>
            <operation action="replace">
                <searchcode><![CDATA[`to`, `date`]]></searchcode>
                <replacecode><![CDATA[`to`, `date`, `email`, `type`]]></replacecode>
            </operation>
            <operation action="replace">
                <searchcode><![CDATA['', '{$_TIME}']]></searchcode>
                <replacecode><![CDATA['', '{$_TIME}', '{$email}', '{$type}']]></replacecode>
            </operation>
            <operation action="replace">
                <searchcode><![CDATA['{$url}', '{$_TIME}']]></searchcode>
                <replacecode><![CDATA['{$url}', '{$_TIME}', '{$email}', '{$type}']]></replacecode>
            </operation>
        </file>
        <file name="engine/modules/show.full.php">
            <operation action="replace">
                <searchcode><![CDATA[$tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news')\">" );]]></searchcode>
                <replacecode><![CDATA[if(!$is_logged) $tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news', true)\" title=\"Пожаловаться\">" );
    else $tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news')\" title=\"Пожаловаться\">" );]]></replacecode>
            </operation>
        </file>
        <file name="engine/modules/show.short.php">
            <operation action="replace">
                <searchcode><![CDATA[$tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news')\">" );]]></searchcode>
                <replacecode><![CDATA[if(!$is_logged) $tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news', true)\">" );
    else $tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news')\">" );]]></replacecode>
            </operation>
        </file>
        <file name="engine/modules/show.custom.php">
            <operation action="replace">
                <searchcode><![CDATA[$tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news')\">" );]]></searchcode>
                <replacecode><![CDATA[if(!$is_logged) $tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news', true)\">" );
    else $tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news')\">" );]]></replacecode>
            </operation>
        </file>
        <file name="engine/inc/complaint.php">
            <operation action="after">
                <searchcode><![CDATA[<th>{$lang['opt_complaint_2']}</th>]]></searchcode>
                <replacecode><![CDATA[<th>Тип:</th>]]></replacecode>
            </operation>
            <operation action="before">
                <searchcode><![CDATA[$entries .= "<tr>]]></searchcode>
                <replacecode><![CDATA[if( $row['email'] ) $email = "<div>{$row['email']}</div>";
    else $email = "";
    if( $row['type'] ) $type = $row['type'];
    else $type = " - ";]]></replacecode>
            </operation>
            <operation action="replace">
                <searchcode><![CDATA[<td>{$date}<strong>{$from}</strong></td>]]></searchcode>
                <replacecode><![CDATA[<td>{$date}<strong>{$from}</strong>{$email}</td>
    <td>{$type}</td>  ]]></replacecode>
            </operation>
            <operation action="replace">
                <searchcode><![CDATA[`from`, `to`, `date`]]></searchcode>
                <replacecode><![CDATA[`from`, `to`, `date`, `email`, `type`]]></replacecode>
            </operation>
            <operation action="replace">
                <searchcode><![CDATA[`to`, " . PREFIX . "_complaint.date]]></searchcode>
                <replacecode><![CDATA[`to`, " . PREFIX . "_complaint.date, " . PREFIX . "_complaint.email, " . PREFIX . "_complaint.type]]></replacecode>
            </operation>
            <operation action="before">
                <searchcode><![CDATA[<form action="?mod=complaint" method="post" name="optionsbar3" id="optionsbar3">
    <input type="hidden" name="mod" value="complaint">]]></searchcode>
                <replacecode><![CDATA[<div class="navbar navbar-default navbar-component navbar-xs" style="z-index: inherit;">
        <div class="navbar-collapse collapse" id="navbar-filter">
            <ul class="nav navbar-nav">
                {$filter_menu}
            </ul>
        </div>
    </div>]]></replacecode>
            </operation>
            <operation action="before">
                <searchcode><![CDATA[<form action="?mod=complaint" method="post" name="optionsbar4" id="optionsbar4">
    <input type="hidden" name="mod" value="complaint">]]></searchcode>
                <replacecode><![CDATA[<div class="navbar navbar-default navbar-component navbar-xs" style="z-index: inherit;">
        <div class="navbar-collapse collapse" id="navbar-filter">
            <ul class="nav navbar-nav">
                {$filter_menu}
            </ul>
        </div>
    </div>]]></replacecode>
            </operation>
            <operation action="after">
                <searchcode><![CDATA[if( !$langformatdatefull ) $langformatdatefull = "d.m.Y H:i";]]></searchcode>
                <replacecode><![CDATA[if( isset($_GET['type']) ) {
      $filter = " AND type = '".urldecode($db->safesql( strip_tags($_GET['type']) ))."'";
    } else $filter = "";

    $menu_active = " class=\"active\"";
    $complaint_t = $db->super_query( "SELECT type, count(*) as count FROM " . PREFIX . "_complaint WHERE 1 GROUP by type", true);
    $c_all = 0;
    $filter_link = array();

    foreach( $complaint_t as $row ) {
       
        if( $_GET['type'] == $row['type'] ) $menu_active = " class=\"active\"";
        else $menu_active = "";
          if( $row['type'] )
          $filter_link[] = "<li{$menu_active}><a href=\"{$config['admin_path']}?mod=complaint&type=".urlencode($row['type'])."\">{$row['type']} ({$row['count']})</a></li>";

        $c_all = $c_all + $row['count'];
    }
    if( !isset($_REQUEST['type']) ) $menu_active = " class=\"active\"";
    else $menu_active = "";
    array_unshift($filter_link, "<li{$menu_active}><a href=\"{$config['admin_path']}?mod=complaint\">Все ({$c_all})</a></li>");
    $filter_menu = implode($filter_link);]]></replacecode>
            </operation>
            <operation action="replace">
                <searchcode><![CDATA[n_id > '0']]></searchcode>
                <replacecode><![CDATA[n_id > '0'{$filter}]]></replacecode>
            </operation>
            <operation action="replace">
                <searchcode><![CDATA[echo <<<HTML
    <div class="panel panel-default">
      <div class="panel-heading">]]></searchcode>
                <replacecode><![CDATA[echo <<<HTML
    <div class="navbar navbar-default navbar-component navbar-xs" style="z-index: inherit;">
        <div class="navbar-collapse collapse" id="navbar-filter">
            <ul class="nav navbar-nav">
                {$filter_menu}
            </ul>
        </div>
    </div>
    <div class="panel panel-default">
      <div class="panel-heading">]]></replacecode>
            </operation>
        </file>
    </dleplugin>

    P.S. В 14 версии движка поле email не нужно, оно уже есть. При установке будут ошибки на дублирование поля в базе и в плагине стоит удалить всё связанное с email, можно заменить на другое поле, телефон например
     

    Вложения:

    #20 TeraMoune, 24 мар 2020
    Последнее редактирование: 25 мар 2020
    • Нравится Нравится x 4
Яндекс.Метрика