Página 1 de 1

Añadir bloque de usuario en la barra lateral de mitch  Tema Solucionado

Publicado: 11 Oct 2014, 11:36
por angelismo
AÑADIR BLOQUE AVATAR ,NICK Y OPCIONES DE USUARIOS Y CAJA DE LOGIN PARA INVITADOS EN LA BARRA LETERAL DE MITCH
Paso previos
:arrow: Añadir la barra lateral de mitch
http://www.phpbb-es.com/foro/anadir-fac ... 18400.html
Pasos siguientes
Para hacer esta modificación me ha basado en el codigo del silverbar mod.
Abrir: functions.php
:arrow: Buscar

Código: Seleccionar todo

$url = redirect($url, true, $disable_cd_check);
:arrow: Añadir despues

Código: Seleccionar todo

//-- mod: userbock -------------------------------------------------//
    //-- add
    $template->assign_var('SIDEBAR_AUTO_REFRESH', $time);
    //-- end:userbock-------------------------------------------------//     
:arrow: Buscar

Código: Seleccionar todo

// The following assigns all _common_ variables that may be used at any point in a template.     
:arrow: Añadir antes

Código: Seleccionar todo

  //-- mod: userbock--------------------------------------------------
    //-- add
    include_once($phpbb_root_path . 'includes/functions_userbock.' . $phpEx);
    
    //This sets up the sidebar with the info it needs.  :D
    setup_sidebar_mods();
    
    //Uncomment the following if you have installed the UCP extension for Silverbar
    //setup_sidebar_ucp();
    
    //-- fin mod: userbock --------------------------------------------------     
:arrow: Buscar

Código: Seleccionar todo

// application/xhtml+xml not used because of IE     
:arrow: Añadir antes

Código: Seleccionar todo

//-- mod: userbock -------------------------------------------------//
    //-- add
    $user->add_lang('mods/Silverbar_MOD');
    $redirectside = $user->page['page_dir'] ? '' : '&redirect=' . urlencode(str_replace('&', '&', build_url(array('_f_'))));
    $template->assign_var('S_LOGIN_SIDE', append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login' .  $redirectside));
    //-- end:userbock -------------------------------------------------//
Crear el archivo functions_userbock.php con este codigo y subirlo a la caperta includes

Código: Seleccionar todo

<?php
/**
*
*===================================================================
*
*  BEGIN Silverbar MOD Functions File
*-------------------------------------------------------------------
*    Script info:
* Version:         ( 0.6.0 - Beta                                        )
* Last release:     ( 6/12/2008  |||  5:46 PM [ GMT - 5 ]                         )
* Copyright:      ( (c) 2008 - sTraTo                                     )
* License:          ( http://opensource.org/licenses/gpl-license.php  |||  GNU Public License     )
* Package:         ( phpBB3                                            )
*
*===================================================================
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

/**
* Get user avatar
*
* @param string $avatar Users assigned avatar name
* @param int $avatar_type Type of avatar
* @param string $avatar_width Width of users avatar
* @param string $avatar_height Height of users avatar
* @param string $alt Optional language string for alt tag within image, can be a language key or text
*
* @return string Avatar image
*/
function get_my_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $alt = 'USER_AVATAR')
{
global $user, $config, $phpbb_root_path, $phpEx;

if (empty($avatar) || !$avatar_type)
{
return '';
}

$avatar_img = '';

switch ($avatar_type)
{
case AVATAR_UPLOAD:
$avatar_img = $phpbb_root_path . "download/file.$phpEx?avatar=";
break;

case AVATAR_GALLERY:
$avatar_img = $phpbb_root_path . $config['avatar_gallery_path'] . '/';
break;
}

$avatar_img .= $avatar;
return '<img src="' . $avatar_img . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
}

/** 
*
*END GET_MY_USER_AVATAR FUNCTION
*
*/




/**
* @private
*/
function setup_sidebar_mods()
{
    global $user, $config, $phpbb_root_path, $phpEx;
    global $db, $auth, $template;

    //Unapproved Notification MOD and Reported Post Notification MODs thanks to Stitch626 and CoC
    
    // Start Unapproved Notification Mod
    // Unapproved Posts
    $total_unapproved_posts = '';
        $sql = 'SELECT COUNT(post_approved) AS total_unapproved_posts
            FROM ' . POSTS_TABLE . "
            WHERE post_approved = 0";
                $result = $db->sql_query($sql);
                $total_unapproved_posts = (int) $db->sql_fetchfield('total_unapproved_posts');
                $db->sql_freeresult($result);

        if ($total_unapproved_posts >= 0)
        {
            $total_unapproved_posts = $total_unapproved_posts;
        }
    // Unapproved Posts

    // Unapproved Topics
    $total_unapproved = '';
        $sql = 'SELECT COUNT(topic_approved) AS total_unapproved
            FROM ' . TOPICS_TABLE . "
            WHERE topic_approved = 0";
                $result = $db->sql_query($sql);
                $total_unapproved = (int) $db->sql_fetchfield('total_unapproved');
                $db->sql_freeresult($result);

        if ($total_unapproved >= 0)
        {
            $total_unapproved = $total_unapproved;
        }
    // Unaproved Topics

    if ($total_unapproved)
    {
            $total_unapproved_posts = !$total_unapproved_posts;
    }
    // End Unapproved Notification Mod 
    //<--Reported Post Alert Mod------------------------------->
    $sql = 'SELECT topic_reported
        FROM ' . TOPICS_TABLE . "
        WHERE topic_reported = 1";
    $result = $db->sql_query($sql);
    $reported = $db->sql_fetchrow($result);
    $db->sql_freeresult($result);
    //<--Reported Post Alert Mod-------------------------------->
    
    $template->assign_vars(array(
        'S_USERCOLOUR'                    => $user->data['user_colour'],
        'S_USERAVATAR'                  => ( $user->data['user_avatar'] ) ? get_my_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']) : '',
        'U_MCP_UNAPPROVED_TOPIC'        => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&mode=unapproved_topics', true, $user->session_id),
        'S_UNAPPROVED_TOPIC'            => (($total_unapproved) && $auth->acl_get('m_approve')) ? true : false,

        'U_MCP_UNAPPROVED_POSTS'        => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&mode=unapproved_posts', true, $user->session_id),
        'S_UNAPPROVED_POSTS'            => (($total_unapproved_posts) && $auth->acl_get('m_approve')) ? true : false, 
        'S_NEW_REPORT'                  => (($reported['topic_reported']) && $auth->acl_get('m_report')) ? true : false,
        'U_GOTO_MCP_REPORT'             => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&mode=reports', true, $user->session_id),
    ));
    
    
}

/**
* @private
*/
function setup_sidebar_ucp()
{
    global $user, $config, $phpbb_root_path, $phpEx;
    global $db, $auth, $template;
    
    $template->assign_vars(array(
        'S_SIDEBAR_SIDE'            => $user->data['user_side'],
        'S_SHOW_SIDEBAR'            => $user->data['user_show_side'],
    ));
    
}

/*
*
*===================================================================
*
*      END Silverbar MOD Functions File.  Made by sTraTo
*===================================================================
*/
?>
Prosilver
Abrir:overall_header.html
:arrow: Buscar

Código: Seleccionar todo

<table width="100%" cellspacing="0">
    <tr>
    <td valign="top" width="17%" style="padding-right:8px;">
:arrow: Añadir despues

Código: Seleccionar todo

<!-- IF not S_IS_BOT -->
<div class="navbar"style=" width: 180px; text-align: center; margin: 0 auto;">
	<div class="inner">
	<span class="corners-top"><span></span></span>
	<ul class="linklist navlinks">
<li><img src="./images/nav.png">&nbsp;<b>Mi panel</b></li></ul>
	<!-- IF not S_USER_LOGGED_IN -->
			<br />
			<div style="text-weight: bold;">{L_LOGIN_LOGOUT}</div>
			<form method="post" action="{S_LOGIN_SIDE}">
				<fieldset class="side-login">
					<div style="text-align: center">
						<label for="username">{L_USERNAME}</label><br /><input type="text" name="username" id="username" size="10" class="inputbox" title="{L_USERNAME}" />
						<label for="password">{L_PASSWORD}</label><br /><input type="password" name="password" id="password" size="10" class="inputbox" title="{L_PASSWORD}" />
						<!-- IF S_AUTOLOGIN_ENABLED --><br /><label for="autologin" style="width: 50px; margin: 0 auto;">{L_SIDEBAR_REM_ME}&nbsp;<input type="checkbox" name="autologin" id="autologin" /></label><!-- ENDIF -->
						<br /><br /><input type="submit" name="login" value="{L_LOGIN}" class="button2" />
					</div>
					<br />
				</fieldset>
			</form>
	<!-- ELSE -->
		<div class="<!-- IF S_USER_NEW_PRIVMSG or S_USER_UNREAD_PRIVMSG -->rules<!-- ELSE --><!-- ENDIF -->">
			<br />
			{L_SIDEBAR_WELC}<!-- IF S_USERCOLOUR --><span style="color: #{S_USERCOLOUR}; font-weight: bold;"><!-- ENDIF -->{S_USERNAME}<!-- IF S_USERCOLOUR --></span><!-- ENDIF --><br />
			<br />
			<a href="{U_PROFILE}"><!-- IF S_USERAVATAR -->{S_USERAVATAR}<!-- ELSE --><img src="/foro/images/avatars/no_avatar.png" alt="{L_USER_AVATAR}" /><!-- ENDIF --></a><br />
			<br />
			{LAST_VISIT_DATE}<br />
			<!-- IF S_DISPLAY_PM -->(<a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO}</a>)<!-- ENDIF --><br />
			<br />
		</div>
		</div>
	<!-- ENDIF -->
	<span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->
<br />
</div>
Subsilver
Abril: Overall_header.html
:arrow: Buscar

Código: Seleccionar todo

<table width="100%" cellpadding="3">
<tr>
<td valign="top" width="17%">
:arrow: Añadir despues

Código: Seleccionar todo

<br>
<table class="tablebg" width="100%" cellspacing="1">
<tr><th align="left"><img src="./images/cup.png">&nbsp;Título</th></tr>
<tr><td class="row1" width="100%"><p class="genmed">
<br />
<!-- IF not S_USER_LOGGED_IN and not S_IS_BOT -->
	<div class="panel bg2"><span class="corners-top"><span></span></span>
        <div style="text-align: center; text-weight: bold;">{L_LOGIN_LOGOUT}</div>
	<form method="post" action="{S_LOGIN_SIDE}">
		<fieldset class="side-login">
			<div style="text-align: center"><label for="username">{L_USERNAME}</label><br /><input type="text" name="username" id="username" size="10" class="inputbox" title="{L_USERNAME}" />
			<label for="password">{L_PASSWORD}</label><br /><input type="password" name="password" id="password" size="10" class="inputbox" title="{L_PASSWORD}" />
			<!-- IF S_AUTOLOGIN_ENABLED --><br /><label for="autologin" style="width: 50px; margin: 0 auto;">{L_SIDEBAR_REM_ME}&nbsp;<input type="checkbox" name="autologin" id="autologin" /></label><!-- ENDIF -->
			<br /><br /><input type="submit" name="login" value="{L_LOGIN}" class="button2" /></div>
		<br /></fieldset></form>
	<span class="corners-bottom"><span></span></span></div>
<br />
<!-- ENDIF -->
<!-- IF S_USER_LOGGED_IN -->
<!-- IF S_USER_NEW_PRIVMSG or S_USER_UNREAD_PRIVMSG -->
<div class="rules">
<!-- ELSE -->
<div class="panel bg2">
<!-- ENDIF -->
<div class="inner"><span class="corners-top"><span></span></span>
<div style="text-align: center; padding-top: 6px; margin: 0 auto;">{L_SIDEBAR_WELC}<!-- IF S_USERCOLOUR --><span style="color: #{S_USERCOLOUR}; font-weight: bold;"><!-- ENDIF -->{S_USERNAME}<!-- IF S_USERCOLOUR --></span><!-- ENDIF --><br /><br /><a href="{U_VIEW_PROFILE}"><!-- IF S_USERAVATAR -->{S_USERAVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="{L_USER_AVATAR}" /><!-- ENDIF --></a><br /></div><div style="width: 140px; text-align: center; margin: 0 auto;">{LAST_VISIT_DATE}</div><hr />
<ul class="sidebar-linklist sidebar-rightside">
<li class="icon-ucp sidebar-rightside"><a href="{U_PROFILE}" title="{L_PROFILE}">{L_PROFILE}</a></li></ul>
<br />
<!-- IF S_DISPLAY_PM --><div style="text-align: center;"> (<a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO}</a>)</div><!-- ENDIF -->
<hr />
<ul class="sidebar-linklist sidebar-leftside">
<!-- IF S_DISPLAY_SEARCH -->
<li><a href="{U_SEARCH_SELF}">{L_SEARCH_SELF}</a></li>
<li><a href="{U_SEARCH_UNANSWERED}">{L_SEARCH_UNANSWERED}</a></li>
<li><a href="{U_SEARCH_NEW}">{L_SEARCH_NEW}</a></li>
<li><a href="{U_SEARCH_ACTIVE_TOPICS}">{L_SEARCH_ACTIVE_TOPICS}</a></li>
<li><hr /></li>
<!-- ENDIF -->
<!-- IF U_RESTORE_PERMISSIONS --><li><br /><a href="{U_RESTORE_PERMISSIONS}">{L_RESTORE_PERMISSIONS}</a></li><!-- ENDIF -->
</ul>
<ul class="sidebar-linklist" style="text-align: center;">
<!-- IF S_WATCH_FORUM_LINK --><!-- IF S_WATCHING_FORUM --><li class="icon-unsubscribe"><a href="{S_WATCH_FORUM_LINK}" title="{S_WATCH_FORUM_TITLE}">{S_WATCH_FORUM_TITLE}</a></li><!-- ELSE --><li class="icon-subscribe"><a href="{S_WATCH_FORUM_LINK}" title="{S_WATCH_FORUM_TITLE}">{S_WATCH_FORUM_TITLE}</a></li><!-- ENDIF --><!-- ENDIF -->
<!-- IF U_WATCH_TOPIC --><!-- IF S_WATCHING_TOPIC --><li class="icon-unsubscribe"><a href="{U_WATCH_TOPIC}" title="{L_WATCH_TOPIC}">{L_WATCH_TOPIC}</a></li><!-- ELSE --><li class="icon-subscribe"><a href="{U_WATCH_TOPIC}" title="{L_WATCH_TOPIC}">{L_WATCH_TOPIC}</a></li><!-- ENDIF --><!-- ENDIF -->
<!-- IF U_BOOKMARK_TOPIC --><li class="icon-bookmark"><a href="{U_BOOKMARK_TOPIC}" title="{L_BOOKMARK_TOPIC}">{L_BOOKMARK_TOPIC}</a></li><!-- ENDIF -->
<!-- IF U_BUMP_TOPIC --><li class="icon-bump"><a href="{U_BUMP_TOPIC}" title="{L_BUMP_TOPIC}">{L_BUMP_TOPIC}</a></li><!-- ENDIF -->
</ul>
<div style="text-align: center;"><a href="{U_DELETE_COOKIES}">{L_DELETE_COOKIES}</a></div>
<hr /><div style="text-align: center"><a href="{U_INDEX}" class="icon-home">{L_INDEX}</a></div><br />
<span class="corners-bottom"><span></span></span></div>
<!-- IF S_USER_NEW_PRIVMSG or S_USER_UNREAD_PRIVMSG -->
</div>
<!-- ELSE -->
</div>
<!-- ENDIF -->
<br />
<!-- ENDIF -->


</p></td></tr>
</tr>
</table>
Y listo ,con esto tendremos un bloque igual que el de este foro ,con caja de login para invitados y el bloque de usuario de este foro.
Dudas y consultas ,en los foros.