nneonneo's Shoutbox

Started by nneonneo, December 26, 2006, 06:58:11 PM

Previous topic - Next topic

sparky33

I appreciate the hard work you put into developing these mods, but I've installed tiny portal now which has a shoutbox built in.
www.dublinforums.org

www.renaultforums.co

rolli

Hi there, first of all thanxx for this great mod. Installation works fine, also the shoutbox selve for logged in user. But one question, how can i mange that guest can see the shoutbox ( not posting, yust viewieng )

Thanxx for your help,

Rolli

iyeru42

Modification says "...Loading Shoutbox..." but never loads, had to un-install.

sparky33

I'd recommend installing tiny portal, it's excellent and has a shoutbox built in, take a look at my site. www.coupe-club.org.uk/smf
www.dublinforums.org

www.renaultforums.co

iyeru42

Where's tiny portal download able for SMF? Doubtful the shoutbox is global though

sparky33

http://www.tinyportal.net/index.php?PHPSESSID=9cc02e7024a7be1eaa12e38882970f01;www

It's designed for SMF and it works with many themes, I use Babylon, it installs as a package
www.dublinforums.org

www.renaultforums.co

nneonneo

@rolli: I did not add guest functionality to the shoutbox; this will probably appear in a future version. For now, if yuo must have guest functionality, I would say that my shoutbox may not be best :(

@iyeru42: If you want to use TinyPortal, go ahead. If you wish to use mine, I would recommend checking the web server error logs; PHP is probably disliking my script somehow.
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

iyeru42

My PHP error logs are only accessed via FTP and I don't currently have an FTP client atm, nor do I have time to download one.

(Not only that, but my primary mode of Internet is Dial-up. Since I can't afford cable on just about 610 USD  /mo (before food/bills but after rent.))

ss2man44

#188
Quote from: akulion on December 28, 2006, 12:26:03 AM

So to fix this theme glitch (we can call it)
do this:

the last part of the modification I gave, u shold add it as follows:

if ($context['user']['is_guest'])
echo'';
else
// YSHOUT HERE
echo '
<br /><b>Shout Box</b><br /><br />
<div id="yshout"', empty($options['collapse_header']) ? '>' : ' style="display: none;">','...loading shoutbox...<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></div>';
// YSHOUT END


and that will take care of that issue

A better way to do that is to use this code:

// YSHOUT HERE
if($context['user']['is_logged'])
{
echo '
<br /><b>Shoutbox</b><br /><br />
<div id="yshout"', empty($options['collapse_header']) ? '>' : ' style="display: none;">','...loading shoutbox...<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></div>';
}
if($context['user']['is_guest'])
{
echo '
<br /><b>Shoutbox</b><br />
<i>You must be logged in to view the shoutbox.</i>';
}
// YSHOUT END


It will notify the guest that he/she needs to log in.

d1m0n

Hello there, this shout box rulz ^^
Im using my custom theme "DilberMC"
But i have 1 little problem, that all alined to the left side  ::)

Screenshoot:
[nofollow]

index.template.php:
<?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'] = false;

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

// 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'" />';

// 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;
}
// ]]></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>'
;

//This is for the pop menus
echo '
<script type="text/javascript">

/***********************************************
* Drop Down/ Overlapping Content- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function getposOffset(overlay, offsettype){
var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
var parentEl=overlay.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function overlay(curobj, subobjstr, opt_position){
if (document.getElementById){
var subobj=document.getElementById(subobjstr)
subobj.style.display=(subobj.style.display!="block")? "block" : "none"
var xpos=getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0) 
var ypos=getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
subobj.style.left=xpos+"px"
subobj.style.top=ypos+"px"
return false
}
else
return true
}

function overlayclose(subobj){
document.getElementById(subobj).style.display="none"
}

</script>'
;
echo '
</head>
<body>'
;

echo '
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="top-logo"><img src="'
$settings['images_url'], '/logo.jpg" width="358" height="91" alt="SlickPro Graphite" title="SlickPro Graphite" /></td>
</tr>
<tr>
<td width="100%" align="left" valign="top" style="padding:0 30px 0 30px;">'
;

echo '
<div class="tborder" '
$context['browser']['needs_size_fix'] && !$context['browser']['is_ie6'] ? ' style="width: 100%;"' '''>';


// display user name
echo '
<table width="100%" cellspacing="1" cellpadding="5" class="bordercolor" border="0" >
<tr>'
;

echo '
<td class="windowbg2" width="100%" valign="middle" align="left">
'
theme_linktree2(), '
</td>'
;

echo '
<td width="250" valign="top" class="windowbg"><span class="middletext" style="display:block;width:250px;">'
;

if($context['user']['is_logged'])
{
echo '
<strong>Welcome, '
$context['user']['name'] , '.</strong><br />';
}

// Go to PM center... [pm]
if ($context['user']['is_logged'] && $context['allow_pm'])
{
echo ((isset($current_action) && $curent_action == 'pm') || $context['browser']['is_ie4']) ? '' '' '
<a href="'
$scripturl'?action=pm">Private Messages</a>: '$context['user']['unread_messages'], ' Unread, '$context['user']['messages'], ' Total.<br />';
}

// Now, onto our second set of info, are they logged in again?
if ($context['user']['is_logged'])
{
// Is the forum in maintenance mode?
if ($context['in_maintenance'] && $context['user']['is_admin'])
echo '
<b>'
$txt[616], '</b><br />';

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

// Show the total time logged in?
if (!empty($context['user']['total_time_logged_in']))
{
echo '
'
$txt['totalTimeLogged1'], '<br />';

// If days is just zero, don't bother to show it.
if ($context['user']['total_time_logged_in']['days'] > 0)
echo $context['user']['total_time_logged_in']['days'] . $txt['totalTimeLogged2'];

// Same with hours - only show it if it's above zero.
if ($context['user']['total_time_logged_in']['hours'] > 0)
echo $context['user']['total_time_logged_in']['hours'] . $txt['totalTimeLogged3'];

// But, let's always show minutes - Time wasted here: 0 minutes ;).
echo $context['user']['total_time_logged_in']['minutes'], $txt['totalTimeLogged4'], '<br />';
}
}
// Otherwise they're a guest - this time ask them to either register or login - lazy bums...
else
{
echo ' </span>
<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'], '" class="middletext" style="margin: 3px 1ex 1px 0;"', empty($context['disable_login_hashing']) ? ' onsubmit="hashLoginPassword(this, \'' $context['session_id'] . '\');"' '''>
<table border="0" cellpadding="1" cellspacing="0">
<tr>
<td>Username:</td>
<td><input type="text" name="user" size="10" /></td>
<td><select name="cookielength">
<option value="60">'
$txt['smf53'], '</option>
<option value="1440">'
$txt['smf47'], '</option>
<option value="10080">'
$txt['smf48'], '</option>
<option value="43200">'
$txt['smf49'], '</option>
<option value="-1" selected="selected">'
$txt['smf50'], '</option>
</select></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="passwrd" size="10" /></td>
<td><input type="submit" value="'
$txt[34], '" /></td>
</tr>
</table>
<input type="hidden" name="hash_passwrd" value="" />
</form>'
;
}

echo '
</span>
</td>
</tr>
</table>'
;

echo '
<table id="upshrinkHeader2"'
, empty($options['collapse_header']) ? '' ''' width="100%" cellpadding="4" cellspacing="0" border="0">
<tr>'
;


echo '
<td width="90%" class="column-title">
'
template_menu(), '
</td>'
;
echo '
</tr>
</table>
</div>'
;


// The main content should go here.
echo '
<div id="bodyarea">'
;

// If you want to put some ads or something on your pages, add them in this.
echo '
<div id="blank-box"></div>'
;
}

function 
template_main_below()
{
global $context$settings$options$scripturl$txt;

echo '
</div>'
;

// Show the "Powered by" and "Valid" logos, as well as the copyright. Remember, the copyright must be somewhere!
echo '

<div id="footerarea" style="text-align: center; padding-bottom: 1ex;'
$context['browser']['needs_size_fix'] && !$context['browser']['is_ie6'] ? ' width: 100%;' '''">
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
function smfFooterHighlight(element, value)
{
element.src = smf_images_url + "/" + (value ? "h_" : "") + element.id + ".gif";
}
// ]]></script>
<table cellspacing="0" cellpadding="3" border="0" align="center" width="100%">
<tr>
<td width="28%" valign="middle" align="left" class="copyright-links">
Theme by <a href="http://www.m3talc0re.com/" target="_blank" style="font-size:10px;">m3talc0re</a>.
</td>
<td valign="middle" align="center" style="white-space: nowrap;" class="copyright-links">
'
theme_copyright(), '
</td>
<td width="28%" valign="middle" align="right" class="copyright-links">
<a href="http://www.mysql.com/" target="_blank" style="font-size:10px;">MySQL</a>&nbsp;|&nbsp;<a href="http://www.php.net/" target="_blank" style="font-size:10px;">PHP</a>&nbsp;|&nbsp;<a href="http://validator.w3.org/check/referer" target="_blank" style="font-size:10px;">XHTML</a>&nbsp;|&nbsp;<a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank" style="font-size:10px;">CSS</a>
</td>
</tr>
</table>'
;

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

// This is an interesting bug in Internet Explorer AND Safari. Rather annoying, it makes overflows just not tall enough.
if (($context['browser']['is_ie'] && !$context['browser']['is_ie4']) || $context['browser']['is_mac_ie'] || $context['browser']['is_safari'] || $context['browser']['is_firefox'])
{
// The purpose of this code is to fix the height of overflow: auto div blocks, because IE can't figure it out for itself.
echo '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA['
;

// Unfortunately, Safari does not have a "getComputedStyle" implementation yet, so we have to just do it to code...
if ($context['browser']['is_safari'])
echo '
window.addEventListener("load", smf_codeFix, false);

function smf_codeFix()
{
var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

for (var i = 0; i < codeFix.length; i++)
{
if ((codeFix[i].className == "code" || codeFix[i].className == "post" || codeFix[i].className == "signature") && codeFix[i].offsetHeight < 20)
codeFix[i].style.height = (codeFix[i].offsetHeight + 20) + "px";
}
}'
;
elseif ($context['browser']['is_firefox'])
echo '
window.addEventListener("load", smf_codeFix, false);
function smf_codeFix()
{
var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

for (var i = 0; i < codeFix.length; i++)
{
if (codeFix[i].className == "code" && (codeFix[i].scrollWidth > codeFix[i].clientWidth || codeFix[i].clientWidth == 0))
codeFix[i].style.overflow = "scroll";
}
}'
;
else
echo '
var window_oldOnload = window.onload;
window.onload = smf_codeFix;

function smf_codeFix()
{
var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

for (var i = codeFix.length - 1; i > 0; i--)
{
if (codeFix[i].currentStyle.overflow == "auto" && (codeFix[i].currentStyle.height == "" || codeFix[i].currentStyle.height == "auto") && (codeFix[i].scrollWidth > codeFix[i].clientWidth || codeFix[i].clientWidth == 0) && (codeFix[i].offsetHeight != 0 || codeFix[i].className == "code"))
codeFix[i].style.height = (codeFix[i].offsetHeight + 36) + "px";
}

if (window_oldOnload)
{
window_oldOnload();
window_oldOnload = null;
}
}'
;

echo '
// ]]></script>'
;
}

echo '
</div></td></tr></table>'
;

// The following will be used to let the user know that some AJAX process is running
echo '
<div id="ajax_in_progress" style="display: none;'
$context['browser']['is_ie'] && !$context['browser']['is_ie7'] ? 'position: absolute;' '''">'$txt['ajax_in_progress'], '</div>
</body></html>'
;
}

// If the user is logged in, display stuff like their  new messages, etc...
function theme_newestlink()
{
global $context$settings$options$scripturl$txt;

if ($context['user']['is_logged'])
{
echo '
<a href="'
$scripturl'?action=unread">'$txt['unread_since_visit'], '</a>&nbsp;|&nbsp;<a href="'$scripturl'?action=unreadreplies">'$txt['show_unread_replies'], '</a>';

}
// Otherwise they're a guest - send them a lovely greating...
else
echo $txt['welcome_guest'];
}

// Show a linktree. This is that thing that shows "My Community | General Category | General Discussion".. THIS IS THE OLD ONE's FIX
function theme_linktree()
{
global $context$settings$options;

echo '<br />';
}

// Show a linktree. This is that thing that shows "My Community | General Category | General Discussion".. THIS IS THE OLD ONE
function theme_linktreeOLD()
{
global $context$settings$options;

echo '<div class="nav-tree" style="font-size: smaller; margin-bottom: 2ex; margin-top: 2ex;text-align:center;">';

// 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">' $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;&raquo;&nbsp;';
}

echo '</div>';
}

//Show a linktree (this one is a vB look alike, vB clone is below).
function theme_linktree2()
{
global $context$settings$options;

// Folder style or inline?  Inline has a smaller font.
echo '<span class="nav-tree" style="font-size: smaller;">';

// Each tree item has a URL and name.  Some may have extra_before and extra_after.
foreach ($context['linktree'] as $link_num => $tree)
{
// Show pretty folder
if ($link_num == 0)
{
echo '<img src="' $settings['images_url'] . '/icons/folder_open.gif" alt="+" border="0" />&nbsp; ';
}
else if ($link_num == 1)
{
echo '<img src="' $settings['images_url'] . '/icons/linktree_side.gif" alt="|-" border="0" /><img src="' $settings['images_url'] . '/icons/folder_open.gif" alt="+" border="0" />&nbsp; ';
}
else
{
echo '&raquo; ';
}

// 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">' $tree['name'] . '</a>' $tree['name'], '</b>';

if ($link_num == 0)
{
echo '<br />';
}
}

echo '</span>';
}

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

  // Folder style or inline?  Inline has a smaller font.
  echo '<span class="nav-tree">';

echo '<img src="' $settings['images_url'] . '/icons/folder_open.gif" alt="+" border="0" />&nbsp;';

echo '<b><a class="nav-tree" href="http://www.webtechnica.com/">WebTechnica</a></b>&nbsp;&raquo;&nbsp;';

  // 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'];

 if (($link_num == count($context['linktree']) - 1) && count($context['linktree'])>1)
echo '<br />
<img src="' 
$settings['images_url'] . '/icons/linktree_side.gif" alt="|-" border="0" /><img src="' $settings['images_url'] . '/icons/folder_open.gif" alt="+" border="0" />&nbsp;';

 // 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">' $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']) - 2)
echo '&nbsp;&raquo;&nbsp;';

  }

  echo '</span>';
}

// 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''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')))
$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';

// 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 '
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>'
;

// Show the [home] button.
echo '
<td class="main-navigation"><a href="'
$scripturl'">' $txt[103] , '</a></td>';

// Show the [help] button.
echo '
<td class="main-navigation"><a href="'
$scripturl'?action=help">' $txt[119] , '</a></td>';

// How about the [search] button?
if ($context['allow_search'])
echo '
<td class="main-navigation"><a href="'
$scripturl'?action=search" onClick="return overlay(this, \'subcontent\',\'bottom\')">' $txt[182] , '<img src="'$settings['images_url'], '/search_down.gif" width="10" height="10" /></a>
<!--Do not remove outer most DIV tag with id="subcontent"-->
<DIV id="subcontent" style="position:absolute; border: 2px solid #3d3d3d; background-color: white; width: 210px; padding: 2px; display:none">
<table width="100%" border="0" cellpadding="0" cellspacing="1">
<tr>
<td class="catbg" height="20" align="left" valign="middle" style="color:#ffffff;">Pesquisa rápida</td>
</tr>
<tr>
<td height="26" align="left" valign="middle" class="windowbg">
<form action="'
$scripturl'?action=search2" method="post" accept-charset="'$context['character_set'], '" style="margin: 0;">
<input type="text" name="search" value="" style="width: 150px;" />&nbsp;
<input type="submit" name="submit" value="GO" />
<input type="hidden" name="advanced" value="0" />'
;

// Search within current topic?
if (!empty($context['current_topic']))
echo '
<input type="hidden" name="topic" value="'
$context['current_topic'], '" />';

// If we're on a certain board, limit it to this board ;).
elseif (!empty($context['current_board']))
echo '
<input type="hidden" name="brd['
$context['current_board'], ']" value="'$context['current_board'], '" />';

echo '
</form></td>
</tr>
<tr>
<td height="20" align="center" valign="middle" class="windowbg"><a href="'
$scripturl'?action=search;advanced">Pesquisa Avançada</a></td>
</tr>
</table>
<div align="right" style="font-size:10px;"><a href="#" onClick="overlayclose(\'subcontent\'); return false">[Fechar]</a></div>

</DIV>
</td>'
;

// Is the user allowed to administrate at all? ([admin])
if ($context['allow_admin'])
echo '
<td class="main-navigation"><a href="'
$scripturl'?action=admin">' $txt[2] , '</a></td>';

// The [calendar]!
if ($context['allow_calendar'])
echo '
<td class="main-navigation"><a href="'
$scripturl'?action=calendar">' $txt['calendar24'] , '</a></td>';

// the [member] list button
if ($context['allow_memberlist'])
echo '
<td class="main-navigation"><a href="'
$scripturl'?action=mlist">' $txt[331] , '</a></td>';


// If the user is a guest, show [login] button.
if ($context['user']['is_guest'])
echo '
<td class="main-navigation"><a href="'
$scripturl'?action=login">' $txt[34] , '</a></td>';


// If the user is a guest, also show [register] button.
if ($context['user']['is_guest'])
echo '
<td class="main-navigation"><a href="'
$scripturl'?action=register">' $txt[97] , '</a></td>';


// Otherwise, they might want to [logout]...
if ($context['user']['is_logged'])
echo '
<td class="main-navigation"><a href="'
$scripturl'?action=logout;sesc='$context['session_id'], '">' $txt[108] , '</a></td>';

// How about the [quick links] button?
if ($context['user']['is_logged'])
echo '
<td class="main-navigation"><a href="'
$scripturl'#quicklinks" onClick="return overlay(this, \'quicklinks\',\'bottomright\')">Links rápidos<img src="'$settings['images_url'], '/search_down.gif" width="10" height="10" /></a>
<!--Do not remove outer most DIV tag with id="quicklinks"-->
<DIV id="quicklinks" style="position:absolute; border: 2px solid #3d3d3d; background-color: white; width: 150px; padding: 2px; display:none">
<table width="100%" border="0" cellpadding="0" cellspacing="1">
<tr>
<td class="catbg" height="20" align="left" valign="middle" style="color:#ffffff;">Links rápidos</td>
</tr>
<tr>
<td height="20" align="left" valign="middle" class="windowbg"><a href="'
$scripturl'?action=unread">Novos tópicos</a></td>
</tr>
<tr>
<td height="20" align="left" valign="middle" class="windowbg"><a href="'
$scripturl'?action=unreadreplies">Novas respostas</a></td>
</tr>
<tr>
<td class="catbg" height="20" align="left" valign="middle" style="color:#ffffff;">Configurações</td>
</tr>
<tr>
<td height="20" align="left" valign="middle" class="windowbg"><a href="'
$scripturl'?action=profile">Ver Perfil</a></td>
</tr>
<tr>
<td height="20" align="left" valign="middle" class="windowbg"><a href="'
$scripturl'?action=profile;u='$context['user']['id'], ';sa=account">Config da Conta</a></td>
</tr>
<tr>
<td height="20" align="left" valign="middle" class="windowbg"><a href="'
$scripturl'?action=profile;u='$context['user']['id'], ';sa=forumProfile">Editar Perfil</a></td>
</tr>
</table>
<div align="right" style="font-size:10px;"><a href="#" onClick="overlayclose(\'quicklinks\'); return false">[Fechar]</a></div>

</DIV>
</td>'
;

// The end of tab section.
echo '
</tr>
</table>'
;

}

// Generate a strip of buttons.
function TEXTLINKS_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 height="40" valign="middle" 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>';
}

?>


Can anyone help me? thx.

brianjw

TP is good software but I have to say!!!!

I have to say that this shoutbox is way the hell better. The one on TP is not autorefreshing and u have to refresh manually to see new posts. I used the code akulion provided us to put this shoutbox in a block! :D

nneonneo

Quote from: d1m0n on January 14, 2007, 03:20:58 PM
Hello there, this shout box rulz ^^
Im using my custom theme "DilberMC"
But i have 1 little problem, that all alined to the left side  ::)

Screenshoot:


index.template.php:
[snip]

Can anyone help me? thx.

I see that you've fixed the problem, great job! Forum looks nice ;)
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

d1m0n

#192
I solved my problem ^^ :P :D:D

Ok, who wants already edited index.template.php for Dilber MC theme its attached to this post ;)

Screenshoot:
[nofollow]

P.S: nneonneo I saw that you reply'ed fester than me :P thx anyway :) Good work m8 Keep It UP

Daggers

Thanks to d1mon for the dilbur template  :D

But it just keeps saying 'You must be logged in to post' I have cleared cookies,etc but still nothing  :-[


d1m0n

Daggers, no prob ^^

Now i have 1 prob too! Another 1...
in homedir/yshout/ apears file error_log

Error_log:
[15-Jan-2007 09:58:11] PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: open(/tmp/sess_a026b2d660323a050ef6bff5ca92f41d, O_RDWR) failed: Permission denied (13) in /myhome/mydir/public_html/yshout/yshout.php on line 13
[15-Jan-2007 09:58:11] PHP Warning:  Unknown(): open(/tmp/sess_a026b2d660323a050ef6bff5ca92f41d, O_RDWR) failed: Permission denied (13) in Unknown on line 0
[15-Jan-2007 09:58:11] PHP Warning:  Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0


Already CHMODED all stuff to 777... And created ...tmp/ directory, :o always the same, and the bad thing is that error_log file size is always rising! Always logging the same error :S

nneonneo

The webserver has no access to "/tmp" folder, where PHP keeps session data. I have no idea why that error might occur, but try creating "/tmp" (*not* tmp/) and chmod'ing it to 777.
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

DJ Rg

I am liking this lite shout box and my members are liking it..

but how do i get rid of .... all history

thanks much..

nneonneo

Permanently, or temporarily? Temporarily, deleting yshout/chats/history.home.txt will do the trick.
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

DJ Rg

#198
Quote from: nneonneo on January 16, 2007, 04:29:18 PM
Permanently, or temporarily? Temporarily, deleting yshout/chats/history.home.txt will do the trick.

thanks nneonneo ..where do i find that?

EDIT: OK Found it ;)

Thanks again

Gskellig

This is freaking awesome. I had like 8 problems to begin with, but after I worked out the bugs it worked BEAUTIFULLY! (This thread helped me a bunch).
Only thing that would be nice is a way for it to work with all themes without installation. Kinda forcing me to use one or two themes...
(I know it can't really be done I'm just throwing it out there)
If you guys want to preview... hxxp:hatred.co.nr [nonactive]


Advertisement: