This is a simple C# application if you also know how PHP works. The interface for this program will ask the user for their ftp server credentials as well as the web server url. The software also collects mysql information.
First the application will login and create a phpinfo() document on the server and attempt to locate it. From this the application will parse the version of php and any other information required.
Next, the software will create a simple document to determine if mysql access is available, verify the database name is correct, etc.. It does this by creating a php test file, sending it to the server through ftp, and then loading it through the web interface.
If this works correctly, the software will read a file named [login to view URL] in the directory. This contains a set of files to upload to the server. This zipfile will have subdirectories as well.
Each file will be uploaded to the server. During the upload, any file that is not an image should be parsed first. This will include special tags for names:
%mysqluser%, %mysqlpass%, %mysqlpass%, %mysqlhost%,
%ftphost%, %ftpuser%, %ftppass%, %homedir%,
%gmtoffset%
The zip file may also have 2 special files. The first is [login to view URL] which may contain any number of mysqlcommands. These would be in the form of a mysqldump done on another server. You would need to upload this into a wrapper php file and execute them on the server.
The file [login to view URL] will contain a series of lines that have other commands. they are
CHMOD 777 PathOrFile
COPY src dst
The goal here is to simplify the install procedure on a slightly complex php script that has over 100 files. You can test this easily with any number of php scripts, for example, vBullitin.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
PHP / C#