News:

Want to get involved in developing SMF? Why not lend a hand on our GitHub!

Main Menu

[Beta] FaceBook Style NavBar (FBSNB) v1.0.3

Started by Marcus Forsberg, June 15, 2009, 12:17:53 AM

Previous topic - Next topic

JBlaze

Quote from: NenaGb on September 15, 2009, 10:23:47 AM
wait...how do i subscribe to the updates?

Click "Notify" on this topic, or on the mods page, click "Notify me of updates" ;D
Jason Clemons
Former Team Member 2009 - 2012

Xavi-Nena

oh , lol duh....I knew it was something super easy but was having a moment...thanks :)

mod suggestion: I do not know exactly what you have planned for this mod now nas but I wanted to give a suggestion, I think it would be pretty spiffy if there was also some sort of notification system incorporated with the mod like with the wibiya tool bar that pops up from the tool bar for registered members if its a new notification and not one they have read before, or pops up for guests so that we can customize the message we would like to tell them.

hope that made sense.

Xavi-Nena

also still puzzled, I need to modify my index.template.php file but cannot find the area to modify, here is my code for that page:

<?php
// Version: 1.1; index

/* This template is, perhaps, the most important template in the theme. It
contains the main template layer that displays the header and footer of
the forum, namely with main_above and main_below. It also contains the
menu sub template, which appropriately displays the menu; the init sub
template, which is there to set the theme up; (init can be missing.) and
the linktree sub template, which sorts out the link tree.

The init sub template should load any data and set any hardcoded options.

The main_above sub template is what is shown above the main content, and
should contain anything that should be shown up there.

The main_below sub template, conversely, is shown after the main content.
It should probably contain the copyright statement and some other things.

The linktree sub template should display the link tree, using the data
in the $context['linktree'] variable.

The menu sub template should display all the relevant buttons the user
wants and or needs.

For more information on the templating system, please see the site at:
http://www.simplemachines.org/
*/

// Initialize the template... mainly little settings.
function template_init()
{
global $context, $settings, $options, $txt;

/* Use images from default theme when using templates from the default theme?
if this is 'always', images from the default theme will be used.
if this is 'defaults', images from the default theme will only be used with default templates.
if this is 'never' or isn't set at all, images from the default theme will not be used. */
$settings['use_default_images'] = 'never';

/* What document type definition is being used? (for font size and other issues.)
'xhtml' for an XHTML 1.0 document type definition.
'html' for an HTML 4.01 document type definition. */
$settings['doctype'] = 'xhtml';

/* The version this template/theme is for.
This should probably be the version of SMF it was created for. */
$settings['theme_version'] = '1.1';

/* Set a setting that tells the theme that it can render the tabs. */
$settings['use_tabs'] = true;

/* Use plain buttons - as oppossed to text buttons? */
$settings['use_buttons'] = true;

/* Show sticky and lock status seperate from topic icons? */
$settings['seperate_sticky_lock'] = true;

/* Call to Theme String for languages  */
if (loadlanguage('ThemeStrings') == false)
loadLanguage('ThemeStrings', 'english');

}

// The main sub template above the content.
function template_main_above()
{
global $context, $settings, $options, $scripturl, $txt, $modSettings;

// Show right to left and the character set for ease of translating.
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"'
, $context['right_to_left'] ? ' dir="rtl"' : '', '><head>
<meta http-equiv="Content-Type" content="text/html; charset='
, $context['character_set'], '" />
<meta name="description" content="'
, $context['page_title'], '" />', empty($context['robot_no_index']) ? '' : '
<meta name="robots" content="noindex" />'
, '
<meta name="keywords" content="PHP, MySQL, bulletin, board, free, open, source, smf, simple, machines, forum" />
<script language="JavaScript" type="text/javascript" src="'
, $settings['default_theme_url'], '/script.js?fin11"></script>
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var smf_theme_url = "'
, $settings['theme_url'], '";
var smf_images_url = "'
, $settings['images_url'], '";
var smf_scripturl = "'
, $scripturl, '";
var smf_iso_case_folding = '
, $context['server']['iso_case_folding'] ? 'true' : 'false', ';
var smf_charset = "'
, $context['character_set'], '";
// ]]></script>
<title>'
, $context['page_title'], '</title>';

// The ?fin11 part of this link is just here to make sure browsers don't cache it wrongly.
echo '
<link rel="stylesheet" type="text/css" href="'
, $settings['theme_url'], '/style.css?fin11" />
<link rel="stylesheet" type="text/css" href="'
, $settings['default_theme_url'], '/print.css?fin11" media="print" />';

/* Internet Explorer 4/5 and Opera 6 just don't do font sizes properly. (they are big...)
Thus, in Internet Explorer 4, 5, and Opera 6 this will show fonts one size smaller than usual.
Note that this is affected by whether IE 6 is in standards compliance mode.. if not, it will also be big.
Standards compliance mode happens when you use xhtml... */
if ($context['browser']['needs_size_fix'])
echo '
<link rel="stylesheet" type="text/css" href="'
, $settings['default_theme_url'], '/fonts-compat.css" />';


// Show all the relative links, such as help, search, contents, and the like.
echo '
<link rel="help" href="'
, $scripturl, '?action=help" target="_blank" />
<link rel="search" href="'
. $scripturl . '?action=search" />
<link rel="contents" href="'
, $scripturl, '" />';

// * Highslide mod
echo '<script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/Highslide/highslide.js"></script>
<script language="JavaScript" type="text/javascript" src="'
, $settings['default_theme_url'], '/Highslide/highslide.', $context['user']['language'], '.js"></script>
<link rel="stylesheet" type="text/css" href="'
, $settings['default_theme_url'], '/Highslide/highslide.css" media="screen" />
<script type="text/javascript">
   hs.graphicsDir = "'
, $settings['default_theme_url'], '/Highslide/";
   hs.outlineType = "rounded-white";
   hs.captionEval = "this.thumb.alt";
   hs.transitions = ["expand", "crossfade"];
   hs.align = "center";
   hs.creditsText = "";
   hs.creditsHref = "";
   hs.creditsTitle = "";
   if (hs.addSlideshow) hs.addSlideshow({
       interval: 5000,
       repeat: false,
       useControls: true,
fixedControls: false,
       overlayOptions: {
        opacity: 1,
        position: "top right",
        hideOnMouseOut: false
}
   });
 </script>'
;
// Highslide mod *

// If RSS feeds are enabled, advertise the presence of one.
if (!empty($modSettings['xmlnews_enable']))
echo '
<link rel="alternate" type="application/rss+xml" title="'
, $context['forum_name'], ' - RSS" href="', $scripturl, '?type=rss;action=.xml" />';

// If we're viewing a topic, these should be the previous and next topics, respectively.
if (!empty($context['current_topic']))
echo '
<link rel="prev" href="'
, $scripturl, '?topic=', $context['current_topic'], '.0;prev_next=prev" />
<link rel="next" href="'
, $scripturl, '?topic=', $context['current_topic'], '.0;prev_next=next" />';

// If we're in a board, or a topic for that matter, the index will be the board's index.
if (!empty($context['current_board']))
echo '
<link rel="index" href="'
. $scripturl . '?board=' . $context['current_board'] . '.0" />';

// We'll have to use the cookie to remember the header...
if ($context['user']['is_guest'])
$options['collapse_header'] = !empty($_COOKIE['upshrink']);

// Output any remaining HTML headers. (from mods, maybe?)
echo $context['html_headers'], '

<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var current_header = '
, empty($options['collapse_header']) ? 'false' : 'true', ';

function shrinkHeader(mode)
{'
;

// Guests don't have theme options!!
if ($context['user']['is_guest'])
echo '
document.cookie = "upshrink=" + (mode ? 1 : 0);'
;
else
echo '
smf_setThemeOption("collapse_header", mode ? 1 : 0, null, "'
, $context['session_id'], '");';

echo '
document.getElementById("upshrink").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

document.getElementById("upshrinkHeader").style.display = mode ? "none" : "";
document.getElementById("upshrinkHeader2").style.display = mode ? "none" : "";

current_header = mode;
}

info, $ID_MEMBER, $context, $txt, $galurl, $galurl2, $scripturl, $settings, $db_prefix;

// ]]></script>'
;

// the routine for the info center upshrink
echo '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var current_header_ic = '
, empty($options['collapse_header_ic']) ? 'false' : 'true', ';

function shrinkHeaderIC(mode)
{'
;

if ($context['user']['is_guest'])
echo '
document.cookie = "upshrinkIC=" + (mode ? 1 : 0);'
;
else
echo '
smf_setThemeOption("collapse_header_ic", mode ? 1 : 0, null, "'
, $context['session_id'], '");';

echo
'
document.getElementById("upshrink_ic").src = smf_images_url + (mode ? "/expand.gif" : "/collapse.gif");

document.getElementById("upshrinkHeaderIC").style.display = mode ? "none" : "";

current_header_ic = mode;
}
// ]]></script>'
;

echo '
   <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
     var PreloadImages = new Array(
        "/images/submenu_top.png",
        "/images/submenu_bg.png"
     );

     var myImages = new Array();
     for(var i = 0; i < PreloadImages.length; i++)
     {
        myImages[i] = new Image();
        myImages[i].src = "'
. $settings['theme_url'] .'" + PreloadImages[i];
     }
   // ]]></script>'
;

echo '

</head>
<body>
<div id="body-top">
<div id="top-banner">
<div id="userarea" class="smalltext">
<span class="time">'
, $context['current_time'], '</span><br />';
if($context['user']['is_logged'])
{
echo $txt['hello_member_ndt'] , ' <strong>' , $context['user']['name'] , '</strong><br />';

// Only tell them about their messages if they can read their messages!
if ($context['allow_pm'])
echo '&nbsp;&nbsp;[<a href="', $scripturl, '?action=pm">', $context['user']['messages'], '/<strong>', $context['user']['unread_messages'] , '</strong></a> ', $txt['pm'], ']';

// Is the forum in maintenance mode?
if ($context['in_maintenance'] && $context['user']['is_admin'])
echo '[<strong>', $txt['maintenance'], '</strong>]';

// Are there any members waiting for approval?
if (!empty($context['unapproved_members']))
echo '[<a href="', $scripturl, '?action=viewmembers;sa=browse;type=approve">', $context['unapproved_members'] , '', $txt['approve'], '</a> ]';

echo '
<a href="'
, $scripturl, '?action=unread">', $txt['unread'], '</a> |
<a href="'
, $scripturl, '?action=unreadreplies">', $txt[110], '</a>';
}
// Otherwise they're a guest - this time ask them to either register or login - lazy bums...
else
{
echo '
<script language="JavaScript" type="text/javascript" src="'
, $settings['default_theme_url'], '/sha1.js"></script>
<form action="'
, $scripturl, '?action=login2" method="post" accept-charset="', $context['character_set'], '" ', empty($context['disable_login_hashing']) ? ' onsubmit="hashLoginPassword(this, \'' . $context['session_id'] . '\');"' : '', '>
<input class="loginput" type="text" name="user" size="10" />
<input class="loginput" type="password" name="passwrd" size="10" /><br />
<input class="logbutton" type="submit" value="'
, $txt[34], '" />
<input type="hidden" name="hash_passwrd" value="" />
</form>'
;
}
echo '
</div>

</div>
<div id="mainbody">
<div class="wrapper">
<div id="toolbar">
'
,template_menu(),'
</div>
<div class="clr"/>
<div id="bodyarea">'
;

}

function
template_main_below()



{
global $context, $settings, $options, $scripturl, $txt, $modSettings;

echo '
</div>
</div>
</div>'
;

// Show the "Powered by" and "Valid" logos, as well as the copyright. Remember, the copyright must be somewhere!
echo '
<div id="footer">
<div id="copywrte">
<span class="smalltext">'
, theme_copyright(), '<strong>CorsoTalk Spring</strong> based on xmas by <a href="http://www.dzinerstudio.com" target="_blank">DzinerStudio</a><br>
<a href="http://www.breederwebdesign.com">Custom Graphic design, SEO Promotion & Hosting by: Breeder Web Design</a>
<br>
<!-- Site Meter -->
<script type="text/javascript" src="http://s41.sitemeter.com/js/counter.js?site=s41CorsoTalk">
</script>
<noscript>
<a href="http://s41.sitemeter.com/stats.asp?site=s41CorsoTalk" target="_top">
<img src="http://s41.sitemeter.com/meter.asp?site=s41CorsoTalk" alt="Site Meter" border="0"/></a>
</noscript>
<!-- Copyright (c)2006 Site Meter --></td></tr>
</table>
<script src="http://toolbar.wibiya.com/toolbarLoader.php?toolbarId=10217" type="text/javascript"></script>
</span>'
;

// Show the load time?
if ($context['show_load_time'])
echo '<br />
<span class="smalltext">'
, $txt['smf301'], $context['load_time'], $txt['smf302'], $context['load_queries'], $txt['smf302b'], '</span>';

echo '
</div>
</div>'
;

echo
'
</body></html>'
;

}

// Show a linktree. This is that thing that shows "My Community | General Category | General Discussion"..
function theme_linktree()
{
global $context, $settings, $options;

echo '<div class="pathway">';

// Each tree item has a URL and name. Some may have extra_before and extra_after.
foreach ($context['linktree'] as $link_num => $tree)
{
// Show something before the link?
if (isset($tree['extra_before']))
echo $tree['extra_before'];

// Show the link, including a URL if it should have one.
echo '<b>', $settings['linktree_link'] && isset($tree['url']) ? '<a href="' . $tree['url'] . '" class="nav">' . $tree['name'] . '</a>' : $tree['name'], '</b>';

// Show something after the link...?
if (isset($tree['extra_after']))
echo $tree['extra_after'];

// Don't show a separator for the last one.
if ($link_num != count($context['linktree']) - 1)
echo '&nbsp;>&nbsp;';
}

echo '</div>';
}

// Show the menu up top. Something like [home] [help] [profile] [logout]...
function template_menu()
{
global $context, $settings, $options, $scripturl, $txt;

// Work out where we currently are.
$current_action = 'home';
if (in_array($context['current_action'], array('admin', 'managegames', 'arcadesettings', 'arcadecategory', 'ban', 'boardrecount', 'cleanperms', 'detailedversion', 'dumpdb', 'featuresettings', 'featuresettings2', 'findmember', 'maintain', 'manageattachments', 'manageboards', 'managecalendar', 'managesearch', 'membergroups', 'modlog', 'news', 'optimizetables', 'packageget', 'packages', 'permissions', 'pgdownload', 'postsettings', 'regcenter', 'repairboards', 'reports', 'serversettings', 'serversettings2', 'smileys', 'viewErrorLog', 'viewmembers')))
$current_action = 'admin';
if (in_array($context['current_action'], array('search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm', 'forum')))
$current_action = $context['current_action'];
if ($context['current_action'] == 'search2')
$current_action = 'search';
if ($context['current_action'] == 'theme')
$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';

if (isset($_GET['board']) || isset($_GET['topic']) || $context['current_action']=='forum')
$current_action = 'forum';

// Are we using right-to-left orientation?
if ($context['right_to_left'])
{
$first = 'last';
$last = 'first';
}
else
{
$first = 'first';
$last = 'last';
}

// Show the start of the tab section.
echo '
 <div class="tabs">
<ul>
<li>
<a'
, $current_action=='home' ? ' class="current"' : '' , ' href="', $scripturl, '">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt[103] , '</span>
</a>
        <div class="sub">
<ul>
<li><a href="index.php?action=help">Help</a></li>
<li><a href="index.php?action=search">Search</a></li>
<li><a href="index.php?action=calendar">Calendar</a></li>
 </ul>
 </div>
</li>'
;

if($settings['TPortal_front_type']!='boardindex')
// Show the [forum] button.
echo'
<li>
<a'
, $current_action=='forum' ? ' class="current"' : '' , ' href="', $scripturl, '?action=forum">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt['tp-forum'] , '</span>
</a>
</li>'
;

//Show the [gallery] button
echo'
<li>
<a'
, $current_action=='mgallery' ? ' class="current"' : '' , ' href="', $scripturl, '?action=mgallery">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt['gallery'] , '</span>
</a>
        <div class="sub">
<ul>
<li><a href="index.php?action=mgallery;sa=album;id=7">Cane Corso & Friends</a></li>
<li><a href="index.php?action=mgallery;sa=album;id=5">HeBeGB Faces</a></li>
<li><a href="index.php?action=mgallery;sa=album;id=1">Cane Corso Baby Pics</a></li>
<li><a href="index.php?action=mgallery;sa=album;id=2">Cane Corso Show Dogs</a></li>
<li><a href="index.php?action=mgallery;sa=album;id=4">Cane Corso Working Dogs</a></li>
<li><a href="index.php?action=mgallery;sa=album;id=3">General Album</a></li>
<li><a href="index.php?action=mgallery;sa=album;id=6">Cane Corso & Kids</a></li>
<li><a href="index.php?action=mgallery;sa=album;id=8">Video Clips</a></li>
 </ul>
 </div>
</li>'
;

//Show the [chat] button
echo'
<li>
<a'
, $current_action=='chat' ? ' class="current"' : '' , ' href="', $scripturl, '?action=chat">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt['chat'] , '</span>
</a>
</li>'
;

//Show the [arcade] button
echo'
<li>
<a'
, $current_action=='arcade' ? ' class="current"' : '' , ' href="', $scripturl, '?action=arcade">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt['arcade'] , '</span>
</a>
</li>'
;


   // Show the [links] button.
   echo ($current_action=='links' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
           <td valign="top" class="maintab_'
, $current_action == 'html' ? 'active_back' : 'back' , '"><a href="http://corsotalk.com/index.php?action=links">
<span class="menu-left"></span>
<span class="menu-right">Links</a></span>
           </td>'
, $current_action == 'html' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';
               
//Show the [member] button
if ($context['allow_memberlist'])
echo'
<li>
<a'
, $current_action=='mlist' ? ' class="current"' : '' , ' href="', $scripturl, '?action=mlist">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt[331] , '</span>
</a>
        <div class="sub">
<ul>
<li><a href="index.php?action=mlist">View Memberlist</a></li>
<li><a href="index.php?action=mlist;sa=search">Search Memberlist</a></li>
 </ul>
 </div>
</li>'
;

// Go to PM center... [pm]
 if ($context['user']['is_logged'] && $context['allow_pm'])
echo'
 <li>
<a'
, $current_action=='pm' ? ' class="current"' : '' , ' href="', $scripturl, '?action=pm">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt['pm_short'] , ' ', $context['user']['unread_messages'] > 0 ? '[<strong>'. $context['user']['unread_messages'] . '</strong>]' : '' , '</span>
</a>
<div class="sub">
<ul>
<li><a href="index.php?action=pm;f=outbox">Outbox</a></li>
<li><a href="index.php?action=pm;sa=send">Send Message</a></li>
<li><a href="index.php?action=pm;sa=search">Search Messages</a></li>
<li><a href="index.php?action=profile;sa=pmprefs">Personal Message Options</a></li>
 </ul>
 </div>
 </li>'
;

// Edit Profile... [profile]
if ($context['allow_edit_profile'])
echo'
<li>
<a'
, $current_action=='profile' ? ' class="current"' : '' , ' href="', $scripturl, '?action=profile">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt[79] , '</span>
</a>
<div class="sub">
<ul>
<li><a href="index.php?action=profile;sa=forumProfile">Forum Profile</a></li>
<li><a href="index.php?action=profile;sa=buddies">Buddies List</a></li>
<li><a href="index.php?action=profile;sa=pictures">Profile Pictures</a></li>
<li><a href="index.php?action=profile;sa=theme">Look and Layout</a></li>
<li><a href="index.php?action=profile;sa=account">Account Settings</a></li>
<li><a href="index.php?action=profile;sa=notification">Notifications and Email</a></li>

 </ul>
 </div>
 </li>'
;

 // Is the user allowed to administrate at all? ([admin])
if ($context['allow_admin'])
echo'
<li>
<a'
, $current_action=='admin' ? ' class="current"' : '' , ' href="', $scripturl, '?action=admin">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt[2] , '</span>
</a>
<div class="sub">
<ul>
<li><a href="index.php?action=packages">Packages</a></li>
<li><a href="index.php?action=regcenter">Registration</a></li>
<li><a href="index.php?action=viewErrorLog;desc">Forum Error Log</a></li>
<li><a href="index.php?action=maintain">Forum Maintenance</a></li>
<li><a href="index.php?action=news">News and Newsletters</a></li>
</ul>
</div>
 </li>'
;

// If the user is a guest, show the [login] button.
if ($context['user']['is_guest'])
 echo'
<li>
<a '
, $current_action=='login' ? ' class="current"' : '' , 'href="', $scripturl, '?action=login">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt[34] , '</span>
</a>
</li>'
;

// If the user is a guest, also show  the[register] button.
if ($context['user']['is_guest'])
echo'
    <li>
<a '
, $current_action=='register' ? ' class="current"' : '' , 'href="', $scripturl, '?action=register">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt[97] , '</span>
</a>
</li>'
;

// Otherwise, they might want to [logout]...
if ($context['user']['is_logged'])
echo'
    <li>
<a '
, $current_action=='logout' ? ' class="current"' : '' , 'href="', $scripturl, '?action=logout;sesc=', $context['session_id'],' ">
<span class="menu-left"></span>
<span class="menu-right">'
, $txt[108] , '</span>
</a>
</li>'
;

echo '
</ul>
<div style="float: right; padding: 10px 2px 0 0">'
;
// TinyPortal
if($context['TPortal']['leftbar'])
echo ' <a href="javascript:void(0);" onclick="shrinkHeaderLeftbar(!current_leftbar); return false;"><img id="upshrinkLeftbar" src="', $settings['images_url'], '/', empty($options['collapse_leftbar']) ? 'upshrink.gif' : 'upshrink2.gif', '" alt="*" title="', $txt['upshrink_description'], '" style="margin: 0 1ex;" border="0" /></a><img id="upshrinkTempLeftbar" src="', $settings['images_url'], '/blank.gif" alt="" style="margin-right: 0ex;" />';
if($context['TPortal']['rightbar'])
echo ' <a href="javascript:void(0);" onclick="shrinkHeaderRightbar(!current_rightbar); return false;"><img id="upshrinkRightbar" src="', $settings['images_url'], '/', empty($options['collapse_rightbar']) ? 'upshrink.gif' : 'upshrink2.gif', '" alt="*" title="', $txt['upshrink_description'], '" style="margin: 0 1ex;" border="0" /></a><img id="upshrinkTempRightbar" src="', $settings['images_url'], '/blank.gif" alt="" style="margin-right: 0ex;" />';
// TinyPortal end
echo '
           </div>
</div>'
;

}

// Generate a strip of buttons.
function template_button_strip($button_strip, $direction = 'top', $force_reset = false, $custom_td = '')
{
global $settings, $buttons, $context, $txt, $scripturl;

// Create the buttons...
foreach ($button_strip as $key => $value)
{
if (isset($value['test']) && empty($context[$value['test']]))
{
unset($button_strip[$key]);
continue;
}
elseif (!isset($buttons[$key]) || $force_reset)
$buttons[$key] = '<a href="' . $value['url'] . '" ' .( isset($value['custom']) ? $value['custom'] : '') . '>' . $txt[$value['text']] . '</a>';

$button_strip[$key] = $buttons[$key];
}

if (empty($button_strip))
return '<td>&nbsp;</td>';

echo '
<td class="'
, $direction == 'top' ? 'main' : 'mirror', 'tab_' , $context['right_to_left'] ? 'last' : 'first' , '">&nbsp;</td>
<td class="'
, $direction == 'top' ? 'main' : 'mirror', 'tab_back">', implode(' &nbsp;|&nbsp; ', $button_strip) , '</td>
<td class="'
, $direction == 'top' ? 'main' : 'mirror', 'tab_' , $context['right_to_left'] ? 'first' : 'last' , '">&nbsp;</td>';
}

?>

unformatted_

Hi!

It's possible to have features like this bar: http://www.fixya.com/ ?

Something to reply to unreplyed new topics?

Thanks!

Marcus Forsberg

So, how are the updates on this comming along...?

I'm currently rewriting this mod from scratch on the new Curve theme, adding a few new cool features. The new features include the ability to collapse the bar, and a nice popup for search.
The biggest update right now is that the mod is now theme independant. There's not a single edit to any template file, meaning that this will work on every single theme without manual installation.
Also, as far as I now, the area this mod will edit isn't commonly touched by mods, so there shouldn't be too many conflicts resulting in failed installations. :)

I'm planning to add a one on one chat betwen buddies as well, and also expand the mod to do more Facebook style stuff than the bar. For example, it's going to have a feature displaying recent activity just like Facebook!

Attached are two early screenshots of the bar in action.

JBlaze

Jason Clemons
Former Team Member 2009 - 2012

Sabre™

Wow, that's sounding pretty good Nas.
Would your buddy chat also have the ability to switch the chat to on and offline?
So maybe you'd be in the forum, but don't really want to chat with anyone at the time.
Can you chat to multiple buddies in separate windows at once?
Will this only be for smf2, or are you eventually going to make it a universal mod?

Cheers buddy, and great job! :)
Do NOT give admin and/or ftp details to just anybody, see if they are trust worthy first!!  Do your homework ;)


Marcus Forsberg

@Sabre™,
An "Offline" options is a good idea. I will look at adding that. Perhaps an "Away" or "Busy" option as well.

A chat with multiple users wasn't originally planned, but I've been thinking of a "public" chat, kinda like a shoutbox.

It'll be for 2.0 only when first relased, but if requested I will eventually backport it.

Sabre™

Sounds interesting.
The away and busy option sounds alot better, as it wont clash with the 'online' status presented within the forum. Unless you can combine the online offline for the mod, to work in unison with the 'show as hidden' feature within the forum, or to display on and offline in the whole forum.
Would the public chat have permissions?  As I personally don't use the 'shoutboxes' or anything of that function in forums, but have a basic one for staff only, to assist each other with something, or to use for 'staff meetings'.

How is the issue with the original release coming along, in which the bar would display behind flvs, swfs and javascripts.
Have you sorted that out mate?
Do NOT give admin and/or ftp details to just anybody, see if they are trust worthy first!!  Do your homework ;)


Marcus Forsberg

I'll add permissions. :)

I haven't tested that issue on the new one yet. Will do.

Sabre™

Cool, thanks, good luck and good job mate! :)
Do NOT give admin and/or ftp details to just anybody, see if they are trust worthy first!!  Do your homework ;)


Marcus Forsberg

I'm going to keep you updated on this, so here are two screenshots of the latest additions.
I added a buddy list - An ajax popup that shows when clicking on the heart icon in the bar. (It'll only show if buddies are enabled and if you are allowed to have buddies).
When hover one of your buddies in the list an ajax tooltip with their name pops up.

I also removed names from the "Users online" list in the info center, and added avatars. These avatars also have the tooltip.
This can be turned of if you for example have a very busy forum, as it's not good to show hundreds of avatars at once.


chrishicks

I'll get my request in for a 1.1.x version now.

Sabre™

Nice additions mate :)
I think the 'users online' to 'avatar' addition is a bit much, as you've stated, it would only be good if you have a few people on at once, not too many, so it's good you're adding the disable function to it.
How about reversing its process?
So have the names as usual displayed, and as you hover over them, the tool tip then appears which displays their avatar, and a few additional details(post count etc).
Heck, that could even be a separate mod altogether! lol
Either way, thanks for keeping us updated, and great work mate! :)
Do NOT give admin and/or ftp details to just anybody, see if they are trust worthy first!!  Do your homework ;)


Marcus Forsberg

Quote from: Sabre™ on October 16, 2009, 06:04:09 AM
Nice additions mate :)
I think the 'users online' to 'avatar' addition is a bit much, as you've stated, it would only be good if you have a few people on at once, not too many, so it's good you're adding the disable function to it.
How about reversing its process?
So have the names as usual displayed, and as you hover over them, the tool tip then appears which displays their avatar, and a few additional details(post count etc).
Heck, that could even be a separate mod altogether! lol
Either way, thanks for keeping us updated, and great work mate! :)

Well, that's a good idea to. I'll look at that and see how it turns out. :)

Also, I just got rid of "Unread" and "Unread replies". They're now under one icon, "Recent and unread posts". Clicking that icon brings up a popup (like on search) where you can click "Recent" "Unread" or "Unread replies".
I also added a popup for the "Profile" icon, which on click will display your avatar along with links to view and edit your profile.

Marcus Forsberg

Arantor came up with the idea to only display avatars for buddies in users online to hurt the performace less.

Also, I just packaged 1.0 Alpha 1 Rev 001 (The first installable package for the new mod, not public).
Anyone interested in beta testing this - Now is the time to let me know! PM me if interested. :)

Sabre™

#117
Interesting..
Lets say you have 50 buddies, all their avatars are going to be displayed in the users online?
I have it so when anybody signs up, an auto pm is sent to them requesting that I become their buddy. Is it possible to disable that?
The avatars I mean.
Do NOT give admin and/or ftp details to just anybody, see if they are trust worthy first!!  Do your homework ;)


kingkingston

Wow sounds like this mod will kick butt when finished :D

Smith Online

Please dont give up on this MOD it will be one of the best Mods for SMF!!
:'(
The only thing i think it is missing is a facebook style chat in the corner.

Regards,
Smith Online



Advertisement: