535954 PHP File Management application

Pågår Lagt ut Nov 18, 2011 Betales ved levering
Pågår Betales ved levering

======================

Please make sure you've read the project description below in full before bidding. I have included a phrase that *MUST* be quoted in your bid - if you do not include the phrase in your bid, your bid will be ignored.

=====================

I'm looking for an experienced developer to create a type of file management application for use on a website.

There are 5 pages/screens required in total (although some pages share similar functionality) - detailed below:

1) Install screen:

- User should enter MySQL connection info so that the database table(s) can be created

- They should also be able to provide a "Main Root Folder" location. This should be an existing valid location on their webserver, and will be the location where uploaded files will be stored, so it's important that the install script checks that a valid folder location has been given, and that the correct permissions are set to enable folders to be created and deleted within that location, files to be uploaded and deleted in it etc. This folder location should be stored in the database for use in the screens detailed below.

***It would be useful for the user to see an example of how the folder location should be specified, so a hint that shows them the file location of the install script they are currently running would be useful on this screen - i.e. "your current location is: /home/user/xyz/[url removed, login to view]" ***

- They should also be able to enter an administrator user name, email address, and password which should be used to access Screens 3, 4, and 5. This information should also be stored in the database.

Once installation is complete, a copy of the admin user name/password should be emailed to the admin email address entered.

Any errors during install (including incorrect permissions on the "Main Root Folder") should be shown, along with suggestions for correcting the issue (i.e. CHMOD recommendation etc).

=============================================================

2) Login Screen:

All of the screens below (Screen 3-5) require the user to be logged in using the admin details they provided in Screen 1, so the user needs to login here.

It should also contain an option to send a password reminder to the registered admin email address.

=============================================================

3) Create New Project screen:

This screen allows the user to select individual files, or an entire folder. The selected folder/files should be uploaded to a project specific location on the web server (each project will need to have it's own folder within a "main root folder" that was defined during the install). If the user uploads a single zip file, the zip file should be extracted/unzipped to the project specific folder. The directory structure should be maintained during the upload (or the unzip if applicable). E.g. if the user uploads a folder that contains files and sub-folders, the same structure should be mirrored on the web server.

The user can also select a number of different options, these options do not affect the file upload process described above, but the options (along with the project/folder name) will need to be stored in a MySQL database.

=============================================================

4) Manage Existing Projects screen:

This screen should present a list of previously created projects. When the user selects one of these projects, the options that were set when it was created (see "Screen 3" above) should also be shown, along with the list of files and folders that were uploaded for this project.

The user should be able to change any of the settings and save those changes to the MySQL database.

The user should also be able to upload new files to the project folder, and they should also be able to delete/remove folders/files from that project folder too. The user should be able to navigate around the project folders (i.e. display/alter the contents of any sub-folders etc), but they should not be able to navigate outside of the project folder - for example:

If the user has 2 projects (project 1, and project 2), each of those projects will have it's own folder (as created on "Screen 3" above). If the user selects "Project 2" in this screen, they should only be able to navigate within the folders that were created for that project - they should not be able to navigate to the "Project 1" folders, or the root folder. If you are unclear on this then ask - it is important. You need to include the following text in your bid: "I know you've spent a lot of time putting the description together, so I've taken the time to actually read it!"

=============================================================

5) Run Calculations Screen:

This does not use any information from the previous project screens but as in the "Screen 3", the user should be able to select single/multiple files or an entire folder. The selected folders/files should be uploaded to a temporary folder on the web server (If the single file selected is a zip file, the zip file should be extracted to that temporary folder).

Once the files have been uploaded, the user can click a "Check" button, that button calls a function (that I will write, you can use a place-holder/dummy function in it's place while developing the project). The function will perform a calculation on the files that have been uploaded, and it will return an array containing the following values for each file:

File name, Calculation Result

The values from this return array should be displayed in a scrollable grid on the same screen. Please note that the calculation can take some time to perform and if there are many files there is a possibility of a php timeout - if possible this should be accounted for (i.e. by temporarily increasing the timeout limit).

*** The temporary folder created at the start of this screen should be emptied before any new uploads happen - i.e. when the user first arrives at this screen, if any files/folders are in the temporary directory they should be deleted.***

=============================================================

AJAX MySQL Odd Jobs PHP

Prosjekt-ID: #2281891

Om prosjektet

Eksternt prosjekt Aktiv Jul 11, 2012