14.10.13, 16:11
0 комментарий
  DLE Модули

Модуль DLE Статус пользователей (AJAX)

Вышло дополнительное улучшение для модуля DLE Статус пользователей работающий на основе современной (AJAX) технологии. Основное предназначение модуль DLE Статус пользователей (AJAX) выводить сообщения, которые оставил о себе пользователь в специальном окне, сообщение будет видно в профиле, комментариях и модальном окне пользователя. В последнее время можно встретить большое количество разных модификаций подобных модулей, как Статус пользователя, возможная причина популярности в том, что такую функцию можно встретить на популярных форумах и движках.

Установка модуль DLE Статус пользователей (AJAX)
1. Выполнить запрос в базу данных:

ALTER TABLE `dle_users` ADD `u_status` text not null


2. Скопировать файл status.php в engine/ajax.

3. Открыть файл /engine/modules/profile.php
Найти:

$xfieldsaction = "list";


Выше вставить:

$status_text = "$row[u_status]";
    if($status_text == "") $status_text ="Статус";
    
    if($member_id['user_id'] == "1" or $member_id['user_id'] == "$row[user_id]"){
        $user_status .= <<<HTML
            <script>
                <!--
                $.fx.speeds._default = 1000;
                $(function() {
                    $("#status_edit").dialog({
                        autoOpen: false,
                        show: 'fade',
                        width: '500',
                        buttons: {
                            "Отмена" : function() {
                                $(this).dialog("close");
                            },
                            "Обновить" : function() {
                                var    message = $("#status_form").val();
                                var userid = "$row[user_id]";
                                ShowLoading('');
                                $.post(dle_root + "engine/ajax/status.php", { text:message, user:userid }, function(data){
                                        $("#place").html(data);
                                        $("#status_form").val('');
                                    HideLoading('');
                                });    
                                $(this).dialog("close");
                            },
                        },
                    });
                    $( "#st_e_b" ).click(function() {
                        $( "#status_edit" ).dialog( "open" );
                        return false;
                    });
                });
                -->
            </script>
        HTML;
    }
    if($member_id['user_id'] == "1" or $member_id['user_id'] == "$row[user_id]" or $row['u_status'] != ""){
        $user_status .= "<a href="#" id="st_e_b"><span id="place">$status_text</span></a>";
    }

    if($member_id['user_id'] == "1" or $member_id['user_id'] == "$row[user_id]"){
        $user_status .= <<<HTML
            <div id="status_edit" title="Изменение статуса">О чем ты сейчас думаешь?<br /><br /><input type="text" name="status_e" id="status_form" /></div>
        HTML;
    }
    
    $tpl->set( '{user_status}', $user_status);


4. Открыть файл /engine/ajax/profile.php
Найти:

$tpl->compile( 'content' );


Выше вставить:

$tpl->set( '{user_status}', $row['u_status'] );


5. Откройте файлы:
engine/ajax/addcomments.php
engine/ajax/comments.php
engine/modules/show.full.php
engine/modules/lastcomments.php


Найти:

foto, fullname,


Заменить:

foto, fullname, u_status,


6. Открыть файл engine/classes/comments.class.php
Найти:

$tpl->set( '{group-name}', $user_group[$row['user_group']]['group_prefix'].$user_group[$row['user_group']]['group_name'].$user_group[$row['user_group']]['group_suffix'] );


После вставить:

$tpl->set( '{user_status}', $row['u_status'] );


7. В шаблонах userinfo.tpl, profile_popup.tpl, comments.tpl вставить

{user_status}


8. В самый конец вашего css файла вставить:

#status_form{border:solid 1px #2c76ad;height:23px;width:365px;padding:0 5px;border-radius:3px;box-shadow:inset 0 0 3px grey;-webkit-transition: all 0.5s;-moz-transition: all 0.5s;-ms-transition: all 0.5s;-o-transition: all 0.5s;transition: all 0.5s;}
    #status_form:focus{box-shadow:inset 0 0 6px grey;}



Установка готова!

Автор: s@d@nшаблоны для dle 11.2

Напишите своё мнение