Хак, позволяющий изменить как внешний вид порядком поднадоевшего стандартного рейтинга DataLifeEngine, так и его структуру. Хак работает на ajax, рейтинг автообновляется. Оценка происходит по 10 - бальной шкале.
Хак, позволяющий изменить как внешний вид порядком поднадоевшего стандартного рейтинга DataLifeEngine, так и его структуру. Хак работает на ajax, рейтинг автообновляется. Оценка происходит по 10 - бальной шкале.
Новый рейтинг действует в короткой, полной новостях, а также в профиле пользователя:
Инструкция по установке:
1. Открываем languageRussianwebsite.lng
После
+----------------------------------------------------------------+
$lang = array (
+----------------------------------------------------------------+
вставляем
+----------------------------------------------------------------+
'rat_10' => "Идеально",
'rat_9' => "Великолепно",
'rat_8' => "Отлично",
'rat_7' => "Хорошо",
'rat_6' => "Выше среднего",
'rat_5' => "Средне",
'rat_4' => "Удовлетворительно",
'rat_3' => "Плохо",
'rat_2' => "Очень плохо",
'rat_1' => "Хуже не бывает",
+----------------------------------------------------------------+
2. Открываем enginemodulesfunctions.php
Вместо
+----------------------------------------------------------------+
function ShowRating ($id, $rating, $vote_num, $allow = true){
global $lang;
if ($rating) $rating = round(($rating / $vote_num), 0); else $rating = 0;
$rating = $rating * 17;
if (!$allow) {
$rated = <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
</ul>
</div><div class="rating" style="float:left; padding-top:2px;"> ({$lang['voten']} {$vote_num})</div>
HTML;
return $rated;
}
$rated .= <<<HTML
<div id="ratig-layer"><div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
<li>[url=#" title=]1[/url]</li>
<li>[url=#" title=]2[/url]</li>
<li>[url=#" title=]3[/url]</li>
<li>[url=#" title=]4[/url]</li>
<li>[url=#" title=]5[/url]</li>
</ul>
</div><div class="rating" style="float:left; padding-top:2px;"> ({$lang['voten']} {$vote_num})</div></div>
HTML;
return $rated;
}
function ShortRating ($id, $rating, $vote_num, $allow = true){
global $lang;
if ($rating) $rating = round(($rating / $vote_num), 0); else $rating = 0;
$rating = $rating * 17;
if (!$allow) {
$rated = <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
</ul>
</div>
HTML;
return $rated;
}
$rated = "<span id="'ratig-layer-.$id.">";
$rated .= <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
<li>[url=#" title=]1[/url]</li>
<li>[url=#" title=]2[/url]</li>
<li>[url=#" title=]3[/url]</li>
<li>[url=#" title=]4[/url]</li>
<li>[url=#" title=]5[/url]</li>
</ul>
</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" style="display:inline;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
</ul>
</div>
HTML;
return $rated;
}
+----------------------------------------------------------------+
вставляем
+----------------------------------------------------------------+
+----------------------------------------------------------------+
3. Открываем engineajaxrating.php
Вместо
+----------------------------------------------------------------+
/*
Хак "Измененный рейтинг for DLE by GRIMWEB". Конец.
*/
1. Открываем languageRussianwebsite.lng
После
+----------------------------------------------------------------+
$lang = array (
+----------------------------------------------------------------+
вставляем
+----------------------------------------------------------------+
'rat_10' => "Идеально",
'rat_9' => "Великолепно",
'rat_8' => "Отлично",
'rat_7' => "Хорошо",
'rat_6' => "Выше среднего",
'rat_5' => "Средне",
'rat_4' => "Удовлетворительно",
'rat_3' => "Плохо",
'rat_2' => "Очень плохо",
'rat_1' => "Хуже не бывает",
+----------------------------------------------------------------+
2. Открываем enginemodulesfunctions.php
Вместо
+----------------------------------------------------------------+
function ShowRating ($id, $rating, $vote_num, $allow = true){
global $lang;
if ($rating) $rating = round(($rating / $vote_num), 0); else $rating = 0;
$rating = $rating * 17;
if (!$allow) {
$rated = <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
</ul>
</div><div class="rating" style="float:left; padding-top:2px;"> ({$lang['voten']} {$vote_num})</div>
HTML;
return $rated;
}
$rated .= <<<HTML
<div id="ratig-layer"><div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
<li>[url=#" title=]1[/url]</li>
<li>[url=#" title=]2[/url]</li>
<li>[url=#" title=]3[/url]</li>
<li>[url=#" title=]4[/url]</li>
<li>[url=#" title=]5[/url]</li>
</ul>
</div><div class="rating" style="float:left; padding-top:2px;"> ({$lang['voten']} {$vote_num})</div></div>
HTML;
return $rated;
}
function ShortRating ($id, $rating, $vote_num, $allow = true){
global $lang;
if ($rating) $rating = round(($rating / $vote_num), 0); else $rating = 0;
$rating = $rating * 17;
if (!$allow) {
$rated = <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
</ul>
</div>
HTML;
return $rated;
}
$rated = "<span id="'ratig-layer-.$id.">";
$rated .= <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
<li>[url=#" title=]1[/url]</li>
<li>[url=#" title=]2[/url]</li>
<li>[url=#" title=]3[/url]</li>
<li>[url=#" title=]4[/url]</li>
<li>[url=#" title=]5[/url]</li>
</ul>
</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" style="display:inline;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
</ul>
</div>
HTML;
return $rated;
}
+----------------------------------------------------------------+
вставляем
+----------------------------------------------------------------+
/*
Хак "Измененный рейтинг for DLE by GRIMWEB". Начало.
*/
function ShowRating ($id, $rating, $vote_num, $allow = true)
{
global $lang;
if ($rating) // если рейтинг указан в параметре функции
{
$rating = round(($rating / $vote_num), 1); // вычисляем его с точностью до сотых
}
else // если нет
{
$rating = 0; // обнуляем
}
if (!$allow) // если пользователь не может влиять на рейтинг
{
/* Фомируем html - код неизменяемого рейтинга. */
$rated = <<<HTML
<div id="ratig-layer">
{$rating}
<sup>
{$vote_num}
</sup>
</div>
HTML;
return $rated; // и возвращаем его
}
else // если нет
{
/* Фомируем html - код изменяемого рейтинга. */
$rated .= <<<HTML
<span id="ratig-layer-{$id}">
<div id="ratig-layer">
<select>
<option value="{$lang['rat_10']}">{$lang['rat_10']}</option>
<option value="{$lang['rat_9']}">{$lang['rat_9']}</option>
<option value="{$lang['rat_8']}">{$lang['rat_8']}</option>
<option value="{$lang['rat_7']}">{$lang['rat_7']}</option>
<option value="{$lang['rat_6']}">{$lang['rat_6']}</option>
<option value="{$lang['rat_5']}">{$lang['rat_5']}</option>
<option value="{$lang['rat_4']}">{$lang['rat_4']}</option>
<option value="{$lang['rat_3']}">{$lang['rat_3']}</option>
<option value="{$lang['rat_2']}">{$lang['rat_2']}</option>
<option value="{$lang['rat_1']}">{$lang['rat_1']}</option>
</select>
{$rating}
<sup>
{$vote_num}
</sup>
</div>
</span>
HTML;
return $rated; // и возвращаем его
}
}
function ShortRating ($id, $rating, $vote_num, $allow = true)
{
global $lang;
if ($rating) // если рейтинг указан в параметре функции
{
$rating = round(($rating / $vote_num), 1); // вычисляем его с точностью до сотых
}
else // если нет
{
$rating = 0; // обнуляем
}
if (!$allow) // если пользователь не может влиять на рейтинг
{
/* Фомируем html - код неизменяемого рейтинга. */
$rated = <<<HTML
<div id="ratig-layer">
{$rating}
<sup>
{$vote_num}
</sup>
</div>
HTML;
return $rated; // и возвращаем его
}
else // если нет
{
/* Фомируем html - код изменяемого рейтинга. */
$rated .= <<<HTML
<span id="ratig-layer-{$id}">
<div id="ratig-layer">
<select>
<option value="{$lang['rat_10']}">{$lang['rat_10']}</option>
<option value="{$lang['rat_9']}">{$lang['rat_9']}</option>
<option value="{$lang['rat_8']}">{$lang['rat_8']}</option>
<option value="{$lang['rat_7']}">{$lang['rat_7']}</option>
<option value="{$lang['rat_6']}">{$lang['rat_6']}</option>
<option value="{$lang['rat_5']}">{$lang['rat_5']}</option>
<option value="{$lang['rat_4']}">{$lang['rat_4']}</option>
<option value="{$lang['rat_3']}">{$lang['rat_3']}</option>
<option value="{$lang['rat_2']}">{$lang['rat_2']}</option>
<option value="{$lang['rat_1']}">{$lang['rat_1']}</option>
</select>
{$rating}
<sup>
{$vote_num}
</sup>
</div>
</span>
HTML;
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']), 1); // вычисляем рейтинг
}
else // иначе
{
$rating = 0; // обнуляем рейтинг
}
/* Формируем переменную html кода рейтинга */
$rated = <<<HTML
<div>
{$rating}
<sup>
{$row['num']}
</sup>
</div>
HTML;
return $rated; // возвращаем ее
}
/*
Хак "Измененный рейтинг for DLE by GRIMWEB". Конец.
*/
Хак "Измененный рейтинг for DLE by GRIMWEB". Начало.
*/
function ShowRating ($id, $rating, $vote_num, $allow = true)
{
global $lang;
if ($rating) // если рейтинг указан в параметре функции
{
$rating = round(($rating / $vote_num), 1); // вычисляем его с точностью до сотых
}
else // если нет
{
$rating = 0; // обнуляем
}
if (!$allow) // если пользователь не может влиять на рейтинг
{
/* Фомируем html - код неизменяемого рейтинга. */
$rated = <<<HTML
<div id="ratig-layer">
{$rating}
<sup>
{$vote_num}
</sup>
</div>
HTML;
return $rated; // и возвращаем его
}
else // если нет
{
/* Фомируем html - код изменяемого рейтинга. */
$rated .= <<<HTML
<span id="ratig-layer-{$id}">
<div id="ratig-layer">
<select>
<option value="{$lang['rat_10']}">{$lang['rat_10']}</option>
<option value="{$lang['rat_9']}">{$lang['rat_9']}</option>
<option value="{$lang['rat_8']}">{$lang['rat_8']}</option>
<option value="{$lang['rat_7']}">{$lang['rat_7']}</option>
<option value="{$lang['rat_6']}">{$lang['rat_6']}</option>
<option value="{$lang['rat_5']}">{$lang['rat_5']}</option>
<option value="{$lang['rat_4']}">{$lang['rat_4']}</option>
<option value="{$lang['rat_3']}">{$lang['rat_3']}</option>
<option value="{$lang['rat_2']}">{$lang['rat_2']}</option>
<option value="{$lang['rat_1']}">{$lang['rat_1']}</option>
</select>
{$rating}
<sup>
{$vote_num}
</sup>
</div>
</span>
HTML;
return $rated; // и возвращаем его
}
}
function ShortRating ($id, $rating, $vote_num, $allow = true)
{
global $lang;
if ($rating) // если рейтинг указан в параметре функции
{
$rating = round(($rating / $vote_num), 1); // вычисляем его с точностью до сотых
}
else // если нет
{
$rating = 0; // обнуляем
}
if (!$allow) // если пользователь не может влиять на рейтинг
{
/* Фомируем html - код неизменяемого рейтинга. */
$rated = <<<HTML
<div id="ratig-layer">
{$rating}
<sup>
{$vote_num}
</sup>
</div>
HTML;
return $rated; // и возвращаем его
}
else // если нет
{
/* Фомируем html - код изменяемого рейтинга. */
$rated .= <<<HTML
<span id="ratig-layer-{$id}">
<div id="ratig-layer">
<select>
<option value="{$lang['rat_10']}">{$lang['rat_10']}</option>
<option value="{$lang['rat_9']}">{$lang['rat_9']}</option>
<option value="{$lang['rat_8']}">{$lang['rat_8']}</option>
<option value="{$lang['rat_7']}">{$lang['rat_7']}</option>
<option value="{$lang['rat_6']}">{$lang['rat_6']}</option>
<option value="{$lang['rat_5']}">{$lang['rat_5']}</option>
<option value="{$lang['rat_4']}">{$lang['rat_4']}</option>
<option value="{$lang['rat_3']}">{$lang['rat_3']}</option>
<option value="{$lang['rat_2']}">{$lang['rat_2']}</option>
<option value="{$lang['rat_1']}">{$lang['rat_1']}</option>
</select>
{$rating}
<sup>
{$vote_num}
</sup>
</div>
</span>
HTML;
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']), 1); // вычисляем рейтинг
}
else // иначе
{
$rating = 0; // обнуляем рейтинг
}
/* Формируем переменную html кода рейтинга */
$rated = <<<HTML
<div>
{$rating}
<sup>
{$row['num']}
</sup>
</div>
HTML;
return $rated; // возвращаем ее
}
/*
Хак "Измененный рейтинг for DLE by GRIMWEB". Конец.
*/
+----------------------------------------------------------------+
3. Открываем engineajaxrating.php
Вместо
+----------------------------------------------------------------+
if ($go_rate > 5 OR $go_rate 10 OR $go_rate < 1)
{
$go_rate = 0;
}
{
$go_rate = 0;
}
/*
Хак "Измененный рейтинг for DLE by GRIMWEB". Конец.
*/