View Single Post
  #2  
Old 12-22-2015, 04:39 AM
MarkFL's Avatar
MarkFL MarkFL is offline
 
Join Date: Feb 2014
Location: St. Augustine, FL
Posts: 3,853
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is how I set up the forum block in the "Forum Blocks Manager":



This is the PHP code:

PHP Code:
global $vbulletin$db;
$number_of_attachments 5;
$output '';

$last_attachments $vbulletin->db->query_read_slave("
    SELECT attachment.*, user.*, post.postid, post.threadid, thread.title, filedata.filesize
    FROM " 
TABLE_PREFIX "attachment
    INNER JOIN " 
TABLE_PREFIX "user
    ON user.userid = attachment.userid
    INNER JOIN " 
TABLE_PREFIX "post
    ON post.postid = attachment.contentid
    INNER JOIN " 
TABLE_PREFIX "thread
    ON thread.threadid = post.threadid
    INNER JOIN " 
TABLE_PREFIX "filedata
    ON filedata.filedataid = attachment.filedataid
    ORDER BY attachment.dateline DESC
    LIMIT " 
$number_of_attachments
);

$n 0;
while (
$attachment $db->fetch_array($last_attachments))
{
    
$output .= '<div';
    if (
$n++)
    {
        
$output .= ' style="border-top: 1px solid #CCCCCC"';
    }
    
$output .= '>Posted By: <div style="display: inline-block">' attach_user_link($attachment) . '</div><div title="Uploaded: ' vbdate($vbulletin->options['dateformat'], $attachment['dateline'], 1) . ' at ' vbdate($vbulletin->options['timeformat'], $attachment['dateline']) . PHP_EOL 'Views: ' $attachment['counter'] . PHP_EOL 'Size: ' number_format($attachment['filesize']/1024,1) . ' KB">' $attachment['filename'] . '</div><a title="Go To Post With Attachment" href="showthread.php?' $attachment['threadid'] . '-' str_replace(' ''-'$attachment['title']) . '&p=' $attachment['contentid'] . '&viewfull=1#post' $attachment['contentid'] . '">' $attachment['title'] . '</a></div>';
}

return 
$output;

function 
attach_user_link($user_name)
{
    global 
$vbulletin;
    
$link 'member.php?do=getinfo&username=' $user_name['username'];

    if (
$user_name['displaygroupid'])
    {
        
$groupid $user_name['displaygroupid'];
    }
    else
    {
        
$groupid $user_name['usergroupid'];
    }

    
$open_tag $vbulletin->usergroupcache[$groupid]['opentag'];
    
$close_tag $vbulletin->usergroupcache[$groupid]['closetag'];
    return 
'<a title="Go To ' $user_name['username'] . '\'s Profile" href="' $link '">' $open_tag $user_name['username'] . $close_tag '</a>';

And this is the result on my local dev site:



The usernames are shown in their usergroup HTML markup, and link to their profiles. The attachment filename has a tooltip that shows when it was uploaded, the number of views and the size of the file (in KB).

Below the filename is a link to the post containing the attachment.

You can edit the PHP code, the second line, to change the number of most recent attachments to display...replace the "5" with whatever positive integer you want.

Please let me know of any changes you would like.
Attached Images
File Type: png latest_attachments.png (43.4 KB, 0 views)
File Type: png latest_attachments_block.png (11.4 KB, 0 views)
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01199 seconds
  • Memory Usage 1,830KB
  • Queries Executed 12 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (2)postbit_attachment
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete