public function translateMemstring($memstring)
 {
     return parent::translateMemstring($memstring);
 }
예제 #2
0
    if (php_sapi_name() === 'cli-server' && file_exists(BASE_PATH . $url) && is_file(BASE_PATH . $url)) {
        return false;
    }
}
// Remove base folders from the URL if webroot is hosted in a subfolder
if (substr(strtolower($url), 0, strlen(BASE_URL)) == strtolower(BASE_URL)) {
    $url = substr($url, strlen(BASE_URL));
}
/**
 * Include SilverStripe's core code
 */
require_once 'Core/Startup/ErrorControlChain.php';
require_once 'Core/Startup/ParameterConfirmationToken.php';
// Prepare tokens and execute chain
$reloadToken = ParameterConfirmationToken::prepare_tokens(array('isTest', 'isDev', 'flush'));
$chain = new ErrorControlChain();
$chain->then(function ($chain) use($reloadToken) {
    // If no redirection is necessary then we can disable error supression
    if (!$reloadToken) {
        $chain->setSuppression(false);
    }
    // Load in core
    require_once 'Core/Core.php';
    // Connect to database
    global $databaseConfig;
    if ($databaseConfig) {
        DB::connect($databaseConfig);
    }
    // Check if a token is requesting a redirect
    if (!$reloadToken) {
        return;
    {
        register_shutdown_function(array($this, 'handleFatalError'));
        $this->handleFatalErrors = true;
        $this->originalDisplayErrors = $this->getDisplayErrors();
        $this->setSuppression($this->suppression);
        $this->step();
    }
    protected function step()
    {
        if ($this->steps) {
            $step = array_shift($this->steps);
            if ($step['onErrorState'] === null || $step['onErrorState'] === $this->error) {
                try {
                    call_user_func($step['callback'], $this);
                } catch (Exception $ex) {
                    $this->lastException = $ex;
                    throw $ex;
                }
            }
            $this->step();
        } else {
            // Now clean up
            $this->handleFatalErrors = false;
            $this->setDisplayErrors($this->originalDisplayErrors);
        }
    }
}
ErrorControlChain::$fatal_errors = E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR;
if (defined('E_RECOVERABLE_ERROR')) {
    ErrorControlChain::$fatal_errors |= E_RECOVERABLE_ERROR;
}