######################################################## 
## Mod Title: Medal System
## MOD Author: ycl6 < ycl6@users.sourceforge.net > (Y.C. LIN) http://macphpbbmod.sourceforge.net/
## MOD Traductor: reef_01 - http://www.piratesdelcaribe.com.ar/foro/index.php
## MOD Description: Este MOD es un sistema completo de medallas para tu foro. 
##			Consiste:
## 				Un panel de aministracion de medallas.
##				Una pgina con el listado de las medalla, que muestra la informacion de todas las medallas.
##				Un panel de administracion del moderador para agregar/quitar medallas a los usuarios.
##				Un E-mail se enva al usuario que recibe la medalla
##				Muestra en el viewtopic y en el perfil la cantidad de medallas que tiene un usuario.
## Mod Version: 0.4.6
## 
## Installation Level: Intermedio
## Installation Time: 10 Minutos
##
## Files To Edit: 14
##	viewonline.php
##	viewtopic.php
##	includes/constants.php
##	includes/functions.php
##	includes/page_header.php
##	includes/usercp_viewprofile.php
##	language/lang_english/lang_main.php
##	language/lang_english/lang_admin.php
##	language/lang_spanish/lang_main.php
##	language/lang_spanish/lang_admin.php
##	templates/subSilver/viewtopic_body.tpl
##	templates/subSilver/profile_view_body.tpl
##	templates/subSilver/overall_header.tpl
##	templates/subSilver/subSilver.cfg
##
## Included Files: 17 (+ 24 images)
##	root/medals.php
##	root/medalcp.php
##	root/medalcp_edit.php
##	root/admin/admin_medal.php
##	root/admin/admin_medal_cfg.php
##	root/language/lang_english/email/medal_added.tpl
##	root/templates/toggle.js
##	root/templates/subSilver/medals_body.tpl
##	root/templates/subSilver/medalcp_body.tpl
##	root/templates/subSilver/medalcp_edit_body.tpl
##	root/templates/subSilver/images/icon_mini_medal.gif
##	root/templates/subSilver/admin/medal_config_body.tpl
##	root/templates/subSilver/admin/medal_delete_body.tpl
##	root/templates/subSilver/admin/medals_edit_body.tpl
##	root/templates/subSilver/admin/medals_editcat_body.tpl
##	root/templates/subSilver/admin/medals_list_body.tpl
##	root/templates/subSilver/admin/medals_moderator_body.tpl
##	root/images/medals/*.gif
##
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2 
################################################################# 
## For security purposes, please check: http://www.phpbb.com/mods/
## for the latest version of this MOD. Although MODs are checked
## before being allowed in the MODs Database there is no guarantee
## that there are no security problems within the MOD. No support
## will be given for MODs not found within the MODs Database which
## can be found at http://www.phpbb.com/mods/
############################################################## 
## Author Notes:
##	
##	Please READ the "Usage Guide" found in EXTRA folder for FAQ/Tips
##
##	Special thanks to Gremlinn and other supporters of this MOD
## 
############################################################## 
## MOD History: 
##
##   2003-10-21 - Version 0.0.1 { a.k.a 1.0.0 in the older release files}
##      - Initial Release
##
##   2003-11-02 - Version 0.0.2 { a.k.a 1.0.1 in the older release files}
##      - Fix image display path in medals.php
##	- 2 small changes to medals_body.tpl
##
##   2003-11-02 - Version 0.0.3 { a.k.a 1.0.2 in the older release files}
##      - Fix sql statement in admin_medal.php
##	- A change in the lang_admin.php
##
##   2003-11-03 - Version 0.1.0 { a.k.a 1.1.0 in the older release files}
##      - Allow admin to choose showing medal images in viewtopic or not
##	- All admin to configure number of rows & column in the viewtopic display
##	- Change medal display in profile, if no medal, medal table does not appear
##
##   2003-11-07 - Version 0.1.1 { a.k.a 1.1.1 in the older release files}
##	- Upgraded to 2.0.6 competible
##	- Only 2 minor changes in medalcp.php, and 1 change in the installation guide
##		for usercp_viewprofile.php
## 
##   2004-03-24 - Version 0.2.0 { a.k.a 2.0.0 in the older release files}
##	- Major re-write of this MOD, 1.1.1 is NOT upgradable to 2.0.0
##		because of the change in database design
##	- What's New:
##	  * In ACP, Medal Configuration & Medal Management
##	  * In ACP Medal Management, Add, Delete & Edit Medal, Add & Delete Medal Moderator(s)
##	  * Medals.php for overall Medal & User Listing
##	  * Moderator(s) can enter Medal Control Panel to Award & Delete User
##	  * Moderator can edit Award Reason for each award occasion for each user
##	  * Viewtopic Medal Display with image number and size control 
##		from ACP Medal Configuration
##	  * Viewprofile Medal History for the particular user
##
##   2004-03-26 - Version 0.2.1 { a.k.a 2.0.1 in the older release files}
##	- Security updates
##	- Fix 2 bugs in medalcp.php
##
##   2004-04-03 - Version 0.2.2 { a.k.a 2.0.2 in the older release files}
##	- Bug Fixs in medalcp.php & admin_medal.php
##	- Fix Medal Count Display in Viewtopic for Guests
##	- Two Chinese language change in lang_admin.php
##
##   2004-04-08 - Version 0.3.0 { a.k.a 2.1.0 in the older release files}
##	- Bug Fixs in viewtopic.php & usercp_viewprofile.php
##	- Added image randomize feature to Viewtopic, config in ACP
##
##   2004-08-11 - Version 0.4.0 { a.k.a 2.2.0 in the older release files}
##	- Fix template Actions synthax (Thanks to silvercloud @ phpBB.com)
##	- Fix image path in Viewtopic & Usercp_viewprofile
##	- Optimize & fix admin_medal_cfg.php sql query
##	- Added Medal Category and Category Order fuction
##
##   2004-08-12 - Version 0.4.1 { a.k.a 2.2.1 in the older release files}
##	- Added the forgotten toggle.js modification step in UPGRADE guide
##
##   2004-08-14 - Version 0.4.2 { a.k.a 2.2.2 in the older release files}
##	- Fix non-admin medal moderator can't see medalcp link problem
##
##   2005-09-25 - Version 0.4.3 { a.k.a 2.2.3 in the older release files}
##	- Fix some bugs and re-wrote some bits of script
##	- Added an add-on to remove toggle button effect from viewprofile
##
##   2005-12-06 - Version 0.4.4
##	- Fix a problem concerning issuing medal to user that has a username consists of numbers 
##		(changes in medalcp.php only)
##	- Change parts of the SQL syntax to add NOT NULL to a few places and removed "TYPE=MyISAM"
##
##   2005-12-07 - Version 0.4.5
##	- Fix an error in a switch (thanks to F from phpbb-tw)
##	- Fix type-errors in Chinese lang file (thanks to F from phpbb-tw)
##
##   2006-04-04 - Version 0.4.6
##	- Fix a few language errors
##	- Fix toogle button to allow make it work in Firefox (thanks to F from phpbb-tw)
##	- Fix a bug with empty username in medalcp.php
##	- Fix a bug with dropdown list ordering bug in admin_medal.php
##	- Fix a bug with the showing of category in medals.php
## 
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
##############################################################

# 
#-----[ COPIAR ]------------------------------------------ 
# 
copy root/medals.php to medals.php
copy root/medalcp.php to medalcp.php
copy root/medalcp_edit.php to medalcp_edit.php
copy root/language/lang_english/email/medal_added.tpl to language/lang_english/email/medal_added.tpl
copy root/admin/*.* to admin/
copy root/templates/toggle.js to templates/toggle.js
copy root/templates/subSilver/*.* to templates/subSilver/*.*
copy root/images/medals/*.gif to images/medals/*.gif

# 
#-----[ SQL ]------------------------------------------ 
#
# Remember to change the table prefix used on your database
CREATE TABLE `phpbb_medal` (
  `medal_id` mediumint(8) UNSIGNED NOT NULL auto_increment,
  `cat_id` mediumint(8) UNSIGNED NOT NULL default '1',
  `medal_name` varchar(40) NOT NULL,
  `medal_description` varchar(255) NOT NULL,
  `medal_image` varchar(40) NULL,
  PRIMARY KEY  (`medal_id`)
);

CREATE TABLE `phpbb_medal_user` (
  `issue_id` mediumint(8) UNSIGNED NOT NULL auto_increment,
  `medal_id` mediumint(8) UNSIGNED NOT NULL,
  `user_id` mediumint(8) UNSIGNED NOT NULL,
  `issue_reason` varchar(255) NOT NULL,
  `issue_time` int(11) NOT NULL,
  PRIMARY KEY  (`issue_id`)
);

CREATE TABLE `phpbb_medal_mod` (
  `mod_id` mediumint(8) UNSIGNED NOT NULL auto_increment,
  `medal_id` mediumint(8) UNSIGNED NOT NULL,
  `user_id` mediumint(8) UNSIGNED NOT NULL,
  PRIMARY KEY  (`mod_id`)
);

CREATE TABLE `phpbb_medal_cat` (
  `cat_id` mediumint(8) UNSIGNED NOT NULL auto_increment,
  `cat_title` varchar(100) NOT NULL,
  `cat_order` mediumint(8) UNSIGNED NOT NULL default '0',
  PRIMARY KEY  (`cat_id`),
  KEY `cat_order` (`cat_order`)
);

INSERT INTO `phpbb_config` VALUES ('allow_medal_display', '0');
INSERT INTO `phpbb_config` VALUES ('medal_display_row', '1');
INSERT INTO `phpbb_config` VALUES ('medal_display_col', '1');
INSERT INTO `phpbb_config` VALUES ('medal_display_width', '');
INSERT INTO `phpbb_config` VALUES ('medal_display_height', '');
INSERT INTO `phpbb_config` VALUES ('medal_display_order', '');
INSERT INTO `phpbb_medal_cat` VALUES ('1', 'Default', '10');

# 
#-----[ ABRIR ]------------------------------------------ 
# 
language/lang_english/lang_main.php

# 
#-----[ BUSCAR ]------------------------------------------ 
#
?>

# 
#-----[ ANTES AGREGAR ]------------------------------------------ 
#
// Medal MOD
$lang['Medal_Control_Panel'] = 'Medal Control Panel';
$lang['Medals'] = 'Medals';
$lang['View_More'] = 'View more...';
$lang['Medal_amount'] = 'Amount: ';
$lang['Medal_Information'] = 'Medal Information';
$lang['Medal_name'] = 'Medal Name';
$lang['Medal_description'] = 'Medal Description';
$lang['Medal_image'] = 'Medal Image';
$lang['Medal_details'] = 'Award Details';
$lang['Medal_reason'] = 'Awarded Reason';
$lang['Medal_reason_explain'] = 'You can give a reason to why this medal this awarded to this user at this time.<br />This is not compulsory';
$lang['Medal_no_reason'] = '<i>No Reason was given</i>';
$lang['Medal_time'] = 'Awarded Time';
$lang['Medal_moderator'] = 'Medal Moderator';
$lang['No_medal_mod'] = 'No Medal Moderator';
$lang['Medal_userlist'] = 'User Lists';
$lang['Medal_Members'] = 'Members having this medal';
$lang['Medal_Members_explain'] = 'Click on the username to edit award reason(s)';
$lang['No_medal_members'] = 'No member has this medal';
$lang['No_medals_exist'] = 'No Medals Exist';
$lang['Medal_not_exist'] = 'That medal does not exist';
$lang['No_username_specified'] = 'No username specified';
$lang['No_medal_id_specified'] = 'No Medals specified';
$lang['Medal_user_username'] = 'Award one or more specific users with this Medal';
$lang['Medal_unmedal_username'] = 'Remove this Medal from one or more specific users';
$lang['Medal_unmedal_username_explain'] = 'You can remove multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser';
$lang['Medal_added'] = 'You have been awarded this medal.'; 
$lang['Medal_update_sucessful'] = 'User and Medal information has been updated';
$lang['Could_not_anonymous_user'] = 'You cannot give Anonymous a medal.';
$lang['Not_medal_moderator'] = 'You are not a moderator of this medal';
$lang['Link_to_cp'] = 'Medal Control Panel';
$lang['Click_return_medal'] = 'Click %sHere%s to return to medal information';
$lang['No_medal'] = 'No Medal Available';

# 
#-----[ ABRIR ]------------------------------------------ 
#  
language/lang_english/lang_admin.php

# 
#-----[ BUSCAR ]------------------------------------------ 
# 
?>

# 
#-----[ ANTES AGREGAR ]------------------------------------------ 
# 
// Medal MOD
$lang['Medals'] = 'Medal Admin';
$lang['Manage'] = 'Management';
$lang['Medal_Config'] = 'Medal Configuration';
$lang['Medal_Config_explain'] = 'The form below will allow you to customize all the general medal options.';
$lang['Medal_setting'] = 'Medal Setting';
$lang['Allow_medal'] = 'Allow Medal Display in Viewtopic';
$lang['Medal_rand'] = 'Allow Random Medal Image in Viewtopic';
$lang['Medal_rand_explain'] = 'Image will displayed in random order, only work if you allow medal display in viewtopic';
$lang['Medal_display'] = 'Medal table (Rows x Columns)';
$lang['Medal_display_explain'] = 'Define how many rows and columns the medal table in <b>viewtopic</b>.<br />E.g. 1 row and 1 column display 1 image, and 1 row 2 columns display 2 images. <br />Make sure you set this correctly so it does not distort or introduce extra spaces your viewtopic.';
$lang['Medal_size'] = 'Maximum Medal Dimensions in Viewtopic';
$lang['Medal_size_explain'] = '(Height x Width in pixels)<br />If blank, images will display in it\'s original size';
$lang['Click_return_medalcfg'] = 'Click %sHere%s to return to Medal Configuration.';
$lang['Medal_admin'] = 'Medal Administration';
$lang['Medal_admin_explain'] = 'From this panel you can administer all your medals. You can delete, create and edit existing medals. You may choose moderators and set the medal name and description';
$lang['Updated_medal'] = 'Medal was successfully updated';
$lang['Updated_medal_category'] = 'Medal category was successfully updated';
$lang['Added_new_medal'] = 'New medal was successfully created';
$lang['Added_new_category'] = 'New medal category was successfully created';
$lang['Deleted_medal'] = 'Medal was successfully deleted';
$lang['Deleted_medal_category'] = 'Medal category was successfully deleted';
$lang['New_medal'] = 'Create new medal';
$lang['medal_name'] = 'Medal name';
$lang['medal_description'] = 'Medal description';
$lang['medal_image'] = 'Medal Image';
$lang['medal_image_explain'] = 'Use this to define a image associated with the medal<br />(Relative to phpBB2 root path)';
$lang['No_medal_name'] = 'You must specify a name for this medal';
$lang['No_medal_description'] = 'You must specify a description for this medal';
$lang['No_medal_image'] = 'You must specify an image for this medal';
$lang['Must_select_medal'] = 'Must specify a medal';
$lang['Click_return_medaladmin'] = 'Click %sHere%s to return to Medal Administration.';
$lang['Medal_mod'] = 'Medal Moderator';
$lang['Medal_mod_admin'] = 'Medal Moderator Administration';
$lang['Medal_mod_admin_explain'] = 'From this panel you can appoint medal moderators for your medals.';
$lang['Medal_mod_username'] = 'Appoint one or more specific users to be Medal Moderator';
$lang['Medal_unmod_username'] = 'Remove one or more specific users from Medal Moderator';
$lang['Medal_unmod_username_explain'] = 'You can remove multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser';
$lang['No_medal_mod'] = 'No Medal Moderator';
$lang['No_medal_in_cat'] = 'No medal in this category';
$lang['Must_delete_medal'] = 'You need to delete all medals before you can delete this category';
$lang['Category_delete'] = 'Delete Medal Category';
$lang['Category_delete_explain'] = 'The form below will allow you to delete a category and decide where you want to put all medals it contained.';
$lang['Move_medals'] = 'Move medals to';
$lang['Category_name'] = 'Category Name';
$lang['Medal_mod_update_sucessful'] = 'Medal Moderator has been updated successfully';
$lang['Click_return_medal_mod_admin'] = 'Click %sHere%s to return to Medal Moderator Administration.';

# 
#-----[ ABRIR ]------------------------------------------ 
# 
language/lang_spanish/lang_main.php

# 
#-----[ BUSCAR ]------------------------------------------ 
#
?>

# 
#-----[ ANTES AGREGAR ]------------------------------------------ 
#
// Medal MOD
$lang['Medal_Control_Panel'] = 'Panel De Control De las Medallas ';
$lang['Medals'] = 'Medallas';
$lang['View_More'] = 'Ver Mas';
$lang['Medal_amount'] = 'Cantidad: ';
$lang['Medal_Information'] = 'Informacin de Medalla';
$lang['Medal_name'] = 'Nombre de Medalla';
$lang['Medal_description'] = 'Descripcin de Medalla';
$lang['Medal_image'] = 'Imagen de Medalla';
$lang['Medal_details'] = 'Detalles de Premio';
$lang['Medal_reason'] = 'Medalla Ganada';
$lang['Medal_reason_explain'] = 'Usted puede dar una razn por qu esta medalla esta concedida a este usuario en este tiempo.<br />Esto no es obligatorio';
$lang['Medal_no_reason'] = '<i>No se dio ninguna razn</i>';
$lang['Medal_time'] = 'Tiempo Concedido';
$lang['Medal_moderator'] = 'Moderador';
$lang['No_medal_mod'] = 'No Medalla Moderador';
$lang['Medal_userlist'] = 'Lista de Usuarios';
$lang['Medal_Members'] = 'Miembros que tienen esta Medalla';
$lang['Medal_Members_explain'] = 'Click en el nombre del usuario para corregir la razn de premio';
$lang['No_medal_members'] = 'Ningn miembro tiene esta Medalla';
$lang['No_medals_exist'] = 'Ningunas Medallas Existen';
$lang['Medal_not_exist'] = 'Esa Medalla no existe';
$lang['No_username_specified'] = 'Ningn nombre de usuario especificado';
$lang['No_medal_id_specified'] = 'Ningunas Medallas especificadas';
$lang['Medal_user_username'] = 'Conceda a unos o ms usuarios especficos con esta Medalla';
$lang['Medal_unmedal_username'] = 'Quite esta Medalla de uno o varios usuarios especficos';
$lang['Medal_unmedal_username_explain'] = 'Usted puede quitar a mltiples usuarios en uno va a usar la combinacin apropiada de ratn y teclado para su ordenador y Navegador';
$lang['Medal_added'] = 'Le han concedido esta Medalla.'; 
$lang['Medal_update_sucessful'] = 'Se ha actualizado la informacin del usuario y de la Medalla';
$lang['Could_not_anonymous_user'] = 'Usted no puede dar annimo una Medalla.';
$lang['Not_medal_moderator'] = 'Usted no es Moderador de esta medalla';
$lang['Link_to_cp'] = 'Panel De Control De la Medalla';
$lang['Click_return_medal'] = 'Click %sAqu%s para volver a la informacin de la Medalla';
$lang['No_medal'] = 'Ninguna Medalla Disponible';

# 
#-----[ ABRIR ]------------------------------------------ 
#  
language/lang_spanish/lang_admin.php

# 
#-----[ BUSCAR ]------------------------------------------ 
# 
?>

# 
#-----[ ANTES AGREGAR ]------------------------------------------ 
#
// Medal MOD
$lang['Medals'] = 'Medallas';
$lang['Manage'] = 'Administracin';
$lang['Medal_Config'] = 'Configuracin De la Medalla';
$lang['Medal_Config_explain'] = 'La forma debajo le permitir personalizar todas las opciones de medalla generales.';
$lang['Medal_setting'] = 'Ajuste De la Medalla';
$lang['Allow_medal'] = 'Permita la exhibicin de la medalla en Viewtopic';
$lang['Medal_rand'] = 'Permita la imagen al azar de la medalla en Viewtopic';
$lang['Medal_rand_explain'] = 'Voluntad de la imagen exhibida en la orden al azar, solamente trabaja si usted permite la exhibicin de la medalla en viewtopic';
$lang['Medal_display'] = 'Tabla de Medallas (Filas x Columnas)';
$lang['Medal_display_explain'] = 'Defina en cuntas filas y columnas la tabla de la Medalla <b>viewtopic</b>.<br />E.g. 1 fila y 1 imagen de la exhibicin 1 de la columna, y las columnas de 1 fila 2 exhiben 2 imgenes. <br />Asegrese que usted pone esto correctamente entonces esto no deforma o introduce espacios suplementarios su viewtopic.';
$lang['Medal_size'] = 'Dimensiones de Medalla Mximas en Viewtopic';
$lang['Medal_size_explain'] = '(Altura x Anchura en pixeles)<br />De ser en blanco, las imgenes mostrarn en esto en el tamao original';
$lang['Click_return_medalcfg'] = 'Click %sAqui%s volver a Configuracin de Medalla.';
$lang['Medal_admin'] = 'Administracin de Medallas';
$lang['Medal_admin_explain'] = 'De este panel usted puede administrar todas sus medallas. Usted puede suprimir, crear y la revisin medallas existentes. Usted puede escoger Moderadores y poner el nombre de medalla y la descripcin';
$lang['Updated_medal'] = 'La medalla fue puesta al da con xito';
$lang['Updated_medal_category'] = 'La medalla fue puesta al da con xito';
$lang['Added_new_medal'] = 'La medalla nueva fue creada con xito';
$lang['Added_new_category'] = 'La nueva categora de la medalla fue creada con xito';
$lang['Deleted_medal'] = 'La medalla fue eliminada con xito';
$lang['Deleted_medal_category'] = 'La categora de la medalla fue eliminada con xito';
$lang['New_medal'] = 'Cree la medalla nueva';
$lang['medal_name'] = 'Nombre de la Medalla';
$lang['medal_description'] = 'Descripcin de la Medalla';
$lang['medal_image'] = 'Imagen de la Medalla';
$lang['medal_image_explain'] = 'Utilice esto para definir una imagen asociada a la medalla<br />(En relacin con phpBB2 root path)';
$lang['No_medal_name'] = 'Usted debe especificar un nombre para esta medalla';
$lang['No_medal_description'] = 'Usted debe especificar una descripcin para esta medalla';
$lang['No_medal_image'] = 'Usted debe especificar una imagen para esta medalla';
$lang['Must_select_medal'] = 'Debe especificar una medalla';
$lang['Click_return_medaladmin'] = 'Click %sAqui%s para volver a la administracin de la Medalla.';
$lang['Medal_mod'] = 'Medalla Moderador';
$lang['Medal_mod_admin'] = 'Medalla Moderador Administracin';
$lang['Medal_mod_admin_explain'] = 'De este panel usted puede designar a Moderadores de la medalla para sus medallas.';
$lang['Medal_mod_username'] = 'Designe a unos o ms usuarios especficos para ser Moderador de la medalla';
$lang['Medal_unmod_username'] = 'Quite a unos o ms usuarios especficos de Moderador de la medalla';
$lang['Medal_unmod_username_explain'] = 'Usted puede quitar a usuarios mltiples en uno va a usar la combinacin apropiada del ratn y del teclado para su computadora y Navegador';
$lang['No_medal_mod'] = 'Ningn Moderador De la Medalla';
$lang['No_medal_in_cat'] = 'Ninguna medalla en esta categora';
$lang['Must_delete_medal'] = 'Usted necesita eliminar todas las medallas antes de que usted pueda eliminar esta categora';
$lang['Category_delete'] = 'Elimina Categora de Medalla';
$lang['Category_delete_explain'] = 'La forma abajo permitir que usted elimine una categora y que decida a donde usted desea poner todas las medallas que contuvo.';
$lang['Move_medals'] = 'Mueva las medallas a';
$lang['Category_name'] = 'Nombre De la Categora';
$lang['Medal_mod_update_sucessful'] = 'El Moderador de la medalla se ha puesto al da con xito';
$lang['Click_return_medal_mod_admin'] = 'Click %sAqui%s para volver a la administracin de la Medalla.';

# 
#-----[ ABRIR ]------------------------------------------ 
# 
viewtopic.php

# 
#-----[ BUSCAR ]------------------------------------------ 
#
	//
	// Again this will be handled by the templating
	// code at some point
	//

# 
#-----[ ANTES AGREGAR ]------------------------------------------ 
#
	// Medal MOD
	$medal ='';
	$sql = "SELECT m.medal_id, m.medal_name
		FROM " . MEDAL_TABLE . " m, " . MEDAL_USER_TABLE . " mu
		WHERE mu.user_id = '" . $postrow[$i]['user_id'] . "'
		AND m.medal_id = mu.medal_id
		ORDER BY m.medal_name";
	
	if(!$result = $db->sql_query($sql))
	{
		message_die(GENERAL_ERROR, "Error getting medal information", "", __LINE__, __FILE__, $sql);
	}

	$medal_list = $db->sql_fetchrowset($result);
	$medal_count = count($medal_list);

	if ( $postrow[$i]['user_id'] == ANONYMOUS )
	{
		$medal_count = '';
	} 
	else
	{
		$medal_count = ($medal_count) ? $lang['Medals'] . ': <a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $postrow[$i]['user_id'] . "#medal") . '" class="gensmall">' . $medal_count . '</a>' . ' (<a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $postrow[$i]['user_id'] . "#medal") . '" class="gensmall">' . $lang['View_More'] . '</a>)' : $lang['Medals'] . ': ' . $lang['None'];
	}

# 
#-----[ BUSCAR ]------------------------------------------ 
#
		'POSTER_AVATAR' => $poster_avatar,

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
#
		'POSTER_MEDAL_COUNT' => $medal_count,	// Medal MOD

# 
#-----[ BUSCAR ]------------------------------------------ 
#
		'U_POST_ID' => $postrow[$i]['post_id'])
	);

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
#
	//Medal MOD
	if ( $board_config['allow_medal_display'] )
	{
		$order = ( $board_config['medal_display_order'] ) ? "RAND()" : "m.medal_name";

		$template->assign_block_vars('postrow.medal', array());

		$sql = "SELECT m.medal_id, m.medal_name, m.medal_image
			FROM " . MEDAL_TABLE . " m, " . MEDAL_USER_TABLE . " mu
			WHERE mu.user_id = '" . $poster_id . "'
			AND m.medal_id = mu.medal_id
			ORDER BY " . $order;
	
		if ($result = $db->sql_query($sql))
		{
			$rowset = array();
			while ($row = $db->sql_fetchrow($result))
			{
				$rowset[$row['medal_image']]['medal_name'] = $row['medal_name'];
				if ($rowset[$row['medal_image']]['medal_name'] == $row['medal_name'])
				$rowset[$row['medal_image']]['medal_count'] += 1;
			}

			// Check Medal config in ACP
			$medal_rows = $board_config['medal_display_row'];
			$medal_cols = $board_config['medal_display_col'];
			$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'].'"' : '';
	
			if ($medal_list)
			{
				$split_row = $medal_cols - 1;

				$s_colspan = 0;
				$row = 0;
				$col = 0;

				while (list($medal_image, $medal) = @each($rowset))
				{
					if (!$col)
			       		{ 
						$template->assign_block_vars('postrow.medal.medal_row', array()); 
					}

					$template->assign_block_vars('postrow.medal.medal_row.medal_col', array(
						'MEDAL_IMAGE' => $phpbb_root_path . $medal_image,
						'MEDAL_WIDTH' => $medal_width,
						'MEDAL_HEIGHT' => $medal_height,
						'MEDAL_NAME' => $medal['medal_name'],
						'MEDAL_COUNT' => '('. $lang['Medal_amount'] . $medal['medal_count']. ')')
					);

					$s_colspan = max($s_colspan, $col + 1);

					if ($col == $split_row)
					{
						if ($row == $medal_rows - 1) 
						{ 
							break; 
						}
						$col = 0;
						$row++;
					}
					else 
					{ 
						$col++; 
					}
				}
			}
		}
		$db->sql_freeresult($result);
	}

# 
#-----[ ABRIR ]------------------------------------------ 
# 
includes/constants.php

# 
#-----[ BUSCAR ]------------------------------------------ 
#
define('POST_GROUPS_URL', 'g');

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
#
define('POST_MEDAL_URL', 'm');	// Medal MOD
define('MEDAL_CAT_URL', 'mc');	// Medal MOD

# 
#-----[ BUSCAR ]------------------------------------------ 
#
define('PAGE_GROUPCP', -11);

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
#
define('PAGE_MEDALS', -2115);	// Medal MOD

# 
#-----[ BUSCAR ]------------------------------------------ 
#
define('GROUPS_TABLE', $table_prefix.'groups');

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
#
define('MEDAL_TABLE', $table_prefix.'medal');		// Medal MOD
define('MEDAL_MOD_TABLE', $table_prefix.'medal_mod');	// Medal MOD
define('MEDAL_USER_TABLE', $table_prefix.'medal_user');	// Medal MOD
define('MEDAL_CAT_TABLE', $table_prefix.'medal_cat');	// Medal MOD

# 
#-----[ ABRIR ]------------------------------------------ 
# 
includes/functions.php

# 
#-----[ BUSCAR ]------------------------------------------ 
#
?>

# 
#-----[ ANTES AGREGAR ]------------------------------------------ 
#
function check_medal_mod($medal_id)
{
	global $db, $userdata;
	
	$sql = "SELECT *
	FROM " . MEDAL_MOD_TABLE . "  
	WHERE medal_id =" . $medal_id;
	
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain user and medal information', '', __LINE__, __FILE__, $sql);
	}

	$medal_info = array();
	$found = FALSE;
	while ( $medal_info = $db->sql_fetchrow($result) )
	{

		$medal_moderator = $medal_info['user_id'];

		if ( $medal_moderator == $userdata['user_id'] )
		{
			$found = TRUE;
		}
	}
	$db->sql_freeresult($result);
	
	return $found;
}

# 
#-----[ ABRIR ]------------------------------------------ 
# 
includes/page_header.php

# 
#-----[ BUSCAR ]------------------------------------------ 
#
	'L_USERGROUPS' => $lang['Usergroups'],

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
#
	'L_MEDALS' => $lang['Medals'],	// Medal MOD

# 
#-----[ BUSCAR ]------------------------------------------ 
#
	'U_GROUP_CP' => append_sid('groupcp.'.$phpEx),

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
#
	'U_MEDALS' => append_sid('medals.'.$phpEx),	// Medal MOD

# 
#-----[ ABRIR ]------------------------------------------ 
# 
includes/usercp_viewprofile.php

# 
#-----[ BUSCAR ]------------------------------------------ 
# 
$profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
# 
// 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&amp;" . 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;
			}
		}
	}
}

# 
#-----[ BUSCAR ]------------------------------------------ 
# 
	'USERNAME' => $profiledata['username'],

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
# 
	'L_USER_MEDAL' =>$lang['Medals'],	// Medal MOD
	'USER_MEDAL_COUNT' => $medal_count,	// Medal MOD
	'L_MEDAL_INFORMATION' => $lang['Medal_Information'], // Medal MOD
	'L_MEDAL_NAME' => $lang['Medal_name'],		// Medal MOD
	'L_MEDAL_DETAIL' => $lang['Medal_details'],	// Medal MOD

# 
#-----[ ABRIR ]------------------------------------------ 
# 
viewonline.php

# 
#-----[ BUSCAR ]------------------------------------------ 
#
				case PAGE_FAQ:
					$location = $lang['Viewing_FAQ'];
					$location_url = "faq.$phpEx";
					break;

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
#
				case PAGE_MEDALS:	// Medal MOD
					$location = $lang['Medals'];
					$location_url = "medals.$phpEx";
					break;

# 
#-----[ ABRIR ]------------------------------------------ 
# 
templates/subSilver/viewtopic_body.tpl

# 
#-----[ BUSCAR ]------------------------------------------ 
# 
<td width="150" align="left" valign="top" class="{postrow.ROW_CLASS}"><span class="name">

# 
#-----[ EN LA LINEA BUSCAR ]------------------------------------------ 
# 
{postrow.POSTER_FROM}</span><br /></td>

# 
#-----[ EN LA LINEA REMPLAZAR POR ]------------------------------------------ 
# 
{postrow.POSTER_FROM}<br />{postrow.POSTER_MEDAL_COUNT}<br />

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
# 
	<!-- BEGIN medal -->
	<table border="0" cellspacing="0" cellpadding="5">
		<!-- BEGIN medal_row -->
		<tr align="left" valign="middle"> 
			<!-- BEGIN medal_col -->
			<td><img src="{postrow.medal.medal_row.medal_col.MEDAL_IMAGE}" border="0" alt="{postrow.medal.medal_row.medal_col.MEDAL_NAME} {postrow.medal.medal_row.medal_col.MEDAL_COUNT}" title="{postrow.medal.medal_row.medal_col.MEDAL_NAME} {postrow.medal.medal_row.medal_col.MEDAL_COUNT}" {postrow.medal.medal_row.medal_col.MEDAL_WIDTH} {postrow.medal.medal_row.medal_col.MEDAL_HEIGHT} /></td>
			<!-- END medal_col -->
		</tr>
		<!-- END medal_row -->
	</table>
	<!-- END medal -->
	</span><br /></td>

# 
#-----[ ABRIR ]------------------------------------------ 
# 
templates/subSilver/profile_view_body.tpl

# 
#-----[ BUSCAR ]------------------------------------------ 
#
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">

# 
#-----[ ANTES AGREGAR ]------------------------------------------ 
#
<script src="templates/toggle.js"></script>

# 
#-----[ BUSCAR ]------------------------------------------ 
#
		</tr>
	  </table>
	</td>
  </tr>
</table>

# 
#-----[ DESPUES AGREGAR ]------------------------------------------ 
#
<!-- BEGIN switch_display_medal -->
<br />
<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0" align="center">
  <tr> 
	<td class="catLeft" align="center" height="28" colspan="2"><b><span class="gen">{L_MEDAL_INFORMATION}</span></b></td>
  </tr>
  <tr>
	<td class="row1"  align="center" valign="middle" width="10%"><span class="gen">{L_USER_MEDAL}:&nbsp;<b>{USER_MEDAL_COUNT}</b></span>
		<!-- BEGIN medal -->
		<br /><br />{switch_display_medal.medal.MEDAL_BUTTON}
		<!-- END medal -->
	</td>
	<td class="row1" valign="middle" align="left" nowrap="nowrap" width="100%">
		<!-- BEGIN details -->
		&nbsp;{switch_display_medal.details.MEDAL_IMAGE_SMALL}&nbsp;
		<!-- END details -->
	</td>
  </tr>
</table>

<br />
<div style="width: 100%; overflow: hidden; display: none;" id="toggle_medal">
<a name="medal"></a>

<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0" align="center">
  <tr>
	<th class="thCornerL" align="center" nowrap="nowrap">&nbsp;{L_MEDAL_NAME}&nbsp;</th>
	<th class="thCornerR" align="center" nowrap="nowrap">&nbsp;{L_MEDAL_DETAIL}&nbsp;</th>
  </tr>
<!-- BEGIN details -->
  <tr>
	<td class="row2" nowrap="nowrap">
		<table width="100%" cellspacing="1" cellpadding="3" border="0">
		<tr><td align="center"><span class="gen">{switch_display_medal.details.MEDAL_CAT}</span></td></tr>
		<tr><td align="center"><span class="genmed">{switch_display_medal.details.MEDAL_NAME}</span></td></tr>
		<tr><td align="center">{switch_display_medal.details.MEDAL_IMAGE}</td></tr>
		<tr><td align="center"><span class="gensmall">{switch_display_medal.details.MEDAL_COUNT}</span></td></tr></table></td>
	<td class="row2" valign="top">
		<table width="100%" cellspacing="1" cellpadding="3" border="0">
		<tr><td><span class="gen">{switch_display_medal.details.L_MEDAL_DESCRIPTION}: <b>{switch_display_medal.details.MEDAL_DESCRIPTION}</b></span></td></tr>
		<tr><td class="quote">
			<table width="100%" cellspacing="1" cellpadding="3" border="0">
			<tr><td><span class="genmed">{switch_display_medal.details.MEDAL_ISSUE}</span></td></tr>
			</table>
		</td></tr>
	</table></td>
  </tr>
<!-- END details -->
</table>
</a>
</div>
<!-- END switch_display_medal -->

# 
#-----[ ABRIR ]------------------------------------------ 
# 
templates/subSilver/overall_header.tpl

# 
#-----[ BUSCAR ]------------------------------------------ 
#
<td align="center" valign="top" nowrap="nowrap"><span class="mainmenu">

# 
#-----[ EN LA LINEA BUSCAR ]------------------------------------------ 
#
{L_USERGROUPS}</a>&nbsp; 

# 
#-----[ EN LA LINEA DESPUES AGREGAR ]------------------------------------------ 
#
&nbsp;<a href="{U_MEDALS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_medal.gif" width="12" height="13" border="0" alt="{U_MEDALS}" hspace="3" />{L_MEDALS}</a>&nbsp; 

# 
#-----[ ABRIR ]------------------------------------------ 
# 
templates/subSilver/subSilver.cfg

# 
#-----[ BUSCAR ]------------------------------------------ 
#
?>

# 
#-----[ ANTES AGREGAR ]------------------------------------------ 
#
$images['Medals'] = "$current_template_images/icon_mini_medal.gif";	// Medal MOD

# 
#-----[ GUARDAR/CERRAR TODOS LOS ARCHIVOS ]------------------------------ 
# 
# EoM