Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Мод "Рейтинг Пользователей"

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Сообщение crash »

Laguna
Все сделал так, как написано...
значит в чемто ошибка была сделана
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Slavon_BG

Сообщение Slavon_BG »

привет всем. тоже аналогичная проблема. сделал все как в инструкции. несколько раз перепроверил, но выдает ошибку при голосовании

Код: Выделить всё

Could not insert rating informations

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

INSERT INTO phpbb_rate_users (rate_id,rated_id,rater_id,rate) VALUES (1,2,3,) 

Line : 792
File : c:\program files\easyphp1-7\www\includes\functions.php
версия мода у меня
MOD Title: Rate Users
## MOD Author: Malicious Rabbit ( Dr DLP ) http://www.web-lapin.levillage.org/forum/
##
## MOD Description: Adds the possibilty to rate users
##
## MOD Version: 0.0.1
версия форума
2.0.10
перепроверил несколько раз все. в той строчке Line : 792 ничего такого не заметил
Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Сообщение crash »

Slavon_BG
(rate_id,rated_id,rater_id,rate) VALUES (1,2,3,)
вообщето вам надо вставить 4 поля, а вы вставляете всего 3. вот и синтаксическая ошибка.
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Slavon_BG

Сообщение Slavon_BG »

я просто ламо полное в этом деле. где и как вставить и куда?:). просто в инструкции не написано больше ничего
Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Сообщение crash »

Slavon_BG проверьте просто еще раз всеправильно вставили
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Slavon_BG

Сообщение Slavon_BG »

спасибо за ответы. нашел ошибку в инструкции по установке мода
вот смотрите:

Код: Выделить всё

function rate_user($userdata, $profiledata, $rate)
{
	global $db, $userdata, $profiledata, $phpEx, $phpbb_root_path;

	$sql = "SELECT MAX(rate_id) AS total
	FROM " . RATE_USERS_TABLE;
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain next rate_id information', '', __LINE__, __FILE__, $sql);
	}

	if ( !($row = $db->sql_fetchrow($result)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain next rate_id information', '', __LINE__, __FILE__, $sql);
	}
	$rate_id = $row['total'] + 1;

	$sql = "INSERT INTO " . RATE_USERS_TABLE ." (rate_id,rated_id,rater_id,rate) VALUES (".$rate_id.",".$profiledata['user_id'].",".$userdata['user_id'].",$rate) ";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not insert rating informations', '', __LINE__, __FILE__, $sql);
	}

	$sql = "SELECT rate FROM " . RATE_USERS_TABLE ."
	WHERE rated_id = ".$profiledata['user_id'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not insert rating informations', '', __LINE__, __FILE__, $sql);
	}
	$raterow = $db->sql_fetchrowset($result);

	$total_rate = 0;
	for($i = 0; $i < count($raterow); $i++)
	{
		$total_rate = $total_rate + $raterow[$i]['rate'];
	}

	$new_average = round(( $total_rate / count($raterow))*100);

	$sql = "UPDATE " . USERS_TABLE ."
	SET user_average_rate = ".$new_average."
	WHERE user_id = ".$profiledata['user_id'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not insert rating informations', '', __LINE__, __FILE__, $sql);
	}

	$temp_url = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=".$profiledata['user_id']."");
	redirect($temp_url);
}
так вот, забыл автор инструкции взять в кавычки $rate. см в строчке

Код: Выделить всё

$sql = "INSERT INTO " . RATE_USERS_TABLE ." (rate_id,rated_id,rater_id,rate) VALUES (".$rate_id.",".$profiledata['user_id'].",".$userdata['user_id'].",.$rate.) ";
metanol
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 18 лет 8 месяцев

Сообщение metanol »

Люди, http://www.hacksphpbb.ru/ отправляет меня на buytraffic чего-то там. Кто-нибудь может сказать рабочую ссылку на мод? Или поделиться самим исправленным модом?
Cюда или biomechanoid(ат)inbox.ru.
Буду признателен.
lolik
phpBB 1.4.2
Сообщения: 74
Зарегистрирован: 18 лет 2 месяца
Контактная информация:

Сообщение lolik »

Дайте ссылку кому не трудно или название мода! :roll:
Аватара пользователя
belka-90
phpBB 1.2.1
Сообщения: 23
Зарегистрирован: 16 лет 5 месяцев

Rate users

Сообщение belka-90 »

Вроде не нашёл такой темы. Вопщем установил я мод рейтинга Rate users 0.0.1. Версия phpBB - 2.0.22
Но у меня трабл с "дарением" рейтинга. Как я понял это функция предоставляется в профиле того, кого оцениваем. Но вот прблема - у мен там вот такая фигня:
Изображение
Как видите, не отображает надписи, полоса рейтинга уехала влево и очень маленькая, выпадающий список пуст, а при нажатии кнопки подтверждения - ошибка.
То есть как я понял не выполняется код из файла profile_view_body.tpl

Шаблон (скин) форума не стандартный (Даж_Глазз)
Вложения
rate users.rar
(14.12 КБ) 292 скачивания
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

Сообщение Палыч »

belka-90 писал(а): не отображает надписи
Попробуйте отредактировать не только файлы английского языка, но и того, который используете
belka-90 писал(а): полоса рейтинга уехала влево и очень маленькая
исправляйте вдумчиво в соответствии с используемым стилем
belka-90 писал(а):при нажатии кнопки подтверждения - ошибка.
Ошибку нужно угадать?
(и таблицу `ваш_префикс_rate_users` вы, конечно, создали, и в ваш_префикс_config изменения внесли...)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
belka-90
phpBB 1.2.1
Сообщения: 23
Зарегистрирован: 16 лет 5 месяцев

Сообщение belka-90 »

Палыч писал(а):Попробуйте отредактировать не только файлы английского языка, но и того, который используете
проверял - всё на месте

ошибка:

Код: Выделить всё

Could not insert rating informations

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

INSERT INTO phpbb_rate_users (rate_id,rated_id,rater_id,rate) VALUES (1,243,10,) 

Line : 1033
File : functions.php
а, ну да, самое главное забыл сказать. при добавлении таблицы вот что (ставил через изиМОД):

Код: Выделить всё

5 Warning(s) reported by the SQL Parser

Non-portable syntax option(s) "TYPE=MyISAM", ignored, statement: 1, table: "phpbb_rate_users"

An empty string constant for a numeric data type has been converted to 0 "rate_id ... DEFAULT ?", statement: 1, table: "phpbb_rate_users"

An empty string constant for a numeric data type has been converted to 0 "rated_id ... DEFAULT ?", statement: 1, table: "phpbb_rate_users"

An empty string constant for a numeric data type has been converted to 0 "rater_id ... DEFAULT ?", statement: 1, table: "phpbb_rate_users"

An empty string constant for a numeric data type has been converted to 0 "rate ... DEFAULT ?", statement: 1, table: "phpbb_rate_users"
Добавлено спустя 7 минут 44 секунды:

попробовал через генератор запросов - вот что:

Код: Выделить всё

CREATE TABLE `phpbb_rate_users` ( `rate_id` int(7) NOT NULL default '', `rated_id` int(7) NOT NULL default '', `rater_id` int(7) NOT NULL default '', `rate` smallint(2) NOT NULL default '', PRIMARY KEY (`rate_id`)) TYPE=MyISAM
+++ Ошибка: Table 'phpbb_rate_users' already exists

INSERT INTO phpbb_config (config_name, config_value) VALUES ('rate_users_use', '1')
+++ Ошибка: Duplicate entry 'rate_users_use' for key 1

INSERT INTO phpbb_config (config_name, config_value) VALUES ('rate_users_posts', '0')
+++ Ошибка: Duplicate entry 'rate_users_posts' for key 1

INSERT INTO phpbb_config (config_name, config_value) VALUES ('rate_users_profile', '1')
+++ Ошибка: Duplicate entry 'rate_users_profile' for key 1

ALTER TABLE phpbb_users ADD user_average_rate SMALLINT(3) UNSIGNED DEFAULT '250' NOT NULL
+++ Ошибка: Duplicate column name 'user_average_rate'
то что таблица уже есть, это я понял, а вот с отсальным не разберусь
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

Сообщение Палыч »

belka-90 писал(а):ставил через изиМОД
1. Забудьте этот идиотизм (ИЗИ).
2. Выполните SQL-запрос (через phpMyadmin)

Код: Выделить всё

ALTER TABLE phpbb_users ADD user_average_rate SMALLINT(3) UNSIGNED DEFAULT '250' NOT NULL;
префикс (phpbb_) при необходимости измените на ваш.
belka-90 писал(а):проверял - всё на месте
сомневаюсь.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
belka-90
phpBB 1.2.1
Сообщения: 23
Зарегистрирован: 16 лет 5 месяцев

Сообщение belka-90 »

всмысле сделать такой запрос?

Код: Выделить всё

CREATE TABLE `rateMOD_rate_users` (
  `rate_id` int(7) NOT NULL default '',
  `rated_id` int(7) NOT NULL default '',
  `rater_id` int(7) NOT NULL default '',
  `rate` smallint(2) NOT NULL default '',
  PRIMARY KEY  (`rate_id`)
) TYPE=MyISAM;

INSERT INTO rateMOD_config (config_name, config_value) VALUES ('rate_users_use', '1');
INSERT INTO rateMOD_config (config_name, config_value) VALUES ('rate_users_posts', '0');
INSERT INTO rateMOD_config (config_name, config_value) VALUES ('rate_users_profile', '1');

ALTER TABLE rateMOD_users ADD user_average_rate SMALLINT(3) UNSIGNED DEFAULT '250' NOT NULL;
Добавлено спустя 19 минут 7 секунд:

то что выше - не получается добавить в БД
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

Сообщение Палыч »

belka-90 писал(а):всмысле сделать такой запрос?
Послушайте, belka-90, вы действительно belka-90, а не дятел-90?
Палыч писал(а):2. Выполните SQL-запрос (через phpMyadmin)

Код: Выделить всё

ALTER TABLE phpbb_users ADD user_average_rate SMALLINT(3) UNSIGNED DEFAULT '250' NOT NULL;
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
belka-90
phpBB 1.2.1
Сообщения: 23
Зарегистрирован: 16 лет 5 месяцев

Сообщение belka-90 »

фигасе заява о_О
короче, нашёл проблему, но решение не нашёл. ВОТ:

Код: Выделить всё

function rate_user($userdata, $profiledata, $rate)
{
	global $db, $userdata, $profiledata, $phpEx, $phpbb_root_path;

	$sql = "SELECT MAX(rate_id) AS total
	FROM " . RATE_USERS_TABLE;
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain next rate_id information', '', __LINE__, __FILE__, $sql);
	}

	if ( !($row = $db->sql_fetchrow($result)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain next rate_id information', '', __LINE__, __FILE__, $sql);
	}
	$rate_id = $row['total'] + 1;

	$sql = "INSERT INTO " . RATE_USERS_TABLE ." (rate_id,rated_id,rater_id,rate) VALUES (".$rate_id.",".$profiledata['user_id'].",".$userdata['user_id'].",$rate) ";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not insert rating informations', '', __LINE__, __FILE__, $sql);
	}

	$sql = "SELECT rate FROM " . RATE_USERS_TABLE ."
	WHERE rated_id = ".$profiledata['user_id'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not insert rating informations', '', __LINE__, __FILE__, $sql);
	}
	$raterow = $db->sql_fetchrowset($result);

	$total_rate = 0;
	for($i = 0; $i < count($raterow); $i++)
	{
		$total_rate = $total_rate + $raterow[$i]['rate'];
	}

	$new_average = round(( $total_rate / count($raterow))*100);

	$sql = "UPDATE " . USERS_TABLE ."
	SET user_average_rate = ".$new_average."
	WHERE user_id = ".$profiledata['user_id'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not insert rating informations', '', __LINE__, __FILE__, $sql);
	}

	$temp_url = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=".$profiledata['user_id']."");
	redirect($temp_url);
}
В вышеприведённом коде, говорят, переменная $rate не взята в кавычки (18 строка). Дальше идёт вроде как то, что нужно изменить:

Код: Выделить всё

	$sql = "INSERT INTO " . RATE_USERS_TABLE ." (rate_id,rated_id,rater_id,rate) VALUES (".$rate_id.",".$profiledata['user_id'].",".$userdata['user_id'].",.$rate.) ";
Но ошибка остаётся. видимо не на то надо исправлять...

Добавлено спустя 1 минуту 59 секунд:

переменная rate - это цифра из выпадающего списка (от 0 до 5)
Закрыто

Вернуться в «Поддержка модов для phpBB 2.0.x»