MagentoDebugger::prepareLibraries();
// XDebug
if (isset($_GET['XDEBUG_SESSION_START']) || isset($_GET['XDEBUG_SESSION_STOP_NO_EXEC'])) {
    require_once MagentoDebugger::getDebuggerDir() . '/libs/Debugger/xdebug.php';
    return;
}
// Debugger info
if (isset($_GET['magento_debug_info']) && isset($_GET['current_version'])) {
    $currentVersion = MAGENTO_DEBUGGER_VERSION;
    $debuggedInfo = new Varien_Object();
    $debuggedInfo->setVersion(MAGENTO_DEBUGGER_VERSION);
    if ($_GET['current_version'] != MAGENTO_DEBUGGER_VERSION) {
        require_once MagentoDebugger::getDebuggerDir() . '/libs/Debugger/update.php';
        try {
            MagentoDebugger_Update::run($_GET['current_version']);
            $debuggedInfo->setUpdated(true);
            $debuggedInfo->setVersion($_GET['current_version']);
        } catch (Exception $e) {
            if (is_file(MagentoDebugger::getDebuggerVarDir() . '/required.version')) {
                unlink(MagentoDebugger::getDebuggerVarDir() . '/required.version');
            }
            file_put_contents(MagentoDebugger::getDebuggerVarDir() . '/required.version', trim($_GET['current_version']));
            if (is_dir(MagentoDebugger::getDebuggerVarDir() . '/required.dir')) {
                rmdir(MagentoDebugger::getDebuggerVarDir() . '/required.dir');
            }
            mkdir(MagentoDebugger::getDebuggerVarDir() . '/required.dir');
            $debuggedInfo->setUpdated(false);
            $debuggedInfo->setErrorMessage($e->getMessage());
            $debuggedInfo->setErrorCode($e->getCode());
        }
    }