<?php
/**
 * Restler 2 compatibility mode enabler
 */
use Luracast\Restler\Defaults;
use Luracast\Restler\AutoLoader;
use Luracast\Restler\CommentParser;

//changes in auto loading
$classMap = array();
//find lowercase php files representing a class/interface
foreach (explode(PATH_SEPARATOR, get_include_path()) as $path)
    foreach (new DirectoryIterator($path) as $fileInfo)
        if ($fileInfo->isFile()
            && 'php' === $fileInfo->getExtension()
            && ctype_lower($fileInfo->getBasename('.php'))
            && preg_match(
                '/^ *(class|interface|abstract +class)'
                    . ' +([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/m',
                file_get_contents($fileInfo->getPathname()),
                $matches
            )
        )
            $classMap[$matches[2]] = $fileInfo->getPathname();

AutoLoader::seen($classMap);

//changes in iAuthenticate
Defaults::$authenticationMethod = '__isAuthenticated';

include __DIR__ . '/iAuthenticate.php';

//changes in auto routing
Defaults::$smartAutoRouting = false;
Defaults::$smartParameterParsing = false;
Defaults::$autoValidationEnabled = false;

//changes in parsing embedded data in comments
CommentParser::$embeddedDataPattern = '/\((\S+)\)/ms';
CommentParser::$embeddedDataIndex = 1;
