Dbfile Wordpress Plugin - Rating, Reviews, Demo & Download

Dbfile Wordpress Plugin - Rating, Reviews, Demo & Download
No ratings yet
Free
Follow for free plugins, new theme releases and theme news

Plugin Description

History

- 2005-10-19: * added the possibility to hide dbfiles list in a post, by setting the custom field hideDbFiles to true
              * $wpURL is now replaced in dbfile.inc and dbfile.php with get_options('siteurl')
              * the post(s) of a file is now shown (with link) in "Manage Database Files"
              * install now requires user level 10.
              * install now checks if the post2file table exists before creation
              * install now checks if ALTER TABLE or CREATE TABLE should be used on files and post2file tables.
- 2005-10-18: * a file can now be fetched using only the name. If more than one file exists with the same name, the first encountered is returned.
- 2005-10-13: * renamed all options from db_file* to dbfile_*
              * renamed db_post2file_table to dbfile_post2file_table
              * checking of id is done in dbfile.inc instead of in dbfile.php
              * sortNo is disabled if no postID has been entered when editing a file
              * added option dbfile_preview_types that controls what file types to preview when editing
              * added option dbfile_fileentry that controls the structure of a file list entry in a post with listPostLinks
              * added hits to files table
              * added download counter + option to turn it on globally (default is off)
- 2005-10-12: * only images are previewed
- 2005-10-07: * added $trace flag to minimize debug/trace output if disabled.
              * sortNo moved from files to post2file table
- 2005-09-27: * added option for post2file table
              * added post2file table in install
              * added relation post2file in receiveFile
              * requirements changed, added my production environment
              * moved all functions into dbfile class to avoid name clashes
- 2005-09-23: * added Requirements in readme.txt
              * install/enabling the plugin now checks if the files table exists before trying to create it
              * SQL changed to be MySQL 4.0x compatible
              * more user friendly maximum upload size error message
              * added postID and sortNo to table
              * added FilePostID and FileSortNo to upload page

1.0 – 2005-09-20: initial release

Requirements

This is the setup I have tested with. Please let me and the community know if you have got it working on other conjfigurations!

Test environment:
Windows XP SP2 (http://www.microsoft.com/windowsxp)
Apache httpd 2.0.54 (http://httpd.apache.org)
PHP 5.0.4 (http://www.php.net)
MySQL 4.1.13-nt (http://www.mysql.org)
Wordpress 1.5.2 (http://www.wordpress.org)

Production environment:
FreeBSD or OpenBSD (my hosting company wont give away exactly which of them I use)
Apache httpd 1.3.33 (http://httpd.apache.org)
PHP 4.x (http://www.php.net)
MySQL 4.0.18 (http://www.mysql.org)
Wordpress 1.5.2 (http://www.wordpress.org)

Upload a file

  • Go to “Manage”, “Add Database File”.
  • Optional: fill in a short description
  • Optional: fill in post id, to associate the file with a post
  • Optional: fill in sort number to sort on when displaying files in a post (only enabled if you filled in a post id)
  • Click “Browse” and find the file you want to upload (select it and choose OK)
  • Hit the “Submit” button
  • You will be redirected to the “Database Files” page

Manage files

  • Go to “Manage”, “Database Files”
  • If you haven’t uploaded any files, there will be no useful information here. Upload a file by following the instructions above.
  • If you want to view a file, click “View”
  • If you want to download a file, press “Download”
  • If you want to delete a file, click “Delete” and confirm with “OK”
  • If you want to edit a file, click “Edit”, and you will be presented with the upload page again.

Uninstall

  • Check what database and table the plugin is using, under Options, Database Files
  • Turn the plugin off in the Plugin Management page.
  • Delete the dbfiles directory in the WordPress plugin directory
  • Optional: delete the files table mentioned in Options, Database Files, Destination database / Destination table
  • Optional: delete the options added in wp_options (see “Options added and used in wp_options” below)

Files

This is how the structure should look when installed correctly:

/wordpress/plugins/dbfile/dbfile.inc – the db_file class with all functionality to access database files
dbfile.php – all actions (edit, view, get, delete) are handled via this file
dbfiles.php – the plugin main activation file
LICENSE.TXT – GPL license
readme.txt – this file

Tables

The files table (defaults to wp_files in the WordPress database) consists of these fields:
id – the id of the database file
name – the name of the file
mimeType – the mime type of the file, i.e. image/png for a .png file
content – the actual file, stored as a blob – binary large object
description – a short description of the file
created – date and time when the file was uploaded (first time)
modified – date and time when the file was modified/uploaded (after first time)
hits – the number of times the file has been downloaded/viewed. This only increments if hit counting is turned on with the dbfile_use_hitcounter option.

The post2file table (defaults to wp_post2file in the WordPress database) consists of these fields:
relID – the relational id
postID – the id of the post record
dbfileID – the id of the dbfile record
sortNo – the sorting number used when displaying dbfiles in a post, to sort the entries
For now, the dbfile plugin handles only one to one relation between a post and a dbfile. This is soon to be changed.

Options added and used in wp_options

dbfile_use_fileupload – “1” to enable uploads, “0” to disable. Default is “0”
dbfile_database – The name of the database to use for upload/download of files.
Defaults to “wordpress” (or whatever you have named it).
dbfile_table – The name of the table to use for upload/download of files.
Defaults to “wp_files” (actually the wp_ part is dynamically fetched from your installation).
dbfile_post2file_table – The name of the table to use for relations between posts and db files.
Defaults to “wp_post2file” (the wp_ part is dynamically fetched from your installation).
dbfile_upload_maxk – The maximum number of kilobytes that will be received when uploading.
Defaults to 300
dbfile_upload_allowedtypes – The file extensions that are allowed to be uploaded, separated by spaces.
Defaults to “jpg jpeg gif png”
dbfile_upload_minlevel – The minimum user level required to upload files.
Defaults to 6.
dbfile_preview_types – The file types that should be previewed when editing a file, separated with space, excluding the extension dot
Defaults to jpg jpeg gif png
dbfile_entry – The structure of a dbfile entry in a post. Use %name and %link inside the string
Defaults to

  • %name
  • dbfile_use_hitcounter – Turn on hit counter by setting this to 1
    Defaults to 0

    Todo

    As this is a new project, there are several items/bugs that could be fixed in the future:
    * Localization
    * Check FIXMEs
    * Security/SQL-injection?
    * Compression
    * Use the ORIGINAL created and modified of the file? Add a field “uploaded” to wp_files then.
    * Follow WordPress coding standards
    * Different files for the different actions? adddbfile.php, editdbfile.php, admindbfiles.php?
    * Add “read” and “edit” rights to files
    * Separate content from presentation better
    * Remove hard coded links/paths
    * More documentation
    * Sortable table in Database File Management (see http://www.kryogenix.org/code/browser/sorttable/ for an example)
    * Nicer error messages for users (XHTML compliant)
    * Integrate with the image/file browser in ChenPress/FCKeditor
    * Caching (on/off) (cache files on filesystem?)
    * Add referrer checking, so external sites can not link directly (on/off)
    * Change the content field in the files table to LONGBLOB
    * Export files from the database to the file system
    * Rename files

    Screenshots

    No screenshots provided


    Reviews & Comments