|
Bien, este manual trata de como colocar un segundo rango en el foro.
Por ejemplo, yo en mi web lo voy a utilizar para en el rango que viene por defecto
colocar los rangos normales, y en el otro (debajo del normal) colocar si eres
Staff o usuario.
Abre el archivo includes/constants
debajo de
define('RANKS_TABLE', $prefix.'_bbranks');
coloca:
define('RANKS2_TABLE', $prefix.'_bbranks2');
en el archivo modules/Forums/admin/admin_users
debajo de:
$user_rank = ( !empty($HTTP_POST_VARS['user_rank']) )
? intval( $HTTP_POST_VARS['user_rank'] ) : 0;
coloca:
$user_rank2 = ( !empty($HTTP_POST_VARS['user_rank2'])
) ? intval( $HTTP_POST_VARS['user_rank2'] ) : 0;
sustituye:
SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'",
"''", $email) . "', user_icq = '" . str_replace("\'",
"''", $icq) . "', user_website = '" . str_replace("\'",
"''", $website) . "', user_occ = '" . str_replace("\'",
"''", $occupation) . "', user_from = '" . str_replace("\'",
"''", $location) . "', user_interests = '" . str_replace("\'",
"''", $interests) . "', user_sig = '" . str_replace("\'",
"''", $signature) . "', user_viewemail = $viewemail, user_aim
= '" . str_replace("\'", "''", $aim) . "', user_yim
= '" . str_replace("\'", "''", $yim) . "', user_msnm
= '" . str_replace("\'", "''", $msn) . "', user_attachsig
= $attachsig, user_sig_bbcode_uid = '$signature_bbcode_uid', user_allowsmile
= $allowsmilies, user_allowhtml = $allowhtml, user_allowavatar = $user_allowavatar,
user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify
= $notifyreply, user_allow_pm = $user_allowpm, user_notify_pm = $notifypm, user_popup_pm
= $popuppm, user_lang = '" . str_replace("\'", "''",
$user_lang) . "', user_style = $user_style, user_timezone = $user_timezone,
user_dateformat = '" . str_replace("\'", "''", $user_dateformat)
. "', user_active = $user_status, user_rank = $user_rank" . $avatar_sql
. "
por:
SET " . $username_sql . $passwd_sql . "user_email
= '" . str_replace("\'", "''", $email) . "', user_icq
= '" . str_replace("\'", "''", $icq) . "', user_website
= '" . str_replace("\'", "''", $website) . "',
user_occ = '" . str_replace("\'", "''", $occupation)
. "', user_from = '" . str_replace("\'", "''",
$location) . "', user_interests = '" . str_replace("\'",
"''", $interests) . "', user_sig = '" . str_replace("\'",
"''", $signature) . "', user_viewemail = $viewemail, user_aim
= '" . str_replace("\'", "''", $aim) . "', user_yim
= '" . str_replace("\'", "''", $yim) . "', user_msnm
= '" . str_replace("\'", "''", $msn) . "', user_attachsig
= $attachsig, user_sig_bbcode_uid = '$signature_bbcode_uid', user_allowsmile
= $allowsmilies, user_allowhtml = $allowhtml, user_allowavatar = $user_allowavatar,
user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify
= $notifyreply, user_allow_pm = $user_allowpm, user_notify_pm = $notifypm, user_popup_pm
= $popuppm, user_lang = '" . str_replace("\'", "''",
$user_lang) . "', user_style = $user_style, user_timezone = $user_timezone,
user_dateformat = '" . str_replace("\'", "''", $user_dateformat)
. "', user_active = $user_status, user_rank = $user_rank, user_rank2 =
$user_rank2" . $avatar_sql . "
debajo de:
$s_hidden_fields .= '<input type="hidden"
name="user_rank" value="' . $user_rank . '" />';
coloca:
$s_hidden_fields .= '<input type="hidden"
name="user_rank2" value="' . $user_rank2 . '" />';
debajo de:
$sql = "SELECT * FROM " . RANKS_TABLE . "
WHERE rank_special = '1'
ORDER BY rank_title";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain ranks data', '', __LINE__, __FILE__,
$sql);
}
$rank_select_box = '<option value="0">'
. $lang['No_assigned_rank'] . '</option>';
while( $row = $db->sql_fetchrow($result) )
{
$rank = $row['rank_title'];
$rank_id = $row['rank_id'];
$selected = ( $this_userdata['user_rank'] == $rank_id
) ? ' selected="selected"' : '';
$rank_select_box .= '<option value="' . $rank_id . '"' . $selected
. '>' . $rank . '</option>';
}
coloca:
$sql = "SELECT * FROM " . RANKS2_TABLE . "
WHERE rank2_special = '1'
ORDER BY rank2_title";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain ranks data', '', __LINE__, __FILE__,
$sql);
}
$rank2_select_box = '<option value="0">'
. $lang['No_assigned_rank2'] . '</option>';
while( $row = $db->sql_fetchrow($result) )
{
$rank2 = $row['rank2_title'];
$rank2_id = $row['rank2_id'];
$selected = ( $this_userdata['user_rank2'] == $rank2_id
) ? ' selected="selected"' : '';
$rank2_select_box .= '<option value="' . $rank2_id . '"' . $selected
. '>' . $rank2 . '</option>';
}
debajo de:
'RANK_SELECT_BOX' => $rank_select_box,
coloca:
'RANK2_SELECT_BOX' => $rank2_select_box,
debajo de:
'L_SELECT_RANK' => $lang['Rank_title'],
coloca:
'L_SELECT_RANK2' => $lang['Rank2_title'],
Abre modules/Forums/viewtopic.php
sustituye:
$sql = "SELECT u.username, u.user_id, u.user_posts,
u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim,
u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid,
u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*,
pt.post_text, pt.post_subject, pt.bbcode_uid
por:
$sql = "SELECT u.username, u.user_id, u.user_posts,
u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim,
u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_rank2, u.user_sig,
u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar,
u.user_allowsmile, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid
Debajo de:
$sql = "SELECT *
FROM " . RANKS_TABLE . "
ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain ranks information.",
'', __LINE__, __FILE__, $sql);
}
$ranksrow = array();
while ( $row = $db->sql_fetchrow($result) )
{
$ranksrow[] = $row;
}
$db->sql_freeresult($result);
coloca:
$sql = "SELECT *
FROM " . RANKS2_TABLE . "
ORDER BY rank2_special, rank2_min";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain ranks information.",
'', __LINE__, __FILE__, $sql);
}
$ranks2row = array();
while ( $row = $db->sql_fetchrow($result) )
{
$ranks2row[] = $row;
}
$db->sql_freeresult($result);
Debajo de:
if ( $postrow[$i]['user_posts'] >= $ranksrow[$j]['rank_min']
&& !$ranksrow[$j]['rank_special'] )
{
$poster_rank = $ranksrow[$j]['rank_title'];
$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image']
. '" alt="' . $poster_rank . '" title="' . $poster_rank
. '" border="0" /><br />' : '';
}
}
}
coloca:
//
// Generate ranks2, set them to empty string initially.
//
$poster_rank2 = '';
$rank2_image = '';
if ( $postrow[$i]['user_id'] == ANONYMOUS )
{
}
else if ( $postrow[$i]['user_rank2'] )
{
for($j = 0; $j < count($ranks2row); $j++)
{
if ( $postrow[$i]['user_rank2'] == $ranks2row[$j]['rank2_id'] && $ranks2row[$j]['rank2_special']
)
{
$poster_rank2 = $ranks2row[$j]['rank2_title'];
$rank2_image = ( $ranks2row[$j]['rank2_image'] ) ? '<img src="' . $ranks2row[$j]['rank2_image']
. '" alt="' . $poster_rank2 . '" title="' . $poster_rank2
. '" border="0" /><br />' : '';
}
}
}
else
{
for($j = 0; $j < count($ranks2row); $j++)
{
if ( $postrow[$i]['user_posts'] >= $ranks2row[$j]['rank2_min'] &&
!$ranks2row[$j]['rank2_special'] )
{
$poster_rank2 = $ranks2row[$j]['rank2_title'];
$rank2_image = ( $ranks2row[$j]['rank2_image'] ) ? '<img src="' . $ranks2row[$j]['rank2_image']
. '" alt="' . $poster_rank2 . '" title="' . $poster_rank2
. '" border="0" /><br />' : '';
}
}
}
bien, en ese mismo archivo:
debajo de:
$poster = $postrow[$i]['post_username'];
$poster_rank = $lang['Guest'];
coloca:
$poster_rank2 = $lang['Guest'];
Debajo de:
'POSTER_RANK' => $poster_rank,
'RANK_IMAGE' => $rank_image,
coloca:
'POSTER_RANK2' => $poster_rank2,
'RANK2_IMAGE' => $rank2_image,
Abres modules/Forums/language/lang_spanish/lang_admin.php
debajo de:
$lang['Ranks'] = "Rangos";
colocas:
$lang['Ranks2'] = "Rangos2";
debajo de:
$lang['Rank_updated'] = "El Rango ha sido actualizado";
$lang['Rank_added'] = "El nuevo Rango se ha añadido";
$lang['Rank_removed'] = "El Rango ha sido borrado";
$lang['Click_return_rankadmin'] = "Presione %sAquí%s
para volver al Panel de Adminstración de Rangos";
colocas:
//
// Ranks2 admin
//
$lang['Ranks2_title'] = "Administración de Rangos";
$lang['Ranks2_explain'] = "Usando este formulario usted puede añadir,
editar, ver y borrar rangos. Usted también puede crear rangos";
$lang['Add_new_rank2'] = "Añadir Rango";
$lang['Rank2_title'] = "Título del Rango";
$lang['Rank2_special'] = "Seleccionar como Rangp Especial";
$lang['Rank2_minimum'] = "Mínima cantidad de Mensajes";
$lang['Rank2_maximum'] = "Máxima cantidad de Mensajes";
$lang['Rank2_image'] = "Imágen del rango (tenga en cuenta la ruta
del foro phpBB2)";
$lang['Rank2_image_explain'] = "Utilice esto para definir una pequeña
imagen para este rango";
$lang['Must_select_rank2'] = "Debe seleccionar un
Rango";
$lang['No_assigned_rank2'] = "No se ha seleccionado un Rango";
$lang['Rank2_updated'] = "El Rango ha sido actualizado";
$lang['Rank2_added'] = "El nuevo Rango se ha añadido";
$lang['Rank2_removed'] = "El Rango ha sido borrado";
$lang['Click_return_rank2admin'] = "Presione %sAquí%s
para volver al Panel de Adminstración de Rangos2";
Después creas un archivo nuevo, y en el pones esto
<?php
/***************************************************************************
* admin_ranks2.php
* -------------------
* begin : Thursday, Jul 12, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id: admin_ranks2.php,v 1.13.2.4 2004/03/25 15:57:20 acydburn Exp $
*
***************************************************************************/define('IN_PHPBB',
1);
if( !empty($setmodules) )
{
$file = basename(__FILE__);
$module['Users']['Ranks2'] = "$file";
return;
}
//
// Let's set the root dir for phpBB
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode'])
)
{
$mode = ($HTTP_GET_VARS['mode']) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
$mode = htmlspecialchars($mode);
}
else
{
//
// These could be entered via a form button
//
if( isset($HTTP_POST_VARS['add']) )
{
$mode = "add";
}
else if( isset($HTTP_POST_VARS['save']) )
{
$mode = "save";
}
else
{
$mode = "";
}
}
if( $mode != "" )
{
if( $mode == "edit" || $mode == "add" )
{
//
// They want to add a new rank2, show the form.
//
$rank2_id = ( isset($HTTP_GET_VARS['id']) ) ? intval($HTTP_GET_VARS['id']) :
0;
$s_hidden_fields = "";
if( $mode == "edit" )
{
if( empty($rank2_id) )
{
message_die(GENERAL_MESSAGE, $lang['Must_select_rank2']);
}
$sql = "SELECT * FROM " . RANKS2_TABLE . "
WHERE rank2_id = '$rank2_id'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't obtain rank2 data", "",
__LINE__, __FILE__, $sql);
}
$rank2_info = $db->sql_fetchrow($result);
$s_hidden_fields .= '<input type="hidden" name="id" value="'
. $rank2_id . '" />';
}
else
{
$rank2_info['rank2_special'] = 0;
}
$s_hidden_fields .= '<input type="hidden"
name="mode" value="save" />';
$rank2_is_special = ( $rank2_info['rank2_special'] )
? "checked=\"checked\"" : "";
$rank2_is_not_special = ( !$rank2_info['rank2_special'] ) ? "checked=\"checked\""
: "";
$template->set_filenames(array(
"body" => "admin/ranks2_edit_body.tpl")
);
$template->assign_vars(array(
"RANK2" => $rank2_info['rank2_title'],
"SPECIAL_RANK2" => $rank2_is_special,
"NOT_SPECIAL_RANK2" => $rank2_is_not_special,
"MINIMUM" => ( $rank2_is_special ) ? "" : $rank2_info['rank2_min'],
"IMAGE" => ( $rank2_info['rank2_image'] != "" ) ? $rank2_info['rank2_image']
: "",
"IMAGE_DISPLAY" => ( $rank2_info['rank2_image'] != ""
) ? '<img src="../../../' . $rank2_info['rank2_image'] . '" />'
: "",
"L_RANKS2_TITLE" => $lang['Ranks2_title'],
"L_RANKS2_TEXT" => $lang['Ranks2_explain'],
"L_RANK2_TITLE" => $lang['Rank2_title'],
"L_RANK2_SPECIAL" => $lang['Rank2_special'],
"L_RANK2_MINIMUM" => $lang['Rank2_minimum'],
"L_RANK2_IMAGE" => $lang['Rank2_image'],
"L_RANK2_IMAGE_EXPLAIN" => $lang['Rank2_image_explain'],
"L_SUBMIT" => $lang['Submit'],
"L_RESET" => $lang['Reset'],
"L_YES" => $lang['Yes'],
"L_NO" => $lang['No'],
"S_RANK2_ACTION" => append_sid("admin_ranks2.$phpEx"),
"S_HIDDEN_FIELDS" => $s_hidden_fields)
);
}
else if( $mode == "save" )
{
//
// Ok, they sent us our info, let's update it.
//
$rank2_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id'])
: 0;
$rank2_title = ( isset($HTTP_POST_VARS['title']) ) ? trim($HTTP_POST_VARS['title'])
: "";
$special_rank2 = ( $HTTP_POST_VARS['special_rank2'] == 1 ) ? TRUE : 0;
$min_posts = ( isset($HTTP_POST_VARS['min_posts']) ) ? intval($HTTP_POST_VARS['min_posts'])
: -1;
$rank2_image = ( (isset($HTTP_POST_VARS['rank2_image'])) ) ? trim($HTTP_POST_VARS['rank2_image'])
: "";
if( $rank2_title == "" )
{
message_die(GENERAL_MESSAGE, $lang['Must_select_rank2']);
}
if( $special_rank2 == 1 )
{
$max_posts = -1;
$min_posts = -1;
}
//
// The rank2 image has to be a jpg, gif or png
//
if($rank2_image != "")
{
if ( !preg_match("/(\.gif|\.png|\.jpg)$/is", $rank2_image))
{
$rank2_image = "";
}
}
if ($rank2_id)
{
if (!$special_rank2)
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_rank2 = '0'
WHERE user_rank2 = '$rank2_id'";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, $lang['No_update_ranks2'], "", __LINE__,
__FILE__, $sql);
}
}
$sql = "UPDATE " . RANKS2_TABLE . "
SET rank2_title = '" . str_replace("\'", "''", $rank2_title)
. "', rank2_special = $special_rank2, rank2_min = $min_posts, rank2_image
= '" . str_replace("\'", "''", $rank2_image) . "'
WHERE rank2_id = '$rank2_id'";
$message = $lang['Rank2_updated'];
}
else
{
$sql = "INSERT INTO " . RANKS2_TABLE . " (rank2_title, rank2_special,
rank2_min, rank2_image)
VALUES ('" . str_replace("\'", "''", $rank2_title)
. "', $special_rank2, $min_posts, '" . str_replace("\'",
"''", $rank2_image) . "')";
$message = $lang['Rank2_added'];
}
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't update/insert into ranks2 table",
"", __LINE__, __FILE__, $sql);
}
$message .= "<br /><br />" . sprintf($lang['Click_return_rank2admin'],
"<a href=\"" . append_sid("admin_ranks2.$phpEx")
. "\">", "</a>") . "<br /><br
/>" . sprintf($lang['Click_return_admin_index'], "<a href=\""
. append_sid("index.$phpEx?pane=right") . "\">",
"</a>");
message_die(GENERAL_MESSAGE, $message);
}
else if( $mode == "delete" )
{
//
// Ok, they want to delete their rank2
//
if( isset($HTTP_POST_VARS['id']) || isset($HTTP_GET_VARS['id'])
)
{
$rank2_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id'])
: intval($HTTP_GET_VARS['id']);
}
else
{
$rank2_id = 0;
}
if( $rank2_id )
{
$sql = "DELETE FROM " . RANKS2_TABLE . "
WHERE rank2_id = '$rank2_id'";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't delete rank2 data", "",
__LINE__, __FILE__, $sql);
}
$sql = "UPDATE " . USERS_TABLE . "
SET user_rank2 = '0'
WHERE user_rank2 = '$rank2_id'";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, $lang['No_update_ranks2'], "", __LINE__,
__FILE__, $sql);
}
$message = $lang['Rank2_removed'] . "<br /><br
/>" . sprintf($lang['Click_return_rank2admin'], "<a href=\""
. append_sid("admin_ranks2.$phpEx") . "\">", "</a>")
. "<br /><br />" . sprintf($lang['Click_return_admin_index'],
"<a href=\"" . append_sid("index.$phpEx?pane=right")
. "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else
{
message_die(GENERAL_MESSAGE, $lang['Must_select_rank2']);
}
}
else
{
//
// They didn't feel like giving us any information. Oh, too bad, we'll just
display the
// list then...
//
$template->set_filenames(array(
"body" => "admin/ranks2_list_body.tpl")
);
$sql = "SELECT * FROM " . RANKS2_TABLE . "
ORDER BY rank2_min, rank2_title";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't obtain ranks2 data", "",
__LINE__, __FILE__, $sql);
}
$rank2_rows = $db->sql_fetchrowset($result);
$rank2_count = count($rank2_rows);
$template->assign_vars(array(
"L_RANKS2_TITLE" => $lang['Ranks2_title'],
"L_RANKS2_TEXT" => $lang['Ranks2_explain'],
"L_RANK2" => $lang['Rank2_title'],
"L_RANK2_MINIMUM" => $lang['Rank2_minimum'],
"L_SPECIAL_RANK2" => $lang['Special_rank2'],
"L_EDIT" => $lang['Edit'],
"L_DELETE" => $lang['Delete'],
"L_ADD_RANK2" => $lang['Add_new_rank2'],
"L_ACTION" => $lang['Action'],
"S_RANKS2_ACTION" => append_sid("admin_ranks2.$phpEx"))
);
for( $i = 0; $i < $rank2_count; $i++)
{
$rank2 = $rank2_rows[$i]['rank2_title'];
$special_rank2 = $rank2_rows[$i]['rank2_special'];
$rank2_id = $rank2_rows[$i]['rank2_id'];
$rank2_min = $rank2_rows[$i]['rank2_min'];
if($special_rank2)
{
$rank2_min = $rank2_max = "-";
}
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars("ranks2",
array(
"ROW_COLOR" => "#" . $row_color,
"ROW_CLASS" => $row_class,
"RANK2" => $rank2,
"RANK2_MIN" => $rank2_min,
"SPECIAL_RANK2" => ( $special_rank2 ==
1 ) ? $lang['Yes'] : $lang['No'],
"U_RANK2_EDIT" => append_sid("admin_ranks2.$phpEx?mode=edit&id=$rank2_id"),
"U_RANK2_DELETE" => append_sid("admin_ranks2.$phpEx?mode=delete&id=$rank2_id"))
);
}
}
}
else
{
//
// Show the default page
//
$template->set_filenames(array(
"body" => "admin/ranks2_list_body.tpl")
);
$sql = "SELECT * FROM " . RANKS2_TABLE . "
ORDER BY rank2_min ASC, rank2_special ASC";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't obtain ranks2 data", "",
__LINE__, __FILE__, $sql);
}
$rank2_count = $db->sql_numrows($result);
$rank2_rows = $db->sql_fetchrowset($result);
$template->assign_vars(array(
"L_RANKS2_TITLE" => $lang['Ranks2_title'],
"L_RANKS2_TEXT" => $lang['Ranks2_explain'],
"L_RANK2" => $lang['Rank2_title'],
"L_RANK2_MINIMUM" => $lang['Rank2_minimum'],
"L_SPECIAL_RANK2" => $lang['Rank2_special'],
"L_EDIT" => $lang['Edit'],
"L_DELETE" => $lang['Delete'],
"L_ADD_RANK2" => $lang['Add_new_rank2'],
"L_ACTION" => $lang['Action'],
"S_RANKS2_ACTION" => append_sid("admin_ranks2.$phpEx"))
);
for($i = 0; $i < $rank2_count; $i++)
{
$rank2 = $rank2_rows[$i]['rank2_title'];
$special_rank2 = $rank2_rows[$i]['rank2_special'];
$rank2_id = $rank2_rows[$i]['rank2_id'];
$rank2_min = $rank2_rows[$i]['rank2_min'];
if( $special_rank2 == 1 )
{
$rank2_min = $rank2_max = "-";
}
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$rank2_is_special = ( $special_rank2 ) ? $lang['Yes']
: $lang['No'];
$template->assign_block_vars("ranks2",
array(
"ROW_COLOR" => "#" . $row_color,
"ROW_CLASS" => $row_class,
"RANK2" => $rank2,
"SPECIAL_RANK2" => $rank2_is_special,
"RANK2_MIN" => $rank2_min,
"U_RANK2_EDIT" => append_sid("admin_ranks2.$phpEx?mode=edit&id=$rank2_id"),
"U_RANK2_DELETE" => append_sid("admin_ranks2.$phpEx?mode=delete&id=$rank2_id"))
);
}
}
$template->pparse("body");
include('./page_footer_admin.'.$phpEx);
?>
luego lo guardas en modules/Forums/admin/admin_ranks2.php
abres includes/topic_review.php
debajo de:
$poster = $row['post_username'];
$poster_rank = $lang['Guest'];
colocas:
$poster_rank2 = $lang['Guest'];
y debajo de:
$poster = $lang['Guest'];
$poster_rank = '';
colocas
$poster_rank2 = '';
abres includes/usercp_viewprofile.php
debajo de:
while ( $row = $db->sql_fetchrow($result) )
{
$ranksrow[] = $row;
}
colocas:
$sql = "SELECT *
FROM " . RANKS2_TABLE . "
ORDER BY rank2_special, rank2_min";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain ranks information', '', __LINE__,
__FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$ranks2row[] = $row;
}
debajo de:
$poster_rank = $ranksrow[$i]['rank_title'];
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image']
. '" alt="' . $poster_rank . '" title="' . $poster_rank
. '" border="0" /><br />' : '';
}
}
}
colocas:
$poster_rank2 = '';
$rank2_image = '';
if ( $profiledata['user_rank2'] )
{
for($i = 0; $i < count($ranks2row); $i++)
{
if ( $profiledata['user_rank2'] == $ranks2row[$i]['rank2_id'] && $ranks2row[$i]['rank2_special']
)
{
$poster_rank2 = $ranks2row[$i]['rank2_title'];
$rank2_image = ( $ranks2row[$i]['rank2_image'] ) ? '<img src="' . $ranks2row[$i]['rank2_image']
. '" alt="' . $poster_rank2 . '" title="' . $poster_rank2
. '" border="0" /><br />' : '';
}
}
}
else
{
for($i = 0; $i < count($ranks2row); $i++)
{
if ( $profiledata['user_posts'] >= $ranks2row[$i]['rank2_min'] &&
!$ranks2row[$i]['rank2_special'] )
{
$poster_rank2 = $ranks2row[$i]['rank2_title'];
$rank2_image = ( $ranks2row[$i]['rank2_image'] ) ? '<img src="' . $ranks2row[$i]['rank2_image']
. '" alt="' . $poster_rank2 . '" title="' . $poster_rank2
. '" border="0" /><br />' : '';
}
}
}
debajo de:
POSTER_RANK' => $poster_rank,
'RANK_IMAGE' => $rank_image,
colocas:
'POSTER_RANK2' => $poster_rank2,
'RANK2_IMAGE' => $rank2_image,
debajo de:
'L_POSTER_RANK' => $lang['Poster_rank'],
colocas:
'L_POSTER_RANK2' => $lang['Poster_rank2'],
**Ahora vamos a editar el template, así que las referencias a archivos
que haga, serán de la carpeta modules/Forums/templates/TUTEMPLATE
Abrimos admin/user_edit_body.tpl
debajo de:
<tr>
<td class="row1"><span class="gen">{L_SELECT_RANK}</span></td>
<td class="row2"><select name="user_rank">{RANK_SELECT_BOX}
</select></td>
</tr>
colocas:
<tr>
<td class="row1"><span class="gen">{L_SELECT_RANK2}</span></td>
<td class="row2"><select name="user_rank2">{RANK2_SELECT_BOX}
</select></td>
</tr>
creas un nuevo archivo, y en el agregas:
<h1>{L_RANK2S2_TITLE}</h1>
<p>{L_RANK2S2_TEXT}</p>
<form action="{S_RANK2_ACTION}" method="post"><table
class="forumline" cellpadding="4" cellspacing="1"
border="0" align="center">
<tr>
<th class="thTop" colspan="2">{L_RANK2S2_TITLE}</th>
</tr>
<tr>
<td class="row1" width="38%"><span class="gen">{L_RANK2_TITLE}:</span></td>
<td class="row2"><input class="field" type="text"
name="title" size="35" maxlength="40" value="{RANK2}"
/></td>
</tr>
<tr>
<td class="row1"><span class="gen">{L_RANK2_SPECIAL}</span></td>
<td class="row2"><input class="field" type="radio"
name="special_rank2" value="1" {SPECIAL_RANK2} />{L_YES}
<input type="radio" name="special_rank2"
value="0" {NOT_SPECIAL_RANK2} /> {L_NO}</td>
</tr>
<tr>
<td class="row1" width="38%"><span class="gen">{L_RANK2_MINIMUM}:</span></td>
<td class="row2"><input class="field" type="text"
name="min_posts" size="5" maxlength="10" value="{MINIMUM}"
/></td>
</tr>
<tr>
<td class="row1" width="38%"><span class="gen">{L_RANK2_IMAGE}:</span><br
/>
<span class="gensmall">{L_RANK2_IMAGE_EXPLAIN}</span></td>
<td class="row2"><input class="field" type="text"
name="rank2_image" size="40" maxlength="255" value="{IMAGE}"
/><br />{IMAGE_DISPLAY}</td>
</tr>
<tr>
<td class="catBottom" colspan="2" align="center"><input
type="submit" name="submit" value="{L_SUBMIT}"
class="mainoption" /> <input type="reset"
value="{L_RESET}" class="liteoption" /></td>
</tr>
</table>
{S_HIDDEN_FIELDS}</form>
lo guardas en la carpeta admin (la del template)
como ranks2_edit_body.tpl
Crea otro archivo, y en el agregas:
<h1>{L_RANK2S2_TITLE}</h1>
<p>{L_RANK2S2_TEXT}</p>
<form method="post" action="{S_RANK2S2_ACTION}"><table
cellspacing="1" cellpadding="4" border="0" align="center"
class="forumline">
<tr>
<th class="thCornerL">{L_RANK2}</th>
<th class="thTop">{L_RANK2_MINIMUM}</th>
<th class="thTop">{L_SPECIAL_RANK2}</th>
<th class="thTop">{L_EDIT}</th>
<th class="thCornerR">{L_DELETE}</th>
</tr>
<!-- BEGIN ranks2 -->
<tr>
<td class="{ranks2.ROW_CLASS}" align="center">{ranks2.RANK2}</td>
<td class="{ranks2.ROW_CLASS}" align="center">{ranks2.RANK2_MIN}</td>
<td class="{ranks2.ROW_CLASS}" align="center">{ranks2.SPECIAL_RANK2}</td>
<td class="{ranks2.ROW_CLASS}" align="center"><a
href="{ranks2.U_RANK2_EDIT}">{L_EDIT}</td>
<td class="{ranks2.ROW_CLASS}" align="center"><a
href="{ranks2.U_RANK2_DELETE}">{L_DELETE}</td>
</tr>
<!-- END ranks2 -->
<tr>
<td class="catBottom" align="center" colspan="6"><input
type="submit" class="mainoption" name="add" value="{L_ADD_RANK2}"
/></td>
</tr>
</table></form>
lo guardas en la carpeta que acabo de mencionar, como ranks2_list_body.tpl
luego abre el archivo viewtopic_body.tpl
y donde quieras que aparezca el nuevo rango, colocas:
{postrow.POSTER_RANK2}<br />{postrow.RANK2_IMAGE}
abres prfile_view_body.tpl, y debajo de:
{POSTER_RANK}
colocas:
{POSTER_RANK2}
luego, en el phpmyadmin ejecutas esto:
#
# Estructura de tabla para la tabla `nuke_bbranks2`
#
CREATE TABLE `nuke_bbranks2` (
`rank2_id` smallint(5) unsigned NOT NULL auto_increment,
`rank2_title` varchar(50) NOT NULL default '',
`rank2_min` mediumint(8) NOT NULL default '0',
`rank2_max` mediumint(8) NOT NULL default '0',
`rank2_special` tinyint(1) default '0',
`rank2_image` varchar(255) default NULL,
PRIMARY KEY (`rank2_id`)
) TYPE=MyISAM AUTO_INCREMENT=7 ;
#
# Volcar la base de datos para la tabla `nuke_bbranks2`
#
INSERT INTO `nuke_bbranks2` VALUES (1, 'Usuario', -1,
0, 1, '');
INSERT INTO `nuke_bbranks2` VALUES (2, 'Staff', -1, 0, 1, '');
y por último en la tabla nuke_user, debes
insertar nuevo campo debajo de user_rank
lo debes llamar user_rank2 debe de estar en INT
numero de caracteres 10 y predeterminado 1
pd. hay un pequeño error, que es que solo se ven los que están
seleccionados como rangos especiales, así que solo es para rangos especiales
haced una copia de seguridad de los archivos
Si quieres ver cómo queda pasa por este Foro
para cualquier duda posteadla
Saludos
Manual Creado por Silpion, www.elanillodepoder.com
Copyright © por DWDpa Derechos Reservados.
Views: 2310
Solo los usuarios registrados pueden agregar sus comentarios. Por favor, vaya a login, o regístrese. |