Difference between revisions of "PHP Native API"

From ScarletDME
Jump to navigation Jump to search
(updated Functionality, added todo)
Line 3: Line 3:
 
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.
 
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.
  
'''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. [[User:Diccon|Diccon]] 19:36, 27 January 2009 (UTC)
+
<strike>'''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. [[User:Diccon|Diccon]] 19:36, 27 January 2009 (UTC)</strike>
  
 
'''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 [[User:Diccon|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 [[User:Diccon|Diccon]] 18:41, 16 February 2009 (UTC)
Line 12: Line 12:
 
* Set account
 
* Set account
 
* Open
 
* Open
 +
* Close
 
* Read
 
* Read
 +
* ReadLW (Untested)
 
* Write
 
* Write
 
* Delete
 
* Delete
 +
* qmQuit
 +
* GetError
 +
* Select
 +
* ReadNext
 +
* ClearSelect
 +
* Execute
  
 
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;
 
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;
  
 
[http://gpl.openqm.com/svn/qmvdb/PHPQMLib/trunk/ http://gpl.openqm.com/svn/qmvdb/PHPQMLib/trunk/]
 
[http://gpl.openqm.com/svn/qmvdb/PHPQMLib/trunk/ http://gpl.openqm.com/svn/qmvdb/PHPQMLib/trunk/]
 +
 +
 +
===Todo Shortlist===
 +
# Design and handle Conditional Execution, eg ELSE, LOCKED, ERROR, etc
 +
# Finish implimenting all simple commands/function (16/33 Done)
 +
# Clean up error reporting

Revision as of 12:33, 23 February 2009

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.

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. Diccon 19:36, 27 January 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 18:41, 16 February 2009 (UTC)

It is currently in the Alpha stages: It supports:

  • Logon
  • Set account
  • Open
  • Close
  • Read
  • ReadLW (Untested)
  • Write
  • Delete
  • qmQuit
  • GetError
  • Select
  • ReadNext
  • ClearSelect
  • Execute

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;

http://gpl.openqm.com/svn/qmvdb/PHPQMLib/trunk/


Todo Shortlist

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