PDA

View Full Version : Show Thread Enhancements - ThreadNav: scrolling New Posts navigation bar for Showthread


nerbert
11-06-2011, 11:00 PM
ThreadNav(2.1) puts almost all the information in New Posts or Today's Posts in a compact scrolling navigation bar in the thread display page (showthread). The location in showthread depends on the user's thread viewing settings. Buttons on either end scroll the list of new posts right or left and additional information is available in a drop down box when you hover over the lower portion of the post cell. The list automatically refreshes using AJAX once a minute (default).

In Version 2.1 you can now place ThreadNav in any vBulletin page. A simple setting will put it in Forum Home (index) and it can be added to other pages with a simple template edit (See instuctions in ThreadNav settings in your AdminCP for edits).

Updated Version 2.1
I've updated this recently to make it fully compatible with updates to Thread & Forum Ignore System (https://vborg.vbsupport.ru/showthread.php?p=2259133&highlight=thread+forum+ignore+system), if it is installed. I also got rid of the text jiggle in some browsers when you hover over a cell to display the drop box.

Features:

General:

Searches for New Posts or Today's Posts
List scrolls right or left with buttons at ends
Automatically refreshes once a minute (default setting)
Cell width adjusts automatically to fit available space
Hovering over lower portion of partially exposed cell
snaps the cell into full view
Automatically integrates with Thread & Forum Ignore System (https://vborg.vbsupport.ru/showthread.php?p=2259133&highlight=thread+forum+ignore+system)
if installed

In the cell for each thread:

Go to first unread post button (New Posts only)
Thread link goes to either first or last post depending
on user settings for viewing threads
Name of last poster
Last post button

In the drop down box:

Date/time
Forum
Thread starter
Peplies
Views
Links for previewing first and last posts

User settings:

Turn ThreadNav off
Get New Posts
Get Today's Posts

Admin Control Panel:

On/off
Other pages to show ThreadNav
Set refresh interval
Maximum minutes ThreadNav will continue refreshing
Allow or disallow guests to see ThreadNav
Maximum number of posts to show
Minimum width of each post cell.
Excluded forums

Upgrading to version 2.0

Upload the new product xml file in Plugins & Products and overwrite the old file.
Be sure to revert all threadnav templates, including threadnav.css.
Some pages will require simple template edits. See the ThreadNav setting sin the Admin CP for more information.


Bugs Fixed:

Now compatible with vBSEO
All text in phrases
More tips on styling in threadnav.css
Resolved major incompatibilities with some styles
Miscellaneous aesthetic changes
Resolved misalignment of borders of cell and drop box in some styles
Improved closing of drop boxes when you mouse out
Fixed more incompatibility issues with some some styles
Fixed incompatibility issue with IE (GRRRRRRRRRR....)
Overhauled system for opening and closing drop boxes


Style is based on borders, font-color and background-colors of postbits. For styles with darker colors a note at the top of threadnav.css gives helpful styling tips. If you need to add space above or below ThreadNav see top of threadnav.css. Don't use line breaks.

Installation is simple: upload the XML file to Products and you're ready to go -- no external files or edits.

Version 2.0 was developed in vB4.2.2 but should work in any vB4 version.

Erica1977
11-07-2011, 04:22 AM
Thumbs up Thanks for this Awesome mod works great on my site!:)

RSNF
11-07-2011, 04:39 AM
Would be great if this worked for earlier versions than 4.1.6.............Nice work though.

Erica1977
11-07-2011, 04:50 AM
Hmm made some more test and seems that having vbseo 3.6.0 it will not work when you click on the thread you see on first picture with arrow and doing that will take you to the second picture see the arrow on the second picture so not sure why its not letting me go to the thread.

134279

134280

sticky
11-07-2011, 08:30 AM
Installed and a cool mod but the preview first post / last post window doesn't really stay open. Also, any way to add a space so it doesn't appear right under banners?

Nacho Vidal
11-07-2011, 08:53 AM
Thanks! However, I'm having the same issues as Erica above with invalid links, I too use vBSEO.

Great idea though!

synseal
11-07-2011, 10:18 AM
same for me, invalid links running vbseo.

Krusty1231
11-07-2011, 10:42 AM
Nifty - thanks

nerbert
11-07-2011, 12:12 PM
Would be great if this worked for earlier versions than 4.1.6.............Nice work though.
Parts of this were developed on vB4.1.4. I'm sure this will work on earlier versions. If you have already tried it on earlier vB4 versions and it doesn't work, give me a description of what's happening.

nerbert
11-07-2011, 12:17 PM
Installed and a cool mod but the preview first post / last post window doesn't really stay open. Also, any way to add a space so it doesn't appear right under banners? You can go to the "threadnav" template and add a <br> at the very top, or go to "threadnav.css" template and in .threadnav properties add

margin-top: 10px;

then you can adjust the spacing until it's just right.

nerbert
11-07-2011, 12:25 PM
Hmm made some more test and seems that having vbseo 3.6.0 it will not work when you click on the thread you see on first picture with arrow and doing that will take you to the second picture see the arrow on the second picture so not sure why its not letting me go to the thread.

Would any of you with vBSEO post a link to one of your threads? if I can see the structure of the link I may be able to figure this out and I can post a modified template or something..

I don't have vBSEO and don't want but I will try to get this working.

nerbert
11-07-2011, 12:27 PM
Installed and a cool mod but the preview first post / last post window doesn't really stay open. Also, any way to add a space so it doesn't appear right under banners?

It will close as soon as your mouse exits it. That's the only way to close it, otherwise it would take a button or something

sticky
11-07-2011, 12:37 PM
It will close as soon as your mouse exits it. That's the only way to close it, otherwise it would take a button or something
It closes even when my mouse is still on it.

Erica1977
11-07-2011, 12:48 PM
Would any of you with vBSEO post a link to one of your threads? if I can see the structure of the link I may be able to figure this out and I can post a modified template or something..

I don't have vBSEO and don't want but I will try to get this working.

Here's my site: http://uorevolution.net/forums/ username= test2011 password= test1965

synseal
11-07-2011, 12:48 PM
Would any of you with vBSEO post a link to one of your threads? if I can see the structure of the link I may be able to figure this out and I can post a modified template or something..

I don't have vBSEO and don't want but I will try to get this working.

This is a link to a thread on my forum with vbseo

http://www.techkings.org/general-chat/30227-pc-tv.html

nerbert
11-07-2011, 01:07 PM
It closes even when my mouse is still on it.
Does it close immediately after you open it or does it stay open a while?

nerbert
11-07-2011, 01:54 PM
For the vbseo problem would one of you try this?

Copy this and replace the "threadnav_bit" template:


<td style="overflow:normal;" cellspacing="0px">
<div id="cont_{vb:raw thread.threadid}" class="container">
<div id="title" class="title">
<vb:if condition="$vbulletin->userinfo['tn_control']==1">
<a href="showthread.php?goto=newpost">
<img class="gotonewpost" src="{vb:stylevar imgdir_button}/firstnew.png" alt="{vb:rawphrase TN_first_post}" />
</a>
</vb:if>
<a href="showthread.php?<vb:if condition="$vbulletin->userinfo['tn_control']==1">x<vb:else />p</vb:if>={vb:raw thread.lastpostid}<vb:if condition="$vbulletin->userinfo['tn_control']==2">#post{vb:raw thread.lastpostid}</vb:if>">
{vb:raw thread.title}</a>
</div>

<div id="name_{vb:raw thread.threadid}" class="name"
onmouseover="delay('info','{vb:raw thread.threadid}');"
onmouseout="hideInfo(event, '{vb:raw thread.threadid}');">
<a href="showthread.php?p={vb:raw thread.lastpostid}#post{vb:raw thread.lastpostid}">
<img class="gotolastpost" src="{vb:stylevar imgdir_button}/lastpost-{vb:stylevar right}.png" alt="{vb:rawphrase TN_last_post}" />
</a>
{vb:rawphrase TN_by} {vb:raw thread.lastposter}
</div>
</div>

<div id="info_{vb:raw thread.threadid}" class="info"
onmouseout="hideInfo(event, '{vb:raw thread.threadid}');">
<div class="infotext">
{vb:raw thread.posttime} <br>
{vb:rawphrase TN_forum} {vb:raw thread.forumname} <br>
{vb:rawphrase TN_starter} {vb:raw thread.postusername} <br>
{vb:rawphrase TN_views} {vb:raw thread.views} <br>
{vb:rawphrase TN_replies} {vb:raw thread.replycount}
</div>

<div class="buttons1">
<a href="javascript:prevLast ('{vb:raw thread.threadid}');" style="float:right">Preview Last Post</a>
<a href="javascript:prevFirst('{vb:raw thread.threadid}');" style="float:left">Preview First Post</a>
</div>
</div>

<div id="prev_{vb:raw thread.threadid}" class="prev"
onmouseout="hidePrev(event, '{vb:raw thread.threadid}');">
<div id="prevfirsttext_{vb:raw thread.threadid}" class="prevtext">
{vb:raw thread.firstprev}
</div>

<div id="prevlasttext_{vb:raw thread.threadid}" class="prevtext">
{vb:raw thread.lastprev}
</div>

<div class="buttons2">
<a href="javascript:prevLast ('{vb:raw thread.threadid}');" id="prevlast_{vb:raw thread.threadid}" style="float:right;padding:0px 3px 1px;">Preview Last Post</a>
<a href="javascript:prevFirst('{vb:raw thread.threadid}');" id="prevfirst_{vb:raw thread.threadid}" style="float:left;padding:0px 3px 1px;">Preview First Post</a>
</div>
</div>
</td>


@ Erica1977, Try putting a <br> at the end of the "threadnav" template to put some space below it.

If everything works here I will upload a modified xml file and you can re-install.

RSNF
11-07-2011, 02:03 PM
Would be great if this worked for earlier versions than 4.1.6.............Nice work though.

Working fine now nice Mod great work!

Erica1977
11-07-2011, 02:20 PM
For the vbseo problem would one of you try this?

Copy this and replace the "threadnav_bit" template:


<td style="overflow:normal;" cellspacing="0px">
<div id="cont_{vb:raw thread.threadid}" class="container">
<div id="title" class="title">
<vb:if condition="$vbulletin->userinfo['tn_control']==1">
<a href="showthread.php?goto=newpost">
<img class="gotonewpost" src="{vb:stylevar imgdir_button}/firstnew.png" alt="{vb:rawphrase TN_first_post}" />
</a>
</vb:if>
<a href="showthread.php?<vb:if condition="$vbulletin->userinfo['tn_control']==1">x<vb:else />p</vb:if>={vb:raw thread.lastpostid}<vb:if condition="$vbulletin->userinfo['tn_control']==2">#post{vb:raw thread.lastpostid}</vb:if>">
{vb:raw thread.title}</a>
</div>

<div id="name_{vb:raw thread.threadid}" class="name"
onmouseover="delay('info','{vb:raw thread.threadid}');"
onmouseout="hideInfo(event, '{vb:raw thread.threadid}');">
<a href="showthread.php?p={vb:raw thread.lastpostid}#post{vb:raw thread.lastpostid}">
<img class="gotolastpost" src="{vb:stylevar imgdir_button}/lastpost-{vb:stylevar right}.png" alt="{vb:rawphrase TN_last_post}" />
</a>
{vb:rawphrase TN_by} {vb:raw thread.lastposter}
</div>
</div>

<div id="info_{vb:raw thread.threadid}" class="info"
onmouseout="hideInfo(event, '{vb:raw thread.threadid}');">
<div class="infotext">
{vb:raw thread.posttime} <br>
{vb:rawphrase TN_forum} {vb:raw thread.forumname} <br>
{vb:rawphrase TN_starter} {vb:raw thread.postusername} <br>
{vb:rawphrase TN_views} {vb:raw thread.views} <br>
{vb:rawphrase TN_replies} {vb:raw thread.replycount}
</div>

<div class="buttons1">
<a href="javascript:prevLast ('{vb:raw thread.threadid}');" style="float:right">Preview Last Post</a>
<a href="javascript:prevFirst('{vb:raw thread.threadid}');" style="float:left">Preview First Post</a>
</div>
</div>

<div id="prev_{vb:raw thread.threadid}" class="prev"
onmouseout="hidePrev(event, '{vb:raw thread.threadid}');">
<div id="prevfirsttext_{vb:raw thread.threadid}" class="prevtext">
{vb:raw thread.firstprev}
</div>

<div id="prevlasttext_{vb:raw thread.threadid}" class="prevtext">
{vb:raw thread.lastprev}
</div>

<div class="buttons2">
<a href="javascript:prevLast ('{vb:raw thread.threadid}');" id="prevlast_{vb:raw thread.threadid}" style="float:right;padding:0px 3px 1px;">Preview Last Post</a>
<a href="javascript:prevFirst('{vb:raw thread.threadid}');" id="prevfirst_{vb:raw thread.threadid}" style="float:left;padding:0px 3px 1px;">Preview First Post</a>
</div>
</div>
</td>


@ Erica1977, Try putting a <br> at the end of the "threadnav" template to put some space below it.

If everything works here I will upload a modified xml file and you can re-install.

i copy and paste the code you put here replaced it still nothing same issue and not sure exactly where your telling me to put <br> at

Erica1977
11-07-2011, 02:28 PM
Here's my site: http://uorevolution.net/forums/ username= test2011 password= test1965

Did you try going to my site and go to any thread.

ellinofatsa
11-07-2011, 02:37 PM
i have isntal it but problem with greek language

doctorsexy
11-07-2011, 02:43 PM
Demo please..anyone

nerbert
11-07-2011, 03:04 PM
i copy and paste the code you put here replaced it still nothing same issue and not sure exactly where your telling me to put <br> at
Just type it in at the bottom of the template. But if it isn't working there's no point making it look nice.

I think I'm going to have to download and install vbseo to see what's going on. In the mean time just turn ThreadNav off in adminCP.

I have other business to attend to but I'll see if I can get something working soon. Check back later.

Erica1977
11-07-2011, 03:17 PM
Just type it in at the bottom of the template. But if it isn't working there's no point making it look nice.

I think I'm going to have to download and install vbseo to see what's going on. In the mean time just turn ThreadNav off in adminCP.

I have other business to attend to but I'll see if I can get something working soon. Check back later.

Ok Thanks

nerbert
11-07-2011, 03:30 PM
Erica1977, do the buttons work and only the link doesn't?

Nacho Vidal
11-07-2011, 03:39 PM
Just tried the above code replacement for the threadnav_bit, first link I click on works fine and you're taken to the thread's page but clicking on another link from the thread's page gives me:

No Thread specified. If you followed a valid link, please notify the administrator

nerbert
11-07-2011, 03:53 PM
Just thought of something.

This might work as a replacement for "threadnav_bit" template:


<td style="overflow:normal;" cellspacing="0px">
<div id="cont_{vb:raw thread.threadid}" class="container">
<div id="title" class="title">
<vb:if condition="$vbulletin->userinfo['tn_control']==1">
<a href="showthread.php?goto=newpost">
<img class="gotonewpost" src="{vb:stylevar imgdir_button}/firstnew.png" alt="{vb:rawphrase TN_first_post}" />
</a>
</vb:if>
<a href="showthread.php?t={vb:raw thread.threadid}&amp;<vb:if condition="$vbulletin->userinfo['tn_control']==1">x<vb:else />p</vb:if>={vb:raw thread.lastpostid}<vb:if condition="$vbulletin->userinfo['tn_control']==2">#post{vb:raw thread.lastpostid}</vb:if>">
{vb:raw thread.title}</a>
</div>

<div id="name_{vb:raw thread.threadid}" class="name"
onmouseover="delay('info','{vb:raw thread.threadid}');"
onmouseout="hideInfo(event, '{vb:raw thread.threadid}');">
<a href="showthread.php?t={vb:raw thread.threadid}&amp;p={vb:raw thread.lastpostid}#post{vb:raw thread.lastpostid}">
<img class="gotolastpost" src="{vb:stylevar imgdir_button}/lastpost-{vb:stylevar right}.png" alt="{vb:rawphrase TN_last_post}" />
</a>
{vb:rawphrase TN_by} {vb:raw thread.lastposter}
</div>
</div>

<div id="info_{vb:raw thread.threadid}" class="info"
onmouseout="hideInfo(event, '{vb:raw thread.threadid}');">
<div class="infotext">
{vb:raw thread.posttime} <br>
{vb:rawphrase TN_forum} {vb:raw thread.forumname} <br>
{vb:rawphrase TN_starter} {vb:raw thread.postusername} <br>
{vb:rawphrase TN_views} {vb:raw thread.views} <br>
{vb:rawphrase TN_replies} {vb:raw thread.replycount}
</div>

<div class="buttons1">
<a href="javascript:prevLast ('{vb:raw thread.threadid}');" style="float:right">Preview Last Post</a>
<a href="javascript:prevFirst('{vb:raw thread.threadid}');" style="float:left">Preview First Post</a>
</div>
</div>

<div id="prev_{vb:raw thread.threadid}" class="prev"
onmouseout="hidePrev(event, '{vb:raw thread.threadid}');">
<div id="prevfirsttext_{vb:raw thread.threadid}" class="prevtext">
{vb:raw thread.firstprev}
</div>

<div id="prevlasttext_{vb:raw thread.threadid}" class="prevtext">
{vb:raw thread.lastprev}
</div>

<div class="buttons2">
<a href="javascript:prevLast ('{vb:raw thread.threadid}');" id="prevlast_{vb:raw thread.threadid}" style="float:right;padding:0px 3px 1px;">Preview Last Post</a>
<a href="javascript:prevFirst('{vb:raw thread.threadid}');" id="prevfirst_{vb:raw thread.threadid}" style="float:left;padding:0px 3px 1px;">Preview First Post</a>
</div>
</div>
</td>

nerbert
11-07-2011, 03:56 PM
Just tried the above code replacement for the threadnav_bit, first link I click on works fine and you're taken to the thread's page but clicking on another link from the thread's page gives me:

No Thread specified. If you followed a valid link, please notify the administrator

Did you refresh the page after the template change?

I think the template I just posted should solve the problem. After the code change you must refresh the page in order to test it.

Nacho Vidal
11-07-2011, 04:19 PM
I'll give it a blast, bear with me :)

Erica1977
11-07-2011, 04:23 PM
Just thought of something.

This might work as a replacement for "threadnav_bit" template:


<td style="overflow:normal;" cellspacing="0px">
<div id="cont_{vb:raw thread.threadid}" class="container">
<div id="title" class="title">
<vb:if condition="$vbulletin->userinfo['tn_control']==1">
<a href="showthread.php?goto=newpost">
<img class="gotonewpost" src="{vb:stylevar imgdir_button}/firstnew.png" alt="{vb:rawphrase TN_first_post}" />
</a>
</vb:if>
<a href="showthread.php?t={vb:raw thread.threadid}&amp;<vb:if condition="$vbulletin->userinfo['tn_control']==1">x<vb:else />p</vb:if>={vb:raw thread.lastpostid}<vb:if condition="$vbulletin->userinfo['tn_control']==2">#post{vb:raw thread.lastpostid}</vb:if>">
{vb:raw thread.title}</a>
</div>

<div id="name_{vb:raw thread.threadid}" class="name"
onmouseover="delay('info','{vb:raw thread.threadid}');"
onmouseout="hideInfo(event, '{vb:raw thread.threadid}');">
<a href="showthread.php?t={vb:raw thread.threadid}&amp;p={vb:raw thread.lastpostid}#post{vb:raw thread.lastpostid}">
<img class="gotolastpost" src="{vb:stylevar imgdir_button}/lastpost-{vb:stylevar right}.png" alt="{vb:rawphrase TN_last_post}" />
</a>
{vb:rawphrase TN_by} {vb:raw thread.lastposter}
</div>
</div>

<div id="info_{vb:raw thread.threadid}" class="info"
onmouseout="hideInfo(event, '{vb:raw thread.threadid}');">
<div class="infotext">
{vb:raw thread.posttime} <br>
{vb:rawphrase TN_forum} {vb:raw thread.forumname} <br>
{vb:rawphrase TN_starter} {vb:raw thread.postusername} <br>
{vb:rawphrase TN_views} {vb:raw thread.views} <br>
{vb:rawphrase TN_replies} {vb:raw thread.replycount}
</div>

<div class="buttons1">
<a href="javascript:prevLast ('{vb:raw thread.threadid}');" style="float:right">Preview Last Post</a>
<a href="javascript:prevFirst('{vb:raw thread.threadid}');" style="float:left">Preview First Post</a>
</div>
</div>

<div id="prev_{vb:raw thread.threadid}" class="prev"
onmouseout="hidePrev(event, '{vb:raw thread.threadid}');">
<div id="prevfirsttext_{vb:raw thread.threadid}" class="prevtext">
{vb:raw thread.firstprev}
</div>

<div id="prevlasttext_{vb:raw thread.threadid}" class="prevtext">
{vb:raw thread.lastprev}
</div>

<div class="buttons2">
<a href="javascript:prevLast ('{vb:raw thread.threadid}');" id="prevlast_{vb:raw thread.threadid}" style="float:right;padding:0px 3px 1px;">Preview Last Post</a>
<a href="javascript:prevFirst('{vb:raw thread.threadid}');" id="prevfirst_{vb:raw thread.threadid}" style="float:left;padding:0px 3px 1px;">Preview First Post</a>
</div>
</div>
</td>


Ok it works now the only problem i am running into is on btech style it dont look right it only looks right on style seamus red and seamus orange and default can you log back on change the style to btechred

Nacho Vidal
11-07-2011, 04:38 PM
The links work apart from the small button buy the side of the link to take you to the first post.

However, a bigger issues has appeard in that pasted text from other sources now has black diamonds with ? in the middle?

See the attached screenshot!

The diamonds go when the mod is disabled!

Sorry for giving you a headache! :)

nerbert
11-07-2011, 05:23 PM
Ok it works now the only problem i am running into is on btech style it dont look right it only looks right on style seamus red and seamus orange and default can you log back on change the style to btechred

This is a shot in the dark, but try this:

In "threadnav" template scroll near the bottom and find function setWidth()

find

if(cells[i].childNodes.length<5) {

and change it to this

if(is_ie) {

Erica1977
11-07-2011, 05:24 PM
So my question is how do i change the wide and height on it first pic is same as btech red but style in btech blue see second pic its seamus would like to know how to change the height and weight like in sec pic first picture is what i need to change it look like the second pic.

134297

134298

Erica1977
11-07-2011, 05:29 PM
This is a shot in the dark, but try this:

In "threadnav" template scroll near the bottom and find function setWidth()

find

if(cells[i].childNodes.length<5) {

and change it to this

if(is_ie) {


Still looks the same didnt change nothing at all.

nerbert
11-07-2011, 05:29 PM
The links work apart from the small button buy the side of the link to take you to the first post.

However, a bigger issues has appeard in that pasted text from other sources now has black diamonds with ? in the middle?

See the attached screenshot!

The diamonds go when the mod is disabled!

Sorry for giving you a headache! :)
For your "bigger issue" try going to the "ThreadNav Search" plug in and comment out the second line like this:

//header('Content-type: text/html; charset=UTF-8');

That line was suggested to me by another programmer to fix a bug in Internet Explorer (Damned IE!)

As soon as I get all these bugs fixed I'll update the xml file

Erica1977
11-07-2011, 05:37 PM
another bug if you click the icon arrow by the text link takes you to invalid page.

Erica1977
11-07-2011, 05:39 PM
the arrow that says go to unread thread will take you to invalid page.

RSNF
11-07-2011, 05:50 PM
Just curious as the Coder states thanks to those of you that have tested it "NOTE: This product is not compatible with vBSEO
I'll work on it and see what I can do."

Have you all tried to temporarily disable VBSEO and see if the mod works without it? If it does would it not make sense to allow this coder the time needed to fully work on a solution to the issue instead of constantly pointing out more errors associated with the use of VBSEO?.

nerbert
11-07-2011, 05:56 PM
Here we go again! Try this template:

<td style="overflow:normal;" cellspacing="0px">
<div id="cont_{vb:raw thread.threadid}" class="container">
<div id="title" class="title">
<vb:if condition="$vbulletin->userinfo['tn_control']==1">
<a href="showthread.php?t={vb:raw thread.threadid}&amp;goto=newpost">
<img class="gotonewpost" src="{vb:stylevar imgdir_button}/firstnew.png" alt="{vb:rawphrase TN_first_post}" />
</a>
</vb:if>
<a href="showthread.php?t={vb:raw thread.threadid}&amp;<vb:if condition="$vbulletin->userinfo['tn_control']==1">x<vb:else />p</vb:if>={vb:raw thread.lastpostid}<vb:if condition="$vbulletin->userinfo['tn_control']==2">#post{vb:raw thread.lastpostid}</vb:if>">
{vb:raw thread.title}</a>
</div>

<div id="name_{vb:raw thread.threadid}" class="name"
onmouseover="delay('info','{vb:raw thread.threadid}');"
onmouseout="hideInfo(event, '{vb:raw thread.threadid}');">
<a href="showthread.php?t={vb:raw thread.threadid}&amp;p={vb:raw thread.lastpostid}#post{vb:raw thread.lastpostid}">
<img class="gotolastpost" src="{vb:stylevar imgdir_button}/lastpost-{vb:stylevar right}.png" alt="{vb:rawphrase TN_last_post}" />
</a>
{vb:rawphrase TN_by} {vb:raw thread.lastposter}
</div>
</div>

<div id="info_{vb:raw thread.threadid}" class="info"
onmouseout="hideInfo(event, '{vb:raw thread.threadid}');">
<div class="infotext">
{vb:raw thread.posttime} <br>
{vb:rawphrase TN_forum} {vb:raw thread.forumname} <br>
{vb:rawphrase TN_starter} {vb:raw thread.postusername} <br>
{vb:rawphrase TN_views} {vb:raw thread.views} <br>
{vb:rawphrase TN_replies} {vb:raw thread.replycount}
</div>

<div class="buttons1">
<a href="javascript:prevLast ('{vb:raw thread.threadid}');" style="float:right">{vb:rawphrase TN_prev_last}</a>
<a href="javascript:prevFirst('{vb:raw thread.threadid}');" style="float:left">{vb:rawphrase TN_prev_first}</a>
</div>
</div>

<div id="prev_{vb:raw thread.threadid}" class="prev"
onmouseout="hidePrev(event, '{vb:raw thread.threadid}');">
<div id="prevfirsttext_{vb:raw thread.threadid}" class="prevtext">
{vb:raw thread.firstprev}
</div>

<div id="prevlasttext_{vb:raw thread.threadid}" class="prevtext">
{vb:raw thread.lastprev}
</div>

<div class="buttons2">
<a href="javascript:prevLast ('{vb:raw thread.threadid}');" id="prevlast_{vb:raw thread.threadid}" style="float:right;padding:0px 3px 1px;">{vb:rawphrase TN_prev_last}</a>
<a href="javascript:prevFirst('{vb:raw thread.threadid}');" id="prevfirst_{vb:raw thread.threadid}" style="float:left;padding:0px 3px 1px;">{vb:rawphrase TN_prev_first}</a>
</div>
</div>
</td>

Erica1977
11-07-2011, 06:12 PM
Ok now seems everything is working , so only thing left if your working on a solution is the wide like i posted it about on different style btech. By the way great job so far.:up:

nerbert
11-07-2011, 06:21 PM
Okay so all the vbseo problems are resolved (???) I really have to get some other work done but I'll have an improved xml file up soon.

And ellinofatsa, as soon as I get the file fixed I'll address your problem.

Nacho Vidal
11-07-2011, 06:28 PM
Great job nerbert! Things seem sorted here, cheers!

Erica1977
11-07-2011, 07:41 PM
Okay so all the vbseo problems are resolved (???) I really have to get some other work done but I'll have an improved xml file up soon.

And ellinofatsa, as soon as I get the file fixed I'll address your problem.

Yes it's working so far haven't found no issues , just a note certain custom styles will not look right thought so maybe a fix on that part but everything else seems to work great job!:up:

nerbert
11-07-2011, 08:19 PM
I have the new xml file available. I suggest everyone upload the new one and overwrite the old version. If you have changed any templates be sure to revert them.

If you need to add space above or below ThreadNav please see the note at the top of the "threadnav.css" template

nerbert
11-07-2011, 08:36 PM
i have isntal it but problem with greek language
Sorry I didn't respond earlier. When you brought up this issue I remembered I hadn't made put all the text into phrases and I wanted to fix the vBSEO problem before modifying the file.

So, first upload the new xml file and set it to overwrite the original. Now go to Search In Phrases.

Search for Text: TN_

Phrase Type: GLOBAL

Search in ... Phrase Variable Name Only

You'll get a list of all the text in ThreadNav. Beyond that I really don't know what to do, I have only English on my site and the only Greek I know is

I η hotdog for lunch.

nerbert
11-07-2011, 09:42 PM
Erica1977, try this and if it works I'll update the file.

Use this code

cells[i].childNodes[1].style.width=''+(width+12)+'px';
cells[i].childNodes[3].style.width=''+(width+12)+'px';


to modify the lower part of function setWidth() to look like this:


function setWidth() {
for(i=0; i<cells.length; i++) {
if(is_ie) {
cells[i].childNodes[0].childNodes[0].style.width=''+width+'px';
cells[i].childNodes[0].childNodes[1].style.width=''+width+'px';
cells[i].childNodes[1].childNodes[1].style.width=''+width+'px'
cells[i].childNodes[2].style.width=''+(width+47)+'px';
}
else {
cells[i].childNodes[1].style.width=''+(width+12)+'px';
cells[i].childNodes[3].style.width=''+(width+12)+'px';
//cells[i].childNodes[1].childNodes[1].style.width=''+width+'px';
//cells[i].childNodes[1].childNodes[3].style.width=''+width+'px';
//cells[i].childNodes[3].childNodes[1].style.width=''+width+'px'
cells[i].childNodes[5].style.width=''+(width+47)+'px';
}
}
}

You must view in a non-IE browser

Erica1977
11-07-2011, 10:13 PM
Erica1977, try this and if it works I'll update the file.

Use this code

cells[i].childNodes[1].style.width=''+(width+12)+'px';
cells[i].childNodes[3].style.width=''+(width+12)+'px';


to modify the lower part of function setWidth() to look like this:


function setWidth() {
for(i=0; i<cells.length; i++) {
if(is_ie) {
cells[i].childNodes[0].childNodes[0].style.width=''+width+'px';
cells[i].childNodes[0].childNodes[1].style.width=''+width+'px';
cells[i].childNodes[1].childNodes[1].style.width=''+width+'px'
cells[i].childNodes[2].style.width=''+(width+47)+'px';
}
else {
cells[i].childNodes[1].style.width=''+(width+12)+'px';
cells[i].childNodes[3].style.width=''+(width+12)+'px';
//cells[i].childNodes[1].childNodes[1].style.width=''+width+'px';
//cells[i].childNodes[1].childNodes[3].style.width=''+width+'px';
//cells[i].childNodes[3].childNodes[1].style.width=''+width+'px'
cells[i].childNodes[5].style.width=''+(width+47)+'px';
}
}
}

You must view in a non-IE browser

no i use f,f but still doesnt work i just dont get it thanks for trying to help.

nerbert
11-07-2011, 10:26 PM
I'll keep trying. I've never been happy with that complicated method for setting the width. The problem is that for some reason I can't specify the width of table cells, perhaps because the table is about 10 000 px wide.

I do want this to work for everyone.

FReeSTER
11-07-2011, 11:24 PM
I havent installed this but i have to say WoW for the great MOD and for the support you giving to it.

I will try later as all the bugs are fix :)

venom2124
11-08-2011, 03:20 AM
Looks like a cool mod. Thanks

rafiul
11-08-2011, 09:56 AM
How to show hand cursor instead of arrow cursor when mouse on the Title?

Erica1977
11-08-2011, 01:47 PM
I'll keep trying. I've never been happy with that complicated method for setting the width. The problem is that for some reason I can't specify the width of table cells, perhaps because the table is about 10 000 px wide.

I do want this to work for everyone.

For now i turn it off till you can find a solution for other styles Thanks!:up:

nerbert
11-08-2011, 02:12 PM
I have a new version operational in every browser except despicable IE. Working on it.

nerbert
11-08-2011, 05:40 PM
Erica1977, See if this new file solves your problem. If it does I'll edit the opening post. I want to be sure this does it so I'm not changing the file a dozen times before getting it right.

Erica1977
11-08-2011, 05:53 PM
Erica1977, See if this new file solves your problem. If it does I'll edit the opening post. I want to be sure this does it so I'm not changing the file a dozen times before getting it right.

Sorry tryed it and still same issue see the first picture on btech see how it looks and see the second picture on seamus red looks correct on seamus red and in default style looks just like seamus red .

134316

134317

nerbert
11-08-2011, 06:09 PM
I checked and you still have the old file on btech red. You either didn't overwrite when you uploaded or you have to revert the templates for that style.

EDIT: seamus doesn't have the new file either.

Erica1977
11-08-2011, 06:47 PM
I checked and you still have the old file on btech red. You either didn't overwrite when you uploaded or you have to revert the templates for that style.

EDIT: seamus doesn't have the new file either.

i did override it and then i reinstall it over as well those pic is from that.

nerbert
11-08-2011, 06:59 PM
Then you have to check that you reverted your templates. I looked at the page source code and the old templates were still there.

Erica1977
11-08-2011, 07:18 PM
Then you have to check that you reverted your templates. I looked at the page source code and the old templates were still there.

Ok check now.

nerbert
11-08-2011, 07:35 PM
Still the old ones.

Go through your templates in all styles starting with default and check threadnav.css, threadnav and threadnav_bit. Any one that's red needs to be reverted

Erica1977
11-08-2011, 07:41 PM
Still the old ones.

Go through your templates in all styles starting with default and check threadnav.css, threadnav and threadnav_bit. Any one that's red needs to be reverted

Ok this is what i did i unstalled your product now theres no templates of your product then i installed the one you just made for me so there really aint no templates to revert see where i am getting at.

Erica1977
11-08-2011, 07:43 PM
Ok this is what i did i unstalled your product now theres no templates of your product then i installed the one you just made for me so there really aint no templates to revert see where i am getting at.

Sorry that your going threw this trouble just for me and i do thank you for still trying to get it to work for those other styles.:up:

nerbert
11-08-2011, 11:23 PM
You have it off now so I can't check but after you uploaded the new file I checked and seamus had the unedited old file and btech had the edited version. I don't know what happens to templates when you uninstall -- whether they are actually deleted or just de-listed from the adminCP. Anyway right after you installed the new file the old templates were still there.

When you update you don't need to uninstall the old version just click the button to overwrite files in the upload box and everything should update. Then check templates afterwards and they should all have black titles

nerbert
11-08-2011, 11:33 PM
In threadnav template, function setWidth() should look like this in all styles


function setWidth() {
var n=list.innerHTML.match(/<td>|<td class="blank">/gi).length;
var tableWidth=(width)*n;
fetch_object('table').style.width=''+tableWidth+'p x';
for(i=0; i<cells.length; i++) {
cells[i].style.width=''+(width)+'px'
}
}


But there are various other differences as well.

Erica1977
11-08-2011, 11:47 PM
In threadnav template, function setWidth() should look like this in all styles


function setWidth() {
var n=list.innerHTML.match(/<td>|<td class="blank">/gi).length;
var tableWidth=(width)*n;
fetch_object('table').style.width=''+tableWidth+'p x';
for(i=0; i<cells.length; i++) {
cells[i].style.width=''+(width)+'px'
}
}


But there are various other differences as well.

turn it on and override it.

Erica1977
11-08-2011, 11:52 PM
with the one you made for me all templates show this code.

function setWidth() {
for(i=0; i<cells.length; i++) {
if(cells[i].childNodes.length<5) {
cells[i].childNodes[0].childNodes[0].style.width=''+width+'px';
cells[i].childNodes[0].childNodes[1].style.width=''+width+'px';
cells[i].childNodes[1].childNodes[1].style.width=''+width+'px'
cells[i].childNodes[2].style.width=''+(width+47)+'px';
}
else {
cells[i].childNodes[1].childNodes[1].style.width=''+width+'px';
cells[i].childNodes[1].childNodes[3].style.width=''+width+'px';
cells[i].childNodes[3].childNodes[1].style.width=''+width+'px'
cells[i].childNodes[5].style.width=''+(width+47)+'px';
}
}
}

and i overrided it

nerbert
11-09-2011, 12:29 AM
You must have gotten that from the opening post. The one I wanted you to test was in the latter post (#54, I think)

But never mind, here's a version with a few nit-picking details changed.

Erica1977
11-09-2011, 12:44 AM
lol ok overrided with this one and all templates have diff codes i think you need to go to my site and please look at each style and watch what happens.

Erica1977
11-09-2011, 01:33 AM
lol ok overrided with this one and all templates have diff codes i think you need to go to my site and please look at each style and watch what happens.

ok sorry ill turn back on

Erica1977
11-09-2011, 01:34 AM
ok sorry ill turn back on

ok i turn it on go look at all the styles please.

nerbert
11-09-2011, 01:35 AM
It's off now so I can't see the source code.

You do know how to revert a template?

If the template title is red, single click it and then click the Revert button off to the left. It will ask you to confirm, click yes.

If the title is now orange you need to revert the template at a higher level. The templates from the product file are in MASTER STYLE, which is accessible only in debug mode. You shouldn't need to touch them unless you are creating your own product.

Erica1977
11-09-2011, 01:52 AM
reverted red btech and the rest are white no need to revert but still all styles look different seen the purple uo one

nerbert
11-09-2011, 01:56 AM
Still the old template in btech red. I see it's the unedited version. You probably need to revert default style now.

Erica1977
11-09-2011, 02:12 AM
ok i hit revert where it says control when click the orange color so not sure why you see old template.

nerbert
11-09-2011, 02:35 AM
If it's orange it is inherited from a parent style. You have to go up one level and revert that too.

Erica1977
11-09-2011, 02:44 AM
If it's orange it is inherited from a parent style. You have to go up one level and revert that too.
ok yellow is for Template is Inherited From a Parent Style and orange is Template is Customized in this Style and white is Template is Unchanged From the Default Style that is why i say its reverted it.

nerbert
11-09-2011, 03:00 AM
You must have a customized adminCP.

But you still have the old templates in seamus and btech. Somewhere there'a a bottleneck

Erica1977
11-09-2011, 03:05 AM
You must have a customized adminCP.

But you still have the old templates in seamus and btech. Somewhere there'a a bottleneck

ok look again reverted its white now

nerbert
11-09-2011, 03:20 AM
Oh my! Your btech is a mess. But the good news is ThreadNav is working perfectly!

I guess you'll have to turn it off. I'll try to figure out what's going wrong. My head moderator is a very good programmer. I'll see if he can help me figure this out.

Erica1977
11-09-2011, 03:23 AM
Oh my! Your btech is a mess. But the good news is ThreadNav is working perfectly!

I guess you'll have to turn it off. I'll try to figure out what's going wrong. My head moderator is a very good programmer. I'll see if he can help me figure this out.

ok lol hopefully we can get this fix .

nerbert
11-09-2011, 03:37 AM
Sometime between the time I started this thread and now I went from "Contributor" to "Coder". I take that very seriously. It's my duty to get this working!

Erica1977
11-09-2011, 03:40 AM
Sometime between the time I started this thread and now I went from "Contributor" to "Coder". I take that very seriously. It's my duty to get this working!

hehe just notice that great! :up:

nerbert
11-09-2011, 04:19 AM
Erica1977, try this:

In "threadnav" replace function setWidth() with this:


function setWidth() {
var n=list.innerHTML.match(/<td id="td_|<td class="blank">/gi).length;
var tableWidth=(width)*n;
fetch_object('table').style.width=''+tableWidth+'p x';
for(i=0; i<cells.length; i++) {
if(cells[i].id.match(/td_\d/i)||cells[i].className=='blank'){
cells[i].style.width=''+(width)+'px';
}
}
}


At the top of "threadnav_bit" replace <td> with this:

<td id="td_{vb:raw thread.threadid}">

Erica1977
11-09-2011, 04:30 AM
Erica1977, try this:

In "threadnav" replace function setWidth() with this:


function setWidth() {
var n=list.innerHTML.match(/<td id="td_|<td class="blank">/gi).length;
var tableWidth=(width)*n;
fetch_object('table').style.width=''+tableWidth+'p x';
for(i=0; i<cells.length; i++) {
if(cells[i].id.match(/td_\d/i)||cells[i].className=='blank'){
cells[i].style.width=''+(width)+'px';
}
}
}


At the top of "threadnav_bit" replace <td> with this:

<td id="td_{vb:raw thread.threadid}">


Ok did the 3 that was messed up only go take a look please.

nerbert
11-09-2011, 04:55 AM
Well it's finally working.

I know there's a problem with the drop boxes not closing when you exit on the right side but I have that fixed in the file I'm going to upload to the opening post. I also see a misalignment of borders between the cell and the drop box on the left side, I'll look into that too. When I get the new file up the changes will be compatible with all your other styles so no need to make any exceptions.

Erica1977
11-09-2011, 05:00 AM
Well it's finally working.

I know there's a problem with the drop boxes not closing when you exit on the right side but I have that fixed in the file I'm going to upload to the opening post. I also see a misalignment of borders between the cell and the drop box on the left side, I'll look into that too. When I get the new file up the changes will be compatible with all your other styles so no need to make any exceptions.

Thanks for helping me out and putting up with me lol as you can see most of this thread of your mod has more post of me than anybody else hehe anyway yea about the drop box your correct and again Thanks! :up: :)

nerbert
11-09-2011, 05:21 AM
The problem you had would affect anyone who uses those styles and now I see your original problem and the mess-up you had later were related. That same problem could have affected other mods and styles too. It's a good thing all those issues came up right away before I forgot some of the details of how the JavaScript works.

All in all it's a better product now.

I'll get that new file up and I think I have a guess why those borders don't align properly. More on that later.

Erica1977
11-09-2011, 05:29 AM
The problem you had would affect anyone who uses those styles and now I see your original problem and the mess-up you had later were related. That same problem could have affected other mods and styles too. It's a good thing all those issues came up right away before I forgot some of the details of how the JavaScript works.

All in all it's a better product now.

I'll get that new file up and I think I have a guess why those borders don't align properly. More on that later.

Well Glad we caught it now no one will have at least the issues i had!

nerbert
11-09-2011, 05:53 AM
An improved version of the ThreadNav file is now available. I hope this is the last change but we'll just have to see if more issues come up.

@Erica1977, I'll have a look at your site tomorrow and see if I can figure out that border alignment problem if it's still there with the new file.

Erica1977
11-09-2011, 06:03 AM
An improved version of the ThreadNav file is now available. I hope this is the last change but we'll just have to see if more issues come up.

@Erica1977, I'll have a look at your site tomorrow and see if I can figure out that border alignment problem if it's still there with the new file.

Ok well i update it to the one you post it public.

nerbert
11-09-2011, 03:42 PM
Erica1977, when you get the new file installed and everything is reverted, if you still have that border mis-alignment problem try replacing function show(type, id) with this:


function show(type, id) {
var cell = fetch_object('cont_'+id);
var field = fetch_object('threadnav').parentNode;
field.style.position='relative';
field.style.zIndex=1;
var scroll = fetch_object('threadlist').scrollLeft;
var offset = cell.offsetLeft;
var drop = fetch_object(type+'_'+id);
var nav = fetch_object('threadnav');
var left = fetch_object('left');
var right = fetch_object('right');
var delta1 = left.offsetLeft + 17;
var delta2 = right.offsetLeft - width - 1;
var position = offset-scroll - 1;
if(position < delta1) {
list.scrollLeft += position - delta1;
drop.style.left =''+(delta1)+'px';
}
else if(position > delta2) {
list.scrollLeft += position - delta2;
drop.style.left =''+(delta2)+'px';
}
else {
drop.style.left =''+(position)+'px';
}
nodelay=1;
deltaY = 41;
drop.style.top=''+(nav.offsetTop + deltaY)+'px';
drop.style.display='block';
dropWidth=type=='info'?width:(width+36);
drop.style.width=''+(dropWidth-1)+'px'
var border='1px solid {vb:stylevar postbit_background.backgroundColor}';
fetch_object('name_'+id).style.borderBottom=border ;
}

Erica1977
11-09-2011, 03:55 PM
Erica1977, when you get the new file installed and everything is reverted, if you still have that border mis-alignment problem try replacing function show(type, id) with this:


function show(type, id) {
var cell = fetch_object('cont_'+id);
var field = fetch_object('threadnav').parentNode;
field.style.position='relative';
field.style.zIndex=1;
var scroll = fetch_object('threadlist').scrollLeft;
var offset = cell.offsetLeft;
var drop = fetch_object(type+'_'+id);
var nav = fetch_object('threadnav');
var left = fetch_object('left');
var right = fetch_object('right');
var delta1 = left.offsetLeft + 17;
var delta2 = right.offsetLeft - width - 1;
var position = offset-scroll - 1;
if(position < delta1) {
list.scrollLeft += position - delta1;
drop.style.left =''+(delta1)+'px';
}
else if(position > delta2) {
list.scrollLeft += position - delta2;
drop.style.left =''+(delta2)+'px';
}
else {
drop.style.left =''+(position)+'px';
}
nodelay=1;
deltaY = 41;
drop.style.top=''+(nav.offsetTop + deltaY)+'px';
drop.style.display='block';
dropWidth=type=='info'?width:(width+36);
drop.style.width=''+(dropWidth-1)+'px'
var border='1px solid {vb:stylevar postbit_background.backgroundColor}';
fetch_object('name_'+id).style.borderBottom=border ;
}

Ok go look only on btech red only did it to that style .

nerbert
11-09-2011, 04:12 PM
That seems to fix it.

Now I have to update the file again. Well, some day I'll get this perfect.

I'll post here when the fixed file is edited into the OP.

nerbert
11-09-2011, 04:42 PM
Updated file in opening post.

Erica1977, when you get everything updated I have some ideas for getting the scroll buttons in seamus style looking better.

Will check back later.

Erica1977
11-09-2011, 05:00 PM
Updated file in opening post.

Erica1977, when you get everything updated I have some ideas for getting the scroll buttons in seamus style looking better.

Will check back later.

Ok going to update now Thanks! :up:

Erica1977
11-09-2011, 05:47 PM
Ok have to go out be back soon.

nerbert
11-09-2011, 06:20 PM
Looks like you need to revert templates again. I'm having that problem with drop boxes not closing when I exit out the left side.

nerbert
11-09-2011, 08:03 PM
I looked and those are the right templates. I shall have to scratch my head and rub my chin and get a very serious look on my face. That usually works when I need to figure something out.

Ahmet Turan
11-09-2011, 08:59 PM
thanx

Erica1977
11-09-2011, 10:15 PM
I looked and those are the right templates. I shall have to scratch my head and rub my chin and get a very serious look on my face. That usually works when I need to figure something out.

so are they correct my templates cause i know i reverted them.

nerbert
11-09-2011, 10:54 PM
You have the right templates but there's an error in the templates (my bad!)

In your default style in "threadnav" in function hideInfo(event, id) find the line
x1=c+d+59-list.scrollLeft;
and change to 59 to 60

Now test it. Refresh the showthread page in any style, open a drop box and very slowly exit both to the right and the left. It should close exactly as you cross the border. If that works go to function hidePrev(event, id) and find
x1=c+d+59-list.scrollLeft-18;
and change 59 to 60 and test the preview drop box.

If all that works we have all the mechanical problems fixed and then we can work on fixing up the styling.

Erica1977
11-09-2011, 11:08 PM
You have the right templates but there's an error in the templates (my bad!)

In your default style in "threadnav" in function hideInfo(event, id) find the line
x1=c+d+59-list.scrollLeft;
and change to 59 to 60

Now test it. Refresh the showthread page in any style, open a drop box and very slowly exit both to the right and the left. It should close exactly as you cross the border. If that works go to function hidePrev(event, id) and find
x1=c+d+59-list.scrollLeft-18;
and change 59 to 60 and test the preview drop box.

If all that works we have all the mechanical problems fixed and then we can work on fixing up the styling.

ok i did part 1 like you said and you said default style only not sure what your asking me to open and close but i added it part 1 this x1=c+d+60-list.scrollLeft; so can you come on and test it please i only did that part and only to default style let me know if i have to do second part.

nerbert
11-09-2011, 11:23 PM
The changes didn't come through. Are all these child styles of a single default style? From looking at the style menu it appears they don't have a parent style. If that's the case you will have to change each one.

Do both changes on Seamus Red and we'll see if that works

Erica1977
11-09-2011, 11:28 PM
The changes didn't come through. Are all these child styles of a single default style? From looking at the style menu it appears they don't have a parent style. If that's the case you will have to change each one.

Do both changes on Seamus Red and we'll see if that works

Does this answer your Question.
134340

Erica1977
11-09-2011, 11:31 PM
The changes didn't come through. Are all these child styles of a single default style? From looking at the style menu it appears they don't have a parent style. If that's the case you will have to change each one.

Do both changes on Seamus Red and we'll see if that works

Ok did it to Seamus Red.

nerbert
11-09-2011, 11:34 PM
It looks like they are all independent styles. Let's get Seamus Red done and if it works there it should work everywhere. No point changing them all since I'll be updating the xml file to incorporate this change and then you'll have to revert everything again.

I'll post instructions that should fix up the appearance of the scroll buttons for Seamus Red in the next post.

venom2124
11-09-2011, 11:40 PM
Have a slight alignment issue on the home page. Just wondering how I might go about fixing it.

Erica1977
11-09-2011, 11:47 PM
It looks like they are all independent styles. Let's get Seamus Red done and if it works there it should work everywhere. No point changing them all since I'll be updating the xml file to incorporate this change and then you'll have to revert everything again.

I'll post instructions that should fix up the appearance of the scroll buttons for Seamus Red in the next post.

Ok will wait Thanks! :up:

nerbert
11-09-2011, 11:55 PM
The changes came through on Seamus but it's still not working. I'm going to have to study this. In the mean time let's see if we can get those seamus scroll buttons looking better.

Go to "threadnav.css" and put this line at the top of .scroll


padding: 11px 0px 12px 0px;


and while you're there change the first line of div.threadnav to this


margin: 0px 0px 6px 0px;


That will put some space between ThreadNav and User Tag List.

Do you want to do something with those blazing white lines in ThreadNav? I thought the color at the very top of each of those red headers would look nice but maybe a medium gray would also work.

EDIT: Oops! That first instruction should be for .scroll, not .info

Erica1977
11-10-2011, 12:05 AM
The changes came through on Seamus but it's still not working. I'm going to have to study this. In the mean time let's see if we can get those seamus scroll buttons looking better.

Go to "threadnav.css" and put this line at the top of .scroll


padding: 11px 0px 12px 0px;


and while you're there change the first line of div.threadnav to this


margin: 0px 0px 6px 0px;


That will put some space between ThreadNav and User Tag List.

Do you want to do something with those blazing white lines in ThreadNav? I thought the color at the very top of each of those red headers would look nice but maybe a medium gray would also work.

EDIT: Oops! That first instruction should be for .scroll, not .info

like this.
.scroll {
padding: 11px 0px 12px 0px;
border: none;
height: 40px;
width: 17px;
background: {vb:stylevar postbithead_background};
color: {vb:stylevar postbithead_color};
cursor: pointer;
overflow: hidden;
clear: none;
}

nerbert
11-10-2011, 12:18 AM
Didn't work -- they still have the dark gray bottom.

Let's try changing those white lines in ThreadNav. Read the instructions at the top of threadnav.css and replace "white" with "rgb(191,35,35)". See how that looks.

I'll see if I can figure out how to fix those buttons.

I have a lot of things to figure out here so I'll let you know if I have any bright new ideas.

Erica1977
11-10-2011, 12:29 AM
Didn't work -- they still have the dark gray bottom.

Let's try changing those white lines in ThreadNav. Read the instructions at the top of threadnav.css and replace "white" with "rgb(191,35,35)". See how that looks.

I'll see if I can figure out how to fix those buttons.

I have a lot of things to figure out here so I'll let you know if I have any bright new ideas.
i think the red looks better take a look.

nerbert
11-10-2011, 12:37 AM
Okay, that matches the text color.

Well, I'll see if I can figure out these mechanical problems and get back later.

Thanks for your help testing all this. Everything worked fine on my forum but the coding had a lot of weak points. By the time I get it working for you it will be good solid coding.

Erica1977
11-10-2011, 12:44 AM
Okay, that matches the text color.

Well, I'll see if I can figure out these mechanical problems and get back later.

Thanks for your help testing all this. Everything worked fine on my forum but the coding had a lot of weak points. By the time I get it working for you it will be good solid coding.

Ok thanks will be here! :up:

nerbert
11-10-2011, 02:17 AM
Try out these and see if you get reliable closing of the drop boxes;


function hideInfo(event, id) {
mouseY=is_ie?
event.clientY+document.documentElement.scrollTop -document.documentElement.clientTop :
event.pageY;
mouseX=is_ie?
event.clientX+document.documentElement.scrollLeft-document.documentElement.clientLeft:
event.pageX;
a=fetch_object('threadnav').parentNode.offsetTop;
b=fetch_object('threadnav').offsetTop;
c=fetch_object('threadnav').parentNode.offsetLeft;
d=fetch_object('name_'+id).parentNode.offsetLeft;
y1=a+b+26
y2=a+b+40+98
x1=c+d-list.scrollLeft;
x2=x1+width;
if(mouseY<=y1||mouseX<=x1||mouseX>=x2||mouseY>=y2) {
fetch_object('info_'+id).style.display='none';
clearTimeout(hoverDelay[id]);
nodelay=0;
border='0px solid transparent';
fetch_object('name_'+id).style.borderBottom=border ;
}
}

function hidePrev(event, id) {
mouseY=is_ie?
event.clientY+document.documentElement.scrollTop -document.documentElement.clientTop :
event.pageY;
mouseX=is_ie?
event.clientX+document.documentElement.scrollLeft-document.documentElement.clientLeft:
event.pageX;
a=fetch_object('threadnav').parentNode.offsetTop;
b=fetch_object('threadnav').offsetTop;
c=fetch_object('threadnav').parentNode.offsetLeft;
d=fetch_object('name_'+id).parentNode.offsetLeft;
y1=a+b+26+14
y2=a+b+40+98
x1=c+d-list.scrollLeft-18;
x2=x1+width+18;
if(mouseY<=y1||mouseX<=x1||mouseX>=x2||mouseY>=y2) {
fetch_object('prev_'+id).style.display='none';
clearTimeout(hoverDelay[id]);
nodelay=0;
border='0px solid transparent';
fetch_object('name_'+id).style.borderBottom=border ;
}
}

Erica1977
11-10-2011, 02:31 AM
Try out these and see if you get reliable closing of the drop boxes;


function hideInfo(event, id) {
mouseY=is_ie?
event.clientY+document.documentElement.scrollTop -document.documentElement.clientTop :
event.pageY;
mouseX=is_ie?
event.clientX+document.documentElement.scrollLeft-document.documentElement.clientLeft:
event.pageX;
a=fetch_object('threadnav').parentNode.offsetTop;
b=fetch_object('threadnav').offsetTop;
c=fetch_object('threadnav').parentNode.offsetLeft;
d=fetch_object('name_'+id).parentNode.offsetLeft;
y1=a+b+26
y2=a+b+40+98
x1=c+d-list.scrollLeft;
x2=x1+width;
if(mouseY<=y1||mouseX<=x1||mouseX>=x2||mouseY>=y2) {
fetch_object('info_'+id).style.display='none';
clearTimeout(hoverDelay[id]);
nodelay=0;
border='0px solid transparent';
fetch_object('name_'+id).style.borderBottom=border ;
}
}

function hidePrev(event, id) {
mouseY=is_ie?
event.clientY+document.documentElement.scrollTop -document.documentElement.clientTop :
event.pageY;
mouseX=is_ie?
event.clientX+document.documentElement.scrollLeft-document.documentElement.clientLeft:
event.pageX;
a=fetch_object('threadnav').parentNode.offsetTop;
b=fetch_object('threadnav').offsetTop;
c=fetch_object('threadnav').parentNode.offsetLeft;
d=fetch_object('name_'+id).parentNode.offsetLeft;
y1=a+b+26+14
y2=a+b+40+98
x1=c+d-list.scrollLeft-18;
x2=x1+width+18;
if(mouseY<=y1||mouseX<=x1||mouseX>=x2||mouseY>=y2) {
fetch_object('prev_'+id).style.display='none';
clearTimeout(hoverDelay[id]);
nodelay=0;
border='0px solid transparent';
fetch_object('name_'+id).style.borderBottom=border ;
}
}

ok its on seamus red.

nerbert
11-10-2011, 03:04 AM
Working reliably for me. I'll update the xml file.

Next time you're tinkering around see what happens of you set the height in .scroll at 60px.

Erica1977
11-10-2011, 03:09 AM
Working reliably for me. I'll update the xml file.

Next time you're tinkering around see what happens of you set the height in .scroll at 60px.

Oh ok will see what happens.

Erica1977
11-10-2011, 03:20 AM
Oh ok will see what happens.

tryed it puts the corner arrows a little dont look right will put back at 40

nerbert
11-10-2011, 03:21 AM
Now product file available.

Erica1977, you won't need to revert threadnav.css, nothing in that has changed in that. Revert any others though.

Erica1977
11-10-2011, 03:21 AM
Oh by the way you should change your version been 1.0 ever since you made this mod should probably be at 2.0 version.

nerbert
11-10-2011, 03:32 AM
What you could do for Seamus Red scroll buttons is change the background to this:


background: rgb(80,16,21); /*{vb:stylevar postbithead_background};*/


That's the average color of the red part. It just won't have the texture. If you don't like it you can change it back easily.

venom2124
11-10-2011, 03:38 AM
disregard. I'm stupid and posting to the wrong mod.

nerbert
11-10-2011, 04:13 AM
Surely with all the graphics on your forum someone could make some image buttons for your various styles. Just don't change the width!

I noticed another problem: in the Btech red and the others below it the last cell in Threadnav is only partly exposed. The problem is the JavaScript gets a measure of the width of the available space and calculates the cell width based on that. Normally in the course of loading the page it gets that dimension after the scroll bar on the left has popped up. On these styles there's a delay between the scroll bar popping up and the page narrowing to fit. Apparently it's getting the width at the wrong time and making the cells too wide. I'll work on an event listener or some other method to determine whether the width has narrowed.

Erica1977
11-10-2011, 04:29 AM
Surely with all the graphics on your forum someone could make some image buttons for your various styles. Just don't change the width!

I noticed another problem: in the Btech red and the others below it the last cell in Threadnav is only partly exposed. The problem is the JavaScript gets a measure of the width of the available space and calculates the cell width based on that. Normally in the course of loading the page it gets that dimension after the scroll bar on the left has popped up. On these styles there's a delay between the scroll bar popping up and the page narrowing to fit. Apparently it's getting the width at the wrong time and making the cells too wide. I'll work on an event listener or some other method to determine whether the width has narrowed.

Oh ok Thanks just let me know and i'll keep working with you on this Mod Thanks! :):up:

nerbert
11-10-2011, 02:14 PM
Updated xml file to resolve more style incompatibility issues and problem with IE

Erica1977, this should make the cells come out correctly in all styles.

Erica1977
11-10-2011, 03:12 PM
Updated xml file to resolve more style incompatibility issues and problem with IE

Erica1977, this should make the cells come out correctly in all styles.

problem with this update see pic.

134351

nerbert
11-10-2011, 04:00 PM
Okay, the cells come out too narrow for you and too wide for me, but for the average viewer they should come out just right!

I looked at the source code for Btech and I see why there's a problem, and I have a vague intuitive phantom-like notion of how to solve it. I shall work on bringing my notion into concrete form

nerbert
11-10-2011, 10:51 PM
Erica1977, replace the entire threadnav template with this and see how it works


<form method="post">
<link rel="stylesheet" type="text/css" href="{vb:raw vbcsspath}threadnav.css" />
<div class="threadnav" id="threadnav">
<button type="button" class="scroll" id="left"
onmousedown="move(this);"
onmouseup="stop(this);"
onmouseout="stop(this);">
<vb:if condition="!is_browser('opera')">
<div style="margin:-3px 0px 0px -2px;font-size:13px;">◄</div>
<vb:else />
<div style="margin:-4px 1px 0px 0px;font-size:16px;">◀</div>
</vb:if>
</button>

<button type="button" class="scroll" id="right"
onmousedown="move(this);"
onmouseup="stop(this);"
onmouseout="stop(this);">
<vb:if condition="!is_browser('opera')">
<div style="margin:-3px -2px 0px 0px;font-size:13px;">►</div>
<vb:else />
<div style="margin:-4px 0px 0px 1px;font-size:16px;">▶</div>
</vb:if>
</button>

<div class="threadlist" id="threadlist">
{vb:raw threadbits}
</div>
</div>

<input type="hidden" name="s" value="{vb:raw session.sessionhash}" />
<input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />

<script type="text/javascript">
<!--
function move(obj) {
x = obj.id == 'left' ? -6 : 6;
interval=setInterval('list.scrollLeft += x', 20);
obj.style.opacity=0.8;
obj.style.filter='Alpha(opacity=80)';
}

function stop(obj) {
clearInterval(interval);
obj.style.opacity=1.0;
obj.style.filter='Alpha(opacity=100)';
}

function delay(type, id) {
if(nodelay==0){
hoverDelay[id]=setTimeout("show('"+type+"', '"+id+"')", 200);
}
else {
show(type,id);
}
}

function show(type, id) {
var cell = fetch_object('cont_'+id);
var scroll = fetch_object('threadlist').scrollLeft;
var drop = fetch_object(type+'_'+id);
var nav = fetch_object('threadnav');
var left = fetch_object('left');
var right = fetch_object('right');
var delta1 = left.offsetLeft + 17;
var delta2 = right.offsetLeft - width - 1;
var offset = cell.offsetLeft;
var position = offset-scroll - 1;
if(position < delta1) {
list.scrollLeft += position - delta1;
drop.style.left =''+(delta1)+'px';
}
else if(position > delta2) {
list.scrollLeft += position - delta2;
drop.style.left =''+(delta2)+'px';
}
else {
drop.style.left =''+(position)+'px';
}
nodelay=1;
deltaY = 41;
drop.style.top=''+(nav.offsetTop + deltaY)+'px';
drop.style.display='block';
dropWidth=type=='info'?width:(width+36);
drop.style.width=''+(dropWidth-1)+'px'
var border='1px solid {vb:stylevar postbit_background.backgroundColor}';
fetch_object('name_'+id).style.borderBottom=border ;
}

function prevFirst(id) {
show('prev', id);
fetch_object('prevlasttext_'+id).style.display='no ne';
fetch_object('prevfirsttext_'+id).style.display='b lock';
fetch_object('prevfirst_'+id).style.backgroundColo r='white';
fetch_object('prevlast_'+id).style.backgroundColor ='transparent';
fetch_object('info_'+id).style.display='none';
nodelay=1;
}

function prevLast(id) {
show('prev', id);
fetch_object('prevlasttext_'+id).style.display='bl ock';
fetch_object('prevfirsttext_'+id).style.display='n one';
fetch_object('prevlast_'+id).style.backgroundColor ='white';
fetch_object('prevfirst_'+id).style.backgroundColo r='transparent';
fetch_object('info_'+id).style.display='none';
nodelay=1;
}

function hideInfo(event, id) {
mouseY=is_ie?
event.clientY+document.documentElement.scrollTop -document.documentElement.clientTop :
event.pageY;
mouseX=is_ie?
event.clientX+document.documentElement.scrollLeft-document.documentElement.clientLeft:
event.pageX;
a=fetch_object('threadnav').parentNode.offsetTop;
b=fetch_object('threadnav').offsetTop;
c=fetch_object('name_'+id).parentNode.offsetLeft;
y1=a+b+26
y2=a+b+40+98
x1=x0+c-list.scrollLeft;
x2=x1+width;
if(mouseY<=y1||mouseX<=x1||mouseX>=x2||mouseY>=y2) {
fetch_object('info_'+id).style.display='none';
clearTimeout(hoverDelay[id]);
nodelay=0;
border='0px solid transparent';
fetch_object('name_'+id).style.borderBottom=border ;
}
}

function hidePrev(event, id) {
mouseY=is_ie?
event.clientY+document.documentElement.scrollTop -document.documentElement.clientTop :
event.pageY;
mouseX=is_ie?
event.clientX+document.documentElement.scrollLeft-document.documentElement.clientLeft:
event.pageX;
a=fetch_object('threadnav').parentNode.offsetTop;
b=fetch_object('threadnav').offsetTop;
c=fetch_object('name_'+id).parentNode.offsetLeft;
y1=a+b+26+14
y2=a+b+40+98
x1=x0+c-list.scrollLeft-18;
x2=x1+width+18;
if(mouseY<=y1||mouseX<=x1||mouseX>=x2||mouseY>=y2) {
fetch_object('prev_'+id).style.display='none';
clearTimeout(hoverDelay[id]);
nodelay=0;
border='0px solid transparent';
fetch_object('name_'+id).style.borderBottom=border ;
}
}

function getThreads() {
newThreadCheck = new vB_AJAX_Handler(true);
newThreadCheck.onreadystatechange(addCells);
var url='showthread.php?do=search';
newThreadCheck.send(url);
}

function addCells() {
list.innerHTML=newThreadCheck.handler.responseText ;
setWidth();
}

function setWidth() {
var n=list.innerHTML.match(/<td id="?td_\d+"?|<td class="?blank"?>/gi).length;
var tableWidth=(width)*n;
fetch_object('table').style.width=''+tableWidth+'p x';
for(i=0; i<cells.length; i++) {
if(cells[i].id.match(/td_\d/i)||cells[i].className=='blank'){
cells[i].style.width=''+(width)+'px';
}
}
}

var y1=0;
var y2=0;
var x1=0;
var x2=0;
var x;
var nodelay=0;
var refresh = {vb:raw vboptions.TN_refresh};
var limit= {vb:raw vboptions.TN_refresh_limit};
var list=fetch_object('threadlist');;
var hoverDelay = new Array();
var interval = null;
var newThreadCheck;
var windowWidth;

var field = fetch_object('threadnav').parentNode;
field.style.position='relative';
field.style.zIndex=1;

var e=fetch_object('threadnav');
var b=document.getElementsByTagName('body')[0];
var x0=0;
if (e.style.position=='absolute') {
x0=e.offsetLeft-e.scrollLeft;
}
else {
while ((e!=null) && (e!=b) && (e.style.position!='absolute')) {
x0+=e.offsetLeft-e.scrollLeft;
if((e.parentNode)&&(e.parentNode.scrollLeft))x0-=e.parentNode.scrollLeft;
e=e.offsetParent;
}
}

listWidth=fetch_object('right').offsetLeft-19-17+1;
var width=(listWidth/(Math.floor(listWidth/{vb:raw vboptions.TN_cell_width})));
width = Math.round(width);
var cells = new Object();
cells=document.getElementsByTagName('td');

var update = setInterval("if(nodelay==0) getThreads();", refresh*1000);
setTimeout("clearInterval(update)", limit*60*1000);
setWidth();
//-->
</script>
</form>

Erica1977
11-10-2011, 11:34 PM
Erica1977, replace the entire threadnav template with this and see how it works


<form method="post">
<link rel="stylesheet" type="text/css" href="{vb:raw vbcsspath}threadnav.css" />
<div class="threadnav" id="threadnav">
<button type="button" class="scroll" id="left"
onmousedown="move(this);"
onmouseup="stop(this);"
onmouseout="stop(this);">
<vb:if condition="!is_browser('opera')">
<div style="margin:-3px 0px 0px -2px;font-size:13px;">◄</div>
<vb:else />
<div style="margin:-4px 1px 0px 0px;font-size:16px;">◀</div>
</vb:if>
</button>

<button type="button" class="scroll" id="right"
onmousedown="move(this);"
onmouseup="stop(this);"
onmouseout="stop(this);">
<vb:if condition="!is_browser('opera')">
<div style="margin:-3px -2px 0px 0px;font-size:13px;">►</div>
<vb:else />
<div style="margin:-4px 0px 0px 1px;font-size:16px;">▶</div>
</vb:if>
</button>

<div class="threadlist" id="threadlist">
{vb:raw threadbits}
</div>
</div>

<input type="hidden" name="s" value="{vb:raw session.sessionhash}" />
<input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />

<script type="text/javascript">
<!--
function move(obj) {
x = obj.id == 'left' ? -6 : 6;
interval=setInterval('list.scrollLeft += x', 20);
obj.style.opacity=0.8;
obj.style.filter='Alpha(opacity=80)';
}

function stop(obj) {
clearInterval(interval);
obj.style.opacity=1.0;
obj.style.filter='Alpha(opacity=100)';
}

function delay(type, id) {
if(nodelay==0){
hoverDelay[id]=setTimeout("show('"+type+"', '"+id+"')", 200);
}
else {
show(type,id);
}
}

function show(type, id) {
var cell = fetch_object('cont_'+id);
var scroll = fetch_object('threadlist').scrollLeft;
var drop = fetch_object(type+'_'+id);
var nav = fetch_object('threadnav');
var left = fetch_object('left');
var right = fetch_object('right');
var delta1 = left.offsetLeft + 17;
var delta2 = right.offsetLeft - width - 1;
var offset = cell.offsetLeft;
var position = offset-scroll - 1;
if(position < delta1) {
list.scrollLeft += position - delta1;
drop.style.left =''+(delta1)+'px';
}
else if(position > delta2) {
list.scrollLeft += position - delta2;
drop.style.left =''+(delta2)+'px';
}
else {
drop.style.left =''+(position)+'px';
}
nodelay=1;
deltaY = 41;
drop.style.top=''+(nav.offsetTop + deltaY)+'px';
drop.style.display='block';
dropWidth=type=='info'?width:(width+36);
drop.style.width=''+(dropWidth-1)+'px'
var border='1px solid {vb:stylevar postbit_background.backgroundColor}';
fetch_object('name_'+id).style.borderBottom=border ;
}

function prevFirst(id) {
show('prev', id);
fetch_object('prevlasttext_'+id).style.display='no ne';
fetch_object('prevfirsttext_'+id).style.display='b lock';
fetch_object('prevfirst_'+id).style.backgroundColo r='white';
fetch_object('prevlast_'+id).style.backgroundColor ='transparent';
fetch_object('info_'+id).style.display='none';
nodelay=1;
}

function prevLast(id) {
show('prev', id);
fetch_object('prevlasttext_'+id).style.display='bl ock';
fetch_object('prevfirsttext_'+id).style.display='n one';
fetch_object('prevlast_'+id).style.backgroundColor ='white';
fetch_object('prevfirst_'+id).style.backgroundColo r='transparent';
fetch_object('info_'+id).style.display='none';
nodelay=1;
}

function hideInfo(event, id) {
mouseY=is_ie?
event.clientY+document.documentElement.scrollTop -document.documentElement.clientTop :
event.pageY;
mouseX=is_ie?
event.clientX+document.documentElement.scrollLeft-document.documentElement.clientLeft:
event.pageX;
a=fetch_object('threadnav').parentNode.offsetTop;
b=fetch_object('threadnav').offsetTop;
c=fetch_object('name_'+id).parentNode.offsetLeft;
y1=a+b+26
y2=a+b+40+98
x1=x0+c-list.scrollLeft;
x2=x1+width;
if(mouseY<=y1||mouseX<=x1||mouseX>=x2||mouseY>=y2) {
fetch_object('info_'+id).style.display='none';
clearTimeout(hoverDelay[id]);
nodelay=0;
border='0px solid transparent';
fetch_object('name_'+id).style.borderBottom=border ;
}
}

function hidePrev(event, id) {
mouseY=is_ie?
event.clientY+document.documentElement.scrollTop -document.documentElement.clientTop :
event.pageY;
mouseX=is_ie?
event.clientX+document.documentElement.scrollLeft-document.documentElement.clientLeft:
event.pageX;
a=fetch_object('threadnav').parentNode.offsetTop;
b=fetch_object('threadnav').offsetTop;
c=fetch_object('name_'+id).parentNode.offsetLeft;
y1=a+b+26+14
y2=a+b+40+98
x1=x0+c-list.scrollLeft-18;
x2=x1+width+18;
if(mouseY<=y1||mouseX<=x1||mouseX>=x2||mouseY>=y2) {
fetch_object('prev_'+id).style.display='none';
clearTimeout(hoverDelay[id]);
nodelay=0;
border='0px solid transparent';
fetch_object('name_'+id).style.borderBottom=border ;
}
}

function getThreads() {
newThreadCheck = new vB_AJAX_Handler(true);
newThreadCheck.onreadystatechange(addCells);
var url='showthread.php?do=search';
newThreadCheck.send(url);
}

function addCells() {
list.innerHTML=newThreadCheck.handler.responseText ;
setWidth();
}

function setWidth() {
var n=list.innerHTML.match(/<td id="?td_\d+"?|<td class="?blank"?>/gi).length;
var tableWidth=(width)*n;
fetch_object('table').style.width=''+tableWidth+'p x';
for(i=0; i<cells.length; i++) {
if(cells[i].id.match(/td_\d/i)||cells[i].className=='blank'){
cells[i].style.width=''+(width)+'px';
}
}
}

var y1=0;
var y2=0;
var x1=0;
var x2=0;
var x;
var nodelay=0;
var refresh = {vb:raw vboptions.TN_refresh};
var limit= {vb:raw vboptions.TN_refresh_limit};
var list=fetch_object('threadlist');;
var hoverDelay = new Array();
var interval = null;
var newThreadCheck;
var windowWidth;

var field = fetch_object('threadnav').parentNode;
field.style.position='relative';
field.style.zIndex=1;

var e=fetch_object('threadnav');
var b=document.getElementsByTagName('body')[0];
var x0=0;
if (e.style.position=='absolute') {
x0=e.offsetLeft-e.scrollLeft;
}
else {
while ((e!=null) && (e!=b) && (e.style.position!='absolute')) {
x0+=e.offsetLeft-e.scrollLeft;
if((e.parentNode)&&(e.parentNode.scrollLeft))x0-=e.parentNode.scrollLeft;
e=e.offsetParent;
}
}

listWidth=fetch_object('right').offsetLeft-19-17+1;
var width=(listWidth/(Math.floor(listWidth/{vb:raw vboptions.TN_cell_width})));
width = Math.round(width);
var cells = new Object();
cells=document.getElementsByTagName('td');

var update = setInterval("if(nodelay==0) getThreads();", refresh*1000);
setTimeout("clearInterval(update)", limit*60*1000);
setWidth();
//-->
</script>
</form>



ok just changed it with this code btech red.

Erica1977
11-10-2011, 11:40 PM
ok just changed it with this code btech red.

Did UO Purple and UO Blue as well.

nerbert
11-11-2011, 02:54 AM
I've watched that page load several times and can see no general method of catching it at just the right stage with any general purpose code. There's just too many things going on with all those modifications.

But ....

Here's a little work-around just for your site. Find
listWidth=fetch_object('right').offsetLeft-19-17+1;
near the bottom of threadnav and just below it add this line
if(',50,29,31,41,'.match(/{vb:raw style.styleid}/))listWidth-=34;
It anticipates the problem styles will shrink 34 pixels horizontally and subtracts that much from the calculated width of the space available.

Erica1977
11-11-2011, 02:57 AM
I've watched that page load several times and can see no general method of catching it at just the right stage with any general purpose code. There's just too many things going on with all those modifications.

But ....

Here's a little work-around just for your site. Find
listWidth=fetch_object('right').offsetLeft-19-17+1;
near the bottom of threadnav and just below it add this line
if(',50,29,31,41,'.match(/{vb:raw style.styleid}/))listWidth-=34;
It anticipates the problem styles will shrink 34 pixels horizontally and subtracts that much from the calculated width of the space available.

which style all?

nerbert
11-11-2011, 03:21 AM
Duh! I didn't need to figure out that fancy conditional, each style has its own template (It's been a long day)

Just put in

listWidth-=34;

in the templates for btech red and all the styles below it in the list.

Erica1977
11-11-2011, 03:46 AM
Duh! I didn't need to figure out that fancy conditional, each style has its own template (It's been a long day)

Just put in

listWidth-=34;

in the templates for btech red and all the styles below it in the list.

ok where do i add this line under what.

nerbert
11-11-2011, 04:06 AM
Same place as I stated earlier.

socialteenz
11-11-2011, 04:49 PM
Installed & nominated :)

*****

nerbert
11-11-2011, 05:45 PM
Installed & nominated :)

*****

Thanks!

Do check back, I'm working on an upgraded version that will work with more styles. The present version will work with most styles but I'm trying to get it more general.

nerbert
11-11-2011, 09:03 PM
Erica1977, I think the problem here is your min-width setting. When btech page loads it resizes twice, first for the scrollbar and then again when all the forum content is finished. As far as I know the body min-width + all the padding, borders, outline and margins must add to less than 1024 regardless of how wide the user has the page. You have it set at 980px which is much too wide. I think you could set that as low as 650px. Go to StyleVars > Common > doc-minWidth and try something much smaller, then check if the page has to resize. This should speed page loading and make it a lot cleaner.

The next thing to do is eliminate the resizing for the scrollbar. Practically every vBulletin page is too tall to display on the screen so they all need scrollbars. But as it is now the page loads starting at the top, and when it gets to the bottom of the window it has to stop, put in a scrollbar, resize eveything and proceed to finish the page. It ought to have a scrollbar from the get-go. If you want to fix this for SHOWTHREAD only go to the SHOWTHREAD template and find the body tag and add style="overflow-y:scroll;" inside the tag. But a simpler way to do it for all pages is go to vbulletin.css and in the .body properties add the line overflow-y:scroll;. There is only one page I know of that doesn't need a scrollbar and that's the vBulletin Message page, but who's going to notice an inactive scrollbar there anyway?

Once this project is done I'm doing this for all my styles.

Now to get rid of the attempts to fix ThreadNav: If changing min-width eliminates the resizing of the page you can get rid of the line I suggested earlier. And if you add the scroll property to vbulletin.css, then in threadnav, go to the line


listWidth=fetch_object('right').offsetLeft-19-17+1;


and edit out "-17" (And you thought I was just too lazy to do my arithmetic!)

FReeSTER
11-12-2011, 10:12 AM
For some reason any of the updates seen to work at my board. I dont see the navbox

nerbert
11-12-2011, 12:37 PM
FReeSTER:

Did an earlier version work?

Do you mean nothing shows at all?

Do you have any other products that place something at the top of the page?

FReeSTER
11-12-2011, 01:19 PM
yes mate none of the versions ever shows up :(

nerbert
11-12-2011, 01:38 PM
Check your admin CP that you do have ThreadNav in settings > options, if you do, it is installed.

What about other products? If another product is using the same template hook and it isn't written correctly it will eliminate the other products.

nerbert
11-17-2011, 05:22 PM
I've uploaded an improved file with a new system for opening and closing the drop boxes.

I think I've fixed all the problems. Thanks to all for your patience and feedback.

warrior uw
11-22-2011, 07:40 AM
i just installed this but it is not even showing up on my forums, i am using 4.1.8

Any ideas?

nerbert
11-22-2011, 07:49 AM
It won't show if there are no new threads to view, such as if you just clicked Mark Forums Read.

What I suspect though, is that you have another product that uses the same template hook and it's interfering with it.

Do you have any other products that place anything at the top of the showthread page? If so I can probably help you fix the problem.

But maybe there's something changed in vB4.1.8, I haven't upgraded to that yet.

penmai.com
11-22-2011, 05:10 PM
Hi just installed the mod! may i know how to place it above "ad_location.global_below_navbar"

nerbert
11-23-2011, 05:14 AM
It's doable but a little complicated as it will be a manual template placement. I'll be away until early next week but I can look into it.

By the way, what vB version are you using?

FReeSTER
11-23-2011, 12:58 PM
this is adding a box on the post title one one of my custom styles

penmai.com
11-23-2011, 01:42 PM
Let me know which template i have to edit. i am using vb4.1.5.

Alan_SP
12-01-2011, 01:21 PM
How server intensive is this mod? Does it do one search for all users who have access to it, or one search for each user every minute (or whatever we specify in ACP)?

nerbert
12-03-2011, 12:14 AM
Let me know which template i have to edit. i am using vb4.1.5.

Sorry I didn't get back to this earlier. Thanksgiving vacation, business, blah blah blah.....

I think this should do it -- Modify the ThreadNav Search plugin as follows:



if(($vbulletin->options['TN_onoff'] AND $show['member']
AND $vbulletin->userinfo['tn_control'] != 0)
OR (!$show['member'] AND $vbulletin->options['TN_allow_guests']))
{
$threadbits = search();
if($numthreads > 0)
{
$templater = vB_Template::create('threadnav');
$templater->register('threadbits', $threadbits);
//$template_hook['showthread_above_posts'] .= $templater->render();
$templatevalues['threadnav'] = $templater->render();
vB_Template::preRegister('SHOWTHREAD', $templatevalues);
}
}
if($_REQUEST['do'] == search)
{
$threadbits = search();
die($threadbits);
}


Now place {vb:raw threadnav} wherever you wish in the navbar template. If the drop boxes don't show I'll have to find the appropriate division and edit in a z-index. See how it works.

nerbert
12-03-2011, 12:16 AM
How server intensive is this mod? Does it do one search for all users who have access to it, or one search for each user every minute (or whatever we specify in ACP)?
I searches every minute for every member. You can set the refresh interval to a very large number and save server loading and bandwidth

osix
12-05-2011, 07:26 PM
i just install it on my new forum 4.1.8
after some setting it does not seem to appear .

any idea .

nerbert
12-05-2011, 11:18 PM
Do you have any other product that puts anything at the top of the showthread page?

nerbert
12-06-2011, 12:23 AM
If you don't have any other products at the top of showthread I'll have you do a simple diagnostic. Paste the following in at the bottom of the Threadnav Search plugin:


$diagnose = 1;
if($vbulletin->userinfo['username'] == 'osix' AND $diagnose == 1)
{
die($numthreads . ' threads found');
}


Change "osix" to your forum username. Refresh showthread and you should get a white page with the number of threads found in the search. If you have just clicked "Mark Forums Read" you won't get any results until someone posts a new thread. You may want to go to your user settings and click on ThreadNav Control and switch to "Today's Posts". You can disable the code I just posted by editing $diagnose to a value of 0

bada_bing
12-19-2011, 03:48 AM
I like this mod but I would like to see a feature that allows you to only include the forums you want to show up rather then exclude forums, I have way more forums I want to exlude then include and this becomes a pain to manage when you have sponsors that come and go and forums that get altered.

thang28101993
01-19-2012, 11:58 PM
not work http://downloadphimhd.com, help me

nerbert
01-20-2012, 01:17 PM
not work http://downloadphimhd.com, help me
This hasn't been working for some other people either and I'm not sure why.

Try this:

Admin CP > Options > General Settings > Thread/Forum Read Marking Type.

If it's not set to "Database (automatic forum marking)", change it to that and put some number in the next option if there isn't one there already. See if that makes it work.

osix
03-02-2012, 10:27 PM
is this working for 4.1.10

kalilo81
09-04-2012, 09:40 PM
there is an issue with RTL.

Toorak Times
10-13-2012, 02:36 PM
Works on 4.2 to some degree, but it is pretty bunched up,any ideas anyone?

GhostHunter2010
10-14-2012, 08:05 AM
tested on vb 4.2 doesnt show up nothing

datoneer
02-01-2013, 07:02 PM
This is awesome thank you!

Bubble #5
09-13-2013, 01:30 AM
Wow, what a nice forum mod idea.

Too bad there's not a 4.2.x version :(

DemOnstar
09-13-2013, 06:02 PM
I got it working in 4.2.1..

Just installed it as per instructions...
Created a new thread. Went back into the forums, clicked on an existing thread and there it was.

Text is a bit small for my needs and it wasn't so easy to edit the size of it...

I did notice that after a while, the thread nav disappears again. But if another thread is created, it pops back up..

nerbert
09-13-2013, 06:41 PM
Yikes, I haven't kept up with this thread.

I wrote this a long time ago so I don't remember exactly how it works now. I think if you go to settings and change it to show today's posts (which is the way I always have it set) then it will always appear on showthread. Otherwise it shows New Posts and if you've marked forums read or read everything it won't show on the page.

If this doesn't work at all check if there's another product that places something at the top of the page. If another product puts stuff in the same template hook and doesn't concatenate it in with ".=" it will wipe out anything else at that location.

DemOnstar
09-14-2013, 01:28 AM
Ok, thanks for that....

One more thing, how do I address the size of it? I mean the font sizes are a tad on the small side...

Cheers.........

nerbert
09-14-2013, 02:38 AM
There are font-sizes in various classes in the threadnav.css template.

DemOnstar
09-14-2013, 05:20 AM
There are font-sizes in various classes in the threadnav.css template.

Marvelous, shall look at that...

Thanks again....

DemOnstar
09-18-2013, 02:59 PM
Installed and almost quite right in a design aspect.

Not sure what is going on with this mod.....In my live site, it shows only the thread that was posted in, nothing else.

On localhost, it shows the post....

Uninstalled.

Thanks..

t.uzuner
01-14-2014, 12:26 PM
not wieving my forum. www.okulonceciyiz.biz help me

t.uzuner
01-14-2014, 12:31 PM
vieving http://www.okulonceciyiz.biz/f465-okul-oncesi-gelisim-raporlari/35051-okul-oncesi-gelisim-raporlari-gorus-ve-oneriler-ornekleri.html but not wiev homepage

Nirjonadda
10-14-2014, 05:29 PM
Please can you add option For Show Location in forum homepage ?

Andrei29
11-09-2014, 05:11 AM
yes show all locations will be great as nobody knows it is hiding inside the thread page

Cla75
12-30-2014, 02:18 PM
to me, it would be useful to add this mod in forum homepage?

nerbert
01-01-2015, 01:08 AM
to me, it would be useful to add this mod in forum homepage?

I'm working on this. I'm also tidying up the code so it will be a day or so. Keep an eye on this thread.

nerbert
01-04-2015, 06:01 PM
I've modified this so it can now be placed in any vBulletin page. I also cleaned up the coding and fixed it so the display cells fit inside the shell exactly and the cell size automatically adjusts when the scrollbar shows or the page is resized.

This took a lot longer than I thought. Sorry for the delay.

Nirjonadda
01-04-2015, 06:09 PM
Thanks for update , Does it compatible with DBSEO?

Nirjonadda
01-04-2015, 06:13 PM
I have error on my site, Please fix on this issue.

Fatal error: Call to undefined function threadnav_search() in /home/user/public_html/includes/class_bootstrap.php(430) : eval()'d code on line 407

nerbert
01-04-2015, 08:01 PM
I have error on my site, Please fix on this issue.

Fatal error: Call to undefined function threadnav_search() in /home/user/public_html/includes/class_bootstrap.php(430) : eval()'d code on line 407
I don't know what could cause that. Perhaps some other product that uses "global_start" is interfering with the "ThreadNav: Function threadnav_search() in Global" plugin.

Try changing the execution order for "ThreadNav: Function threadnav_search() in Global" plugin to 1. I'll look into seeing if another location will work.

nerbert
01-05-2015, 02:06 PM
Well, this works on both my main site and dev site. If somehow some other plugin is affecting this ThreadNav plugin it can be moved to "global_bootstrap_init_start" hook location.

nerbert
01-17-2015, 09:22 PM
I've made changes to this product to make it fully compatible with the newest version of Thread & Forum Ignore System (https://vborg.vbsupport.ru/showthread.php?t=272375&page=3), which I've recently overhauled. This version also gets rid of the text jiggle some browsers had when you hover over the lower portion of a cell to open the dropbox.