21.08.13, 11:24
0 комментарий
  DLE Хаки

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

Статусы пользователей в профиле, комментариях и модальном окне пользователя (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

Реклама

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

  • acuteaggressiveair_kissangel
    badbbbeachbeee
    biggrinbig_bossblumblush
    boastbombboredombye
    clappingcraycrazycurtsey
    dancedashdeclarediablo
    diroldon-t_mentiondownloaddrinks
    first_moveflirtfocusfool
    friendsgive_heartgive_rosegood
    hangheartheathelp
    hihunterhystericireful
    kingkisslaughlazy
    lolmail1mambaman_in_love
    mdamega_shokmoilmosking
    musicneanegativenew_russian
    okon_the_quietpardonparting
    partypilotpioneerpleasantry
    popcormpranksterprevedpunish
    roflrtfmrussiansad
    sarcasticscarescratchsearch
    secretsensoredshokshout
    slowsmilesmokesoldier
    soldier_girlsorryspitefulspruce_up
    stinkersuicidesunsuperstition
    swoonteasetenderthanks
    thisto_pick_ones_noseto_take_umbragetreaten
    umnikunknwvampirevava
    victorywackowhistlewink
    wizardyahooyesyu
    e101e102e103e104
    e105e106e107e108
    e109e110e111e112
    e113e114e115e116
    e117e118e119e120
    e121e122e123e124
    e125e126e127e128
    e129e130e131e132
    e133e134e135e136
    e137e138e139e140
    e141e142e143e144
    e145e146e147e148
    e149e150e151e152
    e153e154e155e156
    e157e158e159e160
    e161e162e163e164
    e165e166e167e168
    e169e170e171e172
    e173e174e175e176
    e177e178e179e180
    e181e182e183e184
    e185e186e187e188
    e189e190e191e192
    e193e194e195e196
    e197e198e199e200
    e201e202e203e204