Exemple #1
0
<?php

$APP_PATH = dirname(dirname(__FILE__));
$SERVER_PATH = dirname($APP_PATH);
$AliceSPA_PATH = $SERVER_PATH . '/AliceSPA';
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use AliceSPA\Helper\Config as configHelper;
require $SERVER_PATH . '/vendor/autoload.php';
require $APP_PATH . '/Config/load.php';
$app = new \Slim\App(['settings' => $AliceSPAConfig['slimConfig']]);
require $AliceSPA_PATH . '/Exception/load.php';
require $AliceSPA_PATH . '/Service/load.php';
require $AliceSPA_PATH . '/Middleware/load.php';
require $AliceSPA_PATH . '/Helper/load.php';
//API
require $AliceSPA_PATH . '/API/load.php';
//--API
configHelper::setConfig($AliceSPAConfig);
configHelper::setErrors($AliceSPAErrors);
if (!empty(configHelper::getCoreConfig()['CORSOrigin'])) {
    $app->options('/{routes:.+}', function ($request, $response, $args) {
        return $response;
    });
    $app->add(function ($req, $res, $next) {
        $response = $next($req, $res);
        return $response->withHeader('Access-Control-Allow-Origin', configHelper::getCoreConfig()['CORSOrigin'])->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization' . ', AliceSPA-UserID, AliceSPA-WebToken, AliceSPA-SessionID')->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    });
}
$app->run();
Exemple #2
0
        return $response->withJson($formatter->getFailure($e->getMessage()), $e->getCode());
    } catch (Exception $e) {
        return $response->withStatus(500);
    }
});
// Delete
$app->delete('/{resource}/{id}', function (ServerRequestInterface $request, Response $response, $resource, $id = null) {
    /**
     * @var ResponseDataFormatter $formatter
     */
    $formatter = $this->get('dataFormatter');
    try {
        $resource = AbstractResource::load($resource, $request, $response, $this);
        $resource->delete();
        return $response->withJson($formatter->getSuccess());
    } catch (StatusException $e) {
        return $response->withJson($formatter->getFailure($e->getMessage()), $e->getCode());
    } catch (Exception $e) {
        return $response->withStatus(500);
    }
});
// Options
$app->options('/{resource}', function (ServerRequestInterface $request, Response $response, $resource, $id = null) {
    try {
        $resource = AbstractResource::load($resource, $request, $response, $this);
        return $resource->options();
    } catch (StatusException $e) {
        return $response->withStatus($e->getCode());
    }
});
$app->run();
Exemple #3
0
    });
    include "src/GigRoutes.php";
    include "src/VenueRoutes.php";
    include "src/AccountRoutes.php";
    include "src/ContactRoutes.php";
})->add('AuthMiddleware')->add('HeaderMiddleware');
// Define the public group for options*/
$app->group('', function () use($app) {
    include "src/OptionRoutes.php";
})->add('HeaderMiddleware');
// Define the control group */
$app->group('/control', function () use($app) {
    /* AUTH */
    $app->options('/login', function ($request, $response, $args) {
        $id = $request->getAttribute('id');
        $response = $response->withHeader("Allow", "POST,OPTIONS");
        $response = $response->withHeader("Access-Control-Allow-Methods", "POST,OPTIONS");
        return $response;
    });
    $app->post('/login', function ($request, $response, $args) {
        $parsedBody = $request->getParsedBody();
        $password = $parsedBody['Password'];
        $username = $parsedBody['Username'];
        $account = AccountQuery::create()->findOneByUsername($username);
        if ($account != null) {
            $salt = $account->getSalt();
            $hashedPassword = $account->getPassword();
        } else {
            session_destroy();
            return err_auth_error($response, "Incorrect credentials (username)");
        }
        if (hash('sha512', $password . $salt) == $hashedPassword) {