QuickBooks/WebConnector/Handlers.php
public function clientVersion($obj)
	{
		//$this->_driver->log('clientVersion()', '', QUICKBOOKS_LOG_VERBOSE);
		$this->_log('clientVersion()', '', QUICKBOOKS_LOG_VERBOSE);

		$hookdata = array();
		$hookerr = '';
		$this->_callHook(null, QUICKBOOKS_HANDLERS_HOOK_CLIENTVERSION, null, null, null, null, $hookerr, null, array(), $hookdata);

		if (!is_null($this->_config['qbwc_min_version']))
		{
			if (version_compare($obj->strVersion, $this->_config['qbwc_min_version'], '<'))
			{
				//$this->_driver->log('Version Requirement, current: ' . $obj->strVersion . ', required: ' . $this->_config['qbwc_min_version'], '', QUICKBOOKS_LOG_NORMAL);
				$this->_log('Version Requirement, current: ' . $obj->strVersion . ', required: ' . $this->_config['qbwc_min_version'], '', QUICKBOOKS_LOG_NORMAL);

				return new QuickBooks_WebConnector_Result_ClientVersion('O:' . $this->_config['qbwc_min_version']);
			}
		}

		return new QuickBooks_WebConnector_Result_ClientVersion('');
	}
public function clientVersion($obj)
	{
		//$this->_driver->log('clientVersion()', '', QUICKBOOKS_LOG_VERBOSE);
		$this->_log('clientVersion()', '', QUICKBOOKS_LOG_VERBOSE);

		$hookdata = array();
		$hookerr = '';
		$this->_callHook(null, QUICKBOOKS_HANDLERS_HOOK_CLIENTVERSION, null, null, null, null, $hookerr, null, array(), $hookdata);

		if (!is_null($this->_config['qbwc_min_version']))
		{
			if (version_compare($obj->strVersion, $this->_config['qbwc_min_version'], '<'))
			{
				//$this->_driver->log('Version Requirement, current: ' . $obj->strVersion . ', required: ' . $this->_config['qbwc_min_version'], '', QUICKBOOKS_LOG_NORMAL);
				$this->_log('Version Requirement, current: ' . $obj->strVersion . ', required: ' . $this->_config['qbwc_min_version'], '', QUICKBOOKS_LOG_NORMAL);

				return new QuickBooks_WebConnector_Result_ClientVersion('O:' . $this->_config['qbwc_min_version']);
			}
		}

		return new QuickBooks_WebConnector_Result_ClientVersion('');
	}
QuickBooks Web Connector ->clientVersion() SOAP method - Receive the QuickBooks Web Connector client version (and, if neccessary, act on it)

This is an *optional* method, and not all versions of the QuickBooks Web
Connector will support this method. It doesn't really even *need* to be
implemented, but PHP will dump notices in our error log if we don't
implement it and then the web connector tries to call it.

The stdClass object passed as a parameter will have the following members:
- strVersion	A string version code indicating the version of the QuickBooks Web Connector that's being used

The one member of the returned object should be:
- The empty string to tell the web connector to continue with the update
- A string that begins with "W:" to display a warning message to the end-user, specify the warning message after the "W:"
- A string that begins with "E:" to display an error message to the end-user, specify the error message after the "E:"
- A string that begins with "O:" (as in OKAY) to tell the end-user that the server expects a newer version of the web connector, specify the minimum required version after the "O:"

The following user-defined hooks are invovked:
- QUICKBOOKS_HANDLERS_HOOK_CLIENTVERSION

@param stdClass $obj
@return QuickBooks_Result_ClientVersion