QuickBooks/Driver.php
final protected function _callHook($hook, $ticket, &$err, $hook_data)
	{
		$user = '';
		if ($ticket)
		{
			$user = (string) $this->_authResolve($ticket);
		}
		
		// Call the hook
		QuickBooks_Callbacks::callHook($this, $this->_hooks, $hook, null, $user, $ticket, $err, $hook_data, null, __FILE__, __LINE__);
		
		if ($err)
		{
			// Log errors reporting by hooks
			$this->errorLog($ticket, QUICKBOOKS_ERROR_HOOK, $err);
		}
		
		return true;
	}
final protected function _callHook($hook, $ticket, &$err, $hook_data)
	{
		$user = '';
		if ($ticket)
		{
			$user = (string) $this->_authResolve($ticket);
		}
		
		// Call the hook
		QuickBooks_Callbacks::callHook($this, $this->_hooks, $hook, null, $user, $ticket, $err, $hook_data, null, __FILE__, __LINE__);
		
		if ($err)
		{
			// Log errors reporting by hooks
			$this->errorLog($ticket, QUICKBOOKS_ERROR_HOOK, $err);
		}
		
		return true;
	}
Call any user-defined hooks hooked into a particular type of event

Hooks will be executed in the order they were added in. If any hook
returns FALSE, then execution for that type of hook will be stopped and
no other hooks will run. Errors reported via the $err parameter will be
logged using the driver logging mechanism.

@param string $hook			The type of hook we're to execute
@param string $ticket		The Web Connector ticket
@param string $err			Any error messages that should be reported
@param array $hook_data		An array of hook data
@return boolean