nneonneo's Shoutbox

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

Previous topic - Next topic

Threepwud

Hey peeps - going through this and it's all rather confusing!

To answer to people, yes, you can install this mod on a fresh install of 2.0 RC2 but I am sure there needs to be some manual modding after. I've inserted the code manually myself as the package manager just seems to miss something.

The forum in question is threepwud.com (I know I shouldn't link but perhaps this is the best way to show my problem) - it displays thusly. Is there anything I can do to get it to display properly? Would this script from above work or is that for something completely different?

   // YSHOUT HERE - shoutbox code      echo '                     <br /><b>',$txt['yshout_shoutbox'],'</b><br /><br />                     <div id="yshout">',$txt['yshout_loading'],'<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></div>';      // YSHOUT END - shoutbox code

Threepwud

Alright folks, so I've changed the code for

// YSHOUT HERE - shoutbox code
   global $txt,$context,$boarddir;
   if(allowedTo('yshout_view'))
   {
      echo '<br /><b>',$txt['yshout_shoutbox'],'</b><br /><br />';
      echo '<div id="yshout">';
      include_once($boarddir.'/yshout/yshout.php');
      echo '</div>';
   }
   elseif($context['user']['is_guest'])
      echo $txt['yshout_no_guests'];
   // YSHOUT END - shoutbox code

and added it in the news section and hey it works so much better. But between the avatar on top there is a huge gap - how do I rid myself of that?



motomaniacs

i installed this mod mannualy because i use a custom theme
the problem is if i type a word in the box and click shout i cant see the word i was typing i only can see if i click on the history tab
did i miss something?
please help

cheers

Threepwud

This happened to me, motomaniacs. Depending on the theme you've used, could be this code:

         // YSHOUT HERE - shoutbox code
   global $txt,$context,$boarddir;
   if(allowedTo('yshout_view'))
   {
      echo '<br /><b>',$txt['yshout_shoutbox'],'</b><br /><br />';
      echo '<div id="yshout">';
      include_once($boarddir.'/yshout/yshout.php');
      echo '</div>';
   }
   elseif($context['user']['is_guest'])
      echo $txt['yshout_no_guests'];
   // YSHOUT END - shoutbox code


I placed it where it was manually suggested but I moved it elsewhere and it worked much better (for me, anyways). Could you PM a link so I'm sure it's the same problem? Cheers matey

motomaniacs

could you suggest what code should be fixed?

bladewfe

I have read through the thread and found somthing I need, but it doesn't help me.

I have the shoutbox installed, but I can't seem to get the text in it to align to the left, it is currently centered.

I think it is this code i need to change

Quote<td class="catbg"> &nbsp;News</td>
      </tr>

      <tr>
         <td valign="middle" align="center" height="60">

But I don't know where to find it?

Any help or other ways to get the text to align to the left would be appreciated.

Slateer

i have problem...
img31.imageshack.us/img31/2279/chatxg.png

and I would like to make it look so
img513.imageshack.us/img513/9990/beztytuulgc.png

BoardIndex.template.php

<?php
// Version: 2.0 RC2; BoardIndex

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

// Show some statistics if stat info is off.
if (!$settings['show_stats_index'])
echo '
<p id="stats">
'
$txt['members'], ': '$context['common_stats']['total_members'], ' &nbsp;&#38;#8226;&nbsp; '$txt['posts_made'], ': '$context['common_stats']['total_posts'], ' &nbsp;&#38;#8226;&nbsp; '$txt['topics'], ': '$context['common_stats']['total_topics'], '
'
, ($settings['show_latest_member'] ? '<br />' $txt['welcome_member'] . ' <strong>' $context['common_stats']['latest_member']['link'] . '</strong>' $txt['newest_member'] : '') , '
</p>'
;

// Show the news fader?  (assuming there are things to show...)
if ($settings['show_newsfader'] && !empty($context['fader_news_lines']))
{
echo '
<div class="tborder marginbottom">
<h3 id="newsfader" class="catbg">
<img id="newsupshrink" src="'
$settings['images_url'], '/collapse.gif" alt="*" title="'$txt['upshrink_description'], '" align="bottom" style="display: none;" />
'
$txt['news'], '
</h3>
<div class="windowbg2" id="smfNewsFader">
<div id="smfFadeScroller"><span>'
$context['news_lines'][0], '</span></div>
</div>
</div>
<script type="text/javascript" src="'
$settings['default_theme_url'], '/scripts/fader.js"></script>
<script type="text/javascript"><!-- // --><![CDATA[

// Create a news fader object.
var oNewsFader = new smf_NewsFader({
sSelf: \'oNewsFader\',
sFaderControlId: \'smfFadeScroller\',
aFaderItems: [
"'
,
implode('",
"'
$context['fader_news_lines']), '"],
sItemTemplate: '
JavaScriptEscape('<strong>%1$s</strong>'), ',
iFadeDelay: '
, empty($settings['newsfader_time']) ? 5000 $settings['newsfader_time'], '
});

// Create the news fader toggle.
var smfNewsFadeToggle = new smc_Toggle({
bToggleEnabled: true,
bCurrentlyCollapsed: '
, empty($options['collapse_news_fader']) ? 'false' 'true'',
aSwappableContainers: [
\'smfNewsFader\'
],
aSwapImages: [
{
sId: \'newsupshrink\',
srcExpanded: smf_images_url + \'/collapse.gif\',
altExpanded: '
JavaScriptEscape($txt['upshrink_description']), ',
srcCollapsed: smf_images_url + \'/expand.gif\',
altCollapsed: '
JavaScriptEscape($txt['upshrink_description']), '
}
],
oThemeOptions: {
bUseThemeSettings: '
$context['user']['is_guest'] ? 'false' 'true'',
sOptionName: \'collapse_news_fader\',
sSessionVar: '
JavaScriptEscape($context['session_var']), ',
sSessionId: '
JavaScriptEscape($context['session_id']), '
},
oCookieOptions: {
bUseCookie: '
$context['user']['is_guest'] ? 'true' 'false'',
sCookieName: \'newsupshrink\'
}
});
// ]]></script>'
;
}

/* Each category in categories is made up of:
id, href, link, name, is_collapsed (is it collapsed?), can_collapse (is it okay if it is?),
new (is it new?), collapse_href (href to collapse/expand), collapse_image (up/down image),
and boards. (see below.) */
foreach ($context['categories'] as $category)
{
// If theres no parent boards we can see, avoid showing an empty category (unless its collapsed)
if (empty($category['boards']) && !$category['is_collapsed'])
continue;

echo '
<div class="categoryframe tborder clearfix">
<h3 class="catbg'
$category['new'] ? '2' '''">';

if (!$context['user']['is_guest'] && !empty($category['show_unread']))
echo '
<a class="floatright" href="'
$scripturl'?action=unread;c='$category['id'], '">'$txt['view_unread_category'], '</a>';

// If this category even can collapse, show a link to collapse it.
if ($category['can_collapse'])
echo '
<a href="'
$category['collapse_href'], '">'$category['collapse_image'], '</a>&nbsp;';

echo $category['link'];

echo '
</h3>'
;

// Assuming the category hasn't been collapsed...
if (!$category['is_collapsed'])
{
echo '
<table cellspacing="1" class="bordercolor boardsframe">'
;

/* Each board in each category's boards has:
new (is it new?), id, name, description, moderators (see below), link_moderators (just a list.),
children (see below.), link_children (easier to use.), children_new (are they new?),
topics (# of), posts (# of), link, href, and last_post. (see below.) */
foreach ($category['boards'] as $board)
{
echo '
<tr>
<td'
, !empty($board['children']) ? ' rowspan="2"' ''' class="windowbg icon">
<a href="'
, ($board['is_redirect'] || $context['user']['is_guest'] ? $board['href'] : $scripturl '?action=unread;board=' $board['id'] . '.0;children'), '">';

// If the board or children is new, show an indicator.
if ($board['new'] || $board['children_new'])
echo '
<img src="'
$settings['images_url'], '/on'$board['new'] ? '' '2''.gif" alt="'$txt['new_posts'], '" title="'$txt['new_posts'], '" border="0" />';
// Is it a redirection board?
elseif ($board['is_redirect'])
echo '
<img src="'
$settings['images_url'], '/redirect.gif" alt="*" title="*" border="0" />';
// No new posts at all! The agony!!
else
echo '
<img src="'
$settings['images_url'], '/off.gif" alt="'$txt['old_posts'], '" title="'$txt['old_posts'], '" />';

echo '
</a>
</td>
<td class="windowbg2 info">
<h4><a href="'
$board['href'], '" name="b'$board['id'], '">'$board['name'], '</a>';

// Has it outstanding posts for approval?
if ($board['can_approve_posts'] && ($board['unapproved_posts'] || $board['unapproved_topics']))
echo '
<a href="'
$scripturl'?action=moderate;area=postmod;sa=', ($board['unapproved_topics'] > $board['unapproved_posts'] ? 'topics' 'posts'), ';brd='$board['id'], ';'$context['session_var'], '='$context['session_id'], '" title="'sprintf($txt['unapproved_posts'], $board['unapproved_topics'], $board['unapproved_posts']), '" class="moderation_link">(!)</a>';

echo '
</h4>
<p>'
$board['description'] , '</p>';

// Show the "Moderators: ". Each has name, href, link, and id. (but we're gonna use link_moderators.)
if (!empty($board['moderators']))
echo '
<p class="moderators">'
count($board['moderators']) == $txt['moderator'] : $txt['moderators'], ': 'implode(', '$board['link_moderators']), '</p>';

// Show some basic information about the number of posts, etc.
echo '
</td>
<td'
, !empty($board['children']) ? ' rowspan="2"' ''' class="windowbg stats smalltext">
'
comma_format($board['posts']), ' '$board['is_redirect'] ? $txt['redirects'] : $txt['posts'], ' <br />
'
$board['is_redirect'] ? '' comma_format($board['topics']) . ' ' $txt['board_topics'], '
</td>
<td'
, !empty($board['children']) ? ' rowspan="2"' ''' class="windowbg2 smalltext lastpost">';

/* The board's and children's 'last_post's have:
time, timestamp (a number that represents the time.), id (of the post), topic (topic id.),
link, href, subject, start (where they should go for the first unread post.),
and member. (which has id, name, link, href, username in it.) */
if (!empty($board['last_post']['id']))
echo '
<strong>'
$txt['last_post'], '</strong>  '$txt['by'], ' '$board['last_post']['member']['link'] , '<br />
'
$txt['in'], ' '$board['last_post']['link'], '<br />
'
$txt['on'], ' '$board['last_post']['time'];
echo '
</td>
</tr>'
;

// Show the "Child Boards: ". (there's a link_children but we're going to bold the new ones...)
if (!empty($board['children']))
{
// Sort the links into an array with new boards bold so it can be imploded.
$children = array();
/* Each child in each board's children has:
id, name, description, new (is it new?), topics (#), posts (#), href, link, and last_post. */
foreach ($board['children'] as $child)
{
if (!$child['is_redirect'])
$child['link'] = '<a href="' $child['href'] . '" title="' . ($child['new'] ? $txt['new_posts'] : $txt['old_posts']) . ' (' $txt['board_topics'] . ': ' comma_format($child['topics']) . ', ' $txt['posts'] . ': ' comma_format($child['posts']) . ')">' $child['name'] . '</a>';
else
$child['link'] = '<a href="' $child['href'] . '" title="' comma_format($child['posts']) . ' ' $txt['redirects'] . '">' $child['name'] . '</a>';

// Has it posts awaiting approval?
if ($child['can_approve_posts'] && ($child['unapproved_posts'] | $child['unapproved_topics']))
$child['link'] .= ' <a href="' $scripturl '?action=moderate;area=postmod;sa=' . ($child['unapproved_topics'] > $child['unapproved_posts'] ? 'topics' 'posts') . ';brd=' $child['id'] . ';' $context['session_var'] . '=' $context['session_id'] . '" title="' sprintf($txt['unapproved_posts'], $child['unapproved_topics'], $child['unapproved_posts']) . '" class="moderation_link">(!)</a>';

$children[] = $child['new'] ? '<strong>' $child['link'] . '</strong>' $child['link'];
}
echo '
<tr>
<td class="windowbg3 smalltext largepadding"><strong>'
$txt['parent_boards'], '</strong>: 'implode(', '$children), '</td>
</tr>'
;
}
}
echo '
</table>'
;
}
echo '
</div>'
;
}

if ($context['user']['is_logged'])
{
echo '
<div id="modbuttons_bottom" class="modbuttons clearfix">
<div id="posticons" class="clearfix marginbottom">
<div class="smalltext floatleft">
<img src="'
$settings['images_url'], '/new_some.gif" alt="" align="middle" /> '$txt['new_posts'], '
<img src="'
$settings['images_url'], '/new_none.gif" alt="" align="middle" style="margin-left: 4ex;" /> '$txt['old_posts'], '
</div>'
;

// Mark read button.
$mark_read_button = array(
'markread' => array('text' => 'mark_as_read''image' => 'markread.gif''lang' => true'url' => $scripturl '?action=markasread;sa=all;' $context['session_var'] . '=' $context['session_id']),
);

// Show the mark all as read button?
if ($settings['show_mark_read'] && !empty($context['categories']))
template_button_strip($mark_read_button'top');

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




// top stats collapse object.
echo '
<script language="JavaScript" type="text/javascript"><!-- // -->'
;

echo chr(60) . chr(33) . chr(91) . chr(67) . chr(68) . chr(65) . chr(84) . chr(65) . chr(91);
echo '
var current_header_tops = '
, empty($options['collapse_header_tops']) ? 'false' 'true'';
function shrinkHeaderTOPS(mode)
{'
;
if ($context['user']['is_guest'])
echo '
document.cookie = "upshrinkTOPS=" + (mode ? 1 : 0);'
;
else
echo '
smf_setThemeOption("collapse_header_tops", mode ? 1 : 0, null, "'
$context['session_id'], '");';

echo '
document.getElementById("upshrink_tops").src = smf_images_url + (mode ? "/expand.gif" : "/collapse.gif");
document.getElementById("upshrinkHeaderTOPS").style.display = mode ? "none" : "";
current_header_tops = mode;
}
// '
;
echo chr(93) . chr(93) . chr(62);
echo '
</script>'
;

//shoutbox
       
echo'<div class="tborder" style="margin-top: 0;">
 <div class="catbg" style="padding: 5px 5px 5px 10px;">
  <center>.:: Shoutbox - Tu nie zadajemy pytań, od tego jest forum! ::.</center>
 </div>
 <table border="0" width="100%" cellspacing="1" cellpadding="5" class="bordercolor" style="margin-top: 1px;">
  <tr>
   <td class="windowbg">
 <div id="yshout"'
, empty($options['collapse_header']) ? '>' ' style="display: none;">',$txt['yshout_loading'],'</div>
<div class="smalltext" style="padding-left:25px;"><a href="javascript:collapse1.slidedown()">Pokaż Emotki</a> | <a href="javascript:collapse1.slideup()">Zamknij</a>'
;
                     require(
'mymod/smiley_SMF_2.php');
                     
loadSmileys();
                  echo 
'
                     <div id="smiley_pic">'
;
                        
printSmileys('shout_form','shout_text');
                  echo 
'
                     </div>
                     <script type="text/javascript">
                     //Syntax: var uniquevar=new animatedcollapse("DIV_id", animatetime_milisec, enablepersist(true/fase), [initialstate] )
                     var collapse1=new animatedcollapse("smiley_pic", 1000, false)
                     </script>
                  </div>
         </td>
  </tr>
 </table>
    </div><br />'
;
   
  //top stats start. by www.gorselsanatlar.org
loadLanguage('Stats');

echo '<br />
<div class="tborder" '
$context['browser']['needs_size_fix'] && !$context['browser']['is_ie6'] ? 'style="width: 100%;"' '''>
<div class="catbg" style="padding: 6px; vertical-align: middle; text-align: center; ">
<a href="#" onclick="shrinkHeaderTOPS(!current_header_tops); return false;"><img id="upshrink_tops" src="'
$settings['images_url'], '/', empty($options['collapse_header_tops']) ? 'collapse.gif' 'expand.gif''" alt="*" title="'$txt['upshrink_description'], '" style="margin-right: 2ex;" align="right" /></a>
'
$txt['forum_stats'], '
</div>
<div id="upshrinkHeaderTOPS"'
, empty($options['collapse_header_tops']) ? '' ' style="display: none;"''>
 <table border="0" width="100%" cellspacing="1" cellpadding="4" class="bordercolor">

    <tr>
        <td class="titlebg" width="10%" colspan="2" align="center">'
$txt['new'] ,' '$txt['members_title'], '</td>
        <td class="titlebg" width="24%" colspan="2" align="center">'
$txt['top_topics_views'], '</td>
        <td class="titlebg" width="66%" colspan="3" align="center">'
$txt['recent_posts'], '</td>
    </tr>
    <tr>
        <td class="windowbg2" width="10%" colspan="2" valign="top"><span class="smalltext"><b>'
$txt['user'], '</b></span><br />';
                  foreach (
$context['new_members'] as $poster)
        {
         echo 
'
         <img alt="" src="'
$settings['images_url'], '/icons/online.gif''" width="10" height="10" />
        <span class="smalltext">'
,$poster['link'], '</span><br />';
        }
        echo 
'
        </td>
        <td class="windowbg2" width="18%" valign="top"><span class="smalltext"><b>'
$txt['board_topics'], '</b></span><br />';
            foreach (
$context['top_topics_views'] as $topic)
        echo 
'
        <img alt="" src="'
$settings['images_url'], '/email_sm.gif''" width="10" />
        <span class="smalltext">'
$topic['link'], '</span><br />';    
        echo 
'</td>
        <td class="windowbg2" width="6%" align="right" valign="top"><span class="smalltext"><b>'
$txt['views'] ,'</b></span><br />';
            foreach (
$context['top_topics_views'] as $topic)
        echo 
'
        <img alt="" src="'
$settings['images_url'], '/icons/field_valid.gif" height="8" />       
        <span class="smalltext">'
$topic['num_views'], '</span><br />';
        echo 
'</td>
        <td class="windowbg2" width="22%" rowspan="3" valign="top"><span class="smalltext"><b>'
$txt['board_topics'], '</b></span><br />';
            if (!empty(
$context['latest_posts']))
            foreach (
$context['latest_posts'] as $post)
        echo 
'
        <img src="'
$settings['images_url'], '/email_sm.gif''" width="10" alt="" />
        <span class="smalltext" font size="2"><a href="'
,$post['href'],'">'$post['short_subject'], '</a></span><br />';
        echo 
'</td>
        <td class="windowbg2" width="14%" rowspan="3" valign="top"><span class="smalltext"><b>'
$txt['author'] ,'</b></span><br />';
            if (!empty(
$context['latest_posts']))
            foreach (
$context['latest_posts'] as $post)
        echo 
'
        <img alt="" src="'
$settings['images_url'], '/icons/online.gif''" width="10" height="10" />
        <span class="smalltext">'
$post['poster']['link'], '</span><br />';
        echo
'
        </td>
        <td class="windowbg2" width="20%" rowspan="3" valign="top"><span class="smalltext"><b>'
$txt['date'] ,'</b></span><br />';
            if (!empty(
$context['latest_posts']))
            foreach (
$context['latest_posts'] as $post)
            echo 
'
            <img alt="" src="'
$settings['images_url'], '/icons/calendar.gif''" width="10" />
            <span class="smalltext">'
$post['time'], '</span><br />';
        echo 
'</td>
    </tr>
    <tr>
        <td class="titlebg" width="20%" colspan="2" align="center">'
$txt['top_posters'], '</td>
        <td class="titlebg" width="24%" colspan="2" align="center">'
$txt['top_starters'], '</td>
    </tr>
    <tr>
        <td class="windowbg2" width="14%" valign="top"><span class="smalltext"><b>'
$txt['user'], '</b></span><br />';
            foreach (
$context['top_posters'] as $poster
        echo 
'
<img alt="" src="'
$settings['images_url'], '/icons/online.gif''" width="10" height="10" />
        <span class="smalltext">'
$poster['link'], '</span><br />';
        echo 
'</td>
        <td class="windowbg2" valign="top" align="right" width="6%"><span class="smalltext"><b>'
$txt['posts'], '</b></span><br />';
            foreach (
$context['top_posters'] as $poster)    
        echo 
'
        <img alt="" src="'
$settings['images_url'], '/icons/field_valid.gif" height="8" />  
        <span class="smalltext">'
$poster['num_posts'], '</span><br />';
        echo 
'</td>
        <td class="windowbg2" valign="top" width="18%"><span class="smalltext"><b>'
$txt['user'], '</b></span><br />';
            foreach (
$context['top_starters'] as $poster)
        echo 
'
        <img alt="" src="'
$settings['images_url'], '/icons/online.gif''" width="10" height="10" />
        <span class="smalltext">'
$poster['link'], '</span><br />';
        echo 
'</td>
        <td class="windowbg2" valign="top" align="right" width="6%"><span class="smalltext"><b>'
$txt['board_topics'], '</b></span><br />';
           foreach (
$context['top_starters'] as $poster)
        echo 
'
        <img alt="" src="'
$settings['images_url'], '/icons/field_valid.gif" height="8" />   
        <span class="smalltext">'
$poster['num_topics'], '</span><br />';
        echo 
'</td>
    </tr>
</table>
</div>
</div>'
;
   
    
//top stats finish. by www.gorselsanatlar.org
 
template_info_center();
}

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

// Here's where the "Info Center" starts...
echo '
<div class="tborder clearfix" id="infocenterframe">
<h3 class="catbg">
<img id="upshrink_ic" src="'
$settings['images_url'], '/collapse.gif" alt="*" title="'$txt['upshrink_description'], '" style="display: none;" />
'
sprintf($txt['info_center_title'], $context['forum_name_html_safe']), '
</h3>
<div id="upshrinkHeaderIC"'
, empty($options['collapse_header_ic']) ? '' ' style="display: none;"''>';

//Old Recent Posts Bar is removed !

// Show information about events, birthdays, and holidays on the calendar.
if ($context['show_calendar'])
{
echo '
<div class="infocenter_section">
<h4 class="titlebg">'
$context['calendar_only_today'] ? $txt['calendar_today'] : $txt['calendar_upcoming'], '</h4>
<div class="windowbg">
<p class="section">
<a href="'
$scripturl'?action=calendar' '"><img src="'$settings['images_url'], '/icons/calendar.gif''" alt="'$context['calendar_only_today'] ? $txt['calendar_today'] : $txt['calendar_upcoming'], '" /></a>
</p>
<div class="sectionbody windowbg2 smalltext">'
;

// Holidays like "Christmas", "Chanukah", and "We Love [Unknown] Day" :P.
if (!empty($context['calendar_holidays']))
echo '
<span class="holiday">'
$txt['calendar_prompt'], ' 'implode(', '$context['calendar_holidays']), '</span><br />';

// People's birthdays. Like mine. And yours, I guess. Kidding.
if (!empty($context['calendar_birthdays']))
{
echo '
<span class="birthday">'
$context['calendar_only_today'] ? $txt['birthdays'] : $txt['birthdays_upcoming'], '</span> ';
/* Each member in calendar_birthdays has:
id, name (person), age (if they have one set?), is_last. (last in list?), and is_today (birthday is today?) */
foreach ($context['calendar_birthdays'] as $member)
echo '
<a href="'
$scripturl'?action=profile;u='$member['id'], '">'$member['is_today'] ? '<strong>' ''$member['name'], $member['is_today'] ? '</strong>' '', isset($member['age']) ? ' (' $member['age'] . ')' '''</a>'$member['is_last'] ? '<br />' ', ';
}
// Events like community get-togethers.
if (!empty($context['calendar_events']))
{
echo '
<span class="event">'
$context['calendar_only_today'] ? $txt['events'] : $txt['events_upcoming'], '</span> ';
/* Each event in calendar_events should have:
title, href, is_last, can_edit (are they allowed?), modify_href, and is_today. */
foreach ($context['calendar_events'] as $event)
echo '
'
$event['can_edit'] ? '<a href="' $event['modify_href'] . '" style="color: #FF0000;">*</a> ' ''$event['href'] == '' '' '<a href="' $event['href'] . '">'$event['is_today'] ? '<strong>' $event['title'] . '</strong>' $event['title'], $event['href'] == '' '' '</a>'$event['is_last'] ? '<br />' ', ';

// Show a little help text to help them along ;).
if ($context['calendar_can_edit'])
echo '
(<a href="'
$scripturl'?action=helpadmin;help=calendar_how_edit" onclick="return reqWin(this.href);">'$txt['calendar_how_edit'], '</a>)';
}
echo '
</div>
</div>
</div>'
;
}


// Show statistical style information...
if ($settings['show_stats_index'])
{
echo '
<div class="infocenter_section">
<h4 class="titlebg">'
$txt['forum_stats'], '</h4>
<div class="windowbg">
<p class="section">
<a href="'
$scripturl'?action=stats"><img src="'$settings['images_url'], '/icons/info.gif" alt="'$txt['forum_stats'], '" /></a>
</p>
<div class="windowbg2 sectionbody middletext">
'
$context['common_stats']['total_posts'], ' '$txt['posts_made'], ' '$txt['in'], ' '$context['common_stats']['total_topics'], ' '$txt['topics'], ' '$txt['by'], ' '$context['common_stats']['total_members'], ' '$txt['members'], '. ', !empty($settings['show_latest_member']) ? $txt['latest_member'] . ': <strong> ' $context['common_stats']['latest_member']['link'] . '</strong>' '''<br />
'
, (!empty($context['latest_post']) ? $txt['latest_post'] . ': <strong>&quot;' $context['latest_post']['link'] . '&quot;</strong>  ( ' $context['latest_post']['time'] . ' )<br />' ''), '
<a href="'
$scripturl'?action=recent">'$txt['recent_view'], '</a>'$context['show_stats'] ? '<br />
<a href="' 
$scripturl '?action=stats">' $txt['more_stats'] . '</a>' '''
</div>
</div>
</div>'
;
}

// "Users online" - in order of activity.
echo '
<div class="infocenter_section">
<h4 class="titlebg">'
$txt['online_users'], '</h4>
<div class="windowbg">
<p class="section">
'
$context['show_who'] ? '<a href="' $scripturl '?action=who' '">' '''<img src="'$settings['images_url'], '/icons/online.gif''" alt="'$txt['online_users'], '" />'$context['show_who'] ? '</a>' '''
</p>
<div class="windowbg2 sectionbody">
'
$context['show_who'] ? '<a href="' $scripturl '?action=who">' ''comma_format($context['num_guests']), ' '$context['num_guests'] == $txt['guest'] : $txt['guests'], ', ' comma_format($context['num_users_online']), ' '$context['num_users_online'] == $txt['user'] : $txt['users'];

// Handle hidden users and buddies.
$bracketList = array();
if ($context['show_buddies'])
$bracketList[] = comma_format($context['num_buddies']) . ' ' . ($context['num_buddies'] == $txt['buddy'] : $txt['buddies']);
if (!empty($context['num_spiders']))
$bracketList[] = comma_format($context['num_spiders']) . ' ' . ($context['num_spiders'] == $txt['spider'] : $txt['spiders']);
if (!empty($context['num_users_hidden']))
$bracketList[] = comma_format($context['num_users_hidden']) . ' ' $txt['hidden'];

if (!empty($bracketList))
echo ' (' implode(', '$bracketList) . ')';

echo $context['show_who'] ? '</a>' '''
<div class="smalltext">'
;

// Assuming there ARE users online... each user in users_online has an id, username, name, group, href, and link.
if (!empty($context['users_online']))
{
echo '
'
sprintf($txt['users_active'], $modSettings['lastActive']), ':<br />'implode(', '$context['list_users_online']);



 
// Showing membergroups?
if (!empty($settings['show_group_key']) && !empty($context['membergroups']))




  
echo '
<br /><br /><hr>[' 
implode(']&nbsp;&nbsp;['$context['membergroups']) . ']';
}

echo '



</div>
<hr class="hrcolor" />
<div class="smalltext">
'
$txt['most_online_today'], ': <strong>'comma_format($modSettings['mostOnlineToday']), '</strong>.
'
$txt['most_online_ever'], ': 'comma_format($modSettings['mostOnline']), ' ('timeformat($modSettings['mostDate']), ')
</div>
</div>
</div>
</div>'
;

// If they are logged in, but statistical information is off... show a personal message bar.
if ($context['user']['is_logged'] && !$settings['show_stats_index'])
{
echo '
<div class="infocenter_section">
<h4 class="titlebg">'
$txt['personal_message'], '</h4>
<div class="windowbg">
<p class="section">
'
$context['allow_pm'] ? '<a href="' $scripturl '?action=pm">' '''<img src="'$settings['images_url'], '/message_sm.gif" alt="'$txt['personal_message'], '" />'$context['allow_pm'] ? '</a>' '''
</p>
<div class="windowbg2 sectionbody">
<strong><a href="'
$scripturl'?action=pm">'$txt['personal_message'], '</a></strong>
<div class="smalltext">
'
$txt['you_have'], ' 'comma_format($context['user']['messages']), ' '$context['user']['messages'] == $txt['message_lowercase'] : $txt['msg_alert_messages'], '.... '$txt['click'], ' <a href="'$scripturl'?action=pm">'$txt['here'], '</a> '$txt['to_view'], '
</div>
</div>
</div>
</div>'
;
}

// Show the login bar. (it's only true if they are logged out anyway.)
if ($context['show_login_bar'])
{
echo '
<div class="infocenter_section">
<h4 class="titlebg">'
$txt['login'], ' <a href="'$scripturl'?action=reminder" class="smalltext">'$txt['forgot_your_password'], '</a></h4>
<div class="windowbg">
<p class="section">
<a href="'
$scripturl,  '?action=login"><img src="'$settings['images_url'], '/icons/login.gif''" alt="'$txt['login'], '" /></a>
</p>
<div class="windowbg2 sectionbody">
<form id="infocenter_login" action="'
$scripturl'?action=login2" method="post" accept-charset="'$context['character_set'], '">
<ul class="reset horizlist clearfix">
<li>
<label for="user">'
$txt['username'], ':<br />
<input type="text" name="user" id="user" size="15" class="input_text" /></label>
</li>
<li>
<label for="passwrd">'
$txt['password'], ':<br />
<input type="password" name="passwrd" id="passwrd" size="15" class="input_password" /></label>
</li>
<li>
<label for="cookielength">'
$txt['mins_logged_in'], ':<br />
<input type="text" name="cookielength" id="cookielength" size="4" maxlength="4" value="'
$modSettings['cookieTime'], '" class="input_text" /></label>
</li>
<li>
<label for="cookieneverexp">'
$txt['always_logged_in'], ':<br />
<input type="checkbox" name="cookieneverexp" id="cookieneverexp" checked="checked" class="input_check" /></label>
</li>
<li>
<input type="submit" value="'
$txt['login'], '" class="button_submit" />
</li>
</ul>
</form>
</div>
</div>
</div>'
;
}

// Info center collapse object.
echo '
<script type="text/javascript"><!-- // --><![CDATA[
var oInfoCenterToggle = new smc_Toggle({
bToggleEnabled: true,
bCurrentlyCollapsed: '
, empty($options['collapse_header_ic']) ? 'false' 'true'',
aSwappableContainers: [
\'upshrinkHeaderIC\'
],
aSwapImages: [
{
sId: \'upshrink_ic\',
srcExpanded: smf_images_url + \'/collapse.gif\',
altExpanded: '
JavaScriptEscape($txt['upshrink_description']), ',
srcCollapsed: smf_images_url + \'/expand.gif\',
altCollapsed: '
JavaScriptEscape($txt['upshrink_description']), '
}
],
oThemeOptions: {
bUseThemeSettings: '
$context['user']['is_guest'] ? 'false' 'true'',
sOptionName: \'collapse_header_ic\',
sSessionVar: '
JavaScriptEscape($context['session_var']), ',
sSessionId: '
JavaScriptEscape($context['session_id']), '
},
oCookieOptions: {
bUseCookie: '
$context['user']['is_guest'] ? 'true' 'false'',
sCookieName: \'upshrinkIC\'
}
});
// ]]></script>'
;

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



?>

Akyhne

My nneonneo's AJAX ShoutBox version for anyone to use.

Custom:
Scroll in chat
Sound works!!!
Address people (doubbleclick on their names in the chat or write [name]: e.g. Akyhne:)
Your own text in different color
Focus on chat input field (quick write - write, press [Enter], write, press [Enter], write, press [Enter])**
Smiley bar (it points to my specific smilieys folder, you need to change that)
Helptext (You need to customize that as well help.english.php)
Member group color
And.. a few more I don't remember

*Don't* ask for support or cutomization. I did most of the changes a year ago, and don't remember what I did. Use a compare tool like Notepad++ to see changes in the files.

** Note this option can be annmoying, as it keeps getting focus on the chat, when scrolling down or being on another tab in the browser.

Arebias


I have had this mod on our site for quite a while and it has always worked great once I got it installed and configured correctly. Now I have the following problem.

The SB Auto Scroll does not work on two pages only. 'Admin' and 'Media Gallery'.

* However *

Once in the 'Admin' section if I click on any of the sub areas within this it works.

In the 'Media' section it works again only when I select 'My Albums'.

Could someone please help me isolate the php file I need to inspect to see if some code was changed from a Mod Install?

Arebias

 :-\ :'(

Anyone supporting this mod anymore?

I will also add to my previous post that when I click on Admin and am at the password log in screen it works but once I get to the main Admin page it no longer works.

JamesWC

I have tried adding the shoutbox to a Custom Action Page using the method that ameo posted, but I can't get it working:

    $boardurl = 'http://www.mysite.com/forums';
    echo '
    <script src="',$boardurl,'/yshout/js/prototype.js" type="text/javascript"></script>
    <script src="',$boardurl,'/yshout/js/moo.ajax.js" type="text/javascript"></script>
    <script src="',$boardurl,'/yshout/js/behaviour.js" type="text/javascript"></script>
    <script src="',$boardurl,'/yshout/js/domFunction.js" type="text/javascript"></script>
    <script type="text/javascript">

    var myfunc = new domFunction(function()
    {
        loadChat();
    }, { "yshout":"id"});
    var board_url = "', $boardurl, '";

    </script>
    <script src="',$boardurl,'/yshout/js/yshout.js?Aug92007" type="text/javascript"></script>
    <script type="text/javascript">var shoutFile = "home.txt";</script>

    </head>
    <body>
    <br /><b>Shout Box</b><br /><br />
    <div id="yshout">Shoutbox loading...<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></div>';


When I type something and click the 'Shout!' button, I get this error where the posts ought to be, and it then disappears after a few moments:

QuoteWarning: fopen(chats/home.txt) [function.fopen]: failed to open stream: Permission denied in /home/mysite/public_html/forums/yshout/yshout.php on line 779
File error (writeLine); aborted

Also, if I try to access yshout.php directly, which I thought would display the shoutbox on its own, I simply get a white page saying "Nothing to do."

Can anyone help me please?

[unplugged]

First, you may want to check the chmod permissions on the home.txt to make sure it's in fact writable (may want to check the history.home.txt file as well).

Second, try navigating your browser to /yshout/index.php instead of /yshout/yshout.php.
« Next Edit: Tomorrow at 08:34:45 PM by SunKing »   <---- « someone stole my sig... :o »



JamesWC

Quote from: SunKing on February 21, 2010, 01:10:12 PMFirst, you may want to check the chmod permissions on the home.txt to make sure it's in fact writable (may want to check the history.home.txt file as well).

chmodding home.txt to 0777 seems to work, thanks. Is it bad that I don't have a history.home.txt file though...?

Quote from: SunKing on February 21, 2010, 01:10:12 PMSecond, try navigating your browser to /yshout/index.php instead of /yshout/yshout.php.

That doesn't work, the file doesn't exist so I get a 404 error. I've also tried /yshout/index.html as that's in the directory, but it's an empty file!

I'd really like to get that resolved, because after seeing the Custom Action Page version working, I'd prefer to contain the shoutbox in an Iframe to prevent the rest of the page adjusting when new posts are added. Any ideas?

[unplugged]

You can simply create an empty text file called history.home.txt (make sure the chmod permissions are set correctly ;)), but I think the mod does this automatically once you actually have history in the shoutbox.

It has been a while since I have used this, but I seem to remember in certain situations needing to swap $boarddir with $boardurl, or vice versa, and in other cases, not needing the global at all, but rather using it as a relative link.

Try each of the following variations and see if on works for you:

Default configuration (for reference):
global $txt,$context,$boarddir;
if(allowedTo('yshout_view'))
{
echo '<div id="yshout">';
include_once($boarddir.'/yshout/yshout.php');
echo '</div>';
}
elseif($context['user']['is_guest'])
echo $txt['yshout_no_guests'];


Variation 1 (using $boardurl):
global $txt,$context,$boardurl;
if(allowedTo('yshout_view'))
{
echo '<div id="yshout">';
include_once($boardurl.'/yshout/yshout.php');
echo '</div>';
}
elseif($context['user']['is_guest'])
echo $txt['yshout_no_guests'];


Variation 2 (using a relative path):
global $txt,$context;
if(allowedTo('yshout_view'))
{
echo '<div id="yshout">';
include_once(yshout/yshout.php');
echo '</div>';
}
elseif($context['user']['is_guest'])
echo $txt['yshout_no_guests'];


Hope that helps. ;)
« Next Edit: Tomorrow at 08:34:45 PM by SunKing »   <---- « someone stole my sig... :o »



JamesWC

#5854
It does seem to work on the Custom Action Page using this code:

// begin yshout
    $boardurl = 'http://www.mysite.com/forums';
    echo '
    <script src="',$boardurl,'/yshout/js/prototype.js" type="text/javascript"></script>
    <script src="',$boardurl,'/yshout/js/moo.ajax.js" type="text/javascript"></script>
    <script src="',$boardurl,'/yshout/js/behaviour.js" type="text/javascript"></script>
    <script src="',$boardurl,'/yshout/js/domFunction.js" type="text/javascript"></script>
    <script type="text/javascript">

    var myfunc = new domFunction(function()
    {
        loadChat();
    }, { "yshout":"id"});
    var board_url = "', $boardurl, '";

    </script>
    <script src="',$boardurl,'/yshout/js/yshout.js?Aug92007" type="text/javascript"></script>
    <script type="text/javascript">var shoutFile = "home.txt";</script>

    <br /><b>Shout Box</b><br /><br />
    <div id="yshout">Shoutbox loading...<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></div>';
// end yshout


And the history file is being written to now, after I manually created it. Thanks for the suggestion.

But what I want is to display the shoutbox in an iFrame, which I thought I could do by using /yshout/yshout.php as the source, however this just displays the text "Nothing to do." Is it possible?

[unplugged]

I know exactly ---> <--- much about iframes. I would think you could just add the yshout call to an html file and then load that html file into an iframe.

so say you'd have the iframe hold a file called myShout.html and the contents of that file would be:

<html><head>
<title>Shoutbox</title>
</head>
<body>
<?
global $boarddir;
include($boarddir.'/yshout/yshout.php');
?>
</body>
</html>


Please do not use that code verbatim as it's just an example. ;)

You may need to make an include to SSI.php too...but that'll head you (hopefully) in the right direction.
« Next Edit: Tomorrow at 08:34:45 PM by SunKing »   <---- « someone stole my sig... :o »



JamesWC

After playing around with it a lot, this is how it works the way I had in mind:

echo '<div style="width:100%;height:300px;overflow:auto;overflow-x:hidden">';

    $boardurl = 'http://www.mysite.com/forums';
    echo '
    <script src="',$boardurl,'/yshout/js/prototype.js" type="text/javascript"></script>
    <script src="',$boardurl,'/yshout/js/moo.ajax.js" type="text/javascript"></script>
    <script src="',$boardurl,'/yshout/js/behaviour.js" type="text/javascript"></script>
    <script src="',$boardurl,'/yshout/js/domFunction.js" type="text/javascript"></script>
    <script type="text/javascript">

    var myfunc = new domFunction(function()
    {
        loadChat();
    }, { "yshout":"id"});
    var board_url = "', $boardurl, '";

    </script>
    <script src="',$boardurl,'/yshout/js/yshout.js?Aug92007" type="text/javascript"></script>
    <script type="text/javascript">var shoutFile = "home.txt";</script>
    <div id="yshout">Shoutbox loading...<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></div>
</div>';


Thanks for your help SunKing, I'm glad to be able to move on now! :)

[unplugged]

« Next Edit: Tomorrow at 08:34:45 PM by SunKing »   <---- « someone stole my sig... :o »



Zwerko

Hi guys.
We have a problem:


I have read past few pages but no one has solution...
Forum 2.0 RC2 fresh new install. Theme orange, but same is on default. Shotbox is first mod installed and for now only one

[unplugged]

Two things come to mind straight away for that. One, either the css for the shoutbox is missing, or the link to it is pointing to the wrong location, or 2) where you have added the code that calls the shoutbox needs to be moved (it's been placed inside an area that is causing the odd layout).

To fix, check that the css is indeed where it should be and linked to correctly, and/or adjust the position of the include block to a new location. This last part may take a few tries on a custom theme to get it just right.
« Next Edit: Tomorrow at 08:34:45 PM by SunKing »   <---- « someone stole my sig... :o »



Advertisement: