Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Attachment Browser (v2.1 beta testing) Details »»
Attachment Browser (v2.1 beta testing)
Version: 1.00, by CarCdr CarCdr is offline
Developer Last Online: Mar 2007 Show Printable Version Email this Page

Version: 3.0.1 Rating:
Released: 07-02-2004 Last Update: Never Installs: 23
 
No support by the author.

List/Search Attachment Files

List, filter/search, sort, etc. for attachments files. Respects forum permissions. Supports limiting search to a single forum or a list of forums. Also, a separate attachment summary page is available.

Any problems raised in this thread have been fixed. For new features in version 2, see below under Version 2 for "New" entries.

Standard page navigation is supported to go to last page, prev, next, etc.

Sorts, ascending or descending, are supported for:
  • two levels of sorting, for example, by user name and then by file name.
  • Sort, either level, on these fields:
    • date/time
    • user name
    • forum
    • file name
    • file extension
    • file size
    • # of downloads
  • the default sort is date/time (most recent first)
Searching/filtering
  • All criteria is entered on a collapsable form at the top of the page.
  • Search/filter criteria supported are:
    • user name ('*' wildcards allowed)
    • file name ('*' wildcards allowed),
    • file extension ('*' wildcards allowed)
    • userid or list of userid's
    • forumid or list of forumid'
    • attached before N days ago,
    • attached after N days ago
  • Single click filtering by user name, forum name or document type.

Changes pending for version 2.1
  1. New Added usergroup access checking.
    Two configuration variables can be set to either (a) allow access to a set of usergroup or (b) disallow access for a set of usergroup id's.
  2. New Query performance improved.
    Performance for sites with many thousands of attachments is significantly improved. The single most time consuming aspect of such a script is the MySQL query for 'COUNT(*)' to get the number of attachments matching the selection criteria and access permissions. By including only those JOIN's that are required, depending on the columns being accessed, the ORDER BY, and the WHERE clauses, we improve performance of both retrievals. There is still one case where the row retrieval could be slow: when the user requests that the output be sorted by forum title.
  3. New List attachments added since last visit.
  4. New Added a debugging setting to display timing information.
  5. Change Various other performance improvements that will be detailed when released.

Version 2:
  1. New A separate attachment summary page was added.
    Page provides overall summary, summary by forum, and summary by extension.
    This introduces two new templates: attbro_SUMMARY and attbro_summary_categorybit.
    This page is accessed from a new link at the top of the main page.

  2. New Now uses $vbphrase for phrases.
    You can AdminCP-install custom phrases to override the defaults.

  3. New We respect forum permissions.
    To have an entry listed, the user needs 'CANVIEW' and 'CANGETATTACHMENT'
    access and a password if required. Also, $_FORUMOPTIONS[active] and
    $_FORUMOPTIONS[cancontainthreads] must be on and the forum must not
    be a link redirect.

  4. New List forum name with each entry.

  5. New Now supports sorting by forum name; just like any other
    sort, for first- or second-level sort.

  6. New Quick filtering for a single forum, by clicking the
    '[Filter]' link next to a forum name to search only that forum, similar to
    clicking the link next to the user name in our previous version.

  7. New Allow one or more forumid's to be specified as a filter on the Display Options
    form. The "Forum ID" form field may be one or more ID's separated by spaces or commas.
    The "[Filter]" link next to forum names uses this as well to add a Forum ID to the
    current selection criteria.

  8. New Allow one or more userid's to be specified as a filter on the Display Options
    form. The "User ID" form field may be one or more ID's separated by spaces or commas.

  9. New Forums can be explicitly exluded via the URL parameter
    "exclude_forums=LIST", where LIST is one or more forumid's separated
    by spaces or commas. This will eventually be an AdminCP option.

  10. Bug: Checks deletion log so that deleted posts are not included.

  11. Feature/Change: The filter 'sel_userid=NNN' no longer disallows other
    filter criteria. It's treated like any other filter -- combined with other selection
    criteria. Only one of 'sel_userid=NNN' or 'sel_username=XXX' can be specified.
    Userid takes precedence. This change also applies to 'sel_forumid=XXX'.

  12. Change: We use MySQL "LIMIT X,N" syntax to only retrieve the records
    we need to fill the requested page. This should provide some performance gain
    when building pages for high page numbers.

  13. Change: Renamed '[Downloads]' link next to user name to '[Filter]'.

  14. Change: Renamed 'Downloads' in listing header to '$vbphrase[views]'.

  15. Change: Renamed URL parameter 'userid=NNN' to 'sel_userid=NNN'.

  16. Change: Since we now need forum information for every page, we
    always query using all the JOINS -- user, post, thread, forum, deletionlog.

  17. Change: Exclude attachements whose 'postid' is zero. Thanks to
    Pitman for this one, who suggested: "About the private attachments: Since
    they don't have a postid, wouldn't "AND postid !=0" work in the query or
    whatever? If so, that should also fix the problem that some may have with
    attachment names and all showing but no attachment really there yet (like when
    somebody is posting a new attachment and have not yet clicked Submit New
    Thread or Submit Reply)?
    "
  18. Bug: Fix mismatched <td></td> in attbro_FORM template that caused
    page to leak past the right margin.
  19. Phrase changes:
    • New 'stars_allowed' for reminders on form.
    • New 'Filter' for '[Filter]' links
    • New 'Count' for summary page.
    • New 'Attachment_Summary'.
    • No longer use 'Select_Type'.
v 1.1:
  • Added .php to all attachment_browser references in template links.
  • Added forgotten class="tcat" to first table row for headings.
v 1.2:
  • Feature: Enabled display of file type icons and the ability to click
    said icons to recall us to list only files of that type (extension).
    We look for icons using "$stylevar[imgdir_attach]/$extension.gif".
  • Bug: Make "Show attachment ID" on form be remembered across calls.
  • Bug: Make sure "userid=XXX" is passed in links for page navigation when
    listing a single user's downloads.
  • Feature: If we are showing the attachment ID, then always force it below the
    row number with '<br />'.
  • Performance: Performance of 'COUNT(*)' query greatly imporved for case where
    we do not need to reference tables other than 'attachment'. Testing
    on our server shows speed improvement around 6x better. This small
    optimization controlled via "$sqlCountRequiredJoins".

----------------------------

To search in a single forum: use the single click [Filter] next to any forum name on a page or enter the forumid on the "Display Options" form.
To search only in a selected list of forums: Enter a comma-separated list of forumid's in "Display Options".

You can AdminCP-install custom templates to override our defaults ones.
You can AdminCP-install custom phrases to override the defaults -- all
references in templates are to "$vbphrase[XXX]".

If you do not want to change the default templates or phrases, then there are
no other files to install -- just put this one in the main '/forum' directory.
If you want to modify the default templates, copy them from this file and
install them as usual. We will notice when there are installed templates to
override our defaults. The same applies to phrases.

We only list forums that the user has permissions to view and get attachments,
for attachments that are visible and not from deleted posts.

We do 2 queries: (1) get the total COUNT of accessible attachments matching
the selection criteria and (2) retrieve enough rows to fill the requested page.

If you follow a link on one of our pages to download an attachment, view a
user profile, or view the original post, then the normal access checks will
apply, as these links simply invoke standard vBulletin files.

The templates referenced are: attbro_MAIN, attbro_FORM, attbro_ERROR,
attbro_attachbit, attbro_SUMMARY and attbro_summary_categorybit. The default
templates and phrases are defined in this file. Look for '$MyDefaultTemplates'
and '$MyDefaultPhrases'.

For example, if we had a template named 'attbro_example', it will appear in
this file as:

$MyDefaultTemplates['attbro_example'] = '
LINE 1 OF TEMPLATE
LINE 2 OF TEMPLATE

';


To install a custom version, just copy the LINES
and install it under the template name attbro_example.
----------------------------
This extension is free, and will remain free.

Cheers, CarCdr

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #42  
Old 07-06-2004, 05:21 AM
Pitman's Avatar
Pitman Pitman is offline
 
Join Date: Dec 2001
Posts: 99
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

About the private attachments: Since they don't have a postid, wouldn't "AND postid !=0" work in the query or whatever? If so, that should also fix the problem that some may have with attachment names and all showing but no attachment really there yet (like when somebody is posting a new attachment and have not yet clicked Submit New Thread or Submit Reply)?
Reply With Quote
  #43  
Old 07-06-2004, 09:00 AM
CarCdr CarCdr is offline
 
Join Date: Apr 2004
Posts: 242
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Pitman
About the private attachments: Since they don't have a postid, wouldn't "AND postid !=0" work in the query or whatever? If so, that should also fix the problem that some may have with attachment names and all showing but no attachment really there yet (like when somebody is posting a new attachment and have not yet clicked Submit New Thread or Submit Reply)?
Good idea. Change will be in the next upload. Thank you.
Reply With Quote
  #44  
Old 07-06-2004, 10:43 AM
CarCdr CarCdr is offline
 
Join Date: Apr 2004
Posts: 242
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Here is a preview of the changes being tested for version 2 of attachment_browser. Comments are welcomed.
  1. Bug: We handle forum permissions, except for forum passwords. To have an entry listed, the user needs 'CANVIEW' and 'CANGETATTACHMENT' on a forum. Also, the forum must be '$_FORUMOPTIONS[cancontainthreads]'. This introduces another query to get the list of forums.

  2. Feature: List forum name with each entry.

  3. Feature: Now supports sorting by forum name; just like any other sort, for first- or second-level sort.

  4. Feature: Allow one or more forumid's to be specified as a filter on the form. The "Forum ID" form field may be one or more ID's separated by spaces or commas.

  5. Feature: Allow one or more userid's to be specified as a filter on the form. The "User ID" form field may be one or more ID's separated by spaces or commas.

  6. Feature: Quick filtering for a single forum, by clicking the '[Filter]' link next to a forum name to search only that forum, similar to clicking the link next to the user name in our previous version.

  7. Bug: Checks deletion log so that deleted posts are not included.

  8. Feature: Filter 'sel_userid=NNN' no longer disallows other filter criteria. It's treated like any other filter -- it is simply combined with other selection criteria. This also applies to 'sel_forumid=XXX'. For user filtering, only one of 'sel_userid=NNN' or 'sel_username=XXX' can be specified. Userid takes precedence.

  9. Change: Renamed '[Downloads]' link next to user name to '[Filter]'.

  10. Change: Renamed 'Downloads' in listing header to '$vbphrase[views]'.

  11. Change: Renamed URL parameter 'userid=NNN' to 'sel_userid=NNN'.

  12. Change: Since we now need forum information for every page, we always query
    using all the JOINS -- user, post, thread, forum, deletionlog.

  13. Change: Exclude attachements whose 'postid' is zero. Thanks to Pitman for this one, who suggested: "About the private attachments: Since they don't have a postid, wouldn't "AND postid !=0" work in the query or whatever? If so, that should also fix the problem that some may have with attachment names and all showing but no attachment really there yet (like when somebody is posting a new attachment and have not yet clicked Submit New Thread or Submit Reply)?"
Reply With Quote
  #45  
Old 07-07-2004, 01:48 AM
Pitman's Avatar
Pitman Pitman is offline
 
Join Date: Dec 2001
Posts: 99
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I know that this hack uses templates of some sort, but is there any possibility of maybe using the regular templates in later versions? It would be much easier to modify and customize to your own taste without worrying about messing up an entire PHP file trying to modify stuff.

Thanks
Reply With Quote
  #46  
Old 07-07-2004, 02:03 AM
CarCdr CarCdr is offline
 
Join Date: Apr 2004
Posts: 242
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Pitman
I know that this hack uses templates of some sort, but is there any possibility of maybe using the regular templates in later versions? It would be much easier to modify and customize to your own taste without worrying about messing up an entire PHP file trying to modify stuff.

Thanks
Sure. But you will not mess up a PHP file. Copy them from the PHP file, leaving the file unchanged, then install them as you would any template. The program will notice that you have installed templates to override the default. See the comments in the first post for more details.

The advantage here, is that for those who have no desire to modify the templates, there is nothing to do but install the single file. For others, it's a simple matter to install overriding templates.
Reply With Quote
  #47  
Old 07-07-2004, 02:20 AM
Pitman's Avatar
Pitman Pitman is offline
 
Join Date: Dec 2001
Posts: 99
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yeah, and that is a great idea... it would be so much easier for me to modify everything from the same place though without having to actually modify the file each time I want to change something. Thanks for the "Sure" though
Reply With Quote
  #48  
Old 07-07-2004, 10:43 AM
CarCdr CarCdr is offline
 
Join Date: Apr 2004
Posts: 242
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Pitman
without having to actually modify the file each time
BUT... you do not have to modify the file. You copy out the templates. What is the difference between copying the templates from a text file named foo.php and a text file named templates.txt?

Here is a look at the smallest template in the file:

PHP Code:
$MyDefaultTemplates['attbro_ERROR'] = '
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
    <title>$vboptions[bbtitle] - $attbro_PHRASES[attachment_browser]</title>
$headinclude
</head>
<body>
$header
$navbar

<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom:3px">
$attbro_error
</table>

<br /><br /><br /><br />
$footer
</body>
</html>
'

Copy the lines of the template (not including the enclosing single quotes of course), modify it as you wish, then install the template attbro_ERROR.

The functionality I am trying to offer here is to save the effort for those who would choose not to modify the templates, while adding no effort for those who need to modify them.

If I provided a file templates.txt, all I would do is copy them out for you.

I have fun with such discussions Pitman, so do not think for a second I am trying to preach. Anyway, this is all rather academic given the low level of interest in an attachment lister/browser. The number of sites using attachments for pseudo document management, as we do on our site, is obviously very small. Now my users are asking for search capability within the attached files, for .txt, .doc, and .pdf. It never ends... Cheers.

ps: In the pending version 2, the templates can be copied out of the file without the need to replace the single-quote occurences of \' with ' per the v1 instructions, so it is now a straight copy as it would be from any text file containing templates.
Reply With Quote
  #49  
Old 07-13-2004, 07:04 AM
highlander_RD's Avatar
highlander_RD highlander_RD is offline
 
Join Date: Oct 2003
Location: Italy
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Any news about the new release 2.0?
cheers
Reply With Quote
  #50  
Old 07-13-2004, 10:34 AM
CarCdr CarCdr is offline
 
Join Date: Apr 2004
Posts: 242
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by highlander_RD
Any news about the new release 2.0?
cheers
I have been testing it, slowly but surely... Also added some other features not mentioned. The forum selection stuff works well.

Given the low-level of interest here, I admit that I let it slip down my list of things to do. I will get around to uploading soon.

Cheers, CarCdr

Version 2 Changes:
  1. New A separate attachment summary page was added.
    Page provides overall summary, summary by forum, and summary by extension.
    This introduces two new templates: attbro_SUMMARY and attbro_summary_categorybit.
    This page is accessed from a new link at the top of the main page.

  2. New Now uses $vbphrase for phrases.
    You can AdminCP-install custom phrases to override the defaults.

  3. New We handle forum permissions.
    To have an entry listed, the user needs 'CANVIEW' and 'CANGETATTACHMENT'
    access. Also, $_FORUMOPTIONS[active] and $_FORUMOPTIONS[cancontainthreads]
    must be on and the forum must not be a link redirect.

  4. New List forum name with each entry.

  5. New Now supports sorting by forum name; just like any other
    sort, for first- or second-level sort.

  6. New Quick filtering for a single forum, by clicking the
    '[Filter]' link next to a forum name to search only that forum, similar to
    clicking the link next to the user name in our previous version.

  7. New Allow one or more forumid's to be specified as a filter on the Display Options
    form. The "Forum ID" form field may be one or more ID's separated by spaces or commas.
    The "[Filter]" link next to forum names uses this as well to add a Forum ID to the
    current selection criteria.

  8. New Allow one or more userid's to be specified as a filter on the Display Options
    form. The "User ID" form field may be one or more ID's separated by spaces or commas.

  9. New Forums can be explicitly exluded via the URL parameter
    "exclude_forums=LIST", where LIST is one or more forumid's separated
    by spaces or commas. This will eventually be an AdminCP option.

  10. Bug: Checks deletion log so that deleted posts are not included.

  11. Feature/Change: The filter 'sel_userid=NNN' no longer disallows other
    filter criteria. It's treated like any other filter -- combined with other selection
    criteria. Only one of 'sel_userid=NNN' or 'sel_username=XXX' can be specified.
    Userid takes precedence. This change also applies to 'sel_forumid=XXX'.

  12. Change: We use MySQL "LIMIT X,N" syntax to only retrieve the records
    we need to fill the requested page. This should provide some performance gain
    when building pages for high page numbers.

  13. Change: Renamed '[Downloads]' link next to user name to '[Filter]'.

  14. Change: Renamed 'Downloads' in listing header to '$vbphrase[views]'.

  15. Change: Renamed URL parameter 'userid=NNN' to 'sel_userid=NNN'.

  16. Change: Since we now need forum information for every page, we
    always query using all the JOINS -- user, post, thread, forum, deletionlog.

  17. Change: Exclude attachements whose 'postid' is zero. Thanks to
    Pitman for this one, who suggested: "About the private attachments: Since
    they don't have a postid, wouldn't "AND postid !=0" work in the query or
    whatever? If so, that should also fix the problem that some may have with
    attachment names and all showing but no attachment really there yet (like when
    somebody is posting a new attachment and have not yet clicked Submit New
    Thread or Submit Reply)?
    "

  18. Phrase changes:
    • New 'stars_allowed' for reminders on form.
    • New 'Filter' for '[Filter]' links
    • New 'Count' for summary page.
    • New 'Attachment_Summary'.
    • No longer use 'Select_Type'.
Reply With Quote
  #51  
Old 07-13-2004, 11:59 AM
highlander_RD's Avatar
highlander_RD highlander_RD is offline
 
Join Date: Oct 2003
Location: Italy
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It's perfect.
If you want me to test the "beta" 2.0 release on my forum, I'd be very glad.
Just give me a PM or an email with attached the php.
Thanks a lot!
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 05:02 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.04548 seconds
  • Memory Usage 2,352KB
  • Queries Executed 25 (?)
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)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete