public function register(Application $app) { $app['multifetch.methods'] = array('POST'); $app['multifetch.url'] = 'multi'; $app['multifetch.parallel'] = false; $app['multifetch.headers'] = true; $app['multifetch.builder'] = function () use($app) { $controllers = $app['controllers_factory']; $renderer = function ($url) use($app) { return $app['fragment.renderer.inline']->render($url, $app['request']); }; $multifetcher = new Multifetcher(); $options = array('parallel' => (bool) $app['multifetch.parallel'], 'headers' => (bool) $app['multifetch.headers']); if (in_array('GET', $app['multifetch.methods'])) { $controllers->get('/', function (Application $app) use($multifetcher, $renderer, $options) { $responses = $multifetcher->fetch($app['request']->query->all(), $renderer, $options); return $app->json($responses); }); } if (in_array('POST', $app['multifetch.methods'])) { $controllers->post('/', function (Application $app) use($multifetcher, $renderer, $options) { $responses = $multifetcher->fetch($app['request']->request->all(), $renderer, $options); return $app->json($responses); })->before(function (Request $request) { if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) { $data = json_decode($request->getContent(), true); $request->request->replace(is_array($data) ? $data : array()); } }); } $app['controllers']->mount($app['multifetch.url'], $controllers); }; }
public function connect(SilexApplication $app) { $app['controller.setup'] = $this; $controllers = $app['controllers_factory']; $controllers->get('/', function (Application $app) { return $app->redirectPath('install_root'); })->bind('setup'); $controllers->get('/installer/', 'controller.setup:rootInstaller')->bind('install_root'); $controllers->get('/upgrade-instructions/', 'controller.setup:displayUpgradeInstructions')->bind('setup_upgrade_instructions'); $controllers->get('/installer/step2/', 'controller.setup:getInstallForm')->bind('install_step2'); $controllers->post('/installer/install/', 'controller.setup:doInstall')->bind('install_do_install'); $controllers->get('/connection_test/mysql/', function (Application $app, Request $request) { $dbHelper = new DatabaseHelper($app, $request); return $app->json($dbHelper->checkConnection()); }); $controllers->get('/test/path/', function (Application $app, Request $request) { $pathHelper = new PathHelper($app, $request); return $app->json($pathHelper->checkPath()); }); $controllers->get('/test/url/', function (Application $app, Request $request) { $pathHelper = new PathHelper($app, $request); return $app->json($pathHelper->checkUrl()); }); return $controllers; }
public function connect(Application $app) { $controller = $this->controller; $targetRepository = $this->repository; $controller->get("/", function () use($app, $targetRepository) { $repository = new $targetRepository($app['db']); $results = $repository->findAll(); return $app->json($results); }); $controller->get("/{id}", function ($id) use($app, $targetRepository) { $repository = new $targetRepository($app['db']); $result = $repository->find($id); return $app->json($result); })->assert('id', '\\d+'); $controller->post("/", function (Request $request) use($app, $targetRepository) { $repository = new $targetRepository($app['db']); $params = $request->request->all(); return $app->json($repository->insert($params)); }); $controller->put("/{id}", function (Request $request, $id) use($app, $targetRepository) { $repository = new $targetRepository($app['db']); $params = $request->request->all(); return $app->json($repository->update($id, $params)); })->assert('id', '\\d+'); $controller->delete("/{id}", function ($id) use($app, $targetRepository) { $repository = new $targetRepository($app['db']); return $app->json($repository->delete($id)); })->assert('id', '\\d+'); return $controller; }
/** * Returns routes to connect to the given application. * * @param Application $app An Application instance * * @return ControllerCollection A ControllerCollection instance */ public function connect(Application $app) { $controllers = $app['controllers_factory']; $controllers->post('/', function (Request $request) use($app) { $create = $app['produtoTagService']->create($request); return $app->json($create); }); $controllers->get('/', function () use($app) { $categorias = $app['produtoTagService']->read(); $data = $app['produtoCategoriaSerializer']->serializeAll($categorias); return $app->json($data); }); $controllers->get('/{id}', function ($id) use($app) { $categoria = $app['produtoTagService']->read($id); $data = $app['produtoTagSerializer']->serialize($categoria); return $app->json($data); }); $controllers->put('/', function (Request $request) use($app) { return $app->json($app['produtoTagService']->update($request)); }); $controllers->delete('/{id}', function ($id) use($app) { return $app->json($app['produtoTagService']->delete($id)); }); return $controllers; }
public function connect(Application $app) { $controllers = new ControllerCollection(); $supervisor = new API(); $servers = (include __DIR__ . '/../../config.php'); foreach (array_keys($servers) as $server_id) { $servers[$server_id]['id'] = $server_id; } $controllers->get('/list.{_format}', function ($_format) use($supervisor, $app, $servers) { if ($_format == 'json') { return $app->json($servers); } else { // use a closure to avoid leaking any vars into the template that we don't explicitly want return call_user_func(function () use($app) { $url_root = $app['url_generator']->generate('home'); ob_start(); ob_implicit_flush(false); include __DIR__ . '/../../views/supervisorui.html.php'; return ob_get_clean(); }); } })->bind('server_list')->value('_format', 'html'); $controllers->get('/details/{server_id}', function ($server_id) use($supervisor, $app, $servers) { $server_ip = $servers[$server_id]['ip']; $details = array_merge(array('version' => $supervisor->getSupervisorVersion('127.0.0.1'), 'pid' => $supervisor->getPID('127.0.0.1')), $supervisor->getState('127.0.0.1'), $servers[$server_id]); return $app->json($details); }); return $controllers; }
/** * Returns employee routes to connect to the given application. * * @param Application $_app An Application instance * @return ControllerCollection $controllers A ControllerCollection instance */ public function connect(Application $_app) { $_app->register(new EmployeeServiceProvider()); $controllers = $_app['controllers_factory']; // Route for CREATING one employee record $controllers->post('/', function () use($_app) { return $_app->json($_app['employeeService.create']); }); // Route for READING a list of employee records $controllers->get('/', function () use($_app) { return $_app->json($_app['employeeService.read']); }); // Route for READING one employee record $controllers->get('/{id}/', function () use($_app) { return $_app->json($_app['employeeService.readOne']); }); // Route for UPDATING one employee record $controllers->put('/{id}/', function () use($_app) { return $_app->json($_app['employeeService.update']); }); // Route for DELETING one employee record $controllers->delete('/{id}/', function () use($_app) { return $_app->json($_app['employeeService.delete']); }); return $controllers; }
public function deleteAction(Request $request, Application $app) { $order = $request->attributes->get('order'); if (!$order) { return $app->json('Not Found', 404); } $app['repository.order']->delete($order); return $app->json('No Content', 204); }
public function deleteAction(Request $request, Application $app) { $artist = $request->attributes->get('artist'); if (!$artist) { return $app->json('Not Found', 404); } $app['repository.artist']->delete($artist); return $app->json('No Content', 204); }
public function Put(Application $app, Request $request) { $validity = $app['phpdraft.LoginUserValidator']->IsUserProfileUpdateValid($request); if (!$validity->success) { return $app->json($validity, Response::HTTP_BAD_REQUEST); } $response = $app['phpdraft.LoginUserService']->UpdateUserProfile($request); return $app->json($response, $response->responseType()); }
/** * Setup error handlers */ protected function setupErrorHandlers() { $this->app->error(function (\Exception $e, $code) { $data = array('status' => $code); if ($this->app['config']('app.debug', false)) { $data['error'] = $e->getMessage(); } return $this->app->json($data, $code); }); }
public function connect(Application $app) { $routes = $app['controllers_factory']; $db = $this->repo; $routes->get('/', function () use($app) { return 'Hello World'; }); $routes->get('obras/all/concluidas', function () use($app, $db) { $obras = $db->getAllObrasConcluidas(); return $app->json($obras); }); $routes->get('obras/{uf}/all', function ($uf) use($app, $db) { $obras = $db->getAllObrasByEstado($uf); return $app->json($obras); }); $routes->get('obras/id/{idn_empreendimento}', function ($idn_empreendimento) use($app, $db) { $obra = $db->getObra($idn_empreendimento); return $app->json($obra); }); $routes->get('obras/{uf}/estatisticas', function ($uf) use($app, $db) { $data = array(); $data['vermelho'] = $db->getQtObrasNaoIniciadasByEstado($uf); $data['amarelo'] = $db->getQtObrasEmConstrucaoByEstado($uf); $data['verde'] = $db->getQtObrasConcluidasByEstado($uf); return $app->json($data); }); /* function getCoordenadasDD($obras) { foreach ($obras as $key => $obra) { //latitude $obras[$key]['val_lat'] = str_replace('"','',$obras[$key]['val_lat']); $obras[$key]['val_lat'] = substr($obras[$key]['val_lat'],0,-1); $arr = array(); $result = preg_match('/^(\d\d?).(\d\d?).(\d\d?(?:[.,]\d+)?).$/u', $obras[$key]['val_lat'], $arr); //convervento coordenadas de dms para dd $obras[$key]['val_lat'] = '-'; $obras[$key]['val_lat'] .= ($arr[1] + ($arr[2]/60) + ($arr[3]/3600)); //longitude $obras[$key]['val_long'] = str_replace('"','',$obras[$key]['val_long']); $obras[$key]['val_long'] = substr($obras[$key]['val_long'],0,-1); $arr2 = array(); $result = preg_match('/^(\d\d?).(\d\d?).(\d\d?(?:[.,]\d+)?).$/u', $obras[$key]['val_long'], $arr2); //convervento coordenadas de dms para dd $obras[$key]['val_long'] = '-'; $obras[$key]['val_long'] .= ($arr2[1] + ($arr2[2]/60) + ($arr2[3]/3600)); } return $obras; } */ return $routes; }
public function Upload(Application $app, Request $request) { $sport = $request->get('sport'); $file = $request->files->get('file'); $validity = $app['phpdraft.ProPlayerValidator']->IsUploadSportValid($sport, $file); if (!$validity->success) { return $app->json($validity, $validity->responseType()); } $response = $app['phpdraft.ProPlayerService']->Upload($sport, $file); return $app->json($response, $response->responseType()); }
/** * {@inheritdoc} */ public function connect(Application $app) { // creates a new controller based on the default route $controllers = $app['controllers_factory']; $controllers->get('/products', function (Application $app) { return $app->json([]); }); $controllers->get('/product/{productId}', function (Application $app, $productId) { return $app->json([]); }); return $controllers; }
public function GetPositions(Application $app, Request $request) { $draft_sport = $request->get('draft_sport'); $validity = $app['phpdraft.DepthChartPositionValidator']->IsDraftSportValid($draft_sport); if (!$validity->success) { return $app->json($validity, Response::HTTP_BAD_REQUEST); } $response = $app['phpdraft.ResponseFactory'](true, array()); $response->positions = array(); $response->positions = $app['phpdraft.DraftDataRepository']->GetPositions($draft_sport); return $app->json($response); }
public function Delete(Application $app, Request $request) { $user_id = $request->get('user_id'); $user = $app['phpdraft.LoginUserRepository']->LoadById($user_id); if ($app['phpdraft.LoginUserService']->CurrentUserIsAdmin($user)) { $response = new PhpDraftResponse(false, array()); $response->errors[] = "Unable to delete user - user is admin."; return $app->json($response, $response->responseType()); } $response = $app['phpdraft.LoginUserService']->DeleteUser($user); return $app->json($response, $response->responseType()); }
public function bindIssueAction(Application $app, Request $request) { $data = $request->request->all(); //$userId = $data['userId']; $issueId = $data['issueId']; $issue = $this->getIssueService()->getIssue($issueId); $fields = $this->getFieldsByDataAndIssueId($data, $issue['id']); if (empty($fields)) { return $app->json(false); } $issue = $this->getIssueService()->updateIssue($issue['id'], $fields); return $app->json($issue); }
public function connect(Application $app) { $controller = new ControllerCollection($app['route_factory']); // Element Delete (POST) $controller->post('delete', function () use($app) { $id = $app['request']->get('elementId'); $result = $app['repository.element']->delete(array('id' => $id)); if ($result == 1) { return $app->json('OK'); } return $app->json('KO'); })->bind('route.element.delete'); return $controller; }
public function connect(Application $app) { $controllers = $app['controllers_factory']; $controllers->get('/{id}/company-list', function ($id) use($app) { $companyIds = $app['building']->getCompanyIds($id); $companyList = $app['company']->getByIds($companyIds); return $app->json(array('code' => 200, 'data' => $companyList)); })->assert('id', '\\d+'); $controllers->get('/list', function () use($app) { $data = $app['building']->getList(); return $app->json(array('code' => 200, 'data' => $data)); }); return $controllers; }
public function connect(Application $app) { $controllers = $app['controllers_factory']; $controllers->get('/list', function (Request $request) use($app) { $nameFilter = $request->query->get('name'); $rubricList = $app['rubric']->getList($nameFilter); return $app->json(array('code' => 200, 'data' => $rubricList)); }); $controllers->get('/{id}/company-list', function ($id) use($app) { $companyIds = $app['rubric']->getCompanyIds($id); $companyList = $app['company']->getByIds($companyIds); return $app->json(array('code' => 200, 'data' => $companyList)); })->assert('id', '\\d+'); return $controllers; }
public function GetManagerDepthChart(Application $app, Request $request) { $draft_id = (int) $request->get('draft_id'); $manager_id = (int) $request->get('manager_id'); if (empty($draft_id) || $draft_id == 0) { throw new \Exception("Unable to load draft."); } $draft = $app['phpdraft.DraftRepository']->Load($draft_id); if (!$draft->using_depth_charts) { $response = $app['phpdraft.ResponseFactory'](false, array("Draft is not configured to use depth charts.")); return $app->json($response, $response->responseType()); } $response = $app['phpdraft.DepthChartPositionService']->GetManagerDepthChart($draft, $manager_id); return $app->json($response, $response->responseType()); }
public function connect(Application $app) { $app['controller.utils.pathfile-test'] = $this; $controllers = $app['controllers_factory']; /** * @todo : check this as it would lead to a security issue */ $controllers->get('/path/', function (Application $app, Request $request) { return $app->json(['exists' => file_exists($request->query->get('path')), 'file' => is_file($request->query->get('path')), 'dir' => is_dir($request->query->get('path')), 'readable' => is_readable($request->query->get('path')), 'writeable' => is_writable($request->query->get('path')), 'executable' => is_executable($request->query->get('path'))]); }); $controllers->get('/url/', function (Application $app, Request $request) { return $app->json(['code' => \http_query::getHttpCodeFromUrl($request->query->get('url'))]); }); return $controllers; }
public function eliminarContacto(Application $app, Request $request, $id) { $contactoModel = new ContactoModel($app); $contacto = $contactoModel->retrieveById($id); $contactoModel->delete($id); return $app->json(array("message" => "success!!", "contacto" => $contacto)); }
public function authAction(Request $request, Application $app) { if ($app['session']->get('twitter_oauth_token') === null) { // get the request token $reply = $app['twitter']->oauth_requestToken(['oauth_callback' => $request->getUri()]); if (empty($reply)) { return new Response('Reply is empty'); } // store the token $app['twitter']->setToken($reply->oauth_token, $reply->oauth_token_secret); $app['session']->set('twitter_oauth_token', $reply->oauth_token); $app['session']->set('twitter_oauth_token_secret', $reply->oauth_token_secret); $app['session']->set('twitter_oauth_verify', true); // redirect to auth website return $app->redirect($app['twitter']->oauth_authorize()); } elseif ($request->get('oauth_verifier') !== null && $app['session']->get('twitter_oauth_verify') !== null) { // verify the token $app['twitter']->setToken($app['session']->get('twitter_oauth_token'), $app['session']->get('twitter_oauth_token_secret')); $app['session']->set('twitter_oauth_verify', null); // get the access token $reply = $app['twitter']->oauth_accessToken(['oauth_verifier' => $request->get('oauth_verifier')]); // store the token (which is different from the request token!) $app['session']->set('twitter_oauth_token', $reply->oauth_token); $app['session']->set('twitter_oauth_token_secret', $reply->oauth_token_secret); // send to same URL, without oauth GET parameters return $app->json(['oauth_token' => $reply->oauth_token, 'oauth_token_secret' => $reply->oauth_token_secret]); } return new Response('oops'); }
public function GetTimeRemaining(Application $app, Request $request) { $draft_id = (int) $request->get('draft_id'); $draft = $app['phpdraft.DraftRepository']->Load($draft_id); $response = $app['phpdraft.RoundTimeService']->GetCurrentPickTimeRemaining($draft); return $app->json($response, $response->responseType()); }
/** * @todo deprecated Not usable * * Добавления токена для доступа пользователю * * @param Request $request * * @return \Symfony\Component\HttpFoundation\JsonResponse */ public function saveTokenAction(Request $request) { $token = $request->request->get('_token', null); $provider = $request->request->get('provider', 'gitlab'); $this->addAccessToken($provider, ['private_access_token' => $token]); return $this->app->json('OK'); }
/** * API link details controller. * * @param integer $id Link id * @param Application $app Silex application * * @return Link details in JSON format */ public function getLinkAction($id, Application $app) { $link = $app['dao.link']->find($id); $responseData = $this->buildLinkArray($link); // Create and return a JSON response return $app->json($responseData); }
/** * Bootstrap Silex Application for tests * @method createApplication * @return $app Silex\Application */ public function createApplication() { $app = new Application(['dev' => true]); // errors error_reporting(E_ALL ^ E_STRICT); $app->error(function (Exception $e, $code) use($app) { return $app->json(['error' => $e->getMessage(), 'type' => get_class($e)], $code); }); // database $app->register(new DoctrineServiceProvider(), ['db.options' => ['driver' => 'pdo_sqlite', 'path' => __DIR__ . '/tests.db', 'charset' => 'UTF8']]); // jwt (json-web-token) $app['security.jwt'] = ['secret_key' => 'omg-so-secret-test-!', 'life_time' => 2592000, 'algorithm' => ['HS256'], 'options' => ['header_name' => 'X-Access-Token', 'username_claim' => 'email']]; $app->register(new SecurityServiceProvider()); $app->register(new SecurityJWTServiceProvider()); // mailer $app->register(new SwiftmailerServiceProvider(), ['swiftmailer.options' => ['host' => '127.0.0.1', 'port' => '1025']]); // twig $app->register(new TwigServiceProvider(), ['twig.path' => __DIR__ . '/../templates']); $app->register(new UrlGeneratorServiceProvider()); // simple-user-jwt $app['user.jwt.options'] = ['invite' => ['enabled' => true], 'forget' => ['enabled' => true], 'mailer' => ['enabled' => true, 'from' => ['email' => '*****@*****.**', 'name' => 'Test']]]; $app->register(new UserProvider()); // roles $app['security.role_hierarchy'] = ['ROLE_INVITED' => ['ROLE_USER'], 'ROLE_REGISTERED' => ['ROLE_INVITED', 'ROLE_ALLOW_INVITE'], 'ROLE_ADMIN' => ['ROLE_REGISTERED']]; // needed to parse user at each request $app['security.firewalls'] = ['login' => ['pattern' => 'register|login|forget|reset', 'anonymous' => true], 'secured' => ['pattern' => '.*$', 'users' => $app->share(function () use($app) { return $app['user.manager']; }), 'jwt' => ['use_forward' => true, 'require_previous_session' => false, 'stateless' => true]]]; // controller $app->mount('/', new UserProvider()); return $app; }
public function Create(Application $app, Request $request) { $draft_id = $request->get('draft_id'); $draft = $app['phpdraft.DraftRepository']->Load($draft_id); $stats = $app['phpdraft.DraftStatsRepository']->CalculateDraftStatistics($draft); return $app->json($stats); }
/** * Get informations about cakebox * * @param Application $app Silex Application * * @return JsonResponse Object containing application informations */ function get(Application $app) { $local = json_decode(file_get_contents("{__DIR___}/../../bower.json")); $remote = json_decode(file_get_contents("https://raw.github.com/Cakebox/Cakebox-light/master/bower.json")); $app_infos = array('language' => $app["cakebox.language"], 'version' => array('local' => $local->version, 'remote' => $remote->version)); return $app->json($app_infos); }
public function boot(Application $app) { /** * Respond with a JSON array of the repositories owned by owner query parameter */ $app->get('/repositories', function (Request $request) use($app) { $owner = $request->query->get('owner'); return $app->json($app['store']->getAll($owner)); }); /** * return the information for the named repository */ $app->get('/repositories/{vendor}/{library}', function (Request $request, $vendor, $library) use($app) { return $app->json($app['store']->get("{$vendor}/{$library}")); }); }