Хак Рейтинг как на Jo-Jo.ru

Тема в разделе "DLE", создана пользователем Haliff3007, 6 май 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. Haliff3007

    Haliff3007 Читатель

    Заблокирован
    Регистр.:
    17 мар 2007
    Сообщения:
    481
    Симпатии:
    196
    Клуб:

    Хайд:

    [​IMG]

    [​IMG]

    Вот такой Веб 2.0 рейтинг. :) Итак, поехали:
    Файл: /engine/ajax/rating.php

    Код:
    if ($go_rate > 5 OR $go_rate <  1) $go_rate = 0;
    
    Заменить на:
    Код:
    if ($go_rate > 1 OR $go_rate < -1) $go_rate = 0;
    
    Файл: /engine/modules/functions.php
    Ищем
    Код:
    ShowRating ; ShortRating ; userrating
    
    Стирем эти функции и вставляем взамен это:
    Код:
    function ShowRating($id, $rating, $vote_num, $allow = true) {
     global $is_logged, $member_id, $config, $lang, $db;
    
     if ($rating) $rating = round($rating, 0); else $rating = 0;
    
     if (!$allow) {
      $rated = <<<HTML
    <div class="rating">
    <span><em>{$rating}</em></span>
    <a href="#"><em></em></a>
    </div>
    HTML;
    
     return $rated;
    }
    
    $rated .= <<<HTML
    <div class="rating">
    <span><em>{$rating}</em></span>
    <a href="#" onclick="dleRate('1', '{$id}'); return false;"><em>+1</em></a>
    </div>
    HTML;
    
     return $rated;
    }
    
    function ShortRating($id, $rating, $vote_num, $allow = true) {
     global $config, $lang;
    
     if ($rating) $rating = round($rating, 0); else $rating = 0;
    
     if (!$allow) {
      $rated = <<<HTML
    <div class="rating">
    <span><em>{$rating}</em></span>
    <a href="#"><em></em></a>
    </div>
    HTML;
    
     return $rated;
    }
    
    $rated = "<span id=\"ratig-layer-" . $id . "\">";
    $rated .= <<<HTML
    <div class="rating">
    <span><em>{$rating}</em></span>
    <a href="#" onclick="dleRate('1', '{$id}'); return false;"><em>+1</em></a>
    </div>
    HTML;
            
     $rated  .= "</span>";
    
     return $rated;
    }
    
    function userrating($name) {
     global $db;
    
     $row = $db->super_query("SELECT SUM(rating) as rating, SUM(vote_num) as num FROM " . PREFIX . "_post where autor ='$name'");
    
     if ($row['num']) $rating = round(($row['rating'] /  $row['num']), 0); else $rating = 0;
     $rating = $rating * 17;
    
     $rated = <<<HTML
    <div class="rating">
    <span><em>{$rating}</em></span>
    <em>&nbsp;</em>
    </div>
    HTML;
    
     return $rated;
    }
    
    Далее открываем файл ваша тема/css/engine.css
    Ищем там:
    Код:
    Рейтинг статьи
    
    Все стираем, что с упоминанием рейтинг и вставляем взамен это:
    Код:
    /* ==================== Рейтинг статьи 2.0 by Haliff3007 */
    
    .rating a {
    	display:block;
    	font-size:20px;
    	font-family:Arial, Helvetica, sans-serif;
    	float:left;
    	margin-right:5px;
    	width:46px;
    	height:41px;
    	cursor:pointer;
    	cursor:hand;
    	text-decoration:none;
    	color:#666666 !important;
    	background:url(rat1_02.jpg) no-repeat 0 0;
    }
    
    .rating a:hover {
    	color:#333333 !important;
    }
    
    .rating em {
    	display:block;
    	top:50%;
    	margin-top:-0.6em;
    	text-align:center;
    	font-style:normal;
    	font-weight:normal;
    	position:relative;
    	line-height:120%;
    }
    .rating span {
    	display:block;
    	font-size:20px;
    	font-family:Arial, Helvetica, sans-serif;
    	top:50%;
    	width:46px;
    	height:41px;
    	overflow:hidden;
    	text-align:center;
    	color:#fff;
    	background:url(rat1_01.jpg) no-repeat 0 0;
    	margin:0;
    	cursor:default;
    }
    
    Далее качаем архив ( внизу страницы ) и ложим содержимое в папку tema/css/

    DLL:
    Код:
    [ATTACH]22695.vB[/ATTACH]
    
    А также: Это рейтинг для темы Jo-Jo
    Автор сего: Я ( Haliff3007 ) Адаптировано.
    Инфа: В паблик не ложить, на "сайты" поддержки дле тоже, чтобы не разошлось в рунет.
    Еще: Все изменения суйте в хайд 300, но поскольку у мну стока нет сообщений, то пишите в лс, тему обновлю. Хайд вынуждает, т.к. стало много "кулцхакерских" проектов по поддержке дле... :(
     
    sergeysnl и Walkman нравится это.
  2. Nightwalker

    Nightwalker

    Регистр.:
    4 фев 2007
    Сообщения:
    230
    Симпатии:
    22
    для тех, у кого сообщений не хватает советую это. как я понял, тоже самое.
     
  3. sergeysnl

    sergeysnl Читатель

    Заблокирован
    Регистр.:
    10 фев 2008
    Сообщения:
    331
    Симпатии:
    100
    ТС, Если не лень Сделай кнопку минусования. Спасибо
     
  4. Haliff3007

    Haliff3007 Читатель

    Заблокирован
    Регистр.:
    17 мар 2007
    Сообщения:
    481
    Симпатии:
    196
    Товарищ 2 вопроса.
    1) Как вы могли увидеть скрины? У вас такого кол-ва сообщений я не увидел
    2) Это не тоже самое. Рейтинг он в 1 файле и лежит.

    to sergeysnl
    Домой приду - сделаю обязательно.
     
    sergeysnl нравится это.
  5. Ricona

    Ricona

    Регистр.:
    21 окт 2007
    Сообщения:
    270
    Симпатии:
    97
    Ну я отвечу за товариша Рейтинг как на Jo-Jo.ru.Зайти на сайт и посмотреть......И фон картинки можно на черный както поменять?
     
  6. Haliff3007

    Haliff3007 Читатель

    Заблокирован
    Регистр.:
    17 мар 2007
    Сообщения:
    481
    Симпатии:
    196
    Можно на черный, ползунком колор в шопе на черный перекрась или замени на свои картинки... Внизу темы архив css.rar тама есть файлы
     
  7. method

    method

    Регистр.:
    8 июл 2007
    Сообщения:
    559
    Симпатии:
    134
    Рейтинг прикольный, что хотелось бы видеть :
    Минусование
    Какую либо сортировку \ вывод результатов. А то даже нельзя вывести "Самые рейтинговые" или еще что то. Логичной была бы выборка - лучшие новости дня\недели\месяца. И лучшие новости опеределенного автора
     
  8. Haliff3007

    Haliff3007 Читатель

    Заблокирован
    Регистр.:
    17 мар 2007
    Сообщения:
    481
    Симпатии:
    196
    Вы что-то путаете. Выборку делает отдельный кастом тег, а не сам рейтинг. Это рейтинг дает выставлять оценку, а не сортировать ньюсы.
     
  9. masima

    masima

    Регистр.:
    9 мар 2007
    Сообщения:
    732
    Симпатии:
    1.338
    вероятно он хотел сделать всё-таки сортировка по рейтингу новости ) типа как "самые ПЛЮСнутые новости" )))
     
Статус темы:
Закрыта.