Example #1
0
 public function run()
 {
     $route = $this->router->match($this->request);
     if ($route === false) {
         $actionName = self::ACTION_NOT_FOUND;
     } else {
         $actionName = $route->getName();
     }
     if (!$this->actions->has($actionName)) {
         throw new \Exception(sprintf('Action %s not found', $actionName));
     }
     $this->store->setFileName($actionName);
     if ($this->request->isAjax()) {
         $this->view->setRenderType(View::RENDER_JSON);
     } else {
         $this->view->setContentView('error');
     }
     $action = $this->actions->get($actionName);
     call_user_func_array($action, array($this));
     if (is_callable($this->postAction)) {
         call_user_func_array($this->postAction, array($this));
     }
     $this->response->setContent($this->view->render());
     $this->response->send();
 }
 public function preview_page()
 {
     $page = Page::getByID(intval($_REQUEST['cID'], 10), 'RECENT');
     if (!is_object($page) || $page->isError()) {
         throw new \InvalidArgumentException('Invalid collection ID');
     }
     $permissions = new Permissions($page);
     if ($permissions->canPreviewPageAsUser() && $permissions->canRead() && Config::get('concrete.permissions.model') == 'advanced') {
         /** @var Request $request */
         $request = Request::getInstance();
         $request->setCustomRequestUser(false);
         $request->setCurrentPage($page);
         if ($request->request('customUser')) {
             $user_info = UserInfo::getByUserName($request->request('customUser'));
             if ($user_info && is_object($user_info) && !$user_info->isError()) {
                 $request->setCustomRequestUser($user_info);
             }
         }
         $request->setCustomRequestDateTime(Core::make('helper/form/date_time')->translate('preview_as_user_datetime', $request->request()));
         $controller = $page->getPageController();
         $view = $controller->getViewObject();
         $response = new \Response();
         $response->setContent($view->render());
         $response->send();
     }
 }
Example #3
0
 public function preview()
 {
     $request = \Request::getInstance();
     $c = \Page::getByID($this->request->get('cID'));
     $cp = new \Permissions($c);
     if ($cp->canViewPageVersions()) {
         $c->loadVersionObject(\Core::make('helper/security')->sanitizeInt($_REQUEST['cvID']));
         $spoofed_request = \Request::createFromGlobals();
         if ($device_handle = $request->headers->get('x-device-handle')) {
             if ($device = \Core::make('device/manager')->get($device_handle)) {
                 if ($agent = $device->getUserAgent()) {
                     $spoofed_request->headers->set('User-Agent', $agent);
                 }
             }
         }
         $spoofed_request->setCustomRequestUser(-1);
         $spoofed_request->setCurrentPage($c);
         \Request::setInstance($spoofed_request);
         $controller = $c->getPageController();
         $controller->runTask('view', array());
         $view = $controller->getViewObject();
         $response = new \Response();
         $content = $view->render();
         // Reset just in case.
         \Request::setInstance($request);
         $response->setContent($content);
         $response->send();
         exit;
     }
 }
Example #4
0
 /**
  * Parses a raw response string, including headers and body, and returns a Response object.
  *
  * @param string $response
  *
  * @return \Brick\Http\Response
  *
  * @throws \RuntimeException
  */
 public static function parse($response)
 {
     $responseObject = new Response();
     if (preg_match('/^HTTP\\/([0-9]\\.[0-9]) ([0-9]{3}) .*\\r\\n/', $response, $matches) == 0) {
         throw new \RuntimeException('Could not parse response (error 1).');
     }
     list($line, $protocolVersion, $statusCode) = $matches;
     $responseObject->setProtocolVersion($protocolVersion);
     $responseObject->setStatusCode($statusCode);
     $response = substr($response, strlen($line));
     for (;;) {
         $pos = strpos($response, Message::CRLF);
         if ($pos === false) {
             throw new \RuntimeException('Could not parse response (error 2).');
         }
         if ($pos == 0) {
             break;
         }
         $header = substr($response, 0, $pos);
         if (preg_match('/^(\\S+):\\s*(.*)$/', $header, $matches) == 0) {
             throw new \RuntimeException('Could not parse response (error 3).');
         }
         list($line, $name, $value) = $matches;
         if (strtolower($name) == 'set-cookie') {
             $responseObject->setCookie(Cookie::parse($value));
         } else {
             $responseObject->addHeader($name, $value);
         }
         $response = substr($response, strlen($line) + 2);
     }
     $body = substr($response, 2);
     $responseObject->setContent($body);
     return $responseObject;
 }
Example #5
0
 /**
  * AJAX call for set payment and cancel dates on Dossier details page (Financial > Price)
  *
  * @Route("/ajax/set/date", name="payment_ajax_set_date")
  */
 public function ajaxSetDate(Request $request)
 {
     $type = $request->get('type');
     $dateType = $request->get('dateType');
     $dossierId = $request->get('dossierId');
     $paymentId = $request->get('paymentId');
     $value = $request->get('value');
     $em = $this->getDoctrine()->getManager();
     $dossier = $em->getRepository('BraemBackofficeBundle:Dossier')->find($dossierId);
     if (!$dossier) {
         throw $this->createNotFoundException('Unable to find Dossier entity.');
     }
     $payment = $this->getCurrentPayment($paymentId, $type, $dossierId);
     $hasPayment = $payment->getId() ? true : false;
     if (!$hasPayment) {
         $payment->setDossier($dossier);
         $user = $this->container->get('security.context')->getToken()->getUser();
         $payment->setUser($user);
     }
     $payment->setType($type);
     $dateSetter = 'set' . ucfirst($dateType);
     $date = \DateTime::createFromFormat('d/m/Y', $value);
     $payment->{$dateSetter}($date);
     $em->persist($payment);
     $em->flush();
     $dateTitle = $this->getTitleForDate($dateType);
     $dateTitleReturn = $this->get('translator')->trans($dateTitle);
     $valueArr = explode('/', $value);
     $valueReturn = $valueArr[2] . '-' . $valueArr[1] . '-' . $valueArr[0];
     $dateTypeReturn = str_replace('Date', '', $dateType);
     $response = array('type' => $type, 'dateType' => $dateTypeReturn, 'dossierId' => $dossierId, 'paymentId' => $payment->getId(), 'value' => $valueReturn, 'title' => $dateTitleReturn);
     $return = new Response();
     $return->setContent(json_encode($response));
     return $return;
 }
 public function process()
 {
     $gb = mGuestBook::getInstance();
     $newMsgs = $gb->getSince(array("n", "nick", "email", "date", "msg", "admin_answer", "admin_answer_date"), Request::getVarAsInteger("lastN", "POST"));
     Response::setContent($this->_view->compose($newMsgs));
     return true;
 }
Example #7
0
function abort($code)
{
    $response = new Response();
    $response->addHeader('Content-Type: text/html; charset=utf-8');
    $response->setIsHtml(true);
    $response->setContent('error.' . $code);
    return $response;
}
Example #8
0
 /**
  * Gets merged content form layout and page.
  *
  * @param string $template
  * @param array  $data
  *
  * @return Response
  *
  * @throws Exception
  */
 public function render($template, $data = [])
 {
     $response = new Response();
     $pageContent = $this->getPageContent($template, $data);
     $content = $this->getLayoutContent($pageContent, $data);
     $response->setContent($content);
     return $response;
 }
Example #9
0
 /**
  * @test
  */
 public function testIfContentIsAppendedCorrectly()
 {
     $response = new Response();
     $response->setContent('<html>');
     $this->assertEquals('<html>', $response->getContent());
     $response->appendContent('</html>');
     $this->assertEquals('<html></html>', $response->getContent());
 }
Example #10
0
 function show()
 {
     $configuration = new Config();
     $database = new SafeMySQL(array('user' => $configuration->db->username, 'pass' => $configuration->db->password, 'db' => $configuration->db->database, 'charset' => $configuration->db->charset));
     $data = $database->getAll('SELECT * FROM students');
     $response = new Response();
     $response->setContent(json_encode($data));
     $response->send();
 }
Example #11
0
 /**
  * Creates Phalcon response from OAuth2 Response.
  *
  * @param $oauth_response
  * @return Response
  */
 public static function responseFromOAuth($oauth_response)
 {
     $response = new Response();
     $response->setStatusCode($oauth_response->getStatusCode());
     foreach ($oauth_response->getHttpHeaders() as $header) {
         $response->setRawHeader($header);
     }
     $response->setContent($oauth_response->getResponseBody());
     return $response;
 }
Example #12
0
 public function testResponse()
 {
     $response = new Response();
     $response->setContent('some output');
     ob_start();
     $response->send();
     $output = ob_get_contents();
     ob_end_clean();
     $this->assertEquals('some output', $output);
 }
Example #13
0
 /**
  * Prepares the content
  * @param   mixed
  * @param   integer
  * @param   integer
  */
 public function setContent($varContent, $intOptions = 0, $intDepth = 512)
 {
     // Depth parameter is only supported from PHP 5.5
     if (version_compare(PHP_VERSION, '5.5', '>=')) {
         $strContent = json_encode($varContent, $intOptions, $intDepth);
     } else {
         $strContent = json_encode($varContent, $intOptions);
     }
     parent::setContent($strContent);
 }
 public function process()
 {
     $params = array();
     $params["title"] = array(array("title" => "Kirillka-after-party!"));
     $gb = mGuestBook::getInstance();
     $params["guestBookSite"] = $gb->getPage(array("n", "nick", "email", "date", "msg", "admin_answer", "admin_answer_date"), 1);
     $c = $this->_view->compose($params);
     Response::setContent($c);
     return true;
 }
 public function process()
 {
     $params = array();
     $params["title"] = array(array("title" => "Привет!"));
     $party = mParty::getInstance();
     $res = $party->chooseCharacter(Request::getVarAsInteger("guest", "POST"), Request::getVarAsInteger("id", "POST"), Request::getVarAsInteger("character", "POST"));
     $c = $this->_view->compose($res);
     Response::setContent($c);
     return true;
 }
 public function process()
 {
     $v = mVote::getInstance();
     if ($v->rateUp()) {
         $res = 1;
     } else {
         $res = 0;
     }
     Response::setContent($this->_view->compose($res));
     return true;
 }
 public function process()
 {
     $p = mParty::getInstance();
     if ($p->unsetMe()) {
         $res = $p->getCharacters();
     } else {
         $res = -1;
     }
     Response::setContent($this->_view->compose($res));
     return true;
 }
Example #18
0
 protected function renderJSON($data)
 {
     $buffer = json_encode($data);
     if ($buffer === false) {
         $errors = array(JSON_ERROR_NONE => 'Aucune erreur', JSON_ERROR_DEPTH => 'Profondeur maximale atteinte', JSON_ERROR_STATE_MISMATCH => 'Inadéquation des modes ou underflow', JSON_ERROR_CTRL_CHAR => 'Erreur lors du contrôle des caractères', JSON_ERROR_SYNTAX => 'Erreur de syntaxe ; JSON malformé', JSON_ERROR_UTF8 => 'Caractères UTF-8 malformés, probablement une erreur d\'encodage');
         $errorMessage = isset($errors[json_last_error()]) ? $errors[json_last_error()] : 'Erreur inconnue';
         throw new \Exception("Cannot JSON encode data: " . $errorMessage, 500);
     }
     $this->response->setContent($buffer);
     $this->response->addHeader('Content-Length', mb_strlen($buffer));
     return $this->response;
 }
Example #19
0
 /**
  * @return Response
  */
 public function run()
 {
     $response = new Response();
     $segs = explode('@', $this->action);
     $controller = new $segs[0]();
     $result = call_user_func_array([$controller, $segs[1]], []);
     if ($result instanceof View) {
         $response->setContent($result->render());
     } elseif ($result instanceof Response) {
         $response = $result;
     }
     return $response;
 }
 /**
  * @Route("ajax_persona", name="ajax_persona")
  */
 public function ajaxPersonaAction(Request $request)
 {
     $value = $request->get('term');
     $em = $this->getDoctrine()->getEntityManager();
     $members = $em->getRepository('YacareBaseBundle:Persona')->createQueryBuilder('o')->where('o.NombreVisible = :nombrevisible')->setParameter('nombrevisible', $value)->getQuery()->getResult();
     $json = array();
     foreach ($members as $member) {
         $json[] = array('label' => $member->getNombreVisible(), 'value' => $member->getId());
     }
     $response = new Response();
     $response->setContent(json_encode($json));
     return $response;
 }
 /**
  * Test controller action 2.
  */
 public function test2()
 {
     $result = db_query_range('SELECT * FROM node');
     $taxonomies = array('Innovation' => array('items' => array('New fans', 'New materials')), 'Current Technology' => array('items' => array('Fans')));
     $taxonomies['nodes'] = count($result);
     foreach ($result as $record) {
         // Perform operations on $record->title, etc. here.
         $taxonomies[$record->title] = $record->title;
     }
     $response = new Response();
     $response->setContent(json_encode($taxonomies));
     $response->headers->set('Content-Type', 'application/json');
     return $response;
 }
 public function process()
 {
     $params = array();
     $params["title"] = array(array("title" => "Привет!"));
     $party = mParty::getInstance();
     $params["characterList"] = $party->getCharacters();
     $params["guestList"] = $party->getGuests();
     $gb = mGuestBook::getInstance();
     $params["guestBookSite"] = $gb->getPage(array("n", "nick", "email", "date", "msg", "admin_answer", "admin_answer_date"), 1);
     $vote = mVote::getInstance();
     $params["voteList"] = $vote->getAll();
     $c = $this->_view->compose($params);
     Response::setContent($c);
     return true;
 }
 public function process()
 {
     /*$resp = reCaptcha::recaptcha_check_answer ( Request::getVar( "recaptcha_challenge_field", "POST" ),
     		Request::getVar( "recaptcha_response_field", "POST" ) );*/
     $gb = mGuestBook::getInstance();
     if ($gb->add()) {
         //$res = 0;
         $res = $gb->getPage(array("nick", "email", "date", "msg", "admin_answer", "admin_answer_date"), 1);
     } else {
         $_SESSION["gb.msg.add"] = $gb->getLastError();
         $res = -1;
     }
     Response::setContent($this->_view->compose($res));
     return true;
 }
Example #24
0
 /**
  * Dispatch the given request by finding and invoking the handler matching the request data.
  *
  * @param Request $request 
  * @param Response $response 
  * @return Response
  */
 public function dispatch(Request $request, Response $response)
 {
     $matches = $this->match($request->getPath(), $request->getMethod());
     if ($matches === null) {
         throw new \Exception('No routes match the path ' . $request->getPath() . '');
     }
     if (!is_callable($matches['handler'])) {
         throw new \Exception('The given handler is not a valid callback.');
     }
     $result = call_user_func_array($matches['handler'], array_merge(array($this->application), $matches['params']));
     if (is_string($result)) {
         $response->setContent($result);
     } elseif (is_numeric($result)) {
         $response->setStatus($result);
     }
     return $response;
 }
 public function supprimerfraishorsforfaitAction($id)
 {
     $session = $this->get('request')->getSession();
     $idVisiteur = $session->get('id');
     $mois = getMois(date("d/m/Y"));
     $numAnnee = substr($mois, 0, 4);
     $numMois = substr($mois, 4, 2);
     $pdo = PdoGsb::getPdoGsb();
     if ($pdo->estValideSuppressionFrais($idVisiteur, $mois, $id)) {
         $pdo->supprimerFraisHorsForfait($id);
     } else {
         $response = new Response();
         $response->setContent("<h2>Page introuvable erreur 404 ");
         $response->setStatusCode(404);
         return $response;
     }
     $lesFraisForfait = $pdo->getLesFraisFrofait($idVisiteur, $mois);
     $lesFraisHorsForfait = $pdo->getLesFraisHorsForfait($idVisiteur, $mois);
     return $this->render('PgGsbFraisBundle:SaisirFrais:saisirtouslesfrais.html.twig', array('lesfraisforfait' => $lesFraisForfait, 'lesfraishorsforfait' => $lesFraisHorsForfait, 'nummois' => $numMois, 'numannee' => $numAnnee, 'leserreursforfait' => null, 'leserreurshorsforfait' => null));
 }
Example #26
0
 public function serveFileView($fileId)
 {
     /* @var File $file */
     $file = $this->fileRepository->getById($fileId);
     if (!$file) {
         return \App::abort(404);
     }
     if ($file->visibility == 'internal' && !$this->user->hasAccess('internalFiles')) {
         return \Response::make('Forbidden', 403);
     }
     $response = new Response();
     $response->setContent($this->fileStorageService->getFile($file));
     $response->headers->set('content-type', $this->fileStorageService->getMime($file));
     return $response;
 }
 /**
  * function to parse a single response element. Response contain a text
  * element and dtdid attribute
  */
 private function parseResponseElement($elem)
 {
     $response = new Response(null);
     // process request attributes
     $temp = $elem->getAttribute("dtdid");
     if ($temp != null) {
         $response->setDtdID($temp);
     }
     // process TEXT child element
     $text = $elem->firstChild;
     if ($text != null) {
         $response->setContent($text->data);
     }
     return $response;
 }
Example #28
0
 public function testSetContent()
 {
     $response = new Response('first');
     $response->setContent('second');
     $this->assertEquals('second', $response->getContent());
 }
Example #29
0
 public function remindResetForm(Request $request, Response $response, array $args)
 {
     if (!isset($args['token'])) {
         return new RedirectResponse($this->config->baseUrl() . '/remind');
     }
     $template = new \App\Template('remind_reset.twig');
     $template->title = 'Password Reset';
     $template->userid = $args['userid'];
     $template->token = $args['token'];
     $response->setContent($template->render());
     return $response;
 }
Example #30
0
 public static function run()
 {
     $dotenv = new \Dotenv\Dotenv(TXTROOT);
     $dotenv->load();
     if (isset($_SERVER['HTTP_USER_AGENT']) && stripos($_SERVER['HTTP_USER_AGENT'], 'Slackbot-LinkExpanding') !== false) {
         Response::sendResponse(Response::HTTP_403, ['error' => "No slackbots allowed"]);
         exit;
     }
     if (!getenv('REDIS_URL')) {
         Response::sendResponse(Response::HTTP_500, ['error' => "REDIS_URL environment variable required"]);
         exit;
     }
     if (!Request::isGet() && !Request::isPost()) {
         Response::sendResponse(Response::HTTP_405, ['error' => "Please use a GET or POST"]);
         exit;
     }
     if (getenv('AUTH') && (!isset($_POST['auth']) || !static::compareStrings(getenv('AUTH'), $_POST['auth']))) {
         Response::sendResponse(Response::HTTP_401, ['error' => "'auth' parameter is missing or invalid"]);
         exit;
     }
     //    header('Access-Control-Allow-Origin: ' . $_SERVER['ORIGIN']);
     //    header('Access-Control-Allow-Credentials: true');
     //    Access-Control-Allow-Methods: GET, POST
     // x-frame-options
     $redis = Redis::getRedis(getenv('REDIS_URL'));
     $hash = ltrim(Request::getPath(), '/');
     if ($hash) {
         if ($hash == 'robots.txt') {
             Response::setStatus(Response::HTTP_200);
             Response::setContentType(Response::TEXT);
             Response::setContent("User-agent: *\nDisallow: /");
             Response::send();
             exit;
         }
         if (Request::isPost()) {
             Response::sendResponse(Response::HTTP_405, ['error' => "Cannot post to a hash"]);
             exit;
         }
         if (strlen($hash) > Redis::MAX_KEY_LENGTH || !preg_match('/^[A-Za-z0-9]+$/', $hash)) {
             Response::sendResponse(Response::HTTP_404, ['error' => "Invalid hash"]);
             exit;
         }
         $data = $redis->hGetAll(Redis::PREFIX . $hash);
         if (!$data) {
             Response::sendResponse(Response::HTTP_404, ['error' => "Hash not found"]);
             exit;
         }
         $datum = Datum::createFromArray($data);
         if ($datum->once) {
             $redis->del(Redis::PREFIX . $hash);
         }
         // set proper cache header, esp for read-once
         // actually, PROBABLY NOT A GOOD IDEA, esp for things that are meant to expire. we should do the opposite - dont cache
         // Response::setCacheForeverHeaders();
         Response::sendResponse('datum', ['datum' => $datum]);
         exit;
     }
     if (Request::isGet()) {
         Response::sendResponse('home', ['domain' => 'http' . (Request::isSSL() ? 's' : '') . '://' . Request::getHost()]);
         exit;
     } else {
         $data = isset($_POST['data']) ? $_POST['data'] : file_get_contents("php://input");
         if (!$data) {
             Response::sendResponse(Response::HTTP_400, ['error' => 'No data submitted']);
             exit;
         }
         $datum = new Datum(trim($data), Datum::T_TEXT, Request::isFlagOn('once'));
         $key = substr(static::randId(), 0, Redis::MAX_KEY_LENGTH);
         $ttl = isset($_POST['ttl']) ? max(1, min((int) $_POST['ttl'], Redis::MAX_TTL)) : Redis::MAX_TTL;
         $redis->hMSet(Redis::PREFIX . $key, $datum->toArray());
         $redis->expire(Redis::PREFIX . $key, $ttl);
         $url = 'http' . (Request::isSSL() ? 's' : '') . '://' . Request::getHost() . '/' . $key;
         Response::sendResponse(Response::HTTP_201, ['url' => $url, 'ttl' => $ttl, '_textKey' => 'url']);
         exit;
     }
 }