CLANGAMING.Net Форуми CLANGAMING.Net
Българският портал за CS 1.6
 
 Въпроси/ОтговориВъпроси/Отговори   ТърсенеТърсене   ПотребителиПотребители   Потребителски групиПотребителски групи   Регистрирайте сеРегистрирайте се 
 ПрофилПрофил   Влезте, за да видите съобщенията сиВлезте, за да видите съобщенията си   ВходВход 

[Урок] Спиране отчитането на мнения в даден раздел (phpBB2)

 
Създайте нова тема   Напишете отговор    CLANGAMING.Net Форуми -> Уеб програмиране
Предишната тема :: Следващата тема  
Автор Съобщение
AetheldredaBG
Главен Администратор
Главен Администратор
AetheldredaBG

Регистриран на: 14 Сеп 2026
Мнения: 15
Местожителство: София, България

МнениеПуснато на: Вто Сеп 15, 2026 11:27 am    Заглавие: [Урок] Спиране отчитането на мнения в даден раздел (phpBB2) Отговорете с цитат

Урокът е написан от CLANGAMING.Net! Забранено е копирането и използването му без знание и разрешение!

Спиране отчитането на мнения в даден раздел (phpBB2)

По подразбиране в phpBB 2.0.x липсва вградена настройка в администраторския панел за изключване на брояча на мненията по раздели. Ако искате мненията в раздели като "Спам" или "Игри" да не се добавят към общия брояч на потребителя, това се постига чрез кратка модификация на един от системните файлове.

Изисквания:
Достъп до FTP или файлов мениджър на вашия хостинг.

---

Инструкции стъпка по стъпка:

1. Отворете файла:
Код:
includes/functions_post.php


2. Намерете следния код (около ред 240-270):
Код:

$sql = "UPDATE " . USERS_TABLE . "
SET user_posts = user_posts + 1
WHERE user_id = " . $post_data['user_id'];


3. Заменете го със следния код:
Код:

// CLANGAMING.Net - Предотвратяване отчитането на мнения в избрани раздели
$no_count_forums = array(5, 12, 21); // Въведете ID-тата на разделите тук

if (!in_array($forum_id, $no_count_forums))
{
   $sql = "UPDATE " . USERS_TABLE . "
      SET user_posts = user_posts + 1
      WHERE user_id = " . $post_data['user_id'];
   if (!$db->sql_query($sql))
   {
      message_die(GENERAL_ERROR, 'Error updating user post count', '', __LINE__, __FILE__, $sql);
   }
}


4. Променете
Код:
array(5, 12, 21)
с ID-тата на вашите раздели, в които искате броячът да **НЕ** работи.
Пример: Ако искате да го спрете само за раздел с ID 21 (вижда се в URL адреса като f=21), напишете
Код:
array(21)
.

5. Запазете файла и го качете обратно на сървъра (в UTF-8 без BOM).

---

Как работи?
При пускане на ново мнение системата проверява дали текущият раздел ($forum_id) присъства в зададения от вас списък. Ако присъства, SQL заявката за инкрементиране на user_posts се прескача, но мнението се публикува нормално.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
Покажи мнения от преди:   
Създайте нова тема   Напишете отговор    CLANGAMING.Net Форуми -> Уеб програмиране Часовете са според зоната GMT
Страница 1 от 1

 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети


Powered by phpBB © 2001, 2005 phpBB Group
Translation by: Boby Dimitrov