Posts: 290
Threads: 26
Joined: Oct 2010
2011-11-02, 01:37:02
(This post was last modified: 2011-11-06, 07:34:15 by Chastin3.)
This is the plugin support thread for the SimpleDir plugin.
Written as a repose to a post in the general request forum this plugin will generate a CSS style-able directory listing. The plugin includes a bunch of filetype icons and a sample CSS file.
Now updated to include a configuration page (see attachment).
To Install:- Unzip the file to your plugin directory.
- Navigate to the config page and enter your configuration.
- Create a page and include (% simpledir %) in the body of page - this will be replaced with the table.
- Copy and paste the CSS into your main theme CSS file, or include the css in a page template
Demo site here: http://testbed.cartocopia.com/simpledir-test-page/
Couple of notes:
You need to have the .htaccess file in the simpledir subdirectory - this redirects any file extension that does not match one of the provided icons to unknown.png
If you want to change/replace/add to the direcory icons, they are 16x16 png files (hardcoded right now) named <lowercase extension>.png so for example, if you wanted to create a new icon for file type mp4, you would create a new icon file (or copy one of the existing movie icons) to mp4.png as put it in that directory.
Any directory must be in the web path as the plugin just serves up links to the files and does not serve the files directly itself. (I'm still working on that one...)
There is fairly simple error checking (All periods are stripped from the subdir parameter to prevent directory traversals) so it will NOT work for subdirectories having a period in the dubdirectory name.
-Rob A>
Posts: 49
Threads: 8
Joined: Oct 2011
Thanks for sharing! From what I saw in the demo, this plugin looks very promising.
Posts: 2,094
Threads: 54
Joined: Jan 2011
Looks great!
Just one comment: it's not KB, but either kB (= 1000 B theoretically) or KiB (= 1024 B, but this is not widely used yet).
Posts: 290
Threads: 26
Joined: Oct 2010
mvlcek Wrote:Looks great!
Just one comment: it's not KB, but either kB (= 1000 B theoretically) or KiB (= 1024 B, but this is not widely used yet).
Thanks!
Regarding the KiB vs. KB, that is a IEC vs. SI issue. My understanding KB is the accepted comon binary SI abbreviation for 2^10 Bytes (as opposed to kB which would be 10^3 Bytes) and most folks don't know what KiB means.
But I appreciate your passion for correctness!
-Rob A>
Posts: 2,094
Threads: 54
Joined: Jan 2011
2011-11-02, 05:47:53
(This post was last modified: 2011-11-02, 05:50:00 by nime.)
RobA Wrote:mvlcek Wrote:Looks great!
Just one comment: it's not KB, but either kB (= 1000 B theoretically) or KiB (= 1024 B, but this is not widely used yet).
Thanks!
Regarding the KiB vs. KB, that is a IEC vs. SI issue. My understanding KB is the accepted comon binary SI abbreviation for 2^10 Bytes (as opposed to kB which would be 10^3 Bytes) and most folks don't know what KiB means.
But I appreciate your passion for correctness!
-Rob A>
It's the common IT abbreviation (JEDEC).
I was looking at Total Commander and Gnome Commander, but I see that Explorer and Nautilus use K:
Nautilus, Windows Explorer: KB
Gnome Commander, Total Commander: kB (but it's probably 1024 B)
So your use of KB is probably the best way ;-)
SI decimal: 1 kB = 1000 B, MB, GB
SI binary (IEC): 1 KiB = 1024 B, MiB, GiB
JEDEC: 1 KB = 1024 B, MB, GB
Posts: 34
Threads: 13
Joined: Nov 2010
Rob, the plugin looks great as I see it on your website.
I've resolved other issues I have with it but now it's giving me a permissions error. See http://beachsun.org/Lakes/documents/
Any ideas on what's causing this error?
Thanks.
Don
Posts: 290
Threads: 26
Joined: Oct 2010
dondemaio Wrote:Rob, the plugin looks great as I see it on your website.
I've resolved other issues I have with it but now it's giving me a permissions error. See http://beachsun.org/Lakes/documents/
Any ideas on what's causing this error?
Thanks.
Don
Looks like you have it now under http://beachsun.org/Lakes/docs/ ?
You need to add some css to style the table?You directory structures seem odd as the document links don't work... do you want to PM/email me your directories in the setup so I can figure out what isn't working?
-Rob A>
Posts: 290
Threads: 26
Joined: Oct 2010
Just added a version 0.2 that provides a config page (screen shot attached to the first post) to specify the base directory, its associated URL, and an extension exclusion list.
-Rob A>
Posts: 290
Threads: 26
Joined: Oct 2010
RobA Wrote:dondemaio Wrote:Rob, the plugin looks great as I see it on your website.
I've resolved other issues I have with it but now it's giving me a permissions error. See http://beachsun.org/Lakes/documents/
Any ideas on what's causing this error?
Thanks.
Don
Looks like you have it now under http://beachsun.org/Lakes/docs/ ?
You need to add some css to style the table?You directory structures seem odd as the document links don't work... do you want to PM/email me your directories in the setup so I can figure out what isn't working?
-Rob A>
The updated version should lets you specify the directory file path and url path separately, so upgrade to 0.2 and it should work on your page.
-Rob A>
Posts: 6,266
Threads: 181
Joined: Sep 2011
Great Plugin!
Suggestions.
Support for htaccess style directory headers and descriptions.
This would be in a file similar to a .htaccess file.
This is the .htaccess syntax for index directories listings, 1 per line
Code: AddDescription "DESCRIPTION TEXT" filename.ext
And this is to include a header html file
Code: HeaderName header.html
Then one of these "dir config" files per folder and you have the same functionality as apache dir indexs, but in getsimple. (except sorting)
But sorting can be added with jquery datatables or something similar, and isn't a big deal.
USER TIP: dont forget the last / in the full path, you will get filesize and filetime errors. ugh.
Posts: 290
Threads: 26
Joined: Oct 2010
I wasn't familiar with that, thanks for the reference!
mod_autoindex has dozens of options though - it would be a real headache to support all of those...no time right now
-Rob A>
Posts: 6,266
Threads: 181
Joined: Sep 2011
It sure does, but most aren't very necessary when you have styling, and many are just icon and sorting related.
Ill probably be adding descriptions and header support to my install, so I thought I would post it as a suggestion.
Its probably all most people would need.
Posts: 290
Threads: 26
Joined: Oct 2010
shawn_a Wrote:It sure does, but most aren't very necessary when you have styling, and many are just icon and sorting related.
Ill probably be adding descriptions and header support to my install, so I thought I would post it as a suggestion.
Its probably all most people would need.
I haven't played with this on Apache, so let me know if I have this right...
Code: HeaderName header.html
- Apache will display the contents of header.html above the listing.
Code: AddDescription "DESCRIPTION TEXT" filename.ext
- Apache will display the description text in an additional field of each row.
the docs state the match can be "a file extension, partial filename, wild-card expression or full filename" - would that flexability be worthwhile?
I'm thinking I could have a set of canned descriptions for just the extensions (like I already can the icons) like this list I found online:
Code: AddDescription "MPEG Layer 3 Format" .mp3
AddDescription "GZIP compressed TAR archive" .tgz .tar.gz
AddDescription "GZIP compressed archive" .Z .z .gz .zip
AddDescription "RAR compressed archive" .rar
AddDescription "TAR compressed archive" .tar
AddDescription "ZIP compressed archive" .zip
AddDescription "Windows executable file" .exe
AddDescription "Common Gateway Interface" .cgi
AddDescription "Joint Photographics Experts Group" .jpg .jpeg .jpe
AddDescription "Graphic Interchange Format" .gif
AddDescription "Portable Network Graphic" .png
AddDescription "Vector graphic" .ps .ai .eps
AddDescription "Hypertext Markup Language" .html .shtml .htm
AddDescription "Cascading Style Sheet" .css
AddDescription "DocType Definition" .dtd
AddDescription "Extensible Markup Language" .xml
AddDescription "Win32 compressed HTML help" .chm
AddDescription "Adobe Portable Document Format" .pdf
AddDescription "Plain text file" .txt .nfo .faq .readme
AddDescription "Unix man page" .man
AddDescription "Email data" .eml .mbox
AddDescription "Microsoft Word document" .doc
AddDescription "PHP: Hypertext Preprocessor script" .php .php3 .php4
AddDescription "PHP: Hypertext Preprocessor source code" .phps
AddDescription "Javascript" .js
AddDescription "Java code" .java
AddDescription "Unix shell script" .sh .shar .csh .ksh .command
AddDescription "Mac OS X shell script" .command
AddDescription "Configuration file" .conf
AddDescription "Mac OS X terminal" .term
AddDescription "BitTorrent file" .torrent
AddDescription "Windows link" .lnk .url
and then only do filename matches that would override these canned ones only when there is an AddDescription line that matches the filename...
Thoughts?
(I'm also doing to add an alt [SND] style of label to the icons, which aren't done right now...)
-Rob A>
Posts: 6,266
Threads: 181
Joined: Sep 2011
Oh I was just thinking straight full filename.ext match, so you don't have to use any pattern matching.
My goal was to just not have to have my files that look like this
Thisiswhatthisfileisjustsoyouknow.pdf
But your idea sounds pretty good too.
Posts: 6,266
Threads: 181
Joined: Sep 2011
I randomly found this also in the php.net docs for str_getcsv
Code: xoneca at gmail dot com 26-Nov-2011 09:26
Note that this function can also be used to parse other types of constructions. For example, I have used to parse .htaccess AddDescription lines:
AddDescription "My description to the file." filename.jpg
Those lines can be parsed like this:
<?php
$line = 'AddDescription "My description to the file." filename.jpg';
$parsed = str_getcsv(
$line, # Input line
' ', # Delimiter
'"', # Enclosure
'\\' # Escape char
);
var_dump( $parsed );
?>
The output:
array(3) {
[0]=>
string(14) "AddDescription"
[1]=>
string(27) "My description to the file."
[2]=>
string(12) "filename.jpg"
}
These 2 features would be awesome, header and description support.
Also it would be nice if this plugin supported function calls with folder, so it can be used multiple times as a component or a inline shortcode.
Posts: 52
Threads: 5
Joined: May 2010
hi.
im getting this: Unable to open the folder /home/user/data/uploads/, check the folder privileges.
Cant see the files .
Solution?
Posts: 290
Threads: 26
Joined: Oct 2010
maxpop Wrote:hi.
im getting this: Unable to open the folder /home/user/data/uploads/, check the folder privileges.
Cant see the files .
Solution?
Like the message states, check the privileges of /home/user/data/uploads/ to make sure they are read/writable by the webserver account.
-Rob A>
Posts: 64
Threads: 21
Joined: Jan 2012
Thanks for this very useful plugin! I however have a couple of questions:
1 - Is it possible for 2 different directory listings to feature on 2 different pages - i.e. on the "Application Forms" page there would be a list of .pdf & .jpg files for download. On the "Education" page there would be .pdf files?
2 - Would it be possible to have an extra column that shows how many times a file has been downloaded?
Thanks in advance.
Posts: 290
Threads: 26
Joined: Oct 2010
chaos Wrote:Thanks for this very useful plugin! I however have a couple of questions:
1 - Is it possible for 2 different directory listings to feature on 2 different pages - i.e. on the "Application Forms" page there would be a list of .pdf & .jpg files for download. On the "Education" page there would be .pdf files?
2 - Would it be possible to have an extra column that shows how many times a file has been downloaded?
Thanks in advance.
These features do not exist in the current version.
Rob A>
Posts: 3
Threads: 0
Joined: Jan 2013
Hello Rob...great Plugin.
I believe I have been able to solve the multiple list problem by renaming the simpledir plugin to a name of my choice, works great! But I do have one question, I cannot get subdirectory listings from the plugin when run. I am using getsimple on XAMPP. Could this be an issue? I'm stumped, any suggestions as to why no subdirectory listings?
Thanks!
kwc
Posts: 3
Threads: 0
Joined: Jan 2013
Rob-
Another note I failed to mention earlier...I see the demo page works correctly...That's how I would like it to operate, but, no subdirectories!
Any suggestions? Ideas?
Thanks!
kwc
Posts: 290
Threads: 26
Joined: Oct 2010
It was pointed out there was a directory traversal vulnerability in this plugin - I have updated the code to deal with this. Please update to version 0.3
@kwc1963 - I have no idea why this does not work on an XAMPP server. What OS?
-Rob A>
Posts: 6,266
Threads: 181
Joined: Sep 2011
maybe is_dir is not working as expected.
Is this on windows ? What version of php ?
Posts: 3
Threads: 0
Joined: Jan 2013
Thanks shawn...more food for thought...windows 7...php ver. 5.4.7
Posts: 6
Threads: 1
Joined: Jul 2013
(2012-08-23, 03:35:45)RobA Wrote: maxpop Wrote:hi.
im getting this: Unable to open the folder /home/user/data/uploads/, check the folder privileges.
Cant see the files .
Solution?
Like the message states, check the privileges of /home/user/data/uploads/ to make sure they are read/writable by the webserver account.
-Rob A>
I have checked all the privileges and they are okay, but it still says "Unable to open folder". Could you explain in detail what do I have to type in the field »Full Server Path to Directory« and what exactly in »Base URL for Directory« ? Thanks
|