Exemplo n.º 1
0
    $baseDir = __DIR__ . '/..';
    require_once $baseDir . '/vendor/autoload.php';
    $kernel = Atabase\Bootstrapper::KERNEL_DEV;
    $bootstrapper = new Atabase\Bootstrapper($kernel, $baseDir);
    $bootstrapper->init();
    global $CONFIG;
    $CONFIG->setValue("general", "baseDir", $baseDir);
} catch (PDOException $e) {
    $logger = new Monolog\Logger('database');
    $logger->pushHandler(new Monolog\Handler\StreamHandler($baseDir . '/tmp/database.log', Monolog\Logger::DEBUG));
    $logger->addCritical($e->getMessage());
    header(Atabase\Exceptions\HTTPStatusLookup::httpHeaderFor(500));
    echo Atabase\Exceptions\HTTPStatusLookup::getMessageForCode(500) . ' - Database Connection Error';
    exit;
} catch (HTTPErrorException $e) {
    $logger = new Monolog\Logger('kernel');
    $logger->pushHandler(new Monolog\Handler\StreamHandler($baseDir . '/tmp/kernel.log', Monolog\Logger::DEBUG));
    $logger->addCritical($e->getMessage());
    $e->terminate(" - Kernel Loading Failed");
}
/***************************************/
/*           LANGUAGES TEST            */
/***************************************/
echo "<h1>Languages test</h1>";
global $TEMPLATE, $ARGS, $CONFIG;
$translation = Models\Translation::loadOne('1');
$languageCategory = Models\LanguageCategory::loadOne('1');
$language = MOdels\Language::loadOne('1');
echo "<p>" . $translation . "</p>";
echo "<p>" . $languageCategory . "</p>";
echo "<p>" . $language . "</p>";
Exemplo n.º 2
0
        if (endpoints\Auth::validateToken($token)) {
            return $next($request, $response);
        }
    }
    return $response->withStatus(401);
});
$checkProxyHeaders = true;
// Note: Never trust the IP address for security processes!
$trustedProxies = ['10.0.0.1', '10.0.0.2'];
// Note: Never trust the IP address for security processes!
$app->add(new \RKA\Middleware\IpAddress($checkProxyHeaders, $trustedProxies));
$stream = new \Monolog\Handler\StreamHandler(__DIR__ . '/../log/app.log', \Monolog\Logger::DEBUG);
$logger = new \Monolog\Logger('app');
$logger->pushHandler($stream);
$app->add(function ($request, $response, $next) use($logger) {
    $response = $next($request, $response);
    $uri = $request->getUri()->getPath();
    $statusCode = $response->getStatusCode();
    switch ($response->getStatusCode()) {
        case 500:
            $logger->addCritical('Oops!!! the server got 500 error', ['ip' => $request->getAttribute('ip_address'), 'uri' => $uri, 'status' => $statusCode]);
            break;
        case 404:
            $logger->addWarning('Someone calling un-existing API endpoint', ['ip' => $request->getAttribute('ip_address'), 'uri' => $uri, 'status' => $statusCode]);
            break;
        default:
            $logger->addInfo('Someone calling existing API endpoint', ['ip' => $request->getAttribute('ip_address'), 'uri' => $uri, 'status' => $statusCode]);
            break;
    }
    return $response;
});
Exemplo n.º 3
0
$app->get('/hello/:name', function ($name) {
    echo "Hello, {$name}";
    phpinfo();
    global $log;
    $log->addDebug('Hello');
});
$app->get('/v1/sample', function () {
    global $log;
    try {
        try {
            $db_url = parse_url(getenv('CLEARDB_DATABASE_URL'));
            $dsn = sprintf('mysql:host=%s;dbname=%s', $db_url['host'], substr($db_url['path'], 1));
            $pdo = new PDO($dsn, $db_url['user'], $db_url['pass']);
        } catch (PDOException $e) {
            $apiException = new ApiException('Cannot access DB.', 500, 'Check DB status and CLEARDB_DATABASE_URL Config Vars', 500);
            $log->addCritical($apiException->getString());
            $log->addCritical($e->getMessage());
            throw $apiException;
        }
        $sql = 'select id,sample from samples';
        $statement = $pdo->query($sql);
        if ($statement === false) {
            $message = 'Cannot query: ' . $sql;
            $apiException = new ApiException($message, 500, $message, 500);
            $log->addCritical($apiException->getString());
            throw $apiException;
        } else {
            $row = $statement->fetch(PDO::FETCH_ASSOC);
            $log->addDebug(json_encode($row));
            $result = array('result' => $row);
            print_r(json_encode($result));