Here’s what I ended up doing… Once I had the admin portion working:
1)I created a custom function getMyFiles() which checks the logged in user’s ID against the plugin’s table in the database to see if their are any files there for him. It displays the results as a simple Filename | Filesize | Date Uploaded table. I placed this function in my theme folder’s functions.php file.
2) Created a page template which calls that function right after it calls the_content();
3) Next, created a page called My Files. I assigned the aforementioned page template to this file in the “Page Attributes” drop-down on the right of the Edit Page.
4)Finally, created a file “download.php” and placed it in my theme’s folder. This file basically gets a file ID as a $_GET variable from the My Files page and references the DB to retrieve the corresponding filename. Then using headers, it prompts the user to dowloand the file instead of just opening the file in the browser. This is the ugliest part of the process because it runs completely out of the wordpress scope. It opens it’s own mysql_connect and mysql_select_db by referencing the wp-config.php
So basically, when the user logs in and then clicks on the link to the page “My Files”, the page loads using the custom template php file which in turn calls the getMyFile() function which makes a list of files. Finally, when the user clicks on one of the files, it sends the file ID value to download.php which gets the filename from the DB and prompts the user to download it.
I’m trying to learn how to incorporate all of this into one plugin. If I succeed I’ll let you guys know.