29.05.15, 12:20
1 комментарий
  DLE Баг-Фиксы

Фикс рейтинга в DLE 10.4

Небольшой фикс рейтинговой системы DLE 10.4. Когда выставляется рейтинг, появляется полупрозрачное окно "Загрузка. Пожалуйста, подождите" и рейтинг еще в кликабельном состоянии, что позволяет нажимать снова и снова. Данный фикс решит эту проблему.

1) Открываем engine/ajax/rating.php

Находим:

$member_id['name'] = $db->safesql($member_id['name']);

Ниже добавляем:

$userid = $db->safesql($member_id['user_id']);

Находим:

$db->query( "UPDATE " . PREFIX . "_post_extras SET rating='{$go_rate}', vote_num='1' WHERE news_id ='{$news_id}'" );

Выше добавляем:

$db->query( "INSERT INTO ".PREFIX."_rating_log (`user_id`,`news_id`) VALUES ('$userid','{$news_id}')" );

Находим:

$db->query( "UPDATE " . PREFIX . "_post_extras SET rating='{$go_rate}', vote_num='1' WHERE news_id ='{$news_id}'" );

Выше добавляем:

$db->query( "INSERT INTO ".PREFIX."_rating_log (`user_id`,`news_id`) VALUES ('$userid','{$news_id}')" );

Находим:

$db->query( "UPDATE " . PREFIX . "_post_extras SET rating=rating+'{$go_rate}', vote_num=vote_num+1 WHERE news_id ='{$news_id}'" );

Выше добавляем:

$db->query( "INSERT INTO ".PREFIX."_rating_log (`user_id`,`news_id`) VALUES ('$userid','{$news_id}')" );


2) Открываем engine/modules/show.short.php

Находим:

if( $row['allow_rate'] ) {

Ниже добавляем:

$userid = $member_id['user_id'];
$newsid = $row['id'];
$check = $db->query("SELECT * FROM ".PREFIX."_rating_log where user_id='$userid' AND news_id='$newsid'");

Находим:

if( $config['short_rating'] AND $user_group[$member_id['user_group']]['allow_rating']) {

Заменяем на:

if( $config['short_rating'] AND $user_group[$member_id['user_group']]['allow_rating'] AND $db->num_rows($check)==0) {


3) Открываем engine/modules/show.full.php

Находим:

if( $row['allow_rate'] ) {

Ниже добавляем:

$userid = $member_id['user_id'];
$newsid = $row['id'];
$check = $db->query("SELECT * FROM ".PREFIX."_rating_log WHERE user_id='$userid' AND news_id='$newsid'");

Находим:

$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );

Заменяем на:

if($db->num_rows($check)<=0){
$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
}
else{
$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], false ) );
}

Находим:

if( $user_group[$member_id['user_group']]['allow_rating']) {

Заменяем на:

if( $user_group[$member_id['user_group']]['allow_rating'] AND $db->num_rows($check)==0) {

4) Открываем phpmyadmin и выполняем запрос:

CREATE TABLE IF NOT EXISTS `ПРЕФИКС_rating_log` (
  `user_id` text NOT NULL,
  `news_id` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

заменив ПРЕФИКС на ваш префикс

Готово!

Результат: После первой оценки новости пользователь не сможет оценивать новость еще раз, повторно.

Реклама

Комментарии

  1. orohimaru2 14 июня 2015 19:40                    

    а для 10.3 будет работать ?

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

  • 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