PHP Native API

From ScarletDME
Revision as of 15:27, 9 March 2009 by Diccon (talk | contribs) (→‎News: updated news)
Jump to navigation Jump to search

The PHP native API uses a socket connection to directly connect to an open and functioning QM API socket.

This single library file can be dropped in on any PHP compatible web server and allow developer to use a series of function calls to access a QM Database with all the functionality that the QMClient API allows.

It is currently in the Alpha stages:


  • Diccon 15:27, 9 March 2009 (UTC) Conditional Handling code is in, needs proper testing. Now have 34/46 command done, QMCall and a few others will be last because they take a bit of time/effort.
  • Diccon 18:41, 16 February 2009 (UTC) Solved Fixed this, not 100% sure what was really happening, but i rewrote the way the login packet is constructed, to make it clearer. This fixed it. Go, Play!
  • Diccon 19:36, 27 January 2009 (UTC) Warning Active bug found, i believe username padding is not working, some odd length usernames may cause a QMERROR 3000 for line 902, when trying to write to $LOGINS. I'm working on it.

Supported Features

QMPHPClient supports (24/46);

  • Qm Quit
  • GetError
  • Set account
  • Open
  • Close
  • Read
  • ReadL (Untested)
  • ReadLW (Untested/partial)
  • ReadU (Untested)
  • ReadUL(Untested/partial)
  • Select
  • ReadNext
  • ClearSelect
  • ReadList
  • Release
  • Write
  • WriteU
  • Delete
  • DeleteU
  • Execute
  • Respond
  • Logon


If you want a copy, it is released under the LGPL (i.e. can be used within commercial products, but is GPL itself). It is available on the gpl.openqm Subversion repository; (Just click the link people, its not scairy, you just download the file[s])

Todo Shortlist

  1. Design and handle Conditional Execution, eg ELSE, LOCKED, ERROR, etc
  2. Finish implimenting all simple commands/function (24/46 Done)
  3. Clean up error reporting