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);
     };
 }
Example #2
0
 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;
 }
Example #7
0
 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);
 }
Example #15
0
 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());
 }
Example #16
0
 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);
 }
Example #17
0
 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;
 }
Example #18
0
 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;
 }
Example #19
0
 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());
 }
Example #21
0
 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;
 }
Example #22
0
 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());
 }
Example #25
0
 /**
  * @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');
 }
Example #26
0
 /**
  * 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);
 }
Example #29
0
/**
 * 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);
}
Example #30
0
 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}"));
     });
 }