for a detailed description, copyright and license information. */ /* @package xajax @version $Id: xajaxPlugin.inc.php 362 2007-05-29 15:32:24Z calltoconstruct $ @copyright Copyright (c) 2005-2007 by Jared White & J. Max Wilson @copyright Copyright (c) 2008-2009 by Joseph Woolley, Steffen Konerow, Jared White & J. Max Wilson @license http://www.xajaxproject.org/bsd_license.txt BSD License */ /* Class: xajaxPlugin The base class for all xajax plugins. */ class xajaxPlugin { } /* Class: xajaxRequestPlugin The base class for all xajax request plugins. Request plugins handle the registration, client script generation and processing of xajax enabled requests. Each plugin should have a unique signature for both the registration and processing of requests. During registration, the user will specify a type which will allow the plugin to detect and handle it. During client script generation, the plugin will generate a stub with the prescribed call options and request signature. During request processing, the plugin will detect the signature generated previously and process the request accordingly. */ class xajaxRequestPlugin extends xajaxPlugin { /* Function: configure Called by the when a configuration setting is changing. Plugins should store a local copy of the settings they wish to use during registration, client script generation or request processing. */ function configure($sName, $mValue) { } /* Function: register Called by the when a user script when a function, event or callable object is to be registered. Additional plugins may support other registration types. */ function register($aArgs) { return false; } /* Function: generateClientScript Called by when the page's HTML is being sent to the browser. This allows each plugin to inject some script / style or other appropriate tags into the HEAD of the document. Each block must be appropriately enclosed, meaning javascript code must be enclosed in SCRIPT and /SCRIPT tags. */ function generateClientScript() { } /* Function: canProcessRequest Called by the when a request has been received to determine if the request is for a xajax enabled function or for the initial page load. */ function canProcessRequest() { return false; } /* Function: processRequest Called by the when a request is being processed. This will only occur when has determined that the current request is a valid (registered) xajax enabled function via canProcessRequest>. Returns: false */ function processRequest() { return false; } } /* Class: xajaxResponsePlugin Base class for all xajax response plugins. A response plugin provides additional services not already provided by the class with regard to sending response commands to the client. In addition, a response command may send javascript to the browser at page load to aid in the processing of it's response commands. */ class xajaxResponsePlugin extends xajaxPlugin { /* Object: objResponse A reference to the current object that is being used to build the response that will be sent to the client browser. */ var $objResponse; /* Function: setResponse Called by the object that is currently being used to build the response that will be sent to the client browser. Parameters: objResponse - (object): A reference to the object */ function setResponse(&$objResponse) { $this->objResponse =& $objResponse; } /* Function: addCommand Used internally to add a command to the response command list. This will call addPluginCommand> using the reference provided in setResponse>. */ function addCommand($aAttributes, $sData) { $this->objResponse->addPluginCommand($this, $aAttributes, $sData); } /* Function: getName Called by the when the user script requests a plugin. This name must match the plugin name requested in the called to plugin>. */ function getName() { //SkipDebug $objLanguageManager =& xajaxLanguageManager::getInstance(); trigger_error( $objLanguageManager->getText('XJXPLG:GNERR:01') , E_USER_ERROR ); //EndSkipDebug } /* Function: process Called by when a user script requests the service of a response plugin. The parameters provided by the user will be used to determine which response command and parameters will be sent to the client upon completion of the xajax request process. */ function process() { //SkipDebug $objLanguageManager =& xajaxLanguageManager::getInstance(); trigger_error( $objLanguageManager->getText('XJXPLG:PERR:01') , E_USER_ERROR ); //EndSkipDebug } }