/** * Returns the rendered subtree of each top-level toolbar link. * * @return \Symfony\Component\HttpFoundation\JsonResponse */ public function subtreesJsonp() { $subtrees = toolbar_get_rendered_subtrees(); $response = new JsonResponse($subtrees); $response->setCallback('Drupal.toolbar.setSubtrees.resolve'); // The Expires HTTP header is the heart of the client-side HTTP caching. The // additional server-side page cache only takes effect when the client // accesses the callback URL again (e.g., after clearing the browser cache // or when force-reloading a Drupal page). $max_age = 365 * 24 * 60 * 60; $response->setPrivate(); $response->setMaxAge($max_age); $expires = new \DateTime(); $expires->setTimestamp(REQUEST_TIME + $max_age); $response->setExpires($expires); return $response; }
/** * @Route("/admin/testimonials/jsondata", name="admin_testimonials_jsondata") */ public function JsonData(Request $request) { $sortColumn = $request->get('sidx'); $sortDirection = $request->get('sord'); $pageSize = $request->get('rows'); $page = $request->get('page'); $callback = $request->get('callback'); $repo = $this->getDoctrineRepo('AppBundle:Testimonial'); $dataRows = $repo->getGridOverview($sortColumn, $sortDirection, $pageSize, $page); $rowsCount = $repo->countAll(); $pagesCount = ceil($rowsCount / $pageSize); $rows = array(); // rows as json result foreach ($dataRows as $dataRow) { // build single row $row = array(); $row['id'] = $dataRow->getId(); $cell = array(); $i = 0; $cell[$i++] = ''; $cell[$i++] = $dataRow->getId(); $cell[$i++] = $dataRow->getName(); $cell[$i++] = $dataRow->getAge(); $cell[$i++] = $dataRow->getPlace(); $cell[$i++] = $dataRow->getPosition(); $row['cell'] = $cell; array_push($rows, $row); } $result = array('records' => $rowsCount, 'page' => $page, 'total' => $pagesCount, 'rows' => $rows); $resp = new JsonResponse($result, JsonResponse::HTTP_OK); $resp->setCallback($callback); return $resp; }
/** * Returns the rendered subtree of each top-level toolbar link. * * @return \Symfony\Component\HttpFoundation\JsonResponse */ public function subtreesJsonp() { _toolbar_initialize_page_cache(); $subtrees = toolbar_get_rendered_subtrees(); $response = new JsonResponse($subtrees); $response->setCallback('Drupal.toolbar.setSubtrees.resolve'); return $response; }
protected function json($req, $data, $status = 200) { $resp = new JsonResponse($data, $status); if ($req->query->has('callback')) { $resp->setCallback($req->query->get('callback')); } return $resp; }
/** * @Route("/track/pageview", name="track_pageview") * * @param Request $request * * @return JsonResponse */ public function postPageviewAction(Request $request) { $trackedCustomerStorage = new SessionStorage($request->getSession()); $command = new AddNewPageviewEventCommand($trackedCustomerStorage); $command->url = $request->query->get('url'); $command->ip = $request->getClientIp(); $command->customerId = $request->query->get('customer', null); $command->referrer = $request->query->get('referrer', null); $this->get('command_bus')->handle($command); $response = new JsonResponse(null, 201); $response->setCallback($request->query->get('callback')); return $response; }
/** * Generates a JavaScript file with popup CSS file loader. * * @param Request $request * @return JsonResponse */ public function loadPopupStyleAction(Request $request) { $style_name = $request->attributes->get('style'); if (!$style_name) { $style_name = ChatStyle::getDefaultStyle(); } $style = new ChatStyle($style_name); $configs = $style->getConfigurations(); $response = new JsonResponse(); if ($configs['chat']['iframe']['css']) { $generator = $this->getAssetManager()->getUrlGenerator(); $css = $generator->generate($style->getFilesPath() . '/' . $configs['chat']['iframe']['css'], UrlGeneratorInterface::ABSOLUTE_URL); $response->setData($css); $response->setCallback('Mibew.Utils.loadStyleSheet'); } return $response; }
/** * @param Request $request * @param int $max * @param string $provider * * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException * @return \Symfony\Component\HttpFoundation\Response */ public function getPostsAction(Request $request, $max = 5, $provider = null) { $posts = $this->getPostRepository()->retrieveMostRecentPublicPosts($max, $provider); /** @var ThumbnailExtension $thumbnailService */ $thumbnailService = $this->get('genj_thumbnail.twig.thumbnail_extension'); $postList = array(); /** @var Post $post */ foreach ($posts as $post) { $postData = array('provider' => $post->getProvider(), 'postId' => $post->getPostId(), 'author' => array('username' => $post->getAuthorUsername(), 'name' => $post->getAuthorName(), 'avatar' => (string) $thumbnailService->getThumbnailPath($post, 'authorFileUpload', 'teaser')), 'body' => $post->getHeadline(), 'image' => (string) $thumbnailService->getThumbnailPath($post, 'fileUpload', 'teaser'), 'link' => $post->getLink(), 'publishAt' => $post->getPublishAt()->format('Y-m-d H:i:s')); $postList[] = $postData; } $response = new JsonResponse(array('posts' => $postList), 200, array()); $callback = $request->get('callback', false); if ($callback) { $response->setCallback($callback); } return $response; }
/** * {@inheritdoc} */ public function serve($params = null) { $return = $params ? true : false; $key = $this->request->request->get('key'); $callback = $this->request->query->get('callback'); $configString = $this->request->request->get('data'); if ($callback && $this->request->isXmlHttpRequest()) { $configString = $this->request->query->get('data'); } $publicMethods = array($this->request->query->get('method'), $this->request->request->get('method')); $response = new JsonResponse(); $response->setCallback($callback); $response->headers->set('Access-Control-Allow-Headers', 'origin, content-type, accept'); $response->headers->set('Access-Control-Allow-Origin', '*'); $response->headers->set('Access-Control-Allow-Methods', 'POST, GET, OPTIONS'); if ($this->request->isXmlHttpRequest()) { $key = $this->request->query->get('key'); } $data = array('error' => true, 'message' => 'Invalid config'); $serviceHandler = get_class($this->serviceHandler); $server = new $serviceHandler($this->authentication, $this->connectionStrings, $this->logDir); if (in_array('getAvailableDrivers', $publicMethods)) { $data = $server->getAvailableDrivers(); } elseif ($configString) { $configString = json_decode($configString, true); if (is_array($configString) && isset($configString['config'])) { $config = isset($configString['config']) ? $configString['config'] : array(); $sql = isset($configString['sql']) ? $configString['sql'] : ''; $limit = isset($configString['limit']) ? intval($configString['limit']) : 500; $offset = isset($configString['offset']) ? intval($configString['offset']) : 0; $single = isset($configString['single']) ? (bool) $configString['single'] : false; $data = $server->getResult($config, $sql, $limit, $offset, $single, $key, 'array'); if (in_array('getServerVersion', $publicMethods)) { $data = $server->getServerVersion(); } } } $response->setData($data); if (!$return) { $response->send(); } else { return $response; } }
/** * Get List From API Access * * @Route("/api/{categoryCode}/{callback}", name="category_get_category", requirements={"categoryCode" = "^[a-z0-9]*$"}, defaults={"callback" = null}) * @Method("GET") */ public function getCategoryForApiAction(Request $request, $categoryCode, $callback) { $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository('AtwTestBundle:Category')->findOneBy(['categoryCode' => $categoryCode]); $output = null; if (!is_null($entity)) { $output["name"] = htmlspecialchars($entity->getName()); $output["categoryCode"] = htmlspecialchars($entity->getCategoryCode()); } $response = new JsonResponse(); $response->setData($output); $response->setStatusCode(Response::HTTP_OK); // if error... //$response->setStatusCode(500); if (isset($callback)) { $response->setCallback($callback); } return $response; }
/** * @Route("/admin/users/jsondata", name="admin_users_jsondata") */ public function JsonData(Request $request) { $sortColumn = $request->get('sidx'); $sortDirection = $request->get('sord'); $pageSize = $request->get('rows'); $page = $request->get('page'); $callback = $request->get('callback'); $email = $request->get('u_email'); $name = $request->get('u_name'); $surname = $request->get('u_surname'); $enabled = $request->get('u_enabled'); $createdAt = $request->get('u_createdAt'); $modifiedAt = $request->get('u_modifiedAt'); $repo = $this->getDoctrineRepo('AppBundle:User'); $dataRows = $repo->getGridOverview($sortColumn, $sortDirection, $pageSize, $page, $email, $name, $surname, $enabled, $createdAt, $createdAt, $modifiedAt); $rowsCount = $repo->countAll(); $pagesCount = ceil($rowsCount / $pageSize); $rows = array(); // rows as json result foreach ($dataRows as $dataRow) { // build single row $row = array(); $row['id'] = $dataRow->getId(); $cell = array(); $i = 0; $cell[$i++] = ""; $cell[$i++] = $dataRow->getId(); $cell[$i++] = $dataRow->getUsername(); $cell[$i++] = $dataRow->getName(); $cell[$i++] = $dataRow->getSurname(); $cell[$i++] = $dataRow->isEnabled(); $cell[$i++] = $dataRow->getCreatedAt()->format('Y-m-d H:i'); $cell[$i++] = $dataRow->getModifiedAt()->format('Y-m-d H:i'); $row['cell'] = $cell; array_push($rows, $row); } $result = array('records' => $rowsCount, 'page' => $page, 'total' => $pagesCount, 'rows' => $rows); $resp = new JsonResponse($result, JsonResponse::HTTP_OK); $resp->setCallback($callback); return $resp; }
/** * Convert some data into a JSON response. * * @param mixed $data The response data * @param integer $status The response status code * @param array $headers An array of response headers * @return JsonResponse * @see JsonResponse */ public function json($data = [], $status = 200, array $headers = []) { $request = $this['request_stack']->getMasterRequest(); if ($request->query->has('fields') && !($status >= 400 && $status < 500)) { $fields = $this['rest.fields']; $fields->addParameter('id'); $data = $this['rest.filter']->filter($data); } $flags = JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT; if ($request->query->get('pretty', true)) { $flags |= JSON_PRETTY_PRINT; } $response = new JsonResponse(); $response->headers->replace($headers); $response->setStatusCode($status); $response->setEncodingOptions($flags); $response->setData($data); if ($request->query->has('callback')) { $response->setCallback($request->query->get('callback')); } return $response; }
/** * @Route("/topics_search/") */ public function findTopicsAction(Request $request) { if ($request->isXmlHttpRequest()) { // retrieve query and page_limit $q = $request->query->get('term'); $p = $request->query->get('page_limit'); $locale = $request->getLocale(); $topics = $this->get('em')->getRepository('Newscoop\\NewscoopBundle\\Entity\\Topic')->searchTopics($q, array(), $p, $locale)->getArrayResult(); array_walk($topics, function (&$topic, $key) { $topic['term'] = $topic['title']; $topic = array_intersect_key($topic, array_flip(array('id', 'term'))); }); $arr = array('results' => array('items' => $topics)); $response = new JsonResponse($arr); $response->setCallback($request->query->get('callback')); return $response; } throw new BadRequestHttpException('Only XHR supported'); }
/** * @Route("/admin/category/jsondata", name="admin_category_jsondata") */ public function JsonData(Request $request) { $sortColumn = $request->get('sidx'); $sortDirection = $request->get('sord'); $pageSize = $request->get('rows'); $page = $request->get('page'); $callback = $request->get('callback'); $repo = $this->getDoctrineRepo('AppBundle:Category'); $dataRows = $repo->getGridOverview($sortColumn, $sortDirection, $pageSize, $page); $rowsCount = $repo->countAll(); $pagesCount = ceil($rowsCount / $pageSize); $rows = array(); // rows as json result foreach ($dataRows as $dataRow) { // build single row $row = array(); $row['id'] = $dataRow->getId(); $cell = array(); $cell[0] = null; $cell[1] = $dataRow->getId(); $cell[2] = $dataRow->getName(); $cell[3] = $dataRow->getSlug(); $cell[4] = $dataRow->getPosition(); $row['cell'] = $cell; array_push($rows, $row); } $result = array('records' => $rowsCount, 'page' => $page, 'total' => $pagesCount, 'rows' => $rows); $resp = new JsonResponse($result, JsonResponse::HTTP_OK); $resp->setCallback($callback); return $resp; /* $rows = $this->GetData($sortColumn, $sortDirection, $pageSize, $page); $rowsCount = $this->getDoctrineRepo('AppBundle:Category')->countAll(); $pagesCount = ceil($rowsCount/$pageSize); $rowsStr = ""; $rowsTemplate = '{ "id": %s, "cell": [null, "%s", "%s", "%s", "%s" ] }'; $i = 0; foreach($rows as $row){ if ($i > 0) { $rowsStr .= ", "; } $rowsStr .= sprintf($rowsTemplate, $row->getId(), $row->getId(), $row->getName(), $row->getSlug(), $row->getPosition() ); $i .=1; } $json = sprintf('{ "records":%s,"page":%s ,"total":%s ,"rows": [ %s ] }', $rowsCount, $page, $pagesCount, $rowsStr ); $response = new Response(); $response->setContent('/**/ /*'.$method.'('. $json .')'); $response->headers->set('Content-Type', 'text/javascript'); return $response; */ }
private function errorResponse($msg, Request $request) { $response = new JsonResponse(['message' => $msg, 'success' => false]); return $response->setCallback($request->get('callback')); }
/** * JSONM * https://github.com/lifesinger/lifesinger.github.com/issues/118 */ protected function createJsonmResponse($data) { $response = new JsonResponse($data); $response->setCallback('define'); return $response; }
/** * Formats the data and return serialized string * * @return Response */ private function format() { $request_uri = sprintf('%s %s', $this->request->getMethod(), $this->request->getBasePath() . $this->request->getPathInfo()); $ret = ['meta' => ['api_version' => V1::VERSION, 'request' => $request_uri, 'response_time' => $this->responseTime, 'http_code' => $this->code, 'error_type' => $this->errorType, 'error_message' => $this->errorMessage, 'error_details' => $this->errorDetails, 'charset' => 'UTF-8'], 'response' => $this->data]; switch ($this->responseType) { case self::FORMAT_JSON: default: return new JsonResponse($ret); case self::FORMAT_YAML: if ($ret['response'] instanceof \stdClass) { $ret['response'] = []; } $dumper = new Dumper(); return new Response($dumper->dump($ret, 8)); case self::FORMAT_JSONP: $response = new JsonResponse($ret); $response->setCallback(trim($this->request->get('callback'))); return $response; break; } }
/** * Send a jsonp response with given content. * * @param array $content * @param string $jsonCallback */ public function jsonp($content = [], $jsonCallback = 'callback') { $response = new JsonResponse(); $response->setData($content); $response->setCallback($jsonCallback); $response->send(); }
/** * @Route("/admin/blog/jsondata", name="admin_blog_jsondata") */ public function JsonData(Request $request) { $sortColumn = $request->get('sidx'); $sortDirection = $request->get('sord'); $pageSize = $request->get('rows'); $page = $request->get('page'); $callback = $request->get('callback'); $repo = $this->getDoctrineRepo('AppBundle:Blog'); $dataRows = $repo->getGridOverview($sortColumn, $sortDirection, $pageSize, $page); $rowsCount = $repo->countAll(); $pagesCount = ceil($rowsCount / $pageSize); $rows = array(); // rows as json result foreach ($dataRows as $dataRow) { // build single row $row = array(); $row['id'] = $dataRow->getId(); $cell = array(); $cell[0] = null; $cell[1] = $dataRow->getId(); $cell[2] = $dataRow->getTitle(); $cell[3] = $dataRow->getCreatedAt()->format('Y-m-d H:i'); $cell[4] = $dataRow->getModifiedAt()->format('Y-m-d H:i'); $cell[5] = $dataRow->getPosition(); $row['cell'] = $cell; array_push($rows, $row); } $result = array('records' => $rowsCount, 'page' => $page, 'total' => $pagesCount, 'rows' => $rows); $resp = new JsonResponse($result, JsonResponse::HTTP_OK); $resp->setCallback($callback); return $resp; }
/** * Gets the last position for ativo. * * @Route("/get_ultima_posicao", name="get_ultima_posicao") * @Method("GET") */ public function getUltimaPosicaoAction(Request $request) { $if_id = $request->query->get('if_id'); $ativo_id = $request->query->get('ativo_id'); $em = $this->get('doctrine')->getManager(); $connection = $em->getConnection(); $statement = $connection->prepare("\n SELECT\n vr_bruto_total,\n quantidade\n FROM\n POSICAO\n WHERE\n if_id = :if_id AND\n ativo_id = :ativo_id\n ORDER BY\n dt_referencia\n DESC\n LIMIT\n 1\n "); $statement->bindValue('if_id', $if_id); $statement->bindValue('ativo_id', $ativo_id); $statement->execute(); while ($row = $statement->fetch()) { $data = array('vr_bruto_total' => number_format($row['vr_bruto_total'], 2, ",", ""), 'quantidade' => number_format($row['quantidade'], 0, ",", "")); } // create a JSON-response with a 200 status code $response = new JsonResponse($data); if ($request->query->get('callback')) { $response->setCallback($request->query->get('callback')); } return $response; }
/** * @Route("/jsonp", name="responses_jsonp") */ public function jsonpResponseAction() { $response = new JsonResponse(array('class' => '\\Symfony\\Component\\HttpFoundation\\JsonResponse', 'type' => 'jsonp')); $response->setCallback('handleData'); return $response; }
/** * @Route("/isUser", name="is_user" , options={"expose" = true}) */ public function isUserAction() { if (!$this->getUser()) { $ar = array(); } else { $ar['email'] = $this->getUser()->getUsername(); $ar['lastName'] = $this->getUser()->getLastName(); $ar['firstName'] = $this->getUser()->getFirstName(); $ar['surName'] = $this->getUser()->getSurName(); $ar['city'] = $this->getUser()->getCity()->getTitle(); $ar['address'] = $this->getUser()->getAddress(); $ar['tel'] = $this->getUser()->getPhone(); $ar['address'] = $this->getUser()->getAddress(); } $res = new JsonResponse($ar); $res->setCallback('myf'); return $res; }
protected function createJsonP(Request $request, $callback, $data) { $response = new JsonResponse($data); $response->setCallback($callback); return $response; }
/** * @expectedException \InvalidArgumentException */ public function testSetCallbackInvalidIdentifier() { $response = new JsonResponse('foo'); $response->setCallback('+invalid'); }
public function testSetCallbackInvalidIdentifier() { $response = new JsonResponse('foo'); $this->setExpectedException('InvalidArgumentException'); $response->setCallback('+invalid'); }
/** * Provides a gateway for widget requests. * * Triggers {@link \Mibew\EventDispatcher\Events::VISITOR_TRACK} event. * * @param Request $request * @return string Rendered page content */ public function indexAction(Request $request) { $operator = array(); $response_data = array('load' => array(), 'handlers' => array(), 'dependencies' => array(), 'data' => array()); $tracking_allowed = Settings::get('enabletracking') == '1' && (Settings::get('trackoperators') == '1' || !$this->getOperator()); if ($tracking_allowed) { $entry = $request->query->get('entry', ''); $referer = $request->server->get('HTTP_REFERER', ''); $user_id = $request->query->get('user_id', false); // Check if session was started if (isset($_SESSION[SESSION_PREFIX . 'visitorid']) && preg_match('/^[0-9]+$/', $_SESSION[SESSION_PREFIX . 'visitorid'])) { // Session was started. Just track the visitor. $visitor_id = track_visitor($_SESSION[SESSION_PREFIX . 'visitorid'], $entry, $referer); $visitor = track_get_visitor_by_id($visitor_id); } else { $visitor = track_get_visitor_by_user_id($user_id); if ($visitor !== false) { // Session is not started but the visitor exists in // database. Probably third-party cookies are disabled by // the browser. Use tracking by local cookie at target site. $visitor_id = track_visitor($visitor['visitorid'], $entry, $referer); } else { // Start tracking session $visitor_id = track_visitor_start($entry, $referer); $visitor = track_get_visitor_by_id($visitor_id); } } if ($visitor_id) { $_SESSION[SESSION_PREFIX . 'visitorid'] = $visitor_id; } if ($user_id === false) { // Update local cookie value at target site $response_data['handlers'][] = 'updateUserId'; $response_data['dependencies']['updateUserId'] = array(); $response_data['data']['user']['id'] = $visitor['userid']; } // Provide an ability for others to make something on visitor // tracking $event_arguments = array('visitor' => $visitor); EventDispatcher::getInstance()->triggerEvent(Events::VISITOR_TRACK, $event_arguments); // Get invitation state $invitation_state = invitation_state($visitor_id); // Check if invitation is closed if (!$invitation_state['invited'] && !empty($_SESSION[SESSION_PREFIX . 'invitation_threadid'])) { $response_data['handlers'][] = 'invitationClose'; $response_data['dependencies']['invitationClose'] = array(); unset($_SESSION[SESSION_PREFIX . 'invitation_threadid']); } // Check if the visitor is just invited to chat $is_invited = $invitation_state['invited'] && (empty($_SESSION[SESSION_PREFIX . 'invitation_threadid']) ? true : $_SESSION[SESSION_PREFIX . 'invitation_threadid'] != $invitation_state['threadid']); if ($is_invited) { // Load invitation thread $thread = Thread::load($invitation_state['threadid']); // Get operator info $operator = operator_by_id($thread->agentId); $locale = $request->query->get('locale', ''); $operator_name = $locale == get_home_locale() ? $operator['vclocalename'] : $operator['vccommonname']; $avatar_url = $operator['vcavatar'] ? $this->asset($operator['vcavatar'], AssetUrlGeneratorInterface::ABSOLUTE_URL) : false; // Show invitation dialog at widget side $response_data['handlers'][] = 'invitationCreate'; $response_data['dependencies']['invitationCreate'] = array(); $response_data['data']['invitation'] = array('operatorName' => htmlspecialchars($operator_name), 'avatarUrl' => htmlspecialchars($avatar_url), 'threadUrl' => $this->generateUrl('chat_user_invitation', array(), UrlGeneratorInterface::ABSOLUTE_URL), 'acceptCaption' => getlocal('Answer')); $_SESSION[SESSION_PREFIX . 'invitation_threadid'] = $thread->id; } // Check if the visitor rejects invitation if ($invitation_state['invited'] && $request->query->get('invitation_rejected')) { invitation_reject($visitor_id); } $event_arguments = array('visitor' => $visitor, 'request' => $request, 'response' => $response_data, 'route_url_generator' => $this->getRouter(), 'asset_url_generator' => $this->getAssetManager()->getUrlGenerator()); EventDispatcher::getInstance()->triggerEvent(Events::WIDGET_RESPONSE_ALTER, $event_arguments); $response_data = $event_arguments['response']; } // Builds JSONP response $response = new JsonResponse($response_data); $response->setCallback("Mibew.Objects.widget.onResponse"); // Add headers to overcome third-party cookies problem. $response->headers->set('P3P', 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); return $response; }