Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-04-2012, 06:08 AM
metalguy639 metalguy639 is offline
 
Join Date: Dec 2008
Posts: 501
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Trying to add Popoular Threads Block

I need to add a popular threads block to my forum sidebar, I do not need a cms widget I already have that working. I found some code on vbulletin.com forums but NO ONE wants to answer questions on how to make it work. Maybe someone here can help me. I just need to make this code work in a forum block. This is the code:

Code:
global $vbulletin;
$msglength = 150;
$dots = '...';
$thread = $vbulletin->db->query_read("SELECT thread.threadid, thread.title, thread.views, post.pagetext AS message
FROM " . TABLE_PREFIX . "thread AS thread
LEFT JOIN " . TABLE_PREFIX . "post AS post ON (post.postid = thread.firstpostid)
WHERE 1=1
ORDER BY thread.views DESC
LIMIT 0,5");
$row = array();
if ($vbulletin->db->num_rows($thread) > 0) 
{
    while($rowthread = $vbulletin->db->fetch_array($thread)){
        $row[] = array(
                    'contentid'        => $rowthread['threadid'], 
                    'message'        => $rowthread['message'], 
                    'url'            => fetch_seo_url('thread', $rowthread),
                    'title'            => $rowthread['title'],
                    'views'            => $rowthread['views']);
    }
}
$static = '<ul>';
for($i = 0; $i < count($row); $i++)
{  
    $static .= '<li>';
        $static .= '<a href="' .$row[$i]['url'] . '"><b>' . $row[$i]['title'] . '</b></a><br/> ';
        $static .= '<span style="font-size:11px">(' . $row[$i]['views'] . ' views)</span>';
        if(strlen($row[$i]['message']) > $msglength)
            {
                $row[$i]['message'] = substr($row[$i]['message'],0,$msglength);
                $row[$i]['message'] = substr($row[$i]['message'],0,strrpos($row[$i]['message']," ")) . $dots;
            }
        $static .= '<ul>';    
            $static .= '<li>';
                $static .= strip_bbcode($row[$i]['message'],true,true,false,true,false) . '<br/><br/>';
            $static .= '</li>';
        $static .= '</ul>';
    $static .= '</li>';
}
$static .= '</ul>';
$output = $static;
It works great with a CMS widget but when I try to make it work on the forum sidebar all I get is the header of the block and nothing else. No threads no nothing and it breaks the skin like a div tag was out of place or something. I have made sure that I set the block to be php and that its active. IN the content box as the instructions you see this:

Code:
Specify the content you want to display. If this is PHP code, use a return statement to send your output to the block. For example:

    $my_output = 'Hello, world.';
    return $my_output;
I do not know how to apply that to the code above to make it work and I'm guessing that is what I need. Does anyone know how to make the above code work?
Reply With Quote
  #2  
Old 07-04-2012, 10:26 AM
cellarius's Avatar
cellarius cellarius is offline
 
Join Date: Aug 2005
Posts: 1,987
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try changing the last line in your code from
PHP Code:
$output $static
to
PHP Code:
return $static
Reply With Quote
  #3  
Old 07-04-2012, 10:58 PM
metalguy639 metalguy639 is offline
 
Join Date: Dec 2008
Posts: 501
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by cellarius View Post
Try changing the last line in your code from
PHP Code:
$output $static
to
PHP Code:
return $static
Thanks we found a solution in using the built in blocks. I missed a setting for forum threads that did just what we needed.
Reply With Quote
  #4  
Old 08-04-2012, 04:23 PM
mathforum mathforum is offline
 
Join Date: Nov 2005
Posts: 165
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How can this be edited to show the most popular threads from the last 24 hours?
Reply With Quote
  #5  
Old 08-06-2012, 12:14 PM
metalguy639 metalguy639 is offline
 
Join Date: Dec 2008
Posts: 501
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by mathforum View Post
How can this be edited to show the most popular threads from the last 24 hours?
I have no idea as I got the code off vbulletin.com in another thread discussing the widgets & blocks.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:17 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03759 seconds
  • Memory Usage 2,207KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_code
  • (4)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete