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
Links and Files Database Details »»
Links and Files Database
Version: 1.60, by AndrewD AndrewD is offline
Developer Last Online: Apr 2010 Show Printable Version Email this Page

Version: 3.0.7 Rating:
Released: 01-17-2004 Last Update: 07-25-2005 Installs: 238
DB Changes Template Edits
 
No support by the author.

The VB3.0 version is no longer supported although there have been no reported problems for some time

See here for the VB 3.6 version of this hack, which is now the supported version. This version currently also works with VB 3.5
See here for the VB 3.5 thread for this hack.

What's new in v1.60?

Option to display associated thumbnail images
Option to accept/not accept new entries if these already exists in database
Code for mass edits (accessed via admincp) tidied up
VB phrasing completed
Includes a full French and a partial German translation (thanks to cclaerhout, Allan and LeeWicKeD), handled properly by installation script.
Various bugs fixed and tested against php4 and php5:
Better database validation (on startup/in admincp: links with invalid associated forumids, categories with invalid parentids)
Alternative linkbit templates provided (default uses a fieldset, the other is the old-style table row)
Alternative category selection templates (pull down menu/list of checkboxes),
Star rating displayed using standard VB stars rather than in text form
Series of minor bug fixes
See file change.txt in zip file

What it is/does

- Provides a searchable database of weblinks and/or downloadable files, for example manuals, music files, pictures, etc.
- Integrates within VBulletin, without requiring any code changes.
- Transparently handles links and file downloads. (If you want to provide downloads from your own site, you need a separate tool to upload these files. This hack does not and will not include a file uploader.)
- Provides unlimited nested categories.
- Each link/file can be a member of multiple categories.
- Link and category title and descriptions can use all BBCODEs, giving the possibility to add images, colouring, etc, as you wish
- Viewing/access permissions controlled using VBulletin forum system
- Users can rate links, in a similar manner to VB thread rating.
- File downloads are semi-leechproof, i.e. the user does not see where the file is stored and can only access the link if she has access to the associated forum.
- Audio files playable via Windows Media Player can be offered as a jukebox .
- Tracks who downloads what
- Validates links on entry/editing, and provides admin facility to validate the entire database.

Installation/upgrading instructions

Read instructions.txt in the zip file. Installation script works out whether to install or upgrade.

To upgrade from an earlier release of this hack, simply re-run the installation script. If you modified the templates in the top styles, you will lose these modifications unless you back up and re-edit.

PLEASE BACK UP YOUR DATABASE

See also

For screen shots, see attachments.

Tested with

VBulletin 3.0 and higher
PHP 4.1.1 and 4.3.4, should work with all 4.x versions, seems ok with 5.0.4
MySQL 4.0.
Reported ok with MySQL 4.1 but not exhaustively tested

Credits

Initially inspired by drkFusion's vb2 hack "vb Link Directory" v.2 and discussion about v.3 on Vbulletin.org. This is a complete rewrite with many more features. Every credit to the VBulletin folks for providing the infrastructure and to those on vbulletin.org who have helped with testing.

Integrations/Conversions

Natch has written extensions to integrate this hack with VBindex and VBAdvanced.

For convenience, this hack includes fully integrates with, but does not install, his VBIndex hack - i.e. the required template and code are provided, and the admin panel handles the configuration settings. Please refer to his thread for instructions.

Integration with VBadvanced is described in thread 1319 at vbadvanced.com.

The zip file includes a script and instructions for converting from vbLinks v2 (see thread 44551

Show Your Support

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

Comments
  #532  
Old 08-03-2004, 04:32 AM
Natch's Avatar
Natch Natch is offline
 
Join Date: Nov 2002
Location: Australia
Posts: 851
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks buddy
Reply With Quote
  #533  
Old 08-03-2004, 04:35 AM
AndrewD AndrewD is offline
 
Join Date: Jul 2002
Location: Scotland
Posts: 3,486
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Those concerned about bandwidth and not about file theft might try the following patch. Edit local_links.php and find line: (about line 1900, depending on version)

PHP Code:
if ($_REQUEST['action'] == "jump") { 
About 50 lines further down find these lines
PHP Code:
if (!is_array($mimetype)) { 
// no mimetype, so assume this is a regular link
        
$hit record_hit($id$url$LINK_OK);
        eval(
print_standard_redirect('Redirecting.',0));
    } else { 
Change the
PHP Code:
if (!is_array($mimetype)) { 
to something that is always true, e.g.
PHP Code:
if (1) { 
All link/file accesses will then be handled as redirects, so I imagine this will reduce bandwidth use for files with known mimetypes coming from a remote site.

The change will have no effect for filetypes that do not have recognised filetypes, and I suspect that it will have little if any effect for files held on your own server (but I may be wrong).

However, this improvement is at the cost of potentially making visible where the files are stored and it also causes one or two changes in the way windows are opened.

Appreciate feedback. Cheers.
Reply With Quote
  #534  
Old 08-03-2004, 04:40 AM
Natch's Avatar
Natch Natch is offline
 
Join Date: Nov 2002
Location: Australia
Posts: 851
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So there is no way to have leech-protection on but without the doubled bandwidth use?
Reply With Quote
  #535  
Old 08-03-2004, 05:09 AM
AndrewD AndrewD is offline
 
Join Date: Jul 2002
Location: Scotland
Posts: 3,486
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Natch
So there is no way to have leech-protection on but without the doubled bandwidth use?
Not that I've found. Seems to me that you either ask the server to read the file and pass it on in a controlled way to the client (sequences of fopen/fread/fclose), or you ask the client to go away and read the file for itself (javascript or meta tag). If the server reads the file, then by definition twice the bandwidth is used. If the client reads the file, then you have to tell it which file to read.

But I may be wrong and would be delighted to learn :squareeyed:
Reply With Quote
  #536  
Old 08-03-2004, 11:05 AM
Natch's Avatar
Natch Natch is offline
 
Join Date: Nov 2002
Location: Australia
Posts: 851
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You should be able to cause your PHP script to redirect to a second PHP script designed just to mask the location - it would contain just a
Code:
Header: mime-type yadda yadda
statement followed by the contents of the file - if the file is local then there hsould be no bandwidth increase ... am I totally off base here ?
Reply With Quote
  #537  
Old 08-03-2004, 11:09 AM
AndrewD AndrewD is offline
 
Join Date: Jul 2002
Location: Scotland
Posts: 3,486
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Natch
You should be able to cause your PHP script to redirect to a second PHP script designed just to mask the location - it would contain just a
Code:
Header: mime-type yadda yadda
statement followed by the contents of the file - if the file is local then there hsould be no bandwidth increase ... am I totally off base here ?
Yes, that's essentially what the current code does, and it works fine. The question that was raised concerns the increased bandwidth when the file to be downloaded is held on a third machine. In that case, the main server has to read the file before downloading it. Alternatively the browser can be told to launch itself and read the third party file, but in that case one cant keep the location secret.
Reply With Quote
  #538  
Old 08-05-2004, 08:24 PM
lmongello lmongello is offline
 
Join Date: Jan 2004
Posts: 54
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Forgive the stupid question, but I'm going crazy with this...

I want to restrict access to this page to registered members only. I tried creating a forum with a link to local_links.php using permissions in the Vb Admin, but that prevents unregistered members from seeing the list only.

I want them to see the forum (or sub-forum, etc.), but if they try and acess it, they get redirected to the "Sorry, you are not logged in or registered" page.

Hoping someone here can help!!

Thanks!!!!!
Reply With Quote
  #539  
Old 08-06-2004, 04:25 PM
AndrewD AndrewD is offline
 
Join Date: Jul 2002
Location: Scotland
Posts: 3,486
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by lmongello
Forgive the stupid question, but I'm going crazy with this...

I want to restrict access to this page to registered members only. I tried creating a forum with a link to local_links.php using permissions in the Vb Admin, but that prevents unregistered members from seeing the list only.

I want them to see the forum (or sub-forum, etc.), but if they try and acess it, they get redirected to the "Sorry, you are not logged in or registered" page.

Hoping someone here can help!!

Thanks!!!!!
You want all the subcategories in a category to be visible regardless of their forum protection, but to trigger a login page if someone tries to drill down into a category that is protected for member access only?

I think this will work:

Edit local_links.php
Find lines (about line 600 or so)

PHP Code:
    // Get categories at this level
    
foreach ($linkscat AS $thiscat) {
        if (
$thiscat["parentid"] == $viewcatid and !in_array($thiscat["catforum"], $limitfids)) {
            if (
$thiscat['catmoderate'] and $bbuserinfo['userid'] != $thiscat['catuserid']) continue; 
Replace by

PHP Code:
    // Get categories at this level
    
foreach ($linkscat AS $thiscat) {
        if (
$thiscat["parentid"] == $viewcatid) {
            if (
$thiscat['catmoderate'] and $bbuserinfo['userid'] != $thiscat['catuserid']) continue; 
Let me know if this is what you want, and if this should be a switch on the admin page
Reply With Quote
  #540  
Old 08-11-2004, 09:22 PM
tteal tteal is offline
 
Join Date: May 2004
Location: Pasadena, Maryland
Posts: 142
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

First and foremost, thank you for making this modification available! Secondly, I was wondering if I could make a recommendation?

- For each "affiliate", would it be possible to add a feature on for users to be able to post a comment on their experience? I realize that you're rating the affiliate, however, comments help out a lot to discuss what you liked/dis-liked about their service, etc.

Thanks,
Tim
Reply With Quote
  #541  
Old 08-11-2004, 11:48 PM
Natch's Avatar
Natch Natch is offline
 
Join Date: Nov 2002
Location: Australia
Posts: 851
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by AndrewD
Yes, that's essentially what the current code does, and it works fine. The question that was raised concerns the increased bandwidth when the file to be downloaded is held on a third machine. In that case, the main server has to read the file before downloading it. Alternatively the browser can be told to launch itself and read the third party file, but in that case one cant keep the location secret.
Thanks for clarifying - my mistake - I guess my increased bandwidth is jsut cos I'm getting more visitors
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:05 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05533 seconds
  • Memory Usage 2,338KB
  • 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
  • (2)bbcode_code
  • (6)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
  • (4)pagenav_pagelinkrel
  • (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