ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Fehlermeldungen nach Update (M auf N)

Geschlossen
  1. #1
    User Pic
    marsetex Mitglied
    Registriert seit
    22.07.2009
    Beiträge
    25
    Beitragswertungen
    2 Beitragspunkte
    Hey Leute

    Ich hab gerade von M auf N geupdatet. Nun habe ich über meinem Header ein paar Fehlermeldungen. Das sind die Fehler ...

    Deprecated: Assigning the return value of new by reference is deprecated in /users/wiikings/www/include/includes/class/xajax.inc.php on line 10

    Deprecated: Assigning the return value of new by reference is deprecated in /users/wiikings/www/include/includes/class/xajax.inc.php on line 68

    Deprecated: Assigning the return value of new by reference is deprecated in /users/wiikings/www/include/includes/class/xajax.inc.php on line 95

    Deprecated: Assigning the return value of new by reference is deprecated in /users/wiikings/www/include/includes/class/xajax.inc.php on line 101

    Deprecated: Assigning the return value of new by reference is deprecated in /users/wiikings/www/include/includes/class/xajax.inc.php on line 124

    Deprecated: Assigning the return value of new by reference is deprecated in /users/wiikings/www/include/includes/class/xajax.inc.php on line 162

    Deprecated: Assigning the return value of new by reference is deprecated in /users/wiikings/www/include/includes/class/xajax.inc.php on line 238

    Deprecated: Assigning the return value of new by reference is deprecated in /users/wiikings/www/include/includes/class/xajax.inc.php on line 396

    Warning: Cannot modify header information - headers already sent by (output started at /users/wiikings/www/include/includes/class/xajax.inc.php:10) in /users/wiikings/www/include/includes/class/design.php on line 23


    Könnte mir bitte jemand helfen?

    MfG Marsetex


    verwendete ilchClan Version: 1.1

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    marsetex Mitglied
    Registriert seit
    22.07.2009
    Beiträge
    25
    Beitragswertungen
    2 Beitragspunkte
    include/includes/class/xajax.inc.php (Part 1)

    ?php
    class xajaxCallableObject{var $obj;var $aConfiguration;function xajaxCallableObject(&$obj){$this->obj=&$obj;$this->aConfiguration=array();}
    function getName(){return get_class($this->obj);}
    function configure($sMethod,$sName,$sValue){$sMethod=strtolower($sMethod);if(false==isset($this->aConfiguration[$sMethod]))
    $this->aConfiguration[$sMethod]=array();$this->aConfiguration[$sMethod][$sName]=$sValue;}
    function generateRequests($sXajaxPrefix){$aRequests=array();$sClass=get_class($this->obj);foreach(get_class_methods($this->obj)as $sMethodName){$bInclude=true;if("__call"==$sMethodName)
    $bInclude=false;if($sClass==$sMethodName)
    $bInclude=false;if($bInclude)
    $aRequests[strtolower($sMethodName)]=&
    new xajaxRequest("{$sXajaxPrefix}{$sClass}.{$sMethodName}");}
    return $aRequests;}
    function generateClientScript($sXajaxPrefix){$sClass=get_class($this->obj);echo "{$sXajaxPrefix}{$sClass} = {};\n";foreach(get_class_methods($this->obj)as $sMethodName){$bInclude=true;if("__call"==$sMethodName)
    $bInclude=false;if($sClass==$sMethodName)
    $bInclude=false;if($bInclude){echo "{$sXajaxPrefix}{$sClass}.{$sMethodName} = function() { ";echo "return xajax.request( ";echo "{ xjxcls: '{$sClass}', xjxmthd: '{$sMethodName}' }, ";echo "{ parameters: arguments";$sSeparator=", ";if(isset($this->aConfiguration['*']))
    foreach($this->aConfiguration['*'] as $sKey=> $sValue)
    echo "{$sSeparator}{$sKey}: {$sValue}";if(isset($this->aConfiguration[strtolower($sMethodName)]))
    foreach($this->aConfiguration[strtolower($sMethodName)] as $sKey=> $sValue)
    echo "{$sSeparator}{$sKey}: {$sValue}";echo " } ); ";echo "};\n";}
    }
    }
    function isClass($sClass){return is_a($this->obj,$sClass);}
    function hasMethod($sMethod){return method_exists($this->obj,$sMethod)||method_exists($this->obj,"__call");}
    function call($sMethod,$aArgs){$objResponseManager=&xajaxResponseManager::getInstance();$objResponseManager->append(
    call_user_func_array(
    array(&$this->obj,$sMethod),
    $aArgs
    )
    );}
    }
    
    class xajaxEvent{var $sName;var $aConfiguration;var $aHandlers;function xajaxEvent($sName){$this->sName=$sName;$this->aConfiguration=array();$this->aHandlers=array();}
    function getName(){return $this->sName;}
    function configure($sName,$mValue){$this->aConfiguration[$sName]=$mValue;}
    function addHandler(&$xuf){$this->aHandlers[]=&$xuf;}
    function generateRequest($sXajaxPrefix,$sEventPrefix){$sEvent=$this->sName;return new xajaxRequest("{$sXajaxPrefix}{$sEventPrefix}{$sEvent}");}
    function generateClientScript($sXajaxPrefix,$sEventPrefix){$sMode='';$sMethod='';if(isset($this->aConfiguration['mode']))
    $sMode=$this->aConfiguration['mode'];if(isset($this->aConfiguration['method']))
    $sMethod=$this->aConfiguration['method'];if(0 < strlen($sMode))
    $sMode=", mode: '{$sMode}'";if(0 < strlen($sMethod))
    $sMethod=", method: '{$sMethod}'";$sEvent=$this->sName;echo "{$sXajaxPrefix}{$sEventPrefix}{$sEvent} = function() { return xajax.request( { xjxevt: '{$sEvent}' }, { parameters: arguments{$sMode}{$sMethod} } ); };\n";}
    function fire($aArgs){$objResponseManager=&xajaxResponseManager::getInstance();foreach(array_keys($this->aHandlers)as $sKey)
    $this->aHandlers[$sKey]->call($aArgs);}
    }
    
    class xajaxUserFunction{var $sAlias;var $uf;var $sInclude;var $aConfiguration;function xajaxUserFunction($uf,$sInclude=NULL,$aConfiguration=array()){$this->sAlias='';$this->uf=&$uf;$this->sInclude=$sInclude;$this->aConfiguration=array();foreach($aConfiguration as $sKey=> $sValue)
    $this->configure($sKey,$sValue);if(is_array($this->uf)&&2 < count($this->uf)){$this->sAlias=$this->uf[0];$this->uf=array_slice($this->uf,1);}
    }
    function getName(){if(is_array($this->uf))
    return $this->uf[1];return $this->uf;}
    function configure($sName,$sValue){if('alias'==$sName)
    $this->sAlias=$sValue;else
    $this->aConfiguration[$sName]=$sValue;}
    function generateRequest($sXajaxPrefix){$sAlias=$this->getName();if(0 < strlen($this->sAlias))
    $sAlias=$this->sAlias;return new xajaxRequest("{$sXajaxPrefix}{$sAlias}");}
    function generateClientScript($sXajaxPrefix){$sFunction=$this->getName();$sAlias=$sFunction;if(0 < strlen($this->sAlias))
    $sAlias=$this->sAlias;echo "{$sXajaxPrefix}{$sAlias} = function() { ";echo "return xajax.request( ";echo "{ xjxfun: '{$sFunction}' }, ";echo "{ parameters: arguments";$sSeparator=", ";foreach($this->aConfiguration as $sKey=> $sValue)
    echo "{$sSeparator}{$sKey}: {$sValue}";echo " } ); ";echo "};\n";}
    function call($aArgs=array()){$objResponseManager=&xajaxResponseManager::getInstance();if(NULL!=$this->sInclude){ob_start();require_once $this->sInclude;$sOutput=ob_get_clean();}
    $mFunction=$this->uf;$objResponseManager->append(call_user_func_array($mFunction,$aArgs));}
    }
    
    if(!defined('XAJAX_CALLABLE_OBJECT'))define('XAJAX_CALLABLE_OBJECT','callable object');class xajaxCallableObjectPlugin extends xajaxRequestPlugin{var $aCallableObjects;var $sXajaxPrefix;var $sDefer;var $bDeferScriptGeneration;var $sRequestedClass;var $sRequestedMethod;function xajaxCallableObjectPlugin(){$this->aCallableObjects=array();$this->sXajaxPrefix='xajax_';$this->sDefer='';$this->bDeferScriptGeneration=false;$this->sRequestedClass=NULL;$this->sRequestedMethod=NULL;if(!empty($_GET['xjxcls']))$this->sRequestedClass=$_GET['xjxcls'];if(!empty($_GET['xjxmthd']))$this->sRequestedMethod=$_GET['xjxmthd'];if(!empty($_POST['xjxcls']))$this->sRequestedClass=$_POST['xjxcls'];if(!empty($_POST['xjxmthd']))$this->sRequestedMethod=$_POST['xjxmthd'];}
    function configure($sName,$mValue){if('wrapperPrefix'==$sName){$this->sXajaxPrefix=$mValue;}else if('scriptDefferal'==$sName){if(true===$mValue)$this->sDefer='defer ';else $this->sDefer='';}else if('deferScriptGeneration'==$sName){if(true===$mValue||false===$mValue)
    $this->bDeferScriptGeneration=$mValue;else if('deferred'===$mValue)
    $this->bDeferScriptGeneration=$mValue;}
    }
    function register($aArgs){if(1 < count($aArgs)){$sType=$aArgs[0];if(XAJAX_CALLABLE_OBJECT==$sType){$xco=&$aArgs[1];if(false===is_a($xco,'xajaxCallableObject'))
    $xco=&new xajaxCallableObject($xco);if(2 < count($aArgs))
    if(is_array($aArgs[2]))
    foreach($aArgs[2] as $sKey=> $aValue)
    foreach($aValue as $sName=> $sValue)
    $xco->configure($sKey,$sName,$sValue);$this->aCallableObjects[]=&$xco;return $xco->generateRequests($this->sXajaxPrefix);}
    }
    return false;}
    function generateClientScript(){if(false===$this->bDeferScriptGeneration||'deferred'===$this->bDeferScriptGeneration){if(0 < count($this->aCallableObjects)){$sCrLf="\n";print $sCrLf;print '<';print 'script type="text/javascript" ';print $this->sDefer;print 'charset="UTF-8">';print $sCrLf;print '/* <';print '![CDATA[ */';print $sCrLf;foreach(array_keys($this->aCallableObjects)as $sKey)
    $this->aCallableObjects[$sKey]->generateClientScript($this->sXajaxPrefix);print '/* ]]> */';print $sCrLf;print '<';print '/script>';print $sCrLf;}
    }
    }
    function canProcessRequest(){if(NULL==$this->sRequestedClass)
    return false;if(NULL==$this->sRequestedMethod)
    return false;return true;}
    function processRequest(){if(NULL==$this->sRequestedClass)
    return false;if(NULL==$this->sRequestedMethod)
    return false;$objArgumentManager=&xajaxArgumentManager::getInstance();$aArgs=$objArgumentManager->process();foreach(array_keys($this->aCallableObjects)as $sKey){$xco=&$this->aCallableObjects[$sKey];if($xco->isClass($this->sRequestedClass)){if($xco->hasMethod($this->sRequestedMethod)){$xco->call($this->sRequestedMethod,$aArgs);return true;}
    }
    }
    return 'Invalid request for a callable object.';}
    }
    $objPluginManager=&xajaxPluginManager::getInstance();$objPluginManager->registerPlugin(new xajaxCallableObjectPlugin(),102);
    if(!defined('XAJAX_EVENT'))define('XAJAX_EVENT','xajax event');if(!defined('XAJAX_EVENT_HANDLER'))define('XAJAX_EVENT_HANDLER','xajax event handler');class xajaxEventPlugin extends xajaxRequestPlugin{var $aEvents;var $sXajaxPrefix;var $sEventPrefix;var $sDefer;var $bDeferScriptGeneration;var $sRequestedEvent;function xajaxEventPlugin(){$this->aEvents=array();$this->sXajaxPrefix='xajax_';$this->sEventPrefix='event_';$this->sDefer='';$this->bDeferScriptGeneration=false;$this->sRequestedEvent=NULL;if(isset($_GET['xjxevt']))$this->sRequestedEvent=$_GET['xjxevt'];if(isset($_POST['xjxevt']))$this->sRequestedEvent=$_POST['xjxevt'];}
    function configure($sName,$mValue){if('wrapperPrefix'==$sName){$this->sXajaxPrefix=$mValue;}else if('eventPrefix'==$sName){$this->sEventPrefix=$mValue;}else if('scriptDefferal'==$sName){if(true===$mValue)$this->sDefer='defer ';else $this->sDefer='';}else if('deferScriptGeneration'==$sName){if(true===$mValue||false===$mValue)
    $this->bDeferScriptGeneration=$mValue;else if('deferred'===$mValue)
    $this->bDeferScriptGeneration=$mValue;}
    }
    function register($aArgs){if(1 < count($aArgs)){$sType=$aArgs[0];if(XAJAX_EVENT==$sType){$sEvent=$aArgs[1];if(false===isset($this->aEvents[$sEvent])){$xe=&new xajaxEvent($sEvent);if(2 < count($aArgs))
    if(is_array($aArgs[2]))
    foreach($aArgs[2] as $sKey=> $sValue)
    $xe->configure($sKey,$sValue);$this->aEvents[$sEvent]=&$xe;return $xe->generateRequest($this->sXajaxPrefix,$this->sEventPrefix);}
    }
    if(XAJAX_EVENT_HANDLER==$sType){$sEvent=$aArgs[1];if(isset($this->aEvents[$sEvent])){if(isset($aArgs[2])){$xuf=&$aArgs[2];if(false===is_a($xuf,'xajaxUserFunction'))
    $xuf=&new xajaxUserFunction($xuf);$objEvent=&$this->aEvents[$sEvent];$objEvent->addHandler($xuf);return true;}
    }
    }
    }
    return false;}
    function generateClientScript(){if(false===$this->bDeferScriptGeneration||'deferred'===$this->bDeferScriptGeneration){if(0 < count($this->aEvents)){echo "\n<script type='text/javascript' ";echo $this->sDefer;echo "charset='UTF-8'>\n";echo "/* <![CDATA[ */\n";foreach(array_keys($this->aEvents)as $sKey)
    $this->aEvents[$sKey]->generateClientScript($this->sXajaxPrefix,$this->sEventPrefix);echo "/* ]]> */\n";echo "</script>\n";}
    }
    }
    function canProcessRequest(){if(NULL==$this->sRequestedEvent)
    return false;return true;}
    function processRequest(){if(NULL==$this->sRequestedEvent)
    return false;$objArgumentManager=&xajaxArgumentManager::getInstance();$aArgs=$objArgumentManager->process();foreach(array_keys($this->aEvents)as $sKey){$objEvent=&$this->aEvents[$sKey];if($objEvent->getName()==$this->sRequestedEvent){$objEvent->fire($aArgs);return true;}
    }
    return 'Invalid event request received; no event was registered with this name.';}
    }
    $objPluginManager=&xajaxPluginManager::getInstance();$objPluginManager->registerPlugin(new xajaxEventPlugin(),103);
    if(!defined('XAJAX_FUNCTION'))define('XAJAX_FUNCTION','function');class xajaxFunctionPlugin extends xajaxRequestPlugin{var $aFunctions;var $sXajaxPrefix;var $sDefer;var $bDeferScriptGeneration;var $sRequestedFunction;function xajaxFunctionPlugin(){$this->aFunctions=array();$this->sXajaxPrefix='xajax_';$this->sDefer='';$this->bDeferScriptGeneration=false;$this->sRequestedFunction=NULL;if(isset($_GET['xjxfun']))$this->sRequestedFunction=$_GET['xjxfun'];if(isset($_POST['xjxfun']))$this->sRequestedFunction=$_POST['xjxfun'];}
    function configure($sName,$mValue){if('wrapperPrefix'==$sName){$this->sXajaxPrefix=$mValue;}else if('scriptDefferal'==$sName){if(true===$mValue)$this->sDefer='defer ';else $this->sDefer='';}else if('deferScriptGeneration'==$sName){if(true===$mValue||false===$mValue)
    $this->bDeferScriptGeneration=$mValue;else if('deferred'===$mValue)
    $this->bDeferScriptGeneration=$mValue;}
    }
    function register($aArgs){if(1 < count($aArgs)){$sType=$aArgs[0];if(XAJAX_FUNCTION==$sType){$xuf=&$aArgs[1];if(false===is_a($xuf,'xajaxUserFunction'))
    $xuf=&new xajaxUserFunction($xuf);if(2 < count($aArgs))
    if(is_array($aArgs[2]))
    foreach($aArgs[2] as $sName=> $sValue)
    $xuf->configure($sName,$sValue);$this->aFunctions[]=&$xuf;return $xuf->generateRequest($this->sXajaxPrefix);}
    }
    return false;}
    function generateClientScript(){if(false===$this->bDeferScriptGeneration||'deferred'===$this->bDeferScriptGeneration){if(0 < count($this->aFunctions)){echo "\n<script type='text/javascript' " . $this->sDefer . "charset='UTF-8'>\n";echo "/* <![CDATA[ */\n";foreach(array_keys($this->aFunctions)as $sKey)
    $this->aFunctions[$sKey]->generateClientScript($this->sXajaxPrefix);echo "/* ]]> */\n";echo "</script>\n";}
    }
    }
    function canProcessRequest(){if(NULL==$this->sRequestedFunction)
    return false;return true;}
    function processRequest(){if(NULL==$this->sRequestedFunction)
    return false;$objArgumentManager=&xajaxArgumentManager::getInstance();$aArgs=$objArgumentManager->process();foreach(array_keys($this->aFunctions)as $sKey){$xuf=&$this->aFunctions[$sKey];if($xuf->getName()==$this->sRequestedFunction){$xuf->call($aArgs);return true;}
    }
    return 'Invalid function request received; no request processor found with this name.';}
    }
    $objPluginManager=&xajaxPluginManager::getInstance();$objPluginManager->registerPlugin(new xajaxFunctionPlugin(),100);
    class xajaxScriptPlugin extends xajaxRequestPlugin{var $sRequest;var $sHash;var $sRequestURI;var $bDeferScriptGeneration;var $bValidateHash;var $bWorking;function xajaxScriptPlugin(){$this->sRequestURI='';$this->bDeferScriptGeneration=false;$this->bValidateHash=true;$this->bWorking=false;$this->sRequest='';$this->sHash=null;if(isset($_GET['xjxGenerateJavascript'])){$this->sRequest='script';$this->sHash=$_GET['xjxGenerateJavascript'];}
    if(isset($_GET['xjxGenerateStyle'])){$this->sRequest='style';$this->sHash=$_GET['xjxGenerateStyle'];}
    }
    function configure($sName,$mValue){if('requestURI'==$sName){$this->sRequestURI=$mValue;}else if('deferScriptGeneration'==$sName){if(true===$mValue||false===$mValue)
    $this->bDeferScriptGeneration=$mValue;}else if('deferScriptValidateHash'==$sName){if(true===$mValue||false===$mValue)
    $this->bValidateHash=$mValue;}
    }
    function generateClientScript(){if($this->bWorking)
    return;if(true===$this->bDeferScriptGeneration){$this->bWorking=true;$sQueryBase='?';if(0 < strpos($this->sRequestURI,'?'))
    $sQueryBase='&';$aScripts=$this->_getSections('script');if(0 < count($aScripts)){$sHash=md5(implode($aScripts));$sQuery=$sQueryBase . "xjxGenerateJavascript=" . $sHash;echo "\n<script type='text/javascript' src='" . $this->sRequestURI . $sQuery . "' charset='UTF-8'></script>\n";}
    $aStyles=$this->_getSections('style');if(0 < count($aStyles)){$sHash=md5(implode($aStyles));$sQuery=$sQueryBase . "xjxGenerateStyle=" . $sHash;echo "\n<link href='" . $this->sRequestURI . $sQuery . "' rel='Stylesheet' />\n";}
    $this->bWorking=false;}
    }
    function canProcessRequest(){return(''!=$this->sRequest);}
    function&_getSections($sType){$objPluginManager=&xajaxPluginManager::getInstance();$objPluginManager->configure('deferScriptGeneration','deferred');$aSections=array();ob_start();$objPluginManager->generateClientScript();$sScript=ob_get_clean();$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;}
    function processRequest(){if($this->canProcessRequest()){$aSections=&$this->_getSections($this->sRequest);$sHash=md5(implode($aSections));if(false==$this->bValidateHash||$sHash==$this->sHash){$sType='text/javascript';if('style'==$this->sRequest)
    $sType='text/css';$objResponse=&new xajaxCustomResponse($sType);foreach($aSections as $sSection)
    $objResponse->append($sSection . "\n");$objResponseManager=&xajaxResponseManager::getInstance();$objResponseManager->append($objResponse);header('Expires: ' . gmdate('D, d M Y H:i:s',time()+(60*60*24)). ' GMT');return true;}
    return 'Invalid script or style request.';trigger_error('Hash mismatch: ' . $this->sRequest . ': ' . $sHash . ' <==> ' . $this->sHash,E_USER_ERROR);}
    }
    }
    $objPluginManager=&xajaxPluginManager::getInstance();$objPluginManager->registerPlugin(new xajaxScriptPlugin(),9999);
    class xajaxIncludeClientScriptPlugin extends xajaxRequestPlugin{var $sJsURI;var $aJsFiles;var $sDefer;var $sRequestURI;var $sStatusMessages;var $sWaitCursor;var $sVersion;var $sDefaultMode;var $sDefaultMethod;var $bDebug;var $bVerboseDebug;var $nScriptLoadTimeout;var $bUseUncompressedScripts;var $bDeferScriptGeneration;var $sLanguage;function xajaxIncludeClientScriptPlugin(){$this->sJsURI='';$this->aJsFiles=array();$this->sDefer='';$this->sRequestURI='';$this->sStatusMessages='false';$this->sWaitCursor='true';$this->sVersion='unknown';$this->sDefaultMode='asynchronous';$this->sDefaultMethod='POST';$this->bDebug=false;$this->bVerboseDebug=false;$this->nScriptLoadTimeout=2000;$this->bUseUncompressedScripts=false;$this->bDeferScriptGeneration=false;$this->sLanguage=null;}
    function configure($sName,$mValue){if('javascript URI'==$sName){$this->sJsURI=$mValue;}else if("javascript files"==$sName){$this->aJsFiles=$mValue;}else if("scriptDefferal"==$sName){if(true===$mValue)$this->sDefer="defer ";else $this->sDefer="";}else if("requestURI"==$sName){$this->sRequestURI=$mValue;}else if("statusMessages"==$sName){if(true===$mValue)$this->sStatusMessages="true";else $this->sStatusMessages="false";}else if("waitCursor"==$sName){if(true===$mValue)$this->sWaitCursor="true";else $this->sWaitCursor="false";}else if("version"==$sName){$this->sVersion=$mValue;}else if("defaultMode"==$sName){if("asynchronous"==$mValue||"synchronous"==$mValue)
    $this->sDefaultMode=$mValue;}else if("defaultMethod"==$sName){if("POST"==$mValue||"GET"==$mValue)
    $this->sDefaultMethod=$mValue;}else if("debug"==$sName){if(true===$mValue||false===$mValue)
    $this->bDebug=$mValue;}else if("verboseDebug"==$sName){if(true===$mValue||false===$mValue)
    $this->bVerboseDebug=$mValue;}else if("scriptLoadTimeout"==$sName){$this->nScriptLoadTimeout=$mValue;}else if("useUncompressedScripts"==$sName){if(true===$mValue||false===$mValue)
    $this->bUseUncompressedScripts=$mValue;}else if('deferScriptGeneration'==$sName){if(true===$mValue||false===$mValue)
    $this->bDeferScriptGeneration=$mValue;else if('deferred'==$mValue)
    $this->bDeferScriptGeneration=$mValue;}else if('language'==$sName){$this->sLanguage=$mValue;}
    }
    function generateClientScript(){if(false===$this->bDeferScriptGeneration){$this->printJavascriptConfig();$this->printJavascriptInclude();}
    else if(true===$this->bDeferScriptGeneration){$this->printJavascriptInclude();}
    else if('deferred'==$this->bDeferScriptGeneration){$this->printJavascriptConfig();}
    }
    function getJavascriptConfig(){ob_start();$this->printJavascriptConfig();return ob_get_clean();}
    function printJavascriptConfig(){$sCrLf="\n";print $sCrLf;print '<';print 'script type="text/javascript" ';print $this->sDefer;print 'charset="UTF-8">';print $sCrLf;print '/* <';print '![CDATA[ */';print $sCrLf;print 'try { if (undefined == xajax.config) xajax.config = {}; } catch (e) { xajax = {}; xajax.config = {}; };';print $sCrLf;print 'xajax.config.requestURI = "';print $this->sRequestURI;print '";';print $sCrLf;print 'xajax.config.statusMessages = ';print $this->sStatusMessages;print ';';print $sCrLf;print 'xajax.config.waitCursor = ';print $this->sWaitCursor;print ';';print $sCrLf;print 'xajax.config.version = "';print $this->sVersion;print '";';print $sCrLf;print 'xajax.config.legacy = false;';print $sCrLf;print 'xajax.config.defaultMode = "';print $this->sDefaultMode;print '";';print $sCrLf;print 'xajax.config.defaultMethod = "';print $this->sDefaultMethod;print '";';print $sCrLf;print '/* ]]> */';print $sCrLf;print '<';print '/script>';print $sCrLf;}
    function getJavascriptInclude(){ob_start();$this->printJavascriptInclude();return ob_get_clean();}
    function printJavascriptInclude(){$aJsFiles=$this->aJsFiles;$sJsURI=$this->sJsURI;if(0==count($aJsFiles)){$aJsFiles[]=array($this->_getScriptFilename('xajax_js/xajax_core.js'),'xajax');if(true===$this->bDebug)
    $aJsFiles[]=array($this->_getScriptFilename('xajax_js/xajax_debug.js'),'xajax.debug');if(true===$this->bVerboseDebug)
    $aJsFiles[]=array($this->_getScriptFilename('xajax_js/xajax_verbose.js'),'xajax.debug.verbose');if(null!==$this->sLanguage)
    $aJsFiles[]=array($this->_getScriptFilename('xajax_js/xajax_lang_' . $this->sLanguage . '.js'),'xajax');}
    if($sJsURI!=''&&substr($sJsURI,-1)!='/')
    $sJsURI .='/';$sCrLf="\n";foreach($aJsFiles as $aJsFile){print '<';print 'script type="text/javascript" src="';print $sJsURI;print $aJsFile[0];print '" ';print $this->sDefer;print 'charset="UTF-8"><';print '/script>';print $sCrLf;}
    if(0 < $this->nScriptLoadTimeout){foreach($aJsFiles as $aJsFile){print '<';print 'script type="text/javascript" ';print $this->sDefer;print 'charset="UTF-8">';print $sCrLf;print '/* <';print '![CDATA[ */';print $sCrLf;print 'window.setTimeout(';print $sCrLf;print ' function() {';print $sCrLf;print '  var scriptExists = false;';print $sCrLf;print '  try { if (';print $aJsFile[1];print '.isLoaded) scriptExists = true; }';print $sCrLf;print '  catch (e) {}';print $sCrLf;print '  if (!scriptExists) {';print $sCrLf;print '   alert("Error: the ';print $aJsFile[1];print ' Javascript component could not be included. Perhaps the URL is incorrect?\nURL: ';print $sJsURI;print $aJsFile[0];print '");';print $sCrLf;print '  }';print $sCrLf;print ' }, ';print $this->nScriptLoadTimeout;print ');';print $sCrLf;print '/* ]]> */';print $sCrLf;print '<';print '/script>';print $sCrLf;}
    }
    }
    function _getScriptFilename($sFilename){if($this->bUseUncompressedScripts){return str_replace('.js','_uncompressed.js',$sFilename);}
    return $sFilename;}
    }
    $objPluginManager=&xajaxPluginManager::getInstance();$objPluginManager->registerPlugin(new xajaxIncludeClientScriptPlugin(),99);
    if(!defined('XAJAX_DEFAULT_CHAR_ENCODING'))define('XAJAX_DEFAULT_CHAR_ENCODING','utf-8');if(!defined('XAJAX_PROCESSING_EVENT'))define('XAJAX_PROCESSING_EVENT','xajax processing event');if(!defined('XAJAX_PROCESSING_EVENT_BEFORE'))define('XAJAX_PROCESSING_EVENT_BEFORE','beforeProcessing');if(!defined('XAJAX_PROCESSING_EVENT_AFTER'))define('XAJAX_PROCESSING_EVENT_AFTER','afterProcessing');if(!defined('XAJAX_PROCESSING_EVENT_INVALID'))define('XAJAX_PROCESSING_EVENT_INVALID','invalidRequest');class xajax{var $aSettings;var $bErrorHandler;var $aProcessingEvents;var $bExitAllowed;var $bCleanBuffer;var $sLogFile;var $sCoreIncludeOutput;var $objPluginManager;var $objArgumentManager;var $objResponseManager;var $objLanguageManager;function xajax($sRequestURI=null,$sLanguage=null){$this->bErrorHandler=false;$this->aProcessingEvents=array();$this->bExitAllowed=true;$this->bCleanBuffer=true;$this->sLogFile='';$this->__wakeup();$this->configureMany(
    array(
    'characterEncoding'=> XAJAX_DEFAULT_CHAR_ENCODING,
    'decodeUTF8Input'=> false,
    'outputEntities'=> false,
    'defaultMode'=> 'asynchronous',
    'defaultMethod'=> 'POST',
    'wrapperPrefix'=> 'xajax_',
    'debug'=> false,
    'verbose'=> false,
    'useUncompressedScripts'=> false,
    'statusMessages'=> false,
    'waitCursor'=> true,
    'scriptDeferral'=> false,
    'exitAllowed'=> true,
    'errorHandler'=> false,
    'cleanBuffer'=> false,
    'allowBlankResponse'=> false,
    'allowAllResponseTypes'=> false,
    'generateStubs'=> true,
    'logFile'=> '',
    'timeout'=> 6000,
    'version'=> $this->getVersion(),
    'javascript URI' => 'include/includes/'
    )
    );if(null!==$sRequestURI)
    $this->configure('requestURI',$sRequestURI);else
    $this->configure('requestURI',$this->_detectURI());if(null!==$sLanguage)
    $this->configure('language',$sLanguage);}
    function __sleep(){$aMembers=get_class_vars(get_class($this));if(isset($aMembers['objLanguageManager']))
    unset($aMembers['objLanguageManager']);if(isset($aMembers['objPluginManager']))
    unset($aMembers['objPluginManager']);if(isset($aMembers['objArgumentManager']))
    unset($aMembers['objArgumentManager']);if(isset($aMembers['objResponseManager']))
    unset($aMembers['objResponseManager']);if(isset($aMembers['sCoreIncludeOutput']))
    unset($aMembers['sCoreIncludeOutput']);return array_keys($aMembers);}
    function __wakeup(){ob_start();$sLocalFolder=dirname(__FILE__);$aPluginFolders=array();$aPluginFolders[]=dirname($sLocalFolder). '/xajax_plugins';$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();}
    function&getGlobalResponse(){static $obj;if(!$obj){$obj=new xajaxResponse();}
    return $obj;}
    function getVersion(){return 'xajax 0.5 Beta 4';}
    function register($sType,$mArg){$aArgs=func_get_args();$nArgs=func_num_args();if(2 < $nArgs){if(XAJAX_PROCESSING_EVENT==$aArgs[0]){$sEvent=$aArgs[1];$xuf=&$aArgs[2];if(false==is_a($xuf,'xajaxUserFunction'))
    $xuf=&new xajaxUserFunction($xuf);$this->aProcessingEvents[$sEvent]=&$xuf;return true;}
    }
    if(1 < $nArgs){$aArgs[1]=&$mArg;}
    return $this->objPluginManager->register($aArgs);}
    function configure($sName,$mValue){if('errorHandler'==$sName){if(true===$mValue||false===$mValue)
    $this->bErrorHandler=$mValue;}else if('exitAllowed'==$sName){if(true===$mValue||false===$mValue)
    $this->bExitAllowed=$mValue;}else if('cleanBuffer'==$sName){if(true===$mValue||false===$mValue)
    $this->bCleanBuffer=$mValue;}else if('logFile'==$sName){$this->sLogFile=$mValue;}
    $this->objLanguageManager->configure($sName,$mValue);$this->objArgumentManager->configure($sName,$mValue);$this->objPluginManager->configure($sName,$mValue);$this->objResponseManager->configure($sName,$mValue);$this->aSettings[$sName]=$mValue;}
    function configureMany($aOptions){foreach($aOptions as $sName=> $mValue)
    $this->configure($sName,$mValue);}
    function getConfiguration($sName){if(isset($this->aSettings[$sName]))
    return $this->aSettings[$sName];return NULL;}
    function canProcessRequest(){return $this->objPluginManager->canProcessRequest();}
    function processRequest(){if($this->canProcessRequest()){if($this->bErrorHandler){$GLOBALS['xajaxErrorHandlerText']="";set_error_handler("xajaxErrorHandler");}
    $mResult=true;if(isset($this->aProcessingEvents[XAJAX_PROCESSING_EVENT_BEFORE])){$bEndRequest=false;$this->aProcessingEvents[XAJAX_PROCESSING_EVENT_BEFORE]->call(array(&$bEndRequest));$mResult=(false===$bEndRequest);}
    if(true===$mResult)
    $mResult=$this->objPluginManager->processRequest();if(true===$mResult){if($this->bCleanBuffer){$er=error_reporting(0);while(ob_get_level()> 0)ob_end_clean();error_reporting($er);}
    if(isset($this->aProcessingEvents[XAJAX_PROCESSING_EVENT_AFTER])){$bEndRequest=false;$this->aProcessingEvents[XAJAX_PROCESSING_EVENT_AFTER]->call(array(&$bEndRequest));if(true===$bEndRequest){$this->objResponseManager->clear();$this->objResponseManager->append($aResult[1]);}
    }
    }
    else if(is_string($mResult)){if($this->bCleanBuffer){$er=error_reporting(0);while(ob_get_level()> 0)ob_end_clean();error_reporting($er);}
    $this->objResponseManager->clear();$this->objResponseManager->append(new xajaxResponse());if(isset($this->aProcessingEvents[XAJAX_PROCESSING_EVENT_INVALID]))
    $this->aProcessingEvents[XAJAX_PROCESSING_EVENT_INVALID]->call();else
    $this->objResponseManager->debug($mResult);}
    if($this->bErrorHandler){$sErrorMessage=$GLOBALS['xajaxErrorHandlerText'];if(!empty($sErrorMessage)){if(0 < strlen($this->sLogFile)){$fH=@fopen($this->sLogFile,"a");if(NULL!=$fH){fwrite(
    $fH,
    $this->objLanguageManager->getText('LOGHDR:01')
    . strftime("%b %e %Y %I:%M:%S %p")
    . $this->objLanguageManager->getText('LOGHDR:02')
    . $sErrorMessage
    . $this->objLanguageManager->getText('LOGHDR:03')
    );fclose($fH);}else{$this->objResponseManager->debug(
    $this->objLanguageManager->getText('LOGERR:01')
    . $this->sLogFile
    );}
    }
    $this->objResponseManager->debug(
    $this->objLanguageManager->getText('LOGMSG:01')
    . $sErrorMessage
    );}
    }
    $this->objResponseManager->send();if($this->bErrorHandler)restore_error_handler();if($this->bExitAllowed)exit();}
    }
    function printJavascript($sJsURI="",$aJsFiles=array()){if(0 < strlen($sJsURI))
    $this->configure("javascript URI",$sJsURI);if(0 < count($aJsFiles))
    $this->configure("javascript files",$aJsFiles);$this->objPluginManager->generateClientScript();}
    function getJavascript($sJsURI='',$aJsFiles=array()){ob_start();$this->printJavascript($sJsURI,$aJsFiles);return ob_get_clean();}
    function autoCompressJavascript($sJsFullFilename=NULL,$bAlways=false){$sJsFile='xajax_js/xajax_core.js';if($sJsFullFilename){$realJsFile=$sJsFullFilename;}
    else{$realPath=realpath(dirname(dirname(__FILE__)));$realJsFile=$realPath . '/'. $sJsFile;}
    if(!file_exists($realJsFile)||true==$bAlways){$srcFile=str_replace('.js','_uncompressed.js',$realJsFile);if(!file_exists($srcFile)){trigger_error(
    $this->objLanguageManager->getText('CMPRSJS:RDERR:01')
    . dirname($realJsFile)
    . $this->objLanguageManager->getText('CMPRSJS:RDERR:02')
    ,E_USER_ERROR
    );}
    require_once(dirname(__FILE__). '/xajaxCompress.inc.php');$javaScript=implode('',file($srcFile));$compressedScript=xajaxCompressFile($javaScript);$fH=@fopen($realJsFile,'w');if(!$fH){trigger_error(
    $this->objLanguageManager->getText('CMPRSJS:WTERR:01')
    . dirname($realJsFile)
    . $this->objLanguageManager->getText('CMPRSJS:WTERR:02')
    ,E_USER_ERROR
    );}
    else{fwrite($fH,$compressedScript);fclose($fH);}
    }
    }
    function _compressSelf($sFolder=null){if(null==$sFolder)
    $sFolder=dirname(dirname(__FILE__));require_once(dirname(__FILE__). '/xajaxCompress.inc.php');if($handle=opendir($sFolder)){while(!(false===($sName=readdir($handle)))){if('.'!=$sName&&'..'!=$sName&&is_dir($sFolder . '/' . $sName)){$this->_compressSelf($sFolder . '/' . $sName);}else if(8 < strlen($sName)&&0==strpos($sName,'.compressed')){if('.inc.php'==substr($sName,strlen($sName)-8,8)){$sName=substr($sName,0,strlen($sName)-8);$sPath=$sFolder . '/' . $sName . '.inc.php';if(file_exists($sPath)){$aParsed=array();$aFile=file($sPath);$nSkip=0;foreach(array_keys($aFile)as $sKey)
    if('//SkipDebug'==$aFile[$sKey])
    ++$nSkip;else if('//EndSkipDebug'==$aFile[$sKey])
    --$nSkip;else if(0==$nSkip)
    $aParsed[]=$aFile[$sKey];unset($aFile);$compressedScript=xajaxCompressFile(implode('',$aParsed));$sNewPath=$sPath;$fH=@fopen($sNewPath,'w');if(!$fH){trigger_error(
    $this->objLanguageManager->getText('CMPRSPHP:WTERR:01')
    . $sNewPath
    . $this->objLanguageManager->getText('CMPRSPHP:WTERR:02')
    ,E_USER_ERROR
    );}
    else{fwrite($fH,$compressedScript);fclose($fH);}
    }
    }
    }
    }
    closedir($handle);}
    }
    function _compile($sFolder=null,$bWriteFile=true){if(null==$sFolder)
    $sFolder=dirname(__FILE__);require_once(dirname(__FILE__). '/xajaxCompress.inc.php');$aOutput=array();if($handle=opendir($sFolder)){while(!(false===($sName=readdir($handle)))){if('.'!=$sName&&'..'!=$sName&&is_dir($sFolder . '/' . $sName)){$aOutput[]=$this->_compile($sFolder . '/' . $sName,false);}else if(8 < strlen($sName)){if('.inc.php'==substr($sName,strlen($sName)-8,8)){$sName=substr($sName,0,strlen($sName)-8);$sPath=$sFolder . '/' . $sName . '.inc.php';if(
    'xajaxAIO'!=$sName&&
    'legacy'!=$sName&&
    'xajaxCompress'!=$sName
    ){if(file_exists($sPath)){$aParsed=array();$aFile=file($sPath);$nSkip=0;foreach(array_keys($aFile)as $sKey)
    if('//SkipDebug'==substr($aFile[$sKey],0,11))
    ++$nSkip;else if('//EndSkipDebug'==substr($aFile[$sKey],0,14))
    --$nSkip;else if('//SkipAIO'==substr($aFile[$sKey],0,9))
    ++$nSkip;else if('//EndSkipAIO'==substr($aFile[$sKey],0,12))
    --$nSkip;else if('<'.'?php'==substr($aFile[$sKey],0,5)){}
    else if('?'.'>'==substr($aFile[$sKey],0,2)){}
    else if(0==$nSkip)
    $aParsed[]=$aFile[$sKey];unset($aFile);$aOutput[]=xajaxCompressFile(implode('',$aParsed));}
    }
    }
    }
    }
    closedir($handle);}
    if($bWriteFile){$fH=@fopen($sFolder . '/xajaxAIO.inc.php','w');if(!$fH){trigger_error(
    $this->objLanguageManager->getText('CMPRSAIO:WTERR:01')
    . $sFolder
    . $this->objLanguageManager->getText('CMPRSAIO:WTERR:02')
    ,E_USER_ERROR
    );}
    else{fwrite($fH,'<'.'?php ');fwrite($fH,implode('',$aOutput));fclose($fH);}
    }
    return implode('',$aOutput);}
    function _detectURI(){$aURL=array();if(!empty($_SERVER['REQUEST_URI'])){$_SERVER['REQUEST_URI']=str_replace(
    array('"',"'",'<','>'),
    array('%22','%27','%3C','%3E'),
    $_SERVER['REQUEST_URI']
    );$aURL=parse_url($_SERVER['REQUEST_URI']);}
    if(empty($aURL['scheme'])){if(!empty($_SERVER['HTTP_SCHEME'])){$aURL['scheme']=$_SERVER['HTTP_SCHEME'];}else{$aURL['scheme']=
    (!empty($_SERVER['HTTPS'])&&strtolower($_SERVER['HTTPS'])!='off')
    ? 'https'
    :'http';}
    }
    if(empty($aURL['host'])){if(!empty($_SERVER['HTTP_X_FORWARDED_HOST'])){if(strpos($_SERVER['HTTP_X_FORWARDED_HOST'],':')> 0){list($aURL['host'],$aURL['port'])=explode(':',$_SERVER['HTTP_X_FORWARDED_HOST']);}else{$aURL['host']=$_SERVER['HTTP_X_FORWARDED_HOST'];}
    }else if(!empty($_SERVER['HTTP_HOST'])){if(strpos($_SERVER['HTTP_HOST'],':')> 0){list($aURL['host'],$aURL['port'])=explode(':',$_SERVER['HTTP_HOST']);}else{$aURL['host']=$_SERVER['HTTP_HOST'];}
    }else if(!empty($_SERVER['SERVER_NAME'])){$aURL['host']=$_SERVER['SERVER_NAME'];}else{print $this->objLanguageManager->getText('DTCTURI:01');print $this->objLanguageManager->getText('DTCTURI:02');exit();}
    }
    if(empty($aURL['port'])&&!empty($_SERVER['SERVER_PORT'])){$aURL['port']=$_SERVER['SERVER_PORT'];}
    if(!empty($aURL['path']))
    if(0==strlen(basename($aURL['path'])))
    unset($aURL['path']);if(empty($aURL['path'])){$sPath=array();if(!empty($_SERVER['PATH_INFO'])){$sPath=parse_url($_SERVER['PATH_INFO']);}else{$sPath=parse_url($_SERVER['PHP_SELF']);}
    if(isset($sPath['path']))
    $aURL['path']=str_replace(array('"',"'",'<','>'),array('%22','%27','%3C','%3E'),$sPath['path']);unset($sPath);}
    if(empty($aURL['query'])&&!empty($_SERVER['QUERY_STRING'])){$aURL['query']=$_SERVER['QUERY_STRING'];}
    if(!empty($aURL['query'])){$aURL['query']='?'.$aURL['query'];}
    $sURL=$aURL['scheme'].'://';if(!empty($aURL['user'])){$sURL.=$aURL['user'];if(!empty($aURL['pass'])){$sURL.=':'.$aURL['pass'];}
    $sURL.='@';}
    $sURL.=$aURL['host'];if(!empty($aURL['port'])
    &&(($aURL['scheme']=='http'&&$aURL['port']!=80)
    ||($aURL['scheme']=='https'&&$aURL['port']!=443))){$sURL.=':'.$aURL['port'];}
    $sURL.=$aURL['path'].@$aURL['query'];unset($aURL);$aURL=explode("?",$sURL);if(1 < count($aURL)){$aQueries=explode("&",$aURL[1]);foreach($aQueries as $sKey=> $sQuery){if("xjxGenerate"==substr($sQuery,0,11))
    unset($aQueries[$sKey]);}
    $sQueries=implode("&",$aQueries);$aURL[1]=$sQueries;$sURL=implode("?",$aURL);}
    return $sURL;}
    function setCharEncoding($sEncoding){$this->configure('characterEncoding',$sEncoding);}
    function getCharEncoding(){return $this->getConfiguration('characterEncoding');}
    function setFlags($flags){foreach($flags as $name=> $value){$this->configure($name,$value);}
    }
    function setFlag($name,$value){$this->configure($name,$value);}
    function getFlag($name){return $this->getConfiguration($name);}
    function setRequestURI($sRequestURI){$this->configure('requestURI',$sRequestURI);}
    function getRequestURI(){return $this->getConfiguration('requestURI');}
    function setDefaultMode($sDefaultMode){$this->configure('defaultMode',$sDefaultMode);}
    function getDefaultMode(){return $this->getConfiguration('defaultMode');}
    function setDefaultMethod($sMethod){$this->configure('defaultMethod',$sMethod);}
    function getDefaultMethod(){return $this->getConfiguration('defaultMethod');}
    function setWrapperPrefix($sPrefix){$this->configure('wrapperPrefix',$sPrefix);}
    function getWrapperPrefix(){return $this->getConfiguration('wrapperPrefix');}
    function setLogFile($sFilename){$this->configure('logFile',$sFilename);}
    function getLogFile(){return $this->getConfiguration('logFile');}
    function registerFunction($mFunction,$sIncludeFile=null){$xuf=&new xajaxUserFunction($mFunction,$sIncludeFile);return $this->register(XAJAX_FUNCTION,$xuf);}
    function registerCallableObject(&$oObject){$mResult=false;if(0 > version_compare(PHP_VERSION,'5.0'))
    eval('$mResult = $this->register(XAJAX_CALLABLE_OBJECT, &$oObject);');else
    $mResult=$this->register(XAJAX_CALLABLE_OBJECT,$oObject);return $mResult;}
    function registerEvent($sEventName,$mCallback){$this->register(XAJAX_PROCESSING_EVENT,$sEventName,$mCallback);}
    }
    function xajaxErrorHandler($errno,$errstr,$errfile,$errline){$errorReporting=error_reporting();if(($errno&$errorReporting)==0)return;if($errno==E_NOTICE){$errTypeStr='NOTICE';}
    else if($errno==E_WARNING){$errTypeStr='WARNING';}
    else if($errno==E_USER_NOTICE){$errTypeStr='USER NOTICE';}
    else if($errno==E_USER_WARNING){$errTypeStr='USER WARNING';}
    else if($errno==E_USER_ERROR){$errTypeStr='USER FATAL ERROR';}
    else if(defined('E_STRICT')&&$errno==E_STRICT){return;}
    else{$errTypeStr='UNKNOWN: ' . $errno;}
    $sCrLf="\n";ob_start();print $GLOBALS['xajaxErrorHandlerText'];print $sCrLf;print '----';print $sCrLf;print '[';print $errTypeStr;print '] ';print $errstr;print $sCrLf;print 'Error on line ';print $errline;print ' of file ';print $errfile;$GLOBALS['xajaxErrorHandlerText']=ob_get_clean();}
    
    if(!defined('XAJAX_METHOD_UNKNOWN'))define('XAJAX_METHOD_UNKNOWN',0);if(!defined('XAJAX_METHOD_GET'))define('XAJAX_METHOD_GET',1);if(!defined('XAJAX_METHOD_POST'))define('XAJAX_METHOD_POST',2);class xajaxArgumentManager{var $aArgs;var $bDecodeUTF8Input;var $sCharacterEncoding;var $nMethod;var $aSequence;function argumentStripSlashes(&$sArg){if(false==is_string($sArg))
    return;$sArg=stripslashes($sArg);}
    function argumentDecodeXML(&$sArg){if(false==is_string($sArg))
    return;if(0==strlen($sArg))
    return;$nStackDepth=0;$aStack=array();$aArg=array();$nCurrent=0;$nLast=0;$aExpecting=array();$nFound=0;list($aExpecting,$nFound)=$this->aSequence['start'];$nLength=strlen($sArg);$sKey='';$mValue='';while($nCurrent < $nLength){$bFound=false;foreach($aExpecting as $sExpecting=> $nExpectedLength){if($sArg[$nCurrent]==$sExpecting[0])
    if($sExpecting==substr($sArg,$nCurrent,$nExpectedLength)){list($aExpecting,$nFound)=$this->aSequence[$sExpecting];switch($nFound){case 3:
    $sKey='';break;case 4:
    $sKey=str_replace(
    array('<'.'![CDATA[',']]>'),
    '',
    substr($sArg,$nLast,$nCurrent-$nLast)
    );break;case 5:
    $mValue='';break;case 6:
    if($nLast < $nCurrent){$mValue=str_replace(
    array('<'.'![CDATA[',']]>'),
    '',
    substr($sArg,$nLast,$nCurrent-$nLast)
    );}
    break;case 7:
    $aArg[$sKey]=$mValue;break;case 1:
    ++$nStackDepth;array_push($aStack,$aArg);$aArg=array();array_push($aStack,$sKey);$sKey='';break;case 8:
    if(1 < $nStackDepth){$mValue=$aArg;$sKey=array_pop($aStack);$aArg=array_pop($aStack);--$nStackDepth;}else{$sArg=$aArg;return;}
    break;}
    $nCurrent+=$nExpectedLength;$nLast=$nCurrent;$bFound=true;break;}
    }
    if(false==$bFound){if(0==$nCurrent){$sArg=str_replace(
    array('<'.'![CDATA[',']]>'),
    '',
    $sArg
    );return;}
    $nCurrent++;}
    }
    $objLanguageManager=&xajaxLanguageManager::getInstance();trigger_error(
    $objLanguageManager->getText('ARGMGR:ERR:01')
    . $sExpected
    . $objLanguageManager->getText('ARGMGR:ERR:02')
    . $sChunk
    ,E_USER_ERROR
    );}
    function argumentDecodeUTF8_iconv(&$mArg){if(is_array($mArg)){foreach(array_keys($mArg)as $sKey){$sNewKey=$sKey;$this->argumentDecodeUTF8_iconv($sNewKey);if($sNewKey!=$sKey){$mArg[$sNewKey]=$mArg[$sKey];unset($mArg[$sKey]);$sKey=$sNewKey;}
    $this->argumentDecodeUTF8_iconv($mArg[$sKey]);}
    }
    else if(is_string($mArg))
    $mArg=iconv("UTF-8",$this->sCharacterEncoding.'//TRANSLIT',$mArg);}
    function argumentDecodeUTF8_mb_convert_encoding(&$mArg){if(is_array($mArg)){foreach(array_keys($mArg)as $sKey){$sNewKey=$sKey;$this->argumentDecodeUTF8_mb_convert_encoding($sNewKey);if($sNewKey!=$sKey){$mArg[$sNewKey]=$mArg[$sKey];unset($mArg[$sKey]);$sKey=$sNewKey;}
    $this->argumentDecodeUTF8_mb_convert_encoding($mArg[$sKey]);}
    }



    Zuletzt modifiziert von marsetex am 24.09.2009 - 15:59:12
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    marsetex Mitglied
    Registriert seit
    22.07.2009
    Beiträge
    25
    Beitragswertungen
    2 Beitragspunkte
    include/includes/class/xajax.inc.php (Part 2)

    else if(is_string($mArg))
    $mArg=mb_convert_encoding($mArg,$this->sCharacterEncoding,"UTF-8");}
    function argumentDecodeUTF8_utf8_decode(&$mArg){if(is_array($mArg)){foreach(array_keys($mArg)as $sKey){$sNewKey=$sKey;$this->argumentDecodeUTF8_utf8_decode($sNewKey);if($sNewKey!=$sKey){$mArg[$sNewKey]=$mArg[$sKey];unset($mArg[$sKey]);$sKey=$sNewKey;}
    $this->argumentDecodeUTF8_utf8_decode($mArg[$sKey]);}
    }
    else if(is_string($mArg))
    $mArg=utf8_decode($mArg);}
    function xajaxArgumentManager(){$this->aArgs=array();$this->bDecodeUTF8Input=false;$this->sCharacterEncoding='UTF-8';$this->nMethod=XAJAX_METHOD_UNKNOWN;$this->aSequence=array(
    '<'.'k'.'>'=> array(array(
    '<'.'/k'.'>'=> 4
    ),3),
    '<'.'/k'.'>'=> array(array(
    '<'.'v'.'>'=> 3,
    '<'.'/e'.'>'=> 4
    ),4),
    '<'.'v'.'>'=> array(array(
    '<'.'xjxobj'.'>'=> 8,
    '<'.'/v'.'>'=> 4
    ),5),
    '<'.'/v'.'>'=> array(array(
    '<'.'/e'.'>'=> 4,
    '<'.'k'.'>'=> 3
    ),6),
    '<'.'e'.'>'=> array(array(
    '<'.'k'.'>'=> 3,
    '<'.'v'.'>'=> 3,
    '<'.'/e'.'>'=> 4
    ),2),
    '<'.'/e'.'>'=> array(array(
    '<'.'e'.'>'=> 3,
    '<'.'/xjxobj'.'>'=> 9
    ),7),
    '<'.'xjxobj'.'>'=> array(array(
    '<'.'e'.'>'=> 3,
    '<'.'/xjxobj'.'>'=> 9
    ),1),
    '<'.'/xjxobj'.'>'=> array(array(
    '<'.'/v'.'>'=> 4
    ),8),
    'start'=> array(array(
    '<'.'xjxobj'.'>'=> 8
    ),9)
    );if(isset($_POST['xjxargs'])){$this->nMethod=XAJAX_METHOD_POST;$this->aArgs=$_POST['xjxargs'];}else if(isset($_GET['xjxargs'])){$this->nMethod=XAJAX_METHOD_GET;$this->aArgs=$_GET['xjxargs'];}
    if(1==get_magic_quotes_gpc())
    array_walk($this->aArgs,array(&$this,'argumentStripSlashes'));array_walk($this->aArgs,array(&$this,'argumentDecodeXML'));}
    function&getInstance(){static $obj;if(!$obj){$obj=new xajaxArgumentManager();}
    return $obj;}
    function configure($sName,$mValue){if('decodeUTF8Input'==$sName){if(true===$mValue||false===$mValue)
    $this->bDecodeUTF8Input=$mValue;}else if('characterEncoding'==$sName){$this->sCharacterEncoding=$mValue;}
    }
    function getRequestMethod(){return $this->nMethod;}
    function process(){if($this->bDecodeUTF8Input){$sFunction='';if(function_exists('iconv'))
    $sFunction="iconv";else if(function_exists('mb_convert_encoding'))
    $sFunction="mb_convert_encoding";else if($this->sCharacterEncoding=="ISO-8859-1")
    $sFunction="utf8_decode";else{$objLanguageManager=&xajaxLanguageManager::getInstance();trigger_error(
    $objLanguageManager->getText('ARGMGR:ERR:03')
    ,E_USER_NOTICE
    );}
    $mFunction=array(&$this,'argumentDecodeUTF8_' . $sFunction);array_walk($this->aArgs,$mFunction);$this->bDecodeUTF8Input=false;}
    return $this->aArgs;}
    }
    
    class xajaxCall{var $sFunction;var $sReturnValue;var $aParameters;var $sMode;var $sRequestType;var $sResponseProcessor;var $sRequestURI;var $sContentType;function xajaxCall($sFunction=''){$this->sFunction=$sFunction;$this->aParameters=array();$this->sMode='';$this->sRequestType='';$this->sResponseProcessor='';$this->sRequestURI='';$this->sContentType='';}
    function setFunction($sFunction){$this->sFunction=$sFunction;return $this;}
    function clearParameters(){$this->aParameters=array();}
    function addParameter($sParameter,$bUseQuotes=true){$this->aParameters[]=array($sParameter,$bUseQuotes);return $this;}
    function addFormValuesParameter($sFormID){$this->aParameters[]=array('xajax.getFormValues("'.$sFormID.'")');return $this;}
    function setMode($sMode){$this->sMode=$sMode;return $this;}
    function setRequestType($sRequestType){$this->sRequestType=$sRequestType;return $this;}
    function setResponseProcessor($sResponseProcessor){$this->sResponseProcessor=$sResponseProcessor;return $this;}
    function setRequestURI($sRequestURI){$this->sRequestURI=$sRequestURI;return $this;}
    function setContentType($sContentType){$this->sContentType=$sContentType;}
    function setReturnValue($sReturnValue){$this->sReturnValue=$sReturnValue;}
    function generate(){$output='xajax.call("';$output .=$this->sFunction;$output .='", {';$separator='';if(0 < count($this->aParameters)){$output .='parameters: [';foreach($this->aParameters as $aParameter){$output .=$separator;$bUseQuotes=$aParameter[1];if($bUseQuotes)
    $output .='"';$output .=$aParameter[0];if($bUseQuotes)
    $output .='"';$separator=',';}
    $output .=']';}
    if(0 < strlen($this->sMode)){$output .=$separator;$output .='mode:"';$output .=$this->sMode;$output .='"';$separator=',';}
    if(0 < strlen($this->sRequestType)){$output .=$separator;$output .='requestType:"';$output .=$this->sRequestType;$output .='"';$separator=',';}
    if(0 < strlen($this->sResponseProcessor)){$output .=$separator;$output .='responseProcessor:';$output .=$this->sResponseProcessor;$separator=',';}
    if(0 < strlen($this->sRequestURI)){$output .=$separator;$output .='requestURI:"';$output .=$this->sRequestURI;$output .='"';$separator=',';}
    if(0 < strlen($this->sContentType)){$output .=$separator;$output .='contentType:"';$output .=$this->sContentType;$output .='"';$separator=',';}
    $output .='}); ';if(0 < strlen($this->sReturnValue)){$output .='return ';$output .=$this->sReturnValue;}else{$output .='return false;';}
    return $output;}
    }
    
    if(false==defined('XAJAX_HTML_CONTROL_DOCTYPE_FORMAT'))define('XAJAX_HTML_CONTROL_DOCTYPE_FORMAT','XHTML');if(false==defined('XAJAX_HTML_CONTROL_DOCTYPE_VERSION'))define('XAJAX_HTML_CONTROL_DOCTYPE_VERSION','1.0');if(false==defined('XAJAX_HTML_CONTROL_DOCTYPE_VALIDATION'))define('XAJAX_HTML_CONTROL_DOCTYPE_VALIDATION','TRANSITIONAL');class xajaxControl{var $sTag;var $sEndTag;var $aAttributes;var $aEvents;var $sClass;function xajaxControl($sTag,$aConfiguration=array()){$this->sTag=$sTag;$this->clearAttributes();if(isset($aConfiguration['attributes']))
    if(is_array($aConfiguration['attributes']))
    foreach($aConfiguration['attributes'] as $sKey=> $sValue)
    $this->setAttribute($sKey,$sValue);$this->clearEvents();if(isset($aConfiguration['event']))
    call_user_func_array(array(&$this,'setEvent'),$aConfiguration['event']);else if(isset($aConfiguration['events']))
    if(is_array($aConfiguration['events']))
    foreach($aConfiguration['events'] as $aEvent)
    call_user_func_array(array(&$this,'setEvent'),$aEvent);$this->sClass='%block';$this->sEndTag='forbidden';}
    function getClass(){return $this->sClass;}
    function clearAttributes(){$this->aAttributes=array();}
    function setAttribute($sName,$sValue){$this->aAttributes[$sName]=$sValue;}
    function getAttribute($sName){if(false==isset($this->aAttributes[$sName]))
    return null;return $this->aAttributes[$sName];}
    function clearEvents(){$this->aEvents=array();}
    function setEvent($sEvent,&$objRequest,$aParameters=array(),$sBeforeRequest='',$sAfterRequest='; return false;'){$this->aEvents[$sEvent]=array(
    &$objRequest,
    $aParameters,
    $sBeforeRequest,
    $sAfterRequest
    );}
    function getHTML($bFormat=false){ob_start();if($bFormat)
    $this->printHTML();else
    $this->printHTML(false);return ob_get_clean();}
    function printHTML($sIndent=''){$sClass=$this->getClass();if('%inline'!=$sClass)
    if(false===(false===$sIndent))
    echo $sIndent;echo '<';echo $this->sTag;echo ' ';$this->_printAttributes();$this->_printEvents();if('forbidden'==$this->sEndTag){if('HTML'==XAJAX_HTML_CONTROL_DOCTYPE_FORMAT)
    echo '>';else if('XHTML'==XAJAX_HTML_CONTROL_DOCTYPE_FORMAT)
    echo '/>';if('%inline'!=$sClass)
    if(false===(false===$sIndent))
    echo "\n";return;}
    else if('optional'==$this->sEndTag){echo '/>';if('%inline'==$sClass)
    if(false===(false===$sIndent))
    echo "\n";return;}
    }
    function _printAttributes(){foreach($this->aAttributes as $sKey=> $sValue)
    if('disabled'!=$sKey||'false'!=$sValue)
    echo "{$sKey}='{$sValue}' ";}
    function _printEvents(){foreach(array_keys($this->aEvents)as $sKey){$aEvent=&$this->aEvents[$sKey];$objRequest=&$aEvent[0];$aParameters=$aEvent[1];$sBeforeRequest=$aEvent[2];$sAfterRequest=$aEvent[3];foreach($aParameters as $aParameter){$nParameter=$aParameter[0];$sType=$aParameter[1];$sValue=$aParameter[2];$objRequest->setParameter($nParameter,$sType,$sValue);}
    $objRequest->useDoubleQuote();echo "{$sKey}='{$sBeforeRequest}";$objRequest->printScript();echo "{$sAfterRequest}' ";}
    }
    function backtrace(){if(0 <=version_compare(PHP_VERSION,'4.3.0'))
    return '<div><div>Backtrace:</div><pre>'
    . print_r(debug_backtrace(),true)
    . '</pre></div>';return '';}
    }
    class xajaxControlContainer extends xajaxControl{var $aChildren;var $sChildClass;function xajaxControlContainer($sTag,$aConfiguration=array()){xajaxControl::xajaxControl($sTag,$aConfiguration);$this->clearChildren();if(isset($aConfiguration['child']))
    $this->addChild($aConfiguration['child']);else if(isset($aConfiguration['children']))
    $this->addChildren($aConfiguration['children']);$this->sEndTag='required';}
    function getClass(){$sClass=xajaxControl::getClass();if(0 < count($this->aChildren)&&'%flow'==$sClass)
    return $this->getContentClass();else if(0==count($this->aChildren)||'%inline'==$sClass||'%block'==$sClass)
    return $sClass;$objLanguageManager=&xajaxLanguageManager::getInstance();trigger_error(
    $objLanguageManager->getText('XJXCTL:ICERR:01')
    . $this->backtrace()
    ,E_USER_ERROR
    );}
    function getContentClass(){$sClass='';foreach(array_keys($this->aChildren)as $sKey){if(''==$sClass)
    $sClass=$this->aChildren[$sKey]->getClass();else if($sClass!=$this->aChildren[$sKey]->getClass())
    return '%flow';}
    if(''==$sClass)
    return '%inline';return $sClass;}
    function clearChildren(){$this->sChildClass='%inline';$this->aChildren=array();}
    function addChild(&$objControl){$this->aChildren[]=&$objControl;}
    function addChildren(&$aChildren){foreach(array_keys($aChildren)as $sKey)
    $this->addChild($aChildren[$sKey]);}
    function printHTML($sIndent=''){$sClass=$this->getClass();if('%inline'!=$sClass)
    if(false===(false===$sIndent))
    echo $sIndent;echo '<';echo $this->sTag;echo ' ';$this->_printAttributes();$this->_printEvents();if(0==count($this->aChildren)){if('optional'==$this->sEndTag){echo '/>';if('%inline'!=$sClass)
    if(false===(false===$sIndent))
    echo "\n";return;}
    }
    echo '>';$sContentClass=$this->getContentClass();if('%inline'!=$sContentClass)
    if(false===(false===$sIndent))
    echo "\n";$this->_printChildren($sIndent);if('%inline'!=$sContentClass)
    if(false===(false===$sIndent))
    echo $sIndent;echo '<' . '/';echo $this->sTag;echo '>';if('%inline'!=$sClass)
    if(false===(false===$sIndent))
    echo "\n";}
    function _printChildren($sIndent=''){if(false==is_a($this,'clsDocument'))
    if(false===(false===$sIndent))
    $sIndent .="\t";foreach(array_keys($this->aChildren)as $sKey){$objChild=&$this->aChildren[$sKey];$objChild->printHTML($sIndent);}
    }
    }
    
    class xajaxPluginManager{var $aRequestPlugins;var $aResponsePlugins;var $aConfigurable;var $aRegistrars;var $aProcessors;var $aClientScriptGenerators;function xajaxPluginManager(){$this->aRequestPlugins=array();$this->aResponsePlugins=array();$this->aConfigurable=array();$this->aRegistrars=array();$this->aProcessors=array();$this->aClientScriptGenerators=array();}
    function&getInstance(){static $obj;if(!$obj){$obj=new xajaxPluginManager();}
    return $obj;}
    function loadPlugins($aFolders){foreach($aFolders as $sFolder){if($handle=opendir($sFolder)){while(!(false===($sName=readdir($handle)))){$nLength=strlen($sName);if(8 < $nLength){$sFileName=substr($sName,0,$nLength-8);$sExtension=substr($sName,$nLength-8,8);if('.inc.php'==$sExtension){require $sFolder . '/' . $sFileName . $sExtension;}
    }
    }
    closedir($handle);}
    }
    }
    function _insertIntoArray(&$aPlugins,&$objPlugin,$nPriority){while(isset($aPlugins[$nPriority]))
    $nPriority++;$aPlugins[$nPriority]=&$objPlugin;}
    function registerPlugin(&$objPlugin,$nPriority=1000){if(is_a($objPlugin,'xajaxRequestPlugin')){$this->_insertIntoArray($this->aRequestPlugins,$objPlugin,$nPriority);if(method_exists($objPlugin,'register'))
    $this->_insertIntoArray($this->aRegistrars,$objPlugin,$nPriority);if(method_exists($objPlugin,'canProcessRequest'))
    if(method_exists($objPlugin,'processRequest'))
    $this->_insertIntoArray($this->aProcessors,$objPlugin,$nPriority);}
    else if(is_a($objPlugin,'xajaxResponsePlugin')){$this->aResponsePlugins[]=&$objPlugin;}
    else{}
    if(method_exists($objPlugin,'configure'))
    $this->_insertIntoArray($this->aConfigurable,$objPlugin,$nPriority);if(method_exists($objPlugin,'generateClientScript'))
    $this->_insertIntoArray($this->aClientScriptGenerators,$objPlugin,$nPriority);}
    function canProcessRequest(){$bHandled=false;$aKeys=array_keys($this->aProcessors);sort($aKeys);foreach($aKeys as $sKey){$mResult=$this->aProcessors[$sKey]->canProcessRequest();if(true===$mResult)
    $bHandled=true;else if(is_string($mResult))
    return $mResult;}
    return $bHandled;}
    function processRequest(){$bHandled=false;$aKeys=array_keys($this->aProcessors);sort($aKeys);foreach($aKeys as $sKey){$mResult=$this->aProcessors[$sKey]->processRequest();if(true===$mResult)
    $bHandled=true;else if(is_string($mResult))
    return $mResult;}
    return $bHandled;}
    function configure($sName,$mValue){$aKeys=array_keys($this->aConfigurable);sort($aKeys);foreach($aKeys as $sKey)
    $this->aConfigurable[$sKey]->configure($sName,$mValue);}
    function register($aArgs){$aKeys=array_keys($this->aRegistrars);sort($aKeys);foreach($aKeys as $sKey){$objPlugin=&$this->aRegistrars[$sKey];$mResult=&$objPlugin->register($aArgs);if(is_a($mResult,'xajaxRequest'))
    return $mResult;if(is_array($mResult))
    return $mResult;if(is_bool($mResult))
    if(true===$mResult)
    return true;}
    }
    function generateClientScript(){$aKeys=array_keys($this->aClientScriptGenerators);sort($aKeys);foreach($aKeys as $sKey)
    $this->aClientScriptGenerators[$sKey]->generateClientScript();}
    function&getPlugin($sName){$aKeys=array_keys($this->aResponsePlugins);sort($aKeys);foreach($aKeys as $sKey)
    if(is_a($this->aResponsePlugins[$sKey],$sName))
    return $this->aResponsePlugins[$sKey];$bFailure=false;return $bFailure;}
    }
    
    if(!defined('XAJAX_FORM_VALUES'))define('XAJAX_FORM_VALUES','get form values');if(!defined('XAJAX_INPUT_VALUE'))define('XAJAX_INPUT_VALUE','get input value');if(!defined('XAJAX_CHECKED_VALUE'))define('XAJAX_CHECKED_VALUE','get checked value');if(!defined('XAJAX_ELEMENT_INNERHTML'))define('XAJAX_ELEMENT_INNERHTML','get element innerHTML');if(!defined('XAJAX_QUOTED_VALUE'))define('XAJAX_QUOTED_VALUE','quoted value');if(!defined('XAJAX_JS_VALUE'))define('XAJAX_JS_VALUE','unquoted value');class xajaxRequest{var $sName;var $sQuoteCharacter;var $aParameters;function xajaxRequest($sName){$this->aParameters=array();$this->sQuoteCharacter='"';$this->sName=$sName;}
    function useSingleQuote(){$this->sQuoteCharacter="'";}
    function useDoubleQuote(){$this->sQuoteCharacter='"';}
    function clearParameters(){$this->aParameters=array();}
    function addParameter(){$aArgs=func_get_args();if(1 < count($aArgs))
    $this->setParameter(
    count($this->aParameters),
    $aArgs[0],
    $aArgs[1]);}
    function setParameter(){$aArgs=func_get_args();if(2 < count($aArgs)){$nParameter=$aArgs[0];$sType=$aArgs[1];if(XAJAX_FORM_VALUES==$sType){$sFormID=$aArgs[2];$this->aParameters[$nParameter]=
    "xajax.getFormValues("
    . $this->sQuoteCharacter
    . $sFormID
    . $this->sQuoteCharacter
    . ")";}
    else if(XAJAX_INPUT_VALUE==$sType){$sInputID=$aArgs[2];$this->aParameters[$nParameter]=
    "xajax.$("
    . $this->sQuoteCharacter
    . $sInputID
    . $this->sQuoteCharacter
    . ").value";}
    else if(XAJAX_CHECKED_VALUE==$sType){$sCheckedID=$aArgs[2];$this->aParameters[$nParameter]=
    "xajax.$("
    . $this->sQuoteCharacter
    . $sCheckedID
    . $this->sQuoteCharacter
    . ").checked";}
    else if(XAJAX_ELEMENT_INNERHTML==$sType){$sElementID=$aArgs[2];$this->aParameters[$nParameter]=
    "xajax.$("
    . $this->sQuoteCharacter
    . $sElementID
    . $this->sQuoteCharacter
    . ").innerHTML";}
    else if(XAJAX_QUOTED_VALUE==$sType){$sValue=$aArgs[2];$this->aParameters[$nParameter]=
    $this->sQuoteCharacter
    . $sValue
    . $this->sQuoteCharacter;}
    else if(XAJAX_JS_VALUE==$sType){$sValue=$aArgs[2];$this->aParameters[$nParameter]=$sValue;}
    }
    }
    function getScript(){ob_start();$this->printScript();return ob_get_clean();}
    function printScript(){$sOutput=$this->sName;$sOutput .="(";$sSeparator="";foreach($this->aParameters as $sParameter){$sOutput .=$sSeparator;$sOutput .=$sParameter;$sSeparator=", ";}
    $sOutput .=")";print $sOutput;}
    }
    class xajaxCustomRequest extends xajaxRequest{var $aVariables;var $sScript;function xajaxCustomRequest($sScript){$this->aVariables=array();$this->sScript=$sScript;}
    function clearVariables(){$this->aVariables=array();}
    function setVariable($sName,$sValue){$this->aVariables[$sName]=$sValue;}
    function printScript(){$sScript=$this->sScript;foreach($this->aVariables as $sKey=> $sValue)
    $sScript=str_replace($sKey,$sValue,$sScript);echo $sScript;}
    }
    
    class xajaxResponse{var $aCommands;var $sCharacterEncoding;var $bOutputEntities;var $returnValue;var $objPluginManager;function xajaxResponse(){$this->aCommands=array();$objResponseManager=&xajaxResponseManager::getInstance();$this->sCharacterEncoding=$objResponseManager->getCharacterEncoding();$this->bOutputEntities=$objResponseManager->getOutputEntities();$this->objPluginManager=&xajaxPluginManager::getInstance();}
    function setCharacterEncoding($sCharacterEncoding){$this->sCharacterEncoding=$sCharacterEncoding;return $this;}
    function setOutputEntities($bOutputEntities){$this->bOutputEntities=(boolean)$bOutputEntities;return $this;}
    function&plugin(){$aArgs=func_get_args();$nArgs=func_num_args();$sName=array_shift($aArgs);$objPlugin=&$this->objPluginManager->getPlugin($sName);if(false===$objPlugin){$bReturn=false;return $bReturn;}
    $objPlugin->setResponse($this);if(0 < count($aArgs)){$sMethod=array_shift($aArgs);$aFunction=array(&$objPlugin,$sMethod);call_user_func_array($aFunction,$aArgs);}
    return $objPlugin;}
    function&__get($sPluginName){$objPlugin=&$this->plugin($sPluginName);return $objPlugin;}
    function confirmCommands($iCmdNumber,$sMessage){return $this->addCommand(
    array(
    'n'=>'cc',
    't'=>$iCmdNumber
    ),
    $sMessage
    );}
    function assign($sTarget,$sAttribute,$sData){return $this->addCommand(
    array(
    'n'=>'as',
    't'=>$sTarget,
    'p'=>$sAttribute
    ),
    $sData
    );}
    function append($sTarget,$sAttribute,$sData){return $this->addCommand(
    array(
    'n'=>'ap',
    't'=>$sTarget,
    'p'=>$sAttribute
    ),
    $sData
    );}
    function prepend($sTarget,$sAttribute,$sData){return $this->addCommand(
    array(
    'n'=>'pp',
    't'=>$sTarget,
    'p'=>$sAttribute
    ),
    $sData
    );}
    function replace($sTarget,$sAttribute,$sSearch,$sData){return $this->addCommand(
    array(
    'n'=>'rp',
    't'=>$sTarget,
    'p'=>$sAttribute
    ),
    array(
    's'=> $sSearch,
    'r'=> $sData
    )
    );}
    function clear($sTarget,$sAttribute){return $this->assign(
    $sTarget,
    $sAttribute,
    ''
    );}
    function contextAssign($sAttribute,$sData){return $this->addCommand(
    array(
    'n'=>'c:as',
    'p'=>$sAttribute
    ),
    $sData
    );}
    function contextAppend($sAttribute,$sData){return $this->addCommand(
    array(
    'n'=>'c:ap',
    'p'=>$sAttribute
    ),
    $sData
    );}
    function contextPrepend($sAttribute,$sData){return $this->addCommand(
    array(
    'n'=>'c:pp',
    'p'=>$sAttribute
    ),
    $sData
    );}
    function contextClear($sAttribute){return $this->contextAssign(
    $sAttribute,
    ''
    );}
    function alert($sMsg){return $this->addCommand(
    array(
    'n'=>'al'
    ),
    $sMsg
    );}
    function debug($sMessage){return $this->addCommand(
    array(
    'n'=>'dbg'
    ),
    $sMessage
    );}
    function redirect($sURL,$iDelay=0){$queryStart=strpos($sURL,'?',strrpos($sURL,'/'));if($queryStart!==FALSE){$queryStart++;$queryEnd=strpos($sURL,'#',$queryStart);if($queryEnd===FALSE)
    $queryEnd=strlen($sURL);$queryPart=substr($sURL,$queryStart,$queryEnd-$queryStart);parse_str($queryPart,$queryParts);$newQueryPart="";if($queryParts){$first=true;foreach($queryParts as $key=> $value){if($first)
    $first=false;else
    $newQueryPart .=ini_get('arg_separator.output');$newQueryPart .=rawurlencode($key).'='.rawurlencode($value);}
    }else if($_SERVER['QUERY_STRING']){$newQueryPart=rawurlencode($_SERVER['QUERY_STRING']);}
    $sURL=str_replace($queryPart,$newQueryPart,$sURL);}
    if($iDelay)
    $this->script(
    'window.setTimeout("window.location = \''
    . $sURL
    . '\';",'
    .($iDelay*1000)
    . ');'
    );else
    $this->script(
    'window.location = "'
    . $sURL
    . '";'
    );return $this;}
    function script($sJS){return $this->addCommand(
    array(
    'n'=>'js'
    ),
    $sJS
    );}
    function call(){$aArgs=func_get_args();$sFunc=array_shift($aArgs);return $this->addCommand(
    array(
    'n'=>'jc',
    'f'=>$sFunc
    ),
    $aArgs
    );}
    function remove($sTarget){return $this->addCommand(
    array(
    'n'=>'rm',
    't'=>$sTarget),
    ''
    );}
    function create($sParent,$sTag,$sId,$sType=null){return $this->addCommand(
    array(
    'n'=>'ce',
    't'=>$sParent,
    'p'=>$sId
    ),
    $sTag
    );}
    function insert($sBefore,$sTag,$sId){return $this->addCommand(
    array(
    'n'=>'ie',
    't'=>$sBefore,
    'p'=>$sId
    ),
    $sTag
    );}
    function insertAfter($sAfter,$sTag,$sId){return $this->addCommand(
    array(
    'n'=>'ia',
    't'=>$sAfter,
    'p'=>$sId
    ),
    $sTag
    );}
    function createInput($sParent,$sType,$sName,$sId){return $this->addCommand(
    array(
    'n'=>'ci',
    't'=>$sParent,
    'p'=>$sId,
    'c'=>$sType
    ),
    $sName
    );}
    function insertInput($sBefore,$sType,$sName,$sId){return $this->addCommand(
    array(
    'n'=>'ii',
    't'=>$sBefore,
    'p'=>$sId,
    'c'=>$sType
    ),
    $sName
    );}
    function insertInputAfter($sAfter,$sType,$sName,$sId){return $this->addCommand(
    array(
    'n'=>'iia',
    't'=>$sAfter,
    'p'=>$sId,
    'c'=>$sType
    ),
    $sName
    );}
    function setEvent($sTarget,$sEvent,$sScript){return $this->addCommand(
    array(
    'n'=>'ev',
    't'=>$sTarget,
    'p'=>$sEvent
    ),
    $sScript
    );}
    function addEvent($sTarget,$sEvent,$sScript){return $this->setEvent(
    $sTarget,
    $sEvent,
    $sScript
    );}
    function addHandler($sTarget,$sEvent,$sHandler){return $this->addCommand(
    array(
    'n'=>'ah',
    't'=>$sTarget,
    'p'=>$sEvent
    ),
    $sHandler
    );}
    function removeHandler($sTarget,$sEvent,$sHandler){return $this->addCommand(
    array(
    'n'=>'rh',
    't'=>$sTarget,
    'p'=>$sEvent
    ),
    $sHandler);}
    function setFunction($sFunction,$sArgs,$sScript){return $this->addCommand(
    array(
    'n'=>'sf',
    'f'=>$sFunction,
    'p'=>$sArgs
    ),
    $sScript
    );}
    function wrapFunction($sFunction,$sArgs,$aScripts,$sReturnValueVariable){return $this->addCommand(
    array(
    'n'=>'wpf',
    'f'=>$sFunction,
    'p'=>$sArgs,
    'c'=>$sReturnValueVariable
    ),
    $aScripts
    );}
    function includeScript($sFileName){return $this->addCommand(
    array(
    'n'=>'in'
    ),
    $sFileName
    );}
    function includeScriptOnce($sFileName){return $this->addCommand(
    array(
    'n'=>'ino'
    ),
    $sFileName
    );}
    function removeScript($sFileName,$sUnload=''){$this->addCommand(
    array(
    'n'=>'rjs'
    ),
    (''!=$sUnload)
    ? array($sFileName,$sUnload)
    :$sFileName
    );return $this;}
    function includeCSS($sFileName){return $this->addCommand(
    array(
    'n'=>'css'
    ),
    $sFileName
    );}
    function removeCSS($sFileName){return $this->addCommand(
    array(
    'n'=>'rcss'
    ),
    $sFileName
    );}
    function waitForCSS($iTimeout=600){$sData="";$this->addCommand(
    array(
    'n'=>'wcss',
    'p'=>$iTimeout
    ),
    $sData
    );return $this;}
    function waitFor($script,$tenths){return $this->addCommand(
    array(
    'n'=>'wf',
    'p'=>$tenths
    ),
    $script
    );}
    function sleep($tenths){$this->addCommand(
    array(
    'n'=>'s',
    'p'=>$tenths
    ),
    ''
    );return $this;}
    function setReturnValue($value){$this->returnValue=$this->_encodeArray($value);return $this;}
    function getContentType(){return 'text/xml';}
    function getOutput(){ob_start();$this->_printHeader_XML();$this->_printResponse_XML();return ob_get_clean();}
    function printOutput(){$this->_sendHeaders();$this->_printHeader_XML();$this->_printResponse_XML();}
    function _sendHeaders(){$objArgumentManager=&xajaxArgumentManager::getInstance();if(XAJAX_METHOD_GET==$objArgumentManager->getRequestMethod()){header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");header("Last-Modified: " . gmdate("D, d M Y H:i:s"). " GMT");header("Cache-Control: no-cache, must-revalidate");header("Pragma: no-cache");}
    $sCharacterSet='';if($this->sCharacterEncoding&&0 < strlen(trim($this->sCharacterEncoding))){$sCharacterSet='; charset="' . trim($this->sCharacterEncoding). '"';}
    $sContentType=$this->getContentType();header('content-type: ' . $sContentType . ' ' . $sCharacterSet);}
    function getCommandCount(){return count($this->aCommands);}
    function loadCommands($mCommands,$bBefore=false){if(is_a($mCommands,'xajaxResponse')){$this->returnValue=$mCommands->returnValue;if($bBefore){$this->aCommands=array_merge($mCommands->aCommands,$this->aCommands);}
    else{$this->aCommands=array_merge($this->aCommands,$mCommands->aCommands);}
    }
    else if(is_array($mCommands)){if($bBefore){$this->aCommands=array_merge($mCommands,$this->aCommands);}
    else{$this->aCommands=array_merge($this->aCommands,$mCommands);}
    }
    else{}
    }
    function absorb($objResponse){$this->loadCommands($objResponse);}
    function addPluginCommand($objPlugin,$aAttributes,$mData){$aAttributes['plg']=$objPlugin->getName();return $this->addCommand($aAttributes,$mData);}
    function addCommand($aAttributes,$mData){$aAttributes['data']=$this->_encodeArray($mData);$this->aCommands[]=$aAttributes;return $this;}
    function _printHeader_XML(){print '<';print '?';print 'xml version="1.0"';$sEncoding=trim($this->sCharacterEncoding);if($this->sCharacterEncoding&&0 < strlen($sEncoding)){print ' encoding="';print $sEncoding;print '"';}
    print ' ?';print '>';}
    function _printResponse_XML(){print '<';print 'xjx>';if(null!==$this->returnValue){print '<';print 'xjxrv>';$this->_printArray_XML($this->returnValue);print '<';print '/xjxrv>';}
    foreach(array_keys($this->aCommands)as $sKey)
    $this->_printCommand_XML($this->aCommands[$sKey]);print '<';print '/xjx>';}
    function _printCommand_XML(&$aAttributes){print '<';print 'cmd';$mData='';foreach(array_keys($aAttributes)as $sKey){if($sKey){if('data'!=$sKey){print ' ';print $sKey;print '="';print $aAttributes[$sKey];print '"';}else
    $mData=&$aAttributes[$sKey];}
    }
    print '>';$this->_printArray_XML($mData);print '<';print '/cmd>';}
    function _printArray_XML(&$mArray){if('object'==gettype($mArray))
    $mArray=get_object_vars($mArray);if(false==is_array($mArray)){$this->_printEscapedString_XML($mArray);return;}
    print '<';print 'xjxobj>';foreach(array_keys($mArray)as $sKey){if(is_array($mArray[$sKey])){print '<';print 'e>';foreach(array_keys($mArray[$sKey])as $sInnerKey){if('k'==$sInnerKey||'v'==$sInnerKey){print '<';print $sInnerKey;print '>';$this->_printArray_XML($mArray[$sKey][$sInnerKey]);print '<';print '/';print $sInnerKey;print '>';}else{}
    }
    print '<';print '/e>';}else{}
    }
    print '<';print '/xjxobj>';}
    function _printEscapedString_XML(&$sData){if(null===$sData){print '';return;}
    if($this->bOutputEntities){print call_user_func_array('mb_convert_encoding',array(&$sData,'HTML-ENTITIES',$this->sCharacterEncoding));return;}
    $nCDATA=0;$bNoOpenCDATA=(false===strpos($sData,'<'.'![CDATA['));if($bNoOpenCDATA){$bNoCloseCDATA=(false===strpos($sData,']]>'));if($bNoCloseCDATA){$bSpecialChars=(htmlspecialchars($sData,ENT_COMPAT,'UTF-8')!=$sData);if($bSpecialChars)
    $nCDATA=1;}else
    $nCDATA=2;}else
    $nCDATA=2;if(0 < $nCDATA){print '<';print '![CDATA[';if(1 < $nCDATA){$aSegments=explode('<'.'![CDATA[',$sData);$aOutput=array();$nOutput=0;foreach(array_keys($aSegments)as $keySegment){$aFragments=explode(']]>',$aSegments[$keySegment]);$aStack=array();$nStack=0;foreach(array_keys($aFragments)as $keyFragment){if(0 < $nStack)
    array_push($aStack,']]]]><','![CDATA[>',$aFragments[$keyFragment]);else
    $aStack[]=$aFragments[$keyFragment];++$nStack;}
    if(0 < $nOutput)
    array_push($aOutput,'<','![]]><','![CDATA[CDATA[',implode('',$aStack));else
    $aOutput[]=implode('',$aStack);++$nOutput;}
    print implode('',$aOutput);}else
    print $sData;print ']]>';}else
    print $sData;}
    function _encodeArray(&$mData){if('object'===gettype($mData))
    $mData=get_object_vars($mData);if(false===is_array($mData))
    return $mData;$aData=array();foreach(array_keys($mData)as $sKey)
    $aData[]=array(
    'k'=>$sKey,
    'v'=>$this->_encodeArray($mData[$sKey])
    );return $aData;}
    }
    class xajaxCustomResponse{var $sOutput;var $sContentType;var $sCharacterEncoding;var $bOutputEntities;function xajaxCustomResponse($sContentType){$this->sOutput='';$this->sContentType=$sContentType;$objResponseManager=&xajaxResponseManager::getInstance();$this->sCharacterEncoding=$objResponseManager->getCharacterEncoding();$this->bOutputEntities=$objResponseManager->getOutputEntities();}
    function setCharacterEncoding($sCharacterEncoding){$this->sCharacterEncoding=$sCharacterEncoding;}
    function setOutputEntities($bOutputEntities){$this->bOutputEntities=$bOutputEntities;}
    function clear(){$this->sOutput='';}
    function append($sOutput){$this->sOutput .=$sOutput;}
    function absorb($objResponse){$this->sOutput .=$objResponse->getOutput();}
    function getContentType(){return $this->sContentType;}
    function getCharacterEncoding(){return $this->sCharacterEncoding;}
    function getOutputEntities(){return $this->bOutputEntities;}
    function getOutput(){return $this->sOutput;}
    function printOutput(){$sContentType=$this->sContentType;$sCharacterSet=$this->sCharacterEncoding;header("content-type: {$sContentType}; charset={$sCharacterSet}");print $this->sOutput;}
    }
    
    class xajaxResponseManager{var $objResponse;var $sCharacterEncoding;var $bOutputEntities;var $aDebugMessages;function xajaxResponseManager(){$this->objResponse=NULL;$this->aDebugMessages=array();}
    function&getInstance(){static $obj;if(!$obj){$obj=new xajaxResponseManager();}
    return $obj;}
    function configure($sName,$mValue){if('characterEncoding'==$sName){$this->sCharacterEncoding=$mValue;if(isset($this->objResponse))
    $this->objResponse->setCharacterEncoding($this->sCharacterEncoding);}
    else if('outputEntities'==$sName){if(true===$mValue||false===$mValue){$this->bOutputEntities=$mValue;if(isset($this->objResponse))
    $this->objResponse->setOutputEntities($this->bOutputEntities);}
    }
    }
    function clear(){$this->objResponse=NULL;}
    function append($mResponse){if(is_a($mResponse,'xajaxResponse')){if(NULL==$this->objResponse){$this->objResponse=$mResponse;}else if(is_a($this->objResponse,'xajaxResponse')){if($this->objResponse!=$mResponse)
    $this->objResponse->absorb($mResponse);}else{$objLanguageManager=&xajaxLanguageManager::getInstance();$this->debug(
    $objLanguageManager->getText('XJXRM:MXRTERR')
    . get_class($this->objResponse)
    . ')'
    );}
    }else if(is_a($mResponse,'xajaxCustomResponse')){if(NULL==$this->objResponse){$this->objResponse=$mResponse;}else if(is_a($this->objResponse,'xajaxCustomResponse')){if($this->objResponse!=$mResponse)
    $this->objResponse->absorb($mResponse);}else{$objLanguageManager=&xajaxLanguageManager::getInstance();$this->debug(
    $objLanguageManager->getText('XJXRM:MXRTERR')
    . get_class($this->objResponse)
    . ')'
    );}
    }else{$objLanguageManager=&xajaxLanguageManager::getInstance();$this->debug($objLanguageManager->getText('XJXRM:IRERR'));}
    }
    function debug($sMessage){$this->aDebugMessages[]=$sMessage;}
    function send(){if(NULL!=$this->objResponse){foreach($this->aDebugMessages as $sMessage)
    $this->objResponse->debug($sMessage);$this->aDebugMessages=array();$this->objResponse->printOutput();}
    }
    function getCharacterEncoding(){return $this->sCharacterEncoding;}
    function getOutputEntities(){return $this->bOutputEntities;}
    }
    
    class xajaxLanguageManager{var $aMessages;var $sLanguage;function xajaxLanguageManager(){$this->aMessages=array();$this->aMessages['en']=array(
    'LOGHDR:01'=> '** xajax Error Log - ',
    'LOGHDR:02'=> " **\n",
    'LOGHDR:03'=> "\n\n\n",
    'LOGERR:01'=> "** Logging Error **\n\nxajax was unable to write to the error log file:\n",
    'LOGMSG:01'=> "** PHP Error Messages: **",
    'CMPRSJS:RDERR:01'=> 'The xajax uncompressed Javascript file could not be found in the <b>',
    'CMPRSJS:RDERR:02'=> '</b> folder.  Error ',
    'CMPRSJS:WTERR:01'=> 'The xajax compressed javascript file could not be written in the <b>',
    'CMPRSJS:WTERR:02'=> '</b> folder.  Error ',
    'CMPRSPHP:WTERR:01'=> 'The xajax compressed file <b>',
    'CMPRSPHP:WTERR:02'=> '</b> could not be written to.  Error ',
    'CMPRSAIO:WTERR:01'=> 'The xajax compressed file <b>',
    'CMPRSAIO:WTERR:02'=> '/xajaxAIO.inc.php</b> could not be written to.  Error ',
    'DTCTURI:01'=> 'xajax Error: xajax failed to automatically identify your Request URI.',
    'DTCTURI:02'=> 'Please set the Request URI explicitly when you instantiate the xajax object.',
    'ARGMGR:ERR:01'=> 'Malformed object argument received: ',
    'ARGMGR:ERR:02'=> ' <==> ',
    'ARGMGR:ERR:03'=> 'The incoming xajax data could not be converted from UTF-8',
    'XJXCTL:IAERR:01'=> 'Invalid attribute [',
    'XJXCTL:IAERR:02'=> '] for element [',
    'XJXCTL:IAERR:03'=> '].',
    'XJXCTL:IRERR:01'=> 'Invalid request object passed to xajaxControl::setEvent',
    'XJXCTL:IEERR:01'=> 'Invalid attribute (event name) [',
    'XJXCTL:IEERR:02'=> '] for element [',
    'XJXCTL:IEERR:03'=> '].',
    'XJXCTL:MAERR:01'=> 'Missing required attribute [',
    'XJXCTL:MAERR:02'=> '] for element [',
    'XJXCTL:MAERR:03'=> '].',
    'XJXCTL:IETERR:01'=> "Invalid end tag designation; should be forbidden or optional.\n",
    'XJXCTL:ICERR:01'=> "Invalid class specified for html control; should be %inline, %block or %flow.\n",
    'XJXCTL:ICLERR:01'=> 'Invalid control passed to addChild; should be derived from xajaxControl.',
    'XJXCTL:ICLERR:02'=> 'Invalid control passed to addChild [',
    'XJXCTL:ICLERR:03'=> '] for element [',
    'XJXCTL:ICLERR:04'=> "].\n",
    'XJXCTL:ICHERR:01'=> 'Invalid parameter passed to xajaxControl::addChildren; should be array of xajaxControl objects',
    'XJXCTL:MRAERR:01'=> 'Missing required attribute [',
    'XJXCTL:MRAERR:02'=> '] for element [',
    'XJXCTL:MRAERR:03'=> '].',
    'XJXPLG:GNERR:01'=> 'Response plugin should override the getName function.',
    'XJXPLG:PERR:01'=> 'Response plugin should override the process function.',
    'XJXPM:IPLGERR:01'=> 'Attempt to register invalid plugin: ',
    'XJXPM:IPLGERR:02'=> ' should be derived from xajaxRequestPlugin or xajaxResponsePlugin.',
    'XJXPM:MRMERR:01'=> 'Failed to locate registration method for the following: ',
    'XJXRSP:EDERR:01'=> 'Passing character encoding to the xajaxResponse constructor is deprecated, instead use $xajax->configure("characterEncoding", ...);',
    'XJXRSP:MPERR:01'=> 'Invalid or missing plugin name detected in call to xajaxResponse::plugin',
    'XJXRSP:CPERR:01'=> "The \$sType parameter of addCreate has been deprecated.  Use the addCreateInput() method instead.",
    'XJXRSP:LCERR:01'=> "The xajax response object could not load commands as the data provided was not a valid array.",
    'XJXRSP:AKERR:01'=> 'Invalid tag name encoded in array.',
    'XJXRSP:IEAERR:01'=> 'Improperly encoded array.',
    'XJXRSP:NEAERR:01'=> 'Non-encoded array detected.',
    'XJXRSP:MBEERR:01'=> 'The xajax response output could not be converted to HTML entities because the mb_convert_encoding function is not available',
    'XJXRSP:MXRTERR'=> 'Error: Cannot mix types in a single response.',
    'XJXRSP:MXCTERR'=> 'Error: Cannot mix content types in a single response.',
    'XJXRSP:MXCEERR'=> 'Error: Cannot mix character encodings in a single response.',
    'XJXRSP:MXOEERR'=> 'Error: Cannot mix output entities (true/false) in a single response.',
    'XJXRM:IRERR'=> 'An invalid response was returned while processing this request.',
    'XJXRM:MXRTERR'=> 'Error:  You cannot mix response types while processing a single request: '
    );$this->sLanguage='en';}
    function&getInstance(){static $obj;if(!$obj){$obj=new xajaxLanguageManager();}
    return $obj;}
    function configure($sName,$mValue){if('language'==$sName){if($mValue!==$this->sLanguage){$sFolder=dirname(__FILE__);require $sFolder . '/xajax_lang_' . $mValue . '.inc.php';$this->sLanguage=$mValue;}
    }
    }
    function register($sLanguage,$aMessages){$this->aMessages[$sLanguage]=$aMessages;}
    function getText($sMessage){if(isset($this->aMessages[$this->sLanguage]))
    if(isset($this->aMessages[$this->sLanguage][$sMessage]))
    return $this->aMessages[$this->sLanguage][$sMessage];return '(Unknown language or message identifier)'
    . $this->sLanguage
    . '::'
    . $sMessage;}
    }
    
    
    class xajaxPlugin{}
    class xajaxRequestPlugin extends xajaxPlugin{function configure($sName,$mValue){}
    function register($aArgs){return false;}
    function generateClientScript(){}
    function canProcessRequest(){return false;}
    function processRequest(){return false;}
    }
    class xajaxResponsePlugin extends xajaxPlugin{var $objResponse;function setResponse(&$objResponse){$this->objResponse=&$objResponse;}
    function addCommand($aAttributes,$sData){$this->objResponse->addPluginCommand($this,$aAttributes,$sData);}
    function getName(){}
    function process(){}
    }
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    marsetex Mitglied
    Registriert seit
    22.07.2009
    Beiträge
    25
    Beitragswertungen
    2 Beitragspunkte
    include/includes/class/design.php

    <?php
    // Copyright by Manuel
    // Support www.ilch.de
    defined ('main') or die ('no direct access');
    
    if (!isset($ILCH_HEADER_ADDITIONS)) {
        $ILCH_HEADER_ADDITIONS = '';
    }
    if (!isset($ILCH_BODYEND_ADDITIONS)) {
        $ILCH_BODYEND_ADDITIONS = '';
    }
    class design extends tpl {
        var $html;
        var $design;
        var $vars;
        var $was;
        var $file;
    
        function design ($title, $hmenu, $was = 1, $file = null)
        {
            global $allgAr;
    
        	header('Content-Type: text/html;charset=ISO-8859-1');
    
            if (!is_null($file)) {
                echo '<div style="display: block; background-color: #FFFFFF; border: 2px solid #ff0000;">!!Man konnte in einer PHP Datei eine spezielle Index angeben. Damit das Design fuer diese Datei anders aussieht. Diese Funktion wurde ersetzt. Weitere Informationen im Forum auf ilch.de ... Thema: <a href="http://www.ilch.de/forum-showposts-13758-p1.html#108812">http://www.ilch.de/forum-showposts-13758-p1.html#108812</a></div>';
            }
    
            $this->vars = array();
            $this->file = $file; # setzte das file standart 0 weil durch was definiert
            $this->was = $was; # 0 = smalindex, 1 = normal index , 2 = admin
    
            $this->design = $this->get_design();
            $link = $this->htmlfile();
    
            $tpl = new tpl ($link, 2);
            if ($tpl->list_exists ('boxleft')) {
                $tpl->set ('boxleft' , $this->get_boxes ('l', $tpl));
            }
            if ($tpl->list_exists ('boxright')) {
                $tpl->set ('boxright' , $this->get_boxes ('r', $tpl));
            }
            // ab 0.6 =  ... 5 menu listen moeglich
            for($i = 1;$i <= 5;$i++) {
                if ($tpl->list_exists ('menunr' . $i)) {
                    $tpl->set ('menunr' . $i , $this->get_boxes ($i, $tpl));
                }
            }
    
            $ar = array
                ('TITLE' => $this->escape_explode($title),
                'HMENU' => $this->escape_explode($hmenu),
                'SITENAME' => $this->escape_explode($allgAr['title']),
                'hmenuende' => '',
                'vmenuende' => '',
                'hmenubegi' => '',
                'vmenubegi' => '',
                'hmenupoint' => '',
                'vmenupoint' => '',
                'DESIGN' => $this->design
                );
            $tpl->set_ar($ar);
            $this->html = $tpl->get(0);
            $this->html .= '{EXPLODE}';
            $this->html .= $tpl->get(1);
            unset ($tpl);
    
            $zsave0 = array();
            preg_match_all ("/\{_boxes_([^\{\}]+)\}/" , $this->html , $zsave0);
    
            $this->replace_boxes($zsave0[1]);
            unset ($zsave0);
            $this->vars_replace();
            unset ($this->vars);
    
            $this->html = explode('{EXPLODE}', $this->html);
        }
    
        function addheader($text)
        {
            if (isset($this->html[0])) {
                $this->html[0] = str_replace('</head>',$text."\n</head>" , $this->html[0] );
                return true;
            } else {
                return false;
            }
        }
    
        function header ()
        {
            global $ILCH_HEADER_ADDITIONS;
            $this->addheader($ILCH_HEADER_ADDITIONS);
            echo $this->html[0];
            unset ($this->html[0]);
        }
    
        function addtobodyend($text)
        {
            if (isset($this->html[1])) {
                $this->html[1] = str_replace('</body>',$text."\n</body>" , $this->html[1] );
                return true;
            } else {
                return false;
            }
        }
    
        function footer ($exit = 0)
        {
            global $ILCH_BODYEND_ADDITIONS;
            $this->addtobodyend($ILCH_BODYEND_ADDITIONS);
            echo $this->html[1];
            unset ($this->html[1]);
            if ($exit == 1) {
                exit();
            }
        }
    
        function escape_explode ($s)
        {
            $s = str_replace('{EXPLODE}', '&#123;EXPLODE&#125;', $s);
            return ($s);
        }
    
        function htmlfile_ini ()
        {
            global $menu;
            $ma = $menu->get_string_ar();
            $ia = array();
            if (!file_exists('include/designs/' . $this->design . '/design.ini')) {
                return (false);
            }
            $ia = parse_ini_file ('include/designs/' . $this->design . '/design.ini');
            arsort($ma);
            krsort ($ia);
            foreach ($ia as $k => $v) {
                $k = preg_replace("/[^a-zA-Z0-9-*]/", "", $k);
                $k = str_replace('*', '[^-]+', $k);
                foreach ($ma as $k1 => $v1) {
                    if (preg_match("/" . $k . "/", $k1) AND file_exists('include/designs/' . $this->design . '/' . $v)) {
                        return ($v);
                    }
                }
            }
            return (false);
        }
    
        function htmlfile ()
        {
            $ini = $this->htmlfile_ini ();
            /*
    		if ( !is_null ($this->file) AND file_exists ('include/designs/'.$this->design.'/templates/'.$this->file)) {
          $f = 'designs/'.$this->design.'/templates/'.$this->file;
        } elseif ( !is_null ($this->file) AND file_exists ('include/templates/'.$this->file)) {
          $f = 'templates/'.$this->file;
    		*/
            if ($this->was == 1 AND $ini !== false) {
                $f = 'designs/' . $this->design . '/' . $ini;
            } elseif ($this->was == 0 AND file_exists ('include/templates/' . $this->design . '/templates/small_index.htm')) {
                $f = 'templates/' . $this->design . '/templates/small_index.htm';
            } elseif ($this->was == 0) {
                $f = 'templates/small_index.htm';
            } elseif ($this->was == 1) {
                $f = 'designs/' . $this->design . '/index.htm';
            } elseif ($this->was == 2) {
                $f = 'admin/templates/index.htm';
            }
            return ($f);
        }
    
        function replace_boxes ($zsave0)
        {
            foreach ($zsave0 as $v) {
                $dat = strtolower($v);
                $buffer = $this->get_boxcontent ($dat);
                if ($buffer !== false) {
                    $this->vars['_boxes_' . $v] = $buffer;
                }
            }
            if (!is_array($this->vars)) {
                $this->vars = array();
            }
        }
    
        function vars_replace()
        {
            foreach ($this->vars as $k => $v) {
                $this->html = str_replace('{' . $k . '}', $v, $this->html);
            }
        }
        // ####
        function get_boxes ($wo , $tpl)
        {
            global $lang, $allgAr, $menu;
            if (is_numeric($wo)) {
                $datei = 'menunr' . $wo;
            } elseif ($wo == 'l') {
                $datei = 'boxleft';
                $wo = 1;
            } elseif ($wo == 'r') {
                $datei = 'boxright';
                $wo = 2;
            }
    
            $retur = '';
            $ex_ebene = 0;
            $ex_was = 1;
            $firstmep = false;
            $hovmenup = '';
            $abf = "SELECT * FROM `prefix_menu` WHERE wo = " . $wo . " AND ( recht >= " . $_SESSION['authright'] . " OR recht = 0 ) ORDER by pos";
            $erg = db_query($abf);
            while ($row = db_fetch_assoc($erg)) {
                $subhauptx = $row['was'];
                $whileMenP = ($subhauptx >= 7 ? true : false);
                if (($row['was'] >= 7 AND $ex_was == 1) OR ($ex_ebene < ($row['ebene']-1)) OR ($ex_was <= 4 AND $row['ebene'] <> 0) OR ($row['was'] >= 7 AND !$tpl->list_exists($hovmenup))) {
                    /*
            echo '<pre>Das Menu ist Fehlerhaft, bitte benachrichtigen Sie den Administrator!';
            echo '<br /><br /><u>Informationen:</u>';
            echo '<br />Region:  '.$row['name'];
            echo '<br />Ebene:   '.$row['ebene'];
            echo '<br />exEbene: '.$ex_ebene;
            echo '<br />Typ:     '.$row['was'];
            echo '<br />exTyp:   '.$ex_was;
            echo '<br /><br /><u>Problemloesung:</u> Die Region gibt an um welchen Menupunkt, welches Menu oder welche Box es sich handelt.';
            echo '<br />Ist der Typ groesser oder 7 und der exTyp 1 wurde ein Menupunkt in einer falschen Position im Menu platziert.';
            echo '<br />Ist die exEbene 2 kleiner als die Ebene ist die Einrueckung im Menu falsch.';
            echo '<br />Sonst mit den oben gegebenen Informationen und einem Screenshot des betreffenden Menus auf <a href="http://www.ilch.de/">ilch.de</a> im Forum melden.';
            echo '<br /><br />Vielen Dank!</pre>';
    
            $retur  = '<pre>Das Menu ist Fehlerhaft, bitte benachrichtigen Sie den Administrator!';
            $retur .= '<br /><br /><u>Informationen:</u>';
            $retur .= '<br />Region:  '.$row['name'];
            $retur .= '<br />Ebene:   '.$row['ebene'];
            $retur .= '<br />exEbene: '.$ex_ebene;
            $retur .= '<br />Typ:     '.$row['was'];
            $retur .= '<br />exTyp:   '.$ex_was;
            $retur .= '<br /><br /><u>Problemloesung:</u> Die Region gibt an um welchen Menupunkt, welches Menu oder welche Box es sich handelt.';
            $retur .= '<br />Ist der Typ groesser oder 7 und der exTyp 1 wurde ein Menupunkt in einer falschen Position im Menu platziert.';
            $retur .= '<br />Ist die exEbene 2 kleiner als die Ebene ist die Einrueckung im Menu falsch.';
            $retur .= '<br />Sonst mit den oben gegebenen Informationen und einem Screenshot des betreffenden Menus auf <a href="http://www.ilch.de/">ilch.de</a> im Forum melden.';
            $retur .= '<br /><br />Vielen Dank!</pre>';
            $menuzw = '';
            */
                    continue;
                }
                // nur wenn ein menu in die variable $menuzw geschrieben wurde
                // wird in diese if abfrage gesprungen
                if (($whileMenP === false) AND !empty($menuzw)) {
                    $menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, 0, $menuzw, $wmpE, $wmpTE, $wmpTEE);
                    $retur .= $tpl->list_get($datei, array (htmlentities($boxname), $menuzw . $menuzwE));
                    $menuzw = '';
                }
                if ($row['was'] == 1) {
                    // die box wird direkt in die to return variable geschrieben
                    $buffer = $this->get_boxcontent($row['path']);
                    $retur .= $tpl->list_get($datei, array ($row['name'] , $buffer));
                } elseif ($row['was'] >= 2 AND $row['was'] <= 4) {
                    // der name des menues wird gesetzt
                    // und die variable wird gesetzt.
                    $boxname = $row['name'];
                    $menuzw = '';
                    $menuzwE = '';
                    $ex_ebene = 0; # ex ebene
                    $hovmenu = '';
                    if ($row['was'] == 2 AND $tpl->list_exists('hmenupoint')) {
                        $hovmenu = 'hmenu';
                    } elseif ($row['was'] == 3 AND $tpl->list_exists('vmenupoint')) {
                        $hovmenu = 'vmenu';
                    }
                    $firstmep = true;
                    if (!empty($hovmenu)) {
                        $menuzw .= $tpl->list_get($hovmenu . 'begi', array());
                        $menuzwE .= $tpl->list_get($hovmenu . 'ende', array());
                    }
                    $hovmenup = $hovmenu . 'point';
                } elseif ($whileMenP) {
                    // menupunkt wird generiert
                    $ebene = $row['ebene'];
                    $menuTarget = ($subhauptx == 8 ? '_blank' : '_self');
                    list ($wmpA, $wmpE, $wmpTE, $wmpTEE) = explode ('|', $tpl->list_get ($hovmenup, array ($menuTarget, ($subhauptx == 8 ? '' : 'index.php?') . $row['path'], $row['name'])));
                    if (!empty($menuzw) AND $firstmep === false) {
                        $menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, $ebene, $menuzw, $wmpE, $wmpTE, $wmpTEE);
                    }
                    $menuzw .= $wmpA;
                    $firstmep = false;
                }
    
                $ex_was = $row['was'];
                $ex_ebene = $row['ebene'];
            }
            if (!empty($menuzw)) {
                $menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, 0, $menuzw, $wmpE, $wmpTE, $wmpTEE);
                $retur .= $tpl->list_get($datei, array (htmlentities($boxname), $menuzw . $menuzwE));
            }
            return ($retur);
        }
    
        function get_boxes_get_menu_close ($ex_ebene, $ebene, $menuzw, $wmpE, $wmpTE, $wmpTEE)
        {
            $menu1 = '';
            if ($ex_ebene == $ebene AND !empty($menuzw)) {
                $menu1 .= $wmpE . "\n";
            } elseif ($ex_ebene > $ebene) {
                $menu1 .= $wmpE . "\n";
                for($i = 0;$i < ($ex_ebene - $ebene); $i++) {
                    $menu1 .= $wmpTEE . "\n";
                }
            } elseif ($ex_ebene < $ebene) {
                $menu1 .= $wmpTE . "\n";
            }
            return ($menu1);
        }
    
        function get_boxcontent ($box)
        {
            global $lang, $allgAr, $menu,$ILCH_HEADER_ADDITIONS,$ILCH_BODYEND_ADDITIONS;
            if (file_exists('include/boxes/' . $box)) {
                $pfad = 'include/boxes/' . $box;
            } elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box))) {
                $pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box);
            } elseif (file_exists('include/boxes/' . $box . '.php')) {
                $pfad = 'include/boxes/' . $box . '.php';
            } elseif (file_exists('include/boxes/' . $box . '.htm')) {
                $pfad = 'include/boxes/' . $box . '.htm';
            } elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.php')) {
                $pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.php';
            } elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.htm')) {
                $pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.htm';
            } else {
                return (false);
            }
            ob_start();
            require_once($pfad);
            $buffer = $this->escape_explode(ob_get_contents());
            ob_end_clean();
            return($buffer);
        }
    }
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Fire86 Mitglied
    Registriert seit
    25.04.2009
    Beiträge
    543
    Beitragswertungen
    0 Beitragspunkte
    Kein Support per Email oder ICQ!
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    marsetex Mitglied
    Registriert seit
    22.07.2009
    Beiträge
    25
    Beitragswertungen
    2 Beitragspunkte
    Danke Fire ... alles funktioniert wieder wie es soll lächeln
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten