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) {