A bit of background:
I developed a web application meant to work within a closed computer network (by closed I mean no internet connection, fixed IPs and WPA2), this application is written in C#, ASP.NET frontend, a SQLite database and CastleProjects' ActiveRecord framework (based on NHibernate). This application runs on a IIS server (actually, a laptop with Vista installed and IIS 7, but it works for the small network of 10 computers it serves), and it's doing its job fine.
Now, I've been asked to develop an interface to allow those who use that application to insert data into its database from internet. The website that will contain that interface is a linux machine with Apache server, PHP 5 and MySQL.
Now, I am good enough at PHP to develop an interface to easily manage that SQLite database, but it would require quite some time since I should write it from the ground up and, obviously, I can't reuse anything of what I coded for the original web application.
So, the advice I need is the following: should I persuade them to buy the Windows support from their hosting service, so that I will reuse the core dlls of the application I already developed and create the interface quickly, or should I instead find a good PHP framework to quicken my job (I've heard good things about Zend, but I haven't yet looked at it) and do a PHP frontend for their website? And if the answer is the second, what is the best development environment to use for PHP (apart from gedit, of course!
Those who want to ask me why did I choose C#, ASP.NET and other Microsoft's programs
and tell me to write everything from the ground up in Java, C++, PHP or some other free or opensource alternative, read the following part (all the others can skip this part and answer right away).
Microsoft is evil, ASP.NET is patented and my free software (because of course, I released my web app as free and open software) probably won't be so free someday if Microsoft so decides. Yeah, I already know that. I could have coded it in a dozen or so other alternatives, sure, but there are reasons behind my choices:
first and foremost, it's an application meant for a sort of "game": a LARP, a Star Wars LARP actually, and it's meant to recreate the Holonet, the "galactic internet" of Star Wars's universe.
second, I work in a software house that is a Microsoft Partner, and so during the last two years I was taught C# and ASP.NET, and I have become quite good with it, I'm actually better at coding in C# than I am in Java, and I am more familiar with C# libraries and framework than what I am with Java's equivalents.
Third, all computers used in that LARP to make the network (it's a wireless network) are old PCs and old laptops unsold that some computer shops offered for free, and I "cleaned" them all and installed Mint and Fedora 11 on them (so that they all had Firefox 3.5 to access the webapplication), but the only PC powerful enough to be the server is the laptop of one of the organizators, and he doesn't want to install Linux on it (arguing isn't going to help).
So, since I had to do things quickly, I went for C# and ASP.NET. Now, since the application uses a SQLite database and this database contains, among other things, also the players' data (names, characters, character sheets, game statistics, and so on), they asked me if it is possible to allow each player to access his/her personal data from internet, in order to update their characters, update their personal data if they changed (phone numbers, addresses, and so on). And this, too, needs to be done quickly.
Given that the website runs on Apache, the obvious answer is "php", but it would be faster for me to reuse the dlls I already developed to access data from the database. That's why I'm asking for advice.
Thanks everybody in advance!