Опубліковано 13 жовтня, 20159 р Адміністратор Статусы пользователей в профиле, комментариях и модальном окне пользователя (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;}
Для публікації повідомлень створіть обліковий запис або авторизуйтесь