File List Add-on needed urgently. And your thoughts on Document Library addon

Permalink
Hi All,

Please can someone recommend a good File List addon that also allows searching of the files in the list?

I use File List Pro at the moment. I love how this addon works and the search facility BUT it gives direct links to the files. Many of my files are large PDFs and my bandwidth is being sucked dry by other websites linking directly to them.

Google now links direct to my PDFs for example. As a side question, do you think this means I'm going to have to re-import all of them? I hope not!

I want the files to only be available to logged in members of the websites. So the list needs to have the download location, NOT a direct link to the PDF.

The Document Library addon might do what I need so I'm interested to hear feedback from anyone using that before I leap into a purchase as it is fairly expensive.

I'm also about to launch a new site with thousands of PDF downloads so this is needed for more than one site. If any of you are thinking of developing a file list addon please take the above into account because direct linking is proving to be a huge headache for me and I wish I had realised all of this when I started my site as it has become so important!

Thanks in advance,
Mike

designserve
 
mnakalay replied on at Permalink Best Answer Reply
mnakalay
Hello,
If you look in the block's controller file you will see these 4 lines:
$url = $fv->getURL();
// if you do NOT wish to directly link to the file, bypassing permissons, logging, etc,
// use instead of the above line: 
//$url = View::url('/download_file', $f->getFileID(),$cID);

you can add // in front of the first line and delete them in front of the last one. Like that the url of the file will not appear.

Keep in mind, however, the warning that you will bypass permissions and restrictions set on the file.

You can however easily fix that by adding a little bit of code to check whether the user is logged in or not. Here's an example:
// if you do NOT wish to directly link to the file, bypassing permissons, logging, etc,
// use instead of the above line: 
$user = new User;
if ($user->isLoggedIn()) {
$url = View::url('/download_file', 'force', $f->getFileID(),$cID);   
} else {
$url = "#";
}


What this code will do is that, if the user is logged in, it will link to the file, but not directly. And if the user is not logged in it will simply replace the url with a '#'.

Also, you'll notice I added 'force' in the code so the file is downloaded instead of opened in the browser.
designserve replied on at Permalink Reply
designserve
Thank you I'm so grateful for your advice because I've been struggling with this for ages and it will make a huge difference to how I maintain the site!
designserve replied on at Permalink Reply
designserve
And also for helping me to understand 'force'. I've been dealing with that in htaccess but it is good to know.
designserve replied on at Permalink Reply
designserve
For the benefit of others who might need this solution here are a few notes:

The edits are made in the block's view.php

You don't need the lines to check whether the user is logged in, C5 takes care of that, so just uncomment the line mentioned.

You'll lose your file type icons. I'll revisit this thread if I work out how to get them back, I'm not too bothered about the icons right now the functions are far more important for me.

You will need to comment and uncomment the appropriate lines for any templates you use too.

Thanks for the help!
mnakalay replied on at Permalink Reply
mnakalay
you're welcome