Награды для пользователей [Medal System]

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Аватара пользователя
DK7
Former team member
Сообщения: 1008
Зарегистрирован: 17.07.2006 15:52
Откуда: Кишинёв
Благодарил (а): 3 раза
Поблагодарили: 25 раз
Контактная информация:

Re: Награды для пользователей [Medal System]

Сообщение DK7 » 22.07.2008 13:24

уже писалось ранее.. При создании категории с медалями, нужно создавать аналогичную категорию, но пустую ( без медалей). То есть если необходимо 3 категории с медалями- нужно сделать и 3 пустых категории.
Пустые отображаться не будут, при просмотре медалей с главной.
У меня все работает таким образом.

Аватара пользователя
гарпия
phpBB 1.4.2
Сообщения: 50
Зарегистрирован: 23.07.2006 16:07
Контактная информация:

Re: Награды для пользователей [Medal System]

Сообщение гарпия » 22.07.2008 13:53

Zvezda
Нет, с пустыми у меня ничего не получилось.
нашла ошибку в коде, сравнив два фала medals.php скаченные из разных источников.
в моём коде было
$category_rows = array();
while( $category_rows[] = $db->sql_fetchrow($result) );
$db->sql_freeresult($result);
изменила эту строчку на
$category_rows = array();
while ($row = $db->sql_fetchrow($result) )
{
$category_rows[] = $row;
}
$db->sql_freeresult($result);
и категории стали показываться.

Tanya
phpBB 1.2.0
Сообщения: 13
Зарегистрирован: 27.08.2007 23:04

Re: Награды для пользователей [Medal System]

Сообщение Tanya » 20.09.2008 21:49

Creed писал(а): Amf писал(а):Только пара вопросов:
1. не отображаются рисунки медальки на странице madals.php - вместо них пишется текст названия (в постах и профиле картинка есть)
все остальное работает. Пути к рисункам менял, но видимо не там где надо, потому как не помогло.
Добавлено спустя 22 минуты 12 секунд:
С первым пунктом разобрался сам, достаточно было воспользоваться последним советом Палыча и редактировать путь к рисункам в medalcp.php вместо medals.php.



Та же самая проблема, в постах и профилях медальки отображаются, а в medals.php и medalscp.php - нет.
Явно проблема с путями т.к если делаю копию папки с медалями в корневом каталоге (так она находится в FORUM), то они отображаются. Не могу найти где поменять эти пути. Подскажите плз.
Такая же проблема :( и воспользоваться советом Палыча (включить моск) что-то не выходит :(
Теме прочитала всю, ответа конклетного не нашла, открыла файл medalscp.php чоб найти пути , но увы "вижу фигу" :(
Помогите пожалуйста!!!!

Добавлено спустя 11 минут 46 секунд:
Все моск включился наконец в админке указала путь к рисунку правильно /images/название рисунка.gif

shadow1980
phpBB 1.0.0
Сообщения: 8
Зарегистрирован: 05.09.2007 11:09

Re:

Сообщение shadow1980 » 26.10.2008 23:18

проблема

Could not query medal categories list

DEBUG MODE

SQL Error : 1146 Table 'XXXXXXXXXX.MEDAL_CAT_TABLE' doesn't exist

SELECT cat_id, cat_title, cat_order FROM MEDAL_CAT_TABLE ORDER BY cat_order

Line : 801
File : admin_medal.php

фаил includes/constants.php проверял
в чем еще может быть проблема?
Последний раз редактировалось shadow1980 27.10.2008 19:15, всего редактировалось 1 раз.

Аватара пользователя
DK7
Former team member
Сообщения: 1008
Зарегистрирован: 17.07.2006 15:52
Откуда: Кишинёв
Благодарил (а): 3 раза
Поблагодарили: 25 раз
Контактная информация:

Re: Награды для пользователей [Medal System]

Сообщение DK7 » 27.10.2008 11:19

Таблица 'XXXXXXXXXX.MEDAL_CAT_TABLE' не существует
А Вы точно запускали medal_db_update.php ??
Проверьте ручками в бд , наличие этой таблицы..
И еще советую удалить такую большую цитату, иначе получите карточку. В правилах здесь такого нельзя.

shadow1980
phpBB 1.0.0
Сообщения: 8
Зарегистрирован: 05.09.2007 11:09

Re: Награды для пользователей [Medal System]

Сообщение shadow1980 » 27.10.2008 19:21

Посмотрел, есть такая таблица - phpbb_medal_cat

Аватара пользователя
DK7
Former team member
Сообщения: 1008
Зарегистрирован: 17.07.2006 15:52
Откуда: Кишинёв
Благодарил (а): 3 раза
Поблагодарили: 25 раз
Контактная информация:

Re: Награды для пользователей [Medal System]

Сообщение DK7 » 27.10.2008 19:50

а у Вас на всех форумных таблицах префикс phpbb_ ?

shadow1980
phpBB 1.0.0
Сообщения: 8
Зарегистрирован: 05.09.2007 11:09

Re: Награды для пользователей [Medal System]

Сообщение shadow1980 » 27.10.2008 20:01

Да, на всех.
И еще менюшка конфигурации тоже странно выглядит
Изображение

shadow1980
phpBB 1.0.0
Сообщения: 8
Зарегистрирован: 05.09.2007 11:09

Re: Награды для пользователей [Medal System]

Сообщение shadow1980 » 27.10.2008 21:07

Надпись Could not query medal categories list

DEBUG MODE

SQL Error : 1146 Table 'XXXXXXXXXX.MEDAL_CAT_TABLE' doesn't exist

пропала, хотя ничего не предпринимал

Зато все топики поплыли
Изображение

Подскажите, что сделать, может снести мод, только как это сделать?
В принципе сохранил файлы форума которые правил в этом моде, но что с таблицами, удалить?

BigMike
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 11.05.2008 12:53
Контактная информация:

Re: Награды для пользователей [Medal System]

Сообщение BigMike » 27.10.2008 21:39

доброго времени суток всем...я с таким вопросом по этому моду-у меня форум оптимизирован под вап и страница получается слишком большой при просмотре профиля когда там присутствуют медали-можно ли сделать чтобы медали пользователя были на отдельной странице-что то вроде вот когда мод фотоальбома ставил-там в профиле ссылка на персональную галерею а тут так же ссылка что бы была на медали пользователя. возможно ли так сделать?

Аватара пользователя
DK7
Former team member
Сообщения: 1008
Зарегистрирован: 17.07.2006 15:52
Откуда: Кишинёв
Благодарил (а): 3 раза
Поблагодарили: 25 раз
Контактная информация:

Re: Награды для пользователей [Medal System]

Сообщение DK7 » 27.10.2008 22:35

По поводу менюшки- по-моему не внесли нужные изменения в lang_admin.php
А по поводу заплывов- перепроверьте правильность правки viewtopic_body.tpl

Добавлено спустя 6 минут 14 секунд:
Так же советую прочесть это сообщение
http://www.phpbbguru.net/community/topi ... tml#p28076
и следующее.
может поможет.

BigMike
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 11.05.2008 12:53
Контактная информация:

Re: Награды для пользователей [Medal System]

Сообщение BigMike » 27.10.2008 23:58

У меня вот вопрос-я в пхп плохо соображаю-но методом тыка натыкал вот...
чтобы медали в отдельно странице были. создал файлик /includes/usercp_viewmedal.php

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

<?php


if ( !defined('IN_PHPBB') )
{
	die("Hacking attempt");
	exit;
}

if ( empty($HTTP_GET_VARS[POST_USERS_URL]) || $HTTP_GET_VARS[POST_USERS_URL] == ANONYMOUS )
{
	message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
}
$profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);

//
// Output page header and profile_view template
//
$template->set_filenames(array(
	'medal' => 'profile_view_medal.tpl')
);
//
// Generate page
//
$page_title = $lang['Viewing_profile'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
display_upload_attach_box_limits($profiledata['user_id']);

// Medal MOD

//
// Category
//

$sql = "SELECT cat_id, cat_title
	FROM " . MEDAL_CAT_TABLE . "
	ORDER BY cat_order";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not query medal categories list', '', __LINE__, __FILE__, $sql);
}

$category_rows = array();
while ( $row = $db->sql_fetchrow($result) )
{
	$category_rows[] = $row;
}
$db->sql_freeresult($result);

$sql = "SELECT m.medal_id, mu.user_id
	FROM " . MEDAL_TABLE . " m, " . MEDAL_USER_TABLE . " mu
	WHERE mu.user_id = '" . $profiledata['user_id'] . "'
	AND m.medal_id = mu.medal_id
	ORDER BY m.medal_name";
	
if($result = $db->sql_query($sql))
{
	$medal_list = $db->sql_fetchrowset($result);
	$medal_count = count($medal_list);

	if ( $medal_count )
	{
		$medal_count = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $profiledata['user_id'] . "#medal") . '" class="genmed">' . $medal_count . '</a>';

		$template->assign_block_vars('switch_display_medal', array());

		$template->assign_block_vars('switch_display_medal.medal', array(
			'MEDAL_BUTTON' => '<button onclick="ToggleBox(\'toggle_medal\')">'.$lang['Medal_details'].'</button>')
		);
	}
}

for ($i = 0; $i < count($category_rows); $i++)
{
	$cat_id = $category_rows[$i]['cat_id'];

	$sql = "SELECT m.medal_id, m.medal_name,m.medal_description, m.medal_image, m.cat_id, mu.issue_reason, mu.issue_time, c.cat_id, c.cat_title
		FROM " . MEDAL_TABLE . " m, " . MEDAL_USER_TABLE . " mu, " . MEDAL_CAT_TABLE . " c
		WHERE mu.user_id = '" . $profiledata['user_id'] . "'
		AND m.cat_id = c.cat_id
		AND m.medal_id = mu.medal_id
		ORDER BY c.cat_order, m.medal_name, mu.issue_time";

	if ($result = $db->sql_query($sql))
	{
		$row = array();
		$rowset = array();
		$medal_time = $lang['Medal_time'] . ':&nbsp;';
		$medal_reason = $lang['Medal_reason'] . ':&nbsp;';
		while ($row = $db->sql_fetchrow($result))
		{
			if (empty($rowset[$row['medal_name']]))
			{
				$rowset[$row['medal_name']]['cat_id'] = $row['cat_id'];
				$rowset[$row['medal_name']]['cat_title'] = $row['cat_title'];
				$rowset[$row['medal_name']]['medal_description'] .= $row['medal_description'];
				$rowset[$row['medal_name']]['medal_image'] = $row['medal_image'];
				$row['issue_reason'] = ( $row['issue_reason'] ) ? $row['issue_reason'] : $lang['Medal_no_reason'];
				$rowset[$row['medal_name']]['medal_issue'] = '<tr><td><span class="genmed">' . $medal_time . create_date($board_config['default_dateformat'], $row['issue_time'], $board_config['board_timezone']) . '</span></td></tr><tr><td><span class="genmed">' . $medal_reason . $row['issue_reason']  . '</span><hr></td></tr>';
				$rowset[$row['medal_name']]['medal_count'] = '1';
			}
			else
			{
				$row['issue_reason'] = ( $row['issue_reason'] ) ? $row['issue_reason'] : $lang['Medal_no_reason'];
				$rowset[$row['medal_name']]['medal_issue'] .= '<tr><td><span class="genmed">' . $medal_time . create_date($board_config['default_dateformat'], $row['issue_time'], $board_config['board_timezone']) . '</span></td></tr><tr><td><span class="genmed">' . $medal_reason . $row['issue_reason'] . '</span><hr /></td></tr>';
				$rowset[$row['medal_name']]['medal_count'] += '1';
			}
		}

		$medal_width = ( $board_config['medal_display_width'] ) ? 'width="'.$board_config['medal_display_width'].'"' : '';
		$medal_height = ( $board_config['medal_display_height'] ) ? 'height="'.$board_config['medal_display_height'].'"' : '';

		$medal_name = array();
		$data = array();

		//
		// Should we display this category/medal set?
		//
		$display_medal = 0;

		while (list($medal_name, $data) = @each($rowset))
		{
			if ( $cat_id == $data['cat_id'] ) { $display_medal = 1; }

			if ( !empty($display_medal) )
			{
				$template->assign_block_vars('switch_display_medal.details', array(
					'MEDAL_CAT' => $data['cat_title'],
					'MEDAL_NAME' => $medal_name,
					'MEDAL_DESCRIPTION' => $data['medal_description'],
					'MEDAL_IMAGE' => '<img src="'. $phpbb_root_path . $data['medal_image'] . '" border="0" alt="' . $medal_name . '" title="' . $medal_name . '" />',
					'MEDAL_IMAGE_SMALL' => '<img src="'. $phpbb_root_path . $data['medal_image'] . '" border="0" alt="' . $medal_name . '" title="' . $medal_name . '"' . $medal_width . $medal_height . ' />',
					'MEDAL_ISSUE' => $data['medal_issue'],
					'MEDAL_COUNT' => $lang['Medal_amount'] . $data['medal_count'],
				
					'L_MEDAL_DESCRIPTION' => $lang['Medal_description'])
				);
				$display_medal = 0;
			}
		}
	}
}


if (!$profiledata)
{
	message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
}

$sql = 'SELECT count(*) AS total
	FROM ' . ATTACHMENTS_TABLE . '
	WHERE user_id_1 = '.$profiledata['user_id'].' AND user_id_2 = 0';
$result = $db->sql_query($sql);
if (!$result)
{
	message_die(GENERAL_ERROR, 'Unable to get attachment information.', '', __LINE__, __FILE__, $sql);
}
$rowatt = $db->sql_fetchrow($result);

$template->pparse('medal');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
и для него шаблон...вроде работает. возможно ли возникновение каких либо ошибок или дыр?

laughter
phpBB 1.0.0
Сообщения: 3
Зарегистрирован: 15.11.2008 23:38

Re: Награды для пользователей [Medal System]

Сообщение laughter » 15.11.2008 23:55

Поставила мод, вроде все работает (ТТТ)
У меня такой вопрос. Как сделать так чтобы под аватарой пользователя каждый раз отобрадалась случайная награда из всего списка наград, а не первая полученная?

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4021
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 102 раза
Поблагодарили: 409 раз
Контактная информация:

Re: Награды для пользователей [Medal System]

Сообщение Siava » 16.11.2008 2:39

laughter
Так это.. в настройках мода в админке есть такая функция.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

laughter
phpBB 1.0.0
Сообщения: 3
Зарегистрирован: 15.11.2008 23:38

Re: Награды для пользователей [Medal System]

Сообщение laughter » 16.11.2008 10:21

Siava перерыла админку и не нашла :(
пожалуйста, ткните пальцем :)

Закрыто

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