Страница 18 из 19

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

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

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);
и категории стали показываться.

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

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



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

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

Re:

Добавлено: 26.10.2008 23:18
shadow1980
проблема

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 проверял
в чем еще может быть проблема?

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

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

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

Добавлено: 27.10.2008 19:21
shadow1980
Посмотрел, есть такая таблица - phpbb_medal_cat

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

Добавлено: 27.10.2008 19:50
DK7
а у Вас на всех форумных таблицах префикс phpbb_ ?

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

Добавлено: 27.10.2008 20:01
shadow1980
Да, на всех.
И еще менюшка конфигурации тоже странно выглядит
c92b476deea4.jpg

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

Добавлено: 27.10.2008 21:07
shadow1980
Надпись Could not query medal categories list

DEBUG MODE

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

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

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

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

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

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

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

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

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

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

Добавлено: 27.10.2008 23:58
BigMike
У меня вот вопрос-я в пхп плохо соображаю-но методом тыка натыкал вот...
чтобы медали в отдельно странице были. создал файлик /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);

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

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

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

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

Добавлено: 16.11.2008 2:39
Siava
laughter
Так это.. в настройках мода в админке есть такая функция.

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

Добавлено: 16.11.2008 10:21
laughter
Siava перерыла админку и не нашла :(
пожалуйста, ткните пальцем :)