Раздер Название темы Ответов Последний
Графика для сайта Shareman 3.70 RUS/2010 0 mandelsonsouggisse
Изготовление контента Нужен контент 10 ali7875
DataLife Engine Проблема регистрации. 1 JimaX
DataLife Engine Модальное окно в DataLife Engine 3 lionprizrak
DataLife Engine Настройка robots.txt 8 Prizrak_2012
Стол заказов на cmsko.ru Мини-чат. 2 JimaX
Общение пользователей Статьи 3 nastroenie
Хостинг TneHost - Хстинг провайдер 10 ali7875
DataLife Engine Установка банеров 9 JimaX
DataLife Engine Помогите с установой. dle95 2 nastroenie
Яндекс Apdate
Апдейты Яndex тИЦ
10.10.2014Последний |
08.08.2014
04.07.2014
Апдейты Яndex выдачи
22.10.2014Последний |
14.10.2014
07.10.2014
Апдейты ЯКаталога
24.10.2014Последний |
23.10.2014
22.10.2014

Информация
Главная страница » DLE » DLE Модули » Кнопка перезалейте (Broken Links) DLE
Кнопка перезалейте (Broken Links) DLE
» Просмотров: 1337 » Дата: 15-12-2010, 21:21 » Автор: NeoMurderer
Кнопка перезалейте (Broken Links) DLEОписание:
Добавляем кнопку "перезалейте" в полную новость.

Возможности:
- кнопка видна только зарегистрированным пользователям
- кнопку можно нажать только 1 раз (в каждой новости)
- в админке: список новостей с жалобами (новости сортируются по кол. жалоб)[/i]
- в админке: кто пожаловался
- в админке: если нажать на [Удалить] то все жалобы удаляются

Установка:

1: Делаем запрос к базе данных:

ALTER TABLE `dle_post` ADD `nolink` smallint(5) NOT NULL default '0';
ALTER TABLE `dle_post` ADD `nolink_users` text NOT NULL;


2. Дописать в конец файла /engine/classes/js/js_edit.js:

function brokenLink( id ) {
    var ajax = new dle_ajax();
    ajax.onShow ('');
    var varsString = "news_id=" + id;
    ajax.setVar("skin", dle_skin);
    ajax.requestFile = dle_root + "engine/ajax/brokenLink.php";
    ajax.method = 'GET';
    ajax.element = 'broken-id-' + id;
    ajax.sendAJAX(varsString);
};


3: В файле /engine/modules/show.full.php перед кодом:

if( $row['votes'] ) $tpl->set( '{poll}', $tpl->result['poll'] );


добавляем:

$broken_arr = explode( ',', $row['nolink_users'] );
            
            if( ! in_array( $member_id['name'], $broken_arr ) ) $tpl->set( '{brokenLink}', "<span class="brokenbt" id="broken-id-" . $row['id'] . ""><span class="brokenclick" onclick="brokenLink('" . $row['id'] . "'); return false;" title="">Перезалейте!</span></span>" );
            else $tpl->set( '{brokenLink}', "" );


4: В файле /engine/engine.php меняем:

    // ################ Новость целиком #################
            if ($subaction != '' or $newsid) {
                if (! $newsid) $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM " . PREFIX . "_post WHERE alt_name ='$news_name' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 0,1";
                else $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM " . PREFIX . "_post where  id = '$newsid'";


на:

  // ################ Новость целиком #################
            if ($subaction != '' or $newsid) {
                if (! $newsid) $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle, nolink_users FROM " . PREFIX . "_post WHERE alt_name ='$news_name' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 0,1";
                else $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle, nolink_users FROM " . PREFIX . "_post where  id = '$newsid'";



6: В файле /engine/inc/options.php перед кодом:

array (
                                            'name' => $lang['opt_rules'],
                                            'url' => "$PHP_SELF?mod=static&action=doedit&page=rules",
                                            'descr' => $lang['opt_rulesc'],
                                            'image' => "rules.png",
                                            'access' => $user_group[$member_id['user_group']]['admin_static']
                                ),

добавляем:

   array (
                                            'name' => "Broken Links",
                                            'url' => "$PHP_SELF?mod=brokenLinks",
                                            'descr' => "",
                                            'image' => "broen.png",
                                            'access' => $user_group[$member_id['user_group']]['admin_editusers']
                            ),

7. Дописать в конец файла /templates//templates/Simple/css/style.css:

/* Start - Broken Links by Elegant Division (http://e-div.com) */
.brokenbt { margin-top: 25px; display: block; }
.brokenclick {
    padding: 5px 7px;
    color: #222;
    border: 1px solid #DEDEDE;

    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;

    background-color: #F2F2F2;
    background: -moz-linear-gradient(#F2F2F2 10%, #DEDEDE 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.5, #F2F2F2), color-stop(0.5, #DEDEDE));
}

.brokenclick:hover {
    cursor: pointer;
    color: #fff;
    border-color: #c00;
    -moz-box-shadow: 0 0 5px #c00;
    -webkit-box-shadow: 0 0 5px #c00;
    box-shadow: 0 0 5px #c00;

    background-color: #c00;
    background: -moz-linear-gradient(#c00 10%, #f33 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.5, #c00), color-stop(0.5, #f33));
}
/* End - Broken Links by Elegant Division (http://e-div.com) */


8: В файле /templates/templates/Simple/fullstory.tpl после:

Новость отредактировал <font color="red"><strong>{editor}</strong></font> - {edit-date}</i></span>[edit-reason]<div class="quote">Причина: {edit-reason}</div>[/edit-reason][/edit-date]


добавляем:

{brokenLink}



9. Залить файлы из архива в соответствующие папки на сервере.

Скачать:Кнопка перезалейте (Broken Links) DLE


источник: _http://e-div.com
автор: Elegant Division



Комментарии: 0
 (голосов: 2)
Уважаемый посетитель, Вы зашли к нам на сайт как незарегистрированный пользователь. Мы рекомендуем Вам бесплатно зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.