xajax version 0.5 (Beta 1) copyright (c) 2006 by Jared White & J. Max Wilson http://www.xajaxproject.org xajax is an open source PHP class library for easily creating powerful PHP-driven, web-based Ajax Applications. Using xajax, you can asynchronously call PHP functions and update the content of your your webpage without reloading the page. xajax is released under the terms of the BSD license http://www.xajaxproject.org/bsd_license.txt
コード例 #1
0
 function &_getSections($sType)
 {
     $objPluginManager =& xajaxPluginManager::getInstance();
     $objPluginManager->configure('deferScriptGeneration', 'deferred');
     $aSections = array();
     // buffer output
     ob_start();
     $objPluginManager->generateClientScript();
     $sScript = ob_get_clean();
     // parse out blocks
     $aParts = explode('</' . $sType . '>', $sScript);
     foreach ($aParts as $sPart) {
         $aValues = explode('<' . $sType, $sPart, 2);
         if (2 == count($aValues)) {
             list($sJunk, $sPart) = $aValues;
             $aValues = explode('>', $sPart, 2);
             if (2 == count($aValues)) {
                 list($sJunk, $sPart) = $aValues;
                 if (0 < strlen($sPart)) {
                     $aSections[] = $sPart;
                 }
             }
         }
     }
     $objPluginManager->configure('deferScriptGeneration', $this->bDeferScriptGeneration);
     return $aSections;
 }
コード例 #2
0
 function xajaxResponse()
 {
     //SkipDebug
     if (0 < func_num_args()) {
         $objLanguageManager = xajaxLanguageManager::getInstance();
         trigger_error($objLanguageManager->getText('XJXRSP:EDERR:01'), E_USER_ERROR);
     }
     //EndSkipDebug
     $this->aCommands = array();
     $objResponseManager = xajaxResponseManager::getInstance();
     $this->sCharacterEncoding = $objResponseManager->getCharacterEncoding();
     $this->bOutputEntities = $objResponseManager->getOutputEntities();
     $this->objPluginManager = xajaxPluginManager::getInstance();
 }
コード例 #3
0
ファイル: xajax.inc.php プロジェクト: alex-k/velotur
 function __wakeup()
 {
     ob_start();
     $sLocalFolder = dirname(__FILE__);
     //SkipAIO
     require $sLocalFolder . '/xajaxPluginManager.inc.php';
     require $sLocalFolder . '/xajaxLanguageManager.inc.php';
     require $sLocalFolder . '/xajaxArgumentManager.inc.php';
     require $sLocalFolder . '/xajaxResponseManager.inc.php';
     require $sLocalFolder . '/xajaxRequest.inc.php';
     require $sLocalFolder . '/xajaxResponse.inc.php';
     //EndSkipAIO
     // this is the list of folders where xajax will look for plugins
     // that will be automatically included at startup.
     $aPluginFolders = array();
     $aPluginFolders[] = dirname($sLocalFolder) . '/xajax_plugins';
     //SkipAIO
     $aPluginFolders[] = $sLocalFolder . '/plugin_layer';
     //EndSkipAIO
     // Setup plugin manager
     $this->objPluginManager =& xajaxPluginManager::getInstance();
     $this->objPluginManager->loadPlugins($aPluginFolders);
     $this->objLanguageManager =& xajaxLanguageManager::getInstance();
     $this->objArgumentManager =& xajaxArgumentManager::getInstance();
     $this->objResponseManager =& xajaxResponseManager::getInstance();
     $this->sCoreIncludeOutput = ob_get_clean();
 }
コード例 #4
0
                echo '<';
                echo '/script>';
                echo $sCrLf;
            }
        }
    }
    /*
    	Function: _getScriptFilename
    	
    	Returns the name of the script file, based on the current settings.
    	
    	sFilename - (string):  The base filename.
    	
    	Returns:
    	
    	string - The filename as it should be specified in the script tags
    	on the browser.
    */
    private function _getScriptFilename($sFilename)
    {
        if ($this->bUseUncompressedScripts) {
            return str_replace('.js', '_uncompressed.js', $sFilename);
        }
        return $sFilename;
    }
}
/*
	Register the xajaxIncludeClientScriptPlugin object with the xajaxPluginManager.
*/
$objPluginManager = xajaxPluginManager::getInstance();
$objPluginManager->registerPlugin(new xajaxIncludeClientScriptPlugin(), 99);
コード例 #5
0
ファイル: xajax.inc.php プロジェクト: alphashuro/audeprac
 /**
  * Returns a string containing a Javascript include of the xajax.js file
  * along with a check to see if the file loaded after six seconds
  * (typically called internally by xajax from get/printJavascript).
  * (executes Javascript include plugin)
  * 
  * @param string the relative address of the folder where xajax has been
  *               installed. For instance, if your PHP file is
  *               "http://www.myserver.com/myfolder/mypage.php"
  *               and xajax was installed in
  *               "http://www.myserver.com/anotherfolder", then $sJsURI
  *               should be set to "../anotherfolder". Defaults to assuming
  *               xajax is in the same folder as your PHP file.
  * @param string the relative folder/file pair of the xajax Javascript
  *               engine located within the xajax installation folder.
  *               Defaults to xajax_js/xajax.js.
  * @return string
  */
 function getJavascriptInclude($sJsURI = "", $sJsFile = NULL)
 {
     $objPluginManager =& xajaxPluginManager::getInstance();
     $objInclude = $objPluginManager->getIncludePlugin();
     $objInclude->setXajax($this);
     $objInclude->setFunctions($this->aFunctions);
     return $objInclude->getJavascriptInclude($sJsURI, $sJsFile);
 }
コード例 #6
0
 /**
  * Provides access to the xajaxResponse plugin system. If you use PHP 4 or
  * 5, pass the plugin name as the first argument, the plugin's method name
  * as the second argument, and subsequent arguments (if any) after that.
  * Optionally, if you use PHP 5, you can pass just the plugin name as the
  * first argument and the plugin object will be returned which you can use
  * to call the appropriate method.
  * 
  * @param string name of the plugin to call
  */
 function &plugin($sName)
 {
     $objManager =& xajaxPluginManager::getInstance();
     $objPlugin =& $objManager->getResponsePlugin($sName);
     $objPlugin->setResponseObject($this);
     $aArgs = func_get_args();
     array_shift($aArgs);
     if (!empty($aArgs)) {
         $sMethodName = array_shift($aArgs);
         call_user_func_array(array(&$objPlugin, $sMethodName), $aArgs);
     }
     return $objPlugin;
 }
コード例 #7
0
ファイル: xajax.inc.php プロジェクト: haseok86/millkencode
 function printJavascript($sJsURI = "", $aJsFiles = array())
 {
     if (0 < strlen($sJsURI)) {
         $this->configure("javascript URI", $sJsURI);
     }
     if (0 < count($aJsFiles)) {
         $this->configure("javascript files", $aJsFiles);
     }
     $objPluginManager =& xajaxPluginManager::getInstance();
     $objPluginManager->generateClientScript();
 }
コード例 #8
0
ファイル: dhtmlHistory.php プロジェクト: nephie/AZL-website
            echo "\n<script type='text/javascript' src='" . $this->sJavascriptURI . "dhtmlHistory.js' " . $this->sDefer . "charset='UTF-8'>\n";
        }
    }
    function getName()
    {
        return "dhtmlHistoryPlugin";
    }
    function addWaypoint($sWaypointName, $aWaypointData)
    {
        $sWaypointData = base64_encode(serialize($aWaypointData));
        $this->objResponse->script("dhtmlHistory.add('{$sWaypointName}({$sWaypointData})','')");
        //$this->addCommand(array('cmd'=>'js'),"dhtmlHistory.add('$sWaypointName','$sWaypointData')" );
    }
}
// register rsh plugin
$pluginManager =& xajaxPluginManager::getInstance();
$pluginManager->registerPlugin(new dhtmlHistoryPlugin());
/**
 * xajax 0.5 plugin for backbutton and bookmark
 *
 * helper functions
 *
 */
/**
 * Adds a waypoint into the backbutton history
 *
 * @param unknown_type $objResponse
 * @param string $sWaypointName
 * @param mixed $sWaypointData
 */
function dhtmlHistoryAdd(&$objResponse, $sWaypointName, $sWaypointData)
コード例 #9
0
 function &plugin()
 {
     $aArgs = func_get_args();
     if (0 < count($aArgs)) {
         $sName = array_shift($aArgs);
         $objPluginManager =& xajaxPluginManager::getInstance();
         $objPlugin =& $objPluginManager->getPlugin($sName);
         if (false !== $objPlugin) {
             $objPlugin->setResponse($this);
             if (0 < count($aArgs)) {
                 $sMethod = array_shift($aArgs);
                 $aFunction = array(&$objPlugin, $sMethod);
                 call_user_func_array($aFunction, $aArgs);
             }
             return $objPlugin;
         } else {
             $bReturn = false;
             return $bReturn;
         }
     } else {
         trigger_error("Error: Plugin name is missing or invalid.", E_USER_ERROR);
     }
     $bReturn = false;
     return $bReturn;
 }