Example #1
0
    Config::set('title', "Shotgun PayIcam");
    Config::set('system_id', '');
}
// get payutcClient
function getPayutcClient($service)
{
    return new \JsonClient\AutoJsonClient(Config::get('payutc_server'), $service, array(CURLOPT_PROXY => Config::get('proxy')), "Payutc Json PHP Client", isset($_SESSION['payutc_cookie']) ? $_SESSION['payutc_cookie'] : "");
}
$payutcClient = getPayutcClient("WEBSALE");
$admin = $payutcClient->isSuperAdmin();
$isAdminFondation = $payutcClient->isAdmin();
$status = $payutcClient->getStatus();
$app = new \Slim\Slim();
$app->hook('slim.before', function () use($app, $payutcClient, $admin) {
    // check that system is installed
    if (!Config::isInstalled()) {
        $app->flashNow('info', 'This application is not yet configured, please click <a href="install" >here</a> !');
    }
    global $status;
    if (!in_array($app->request->getResourceUri(), ['/about', '/login'])) {
        if (!isset($status) || empty($status->user)) {
            // Il n'était pas encore connecté en tant qu'icam.
            $app->flash('info', "Vous devez être connecté pour accéder au reste de l'application");
            $app->redirect('about');
        } else {
            if (!empty($status->user) && (empty($status->application) || isset($status->application->app_url) && strpos($status->application->app_url, 'shotgun') === false)) {
                // il était connecté en tant qu'icam mais l'appli non
                try {
                    $result = $payutcClient->loginApp(array("key" => Config::get('payutc_key')));
                    $status = $payutcClient->getStatus();
                } catch (\JsonClient\JsonException $e) {