/** * Clear authorization Cookie * * @param string $authDomain */ private function clearCookie(Request $request, Response $response, $authDomain) { if ($request->getCookie()->offsetExists($authDomain)) { $cookie = new SetCookie($authDomain, '', strtotime('-1 Year', time()), '/'); $response->getHeaders()->addHeader($cookie); $response->send(); } }
/** * @param Response $response * * @return Response */ public function getImageResponse(Response $response) { if (is_file($this->trackingFile)) { $imageContent = file_get_contents($this->trackingFile); $response->setContent($imageContent); $response->getHeaders()->addHeaderLine('Content-Transfer-Encoding', 'binary')->addHeaderLine('Content-Type', 'image/gif')->addHeaderLine('Content-Length', mb_strlen($imageContent)); } return $response; }
/** * Test that response has status 302 Redirect and optionally that the * location header is set to a specific URL. * * @param string $url */ protected function assertResponseRedirect($url = null) { $this->assertResponseStatusCode(302, "Failed asserting response status is redirect"); $this->assertTrue($this->response->isRedirect(), "Failed asserting response is redirect"); if (null !== $url) { $location = $this->response->getHeaders()->get('location')->getFieldValue(); $this->assertEquals($url, $location, "Failed asserting redirect location '{$location}' is '{$url}'"); } }
public function doAction() { /** @var $rq Request */ $rq = $this->getRequest(); $id = $this->params('id'); $endpoint = $this->params('endpoint'); $service = $this->getApiService(); $result = $service->perform($id, $endpoint, $rq->getPost()); $result = Json::encode($result); $response = new Response(); $response->getHeaders()->addHeaderLine('Content-Type: application/json'); $response->setContent($result); return $response; }
/** * * {@inheritDoc} */ public function selectSite(Request $request, Response $response) { if (!$request->isGet()) { return false; } $siteId = $request->getQuery('siteId', self::ENGLISH_SITE_ID); $site = $this->siteService->find($siteId); if (!$site) { $siteId = self::ENGLISH_SITE_ID; } // Just in case $this->siteId = $siteId; $cookie = new SetCookie(self::SITE_ID_COOKIE, $siteId, time() + 30 * 24 * 60 * 60); // now + 1 month $response->getHeaders()->addHeader($cookie); return true; }
public function displayDownload($contents, $fileName) { $response = new Response(); $headers = $response->getHeaders(); $headers->addHeaderLine('Content-Disposition: attachment; filename="' . $fileName . '"'); $headers->addHeaderLine('Content-Type: ' . "application/force-download"); $headers->addHeaderLine('Content-Length: ' . strlen($contents)); $response->setContent($contents); return $response; }
/** * Easily bind role with resources * @return type * Author: Tahmina Khatoon */ public function bindRolesAction() { $request = $this->getRequest(); if ($request->isPost()) { $confirm = ''; $formdata = $request->getPost(); if (!empty($formdata['role_id']) && !empty($formdata['resource_id']) && md5($formdata['role_id'] * $formdata['resource_id']) == $formdata['token']) { $existdata = $this->getRoleResourcesTable()->getRoleResourcesByRoleIdAndResourceId($formdata['role_id'], $formdata['resource_id']); $resourceDetails = $this->getResourcesTable()->getResources($formdata['resource_id']); $resource_name = explode('/', $resourceDetails->name); $group = array('index', 'search'); $formDataAll = array(); if (empty($resource_name[1]) || in_array($resource_name[1], $group)) { $select = new Select(); $where = new \Zend\Db\Sql\Where(); $where->in('name', array($resource_name[0], $resource_name[0] . '/index', $resource_name[0] . '/search')); $select->where($where); $main_resources = $this->getResourcesTable()->fetchAll($select); $total = $main_resources->count(); if ($total > 0) { foreach ($main_resources as $row) { $role_resources = new RoleResources(); $formDataAll[] = array('role_id' => $formdata['role_id'], 'resource_id' => $row->id); } } } else { $formDataAll[] = array('role_id' => $formdata['role_id'], 'resource_id' => $formdata['resource_id']); } if (!empty($formdata['status'])) { foreach ($formDataAll as $data) { $role_resources = new RoleResources(); $role_resources->exchangeArray($data); $confirm = $this->getRoleResourcesTable()->saveRoleResources($role_resources); } } else { foreach ($formDataAll as $data) { $existdata = $this->getRoleResourcesTable()->getRoleResourcesByRoleIdAndResourceId($data['role_id'], $data['resource_id']); if (!empty($existdata)) { $id = $existdata->id; $confirm = $this->getRoleResourcesTable()->deleteRoleResources($id); } } } } $response = new Response(); $response->getHeaders()->addHeaderLine('Content-Type: application/json'); $response->setContent(Json::encode($confirm)); $response->setStatusCode(200); return $response; } else { $select = new Select(); $order_by = $this->params()->fromRoute('order_by') ? $this->params()->fromRoute('order_by') : 'name'; $order = $this->params()->fromRoute('order') ? $this->params()->fromRoute('order') : Select::ORDER_ASCENDING; $select->order($order_by . ' ' . $order); $resources = $this->getResourcesTable()->fetchAll($select); $roles = $this->getRolesTable()->fetchAll(); $primaryResources = $this->formetArray($this->getResourcesTable()->getPrimaryResources(), 'id'); $roleResources = array(); if (!empty($roles)) { foreach ($roles as $role) { $roleResources[$role->id] = $this->formetArray($this->getRoleResourcesTable()->getResourcesBasedOnRole($role->id), 'resource_id'); } } $this->vm->setVariables(array('resources' => $resources, 'roles' => $roles, 'roleResources' => $roleResources, 'primaryResources' => $primaryResources, 'order_by' => $order_by, 'order' => $order, 'pageAction' => 'resources/bind_roles')); } return $this->vm; }
/** * Prepare the response with the CSV export and return it * * @return HttpResponse * @throws \Exception if any exceptions are thrown within the content callback */ public function getResponse() { if (method_exists($this->controller, 'getResponse')) { /** @var HttpResponse $response */ $response = $this->controller->getResponse(); } else { $response = new HttpResponse(); } $fp = fopen('php://output', 'w'); ob_start(); fputcsv($fp, $this->header, $this->delimiter, $this->enclosure); foreach ($this->content as $i => $item) { try { $fields = $this->callback ? call_user_func($this->callback, $item) : $item; if (!is_array($fields)) { throw new \RuntimeException('CsvExport can only accept arrays, ' . gettype($fields) . ' provided at index ' . $i . '. Either use arrays when setting the records or use a callback to convert each record into an array.'); } fputcsv($fp, $fields, $this->delimiter, $this->enclosure); } catch (\Exception $ex) { ob_end_clean(); throw $ex; } } fclose($fp); $response->setContent(ob_get_clean()); $response->getHeaders()->addHeaders(array('Content-Type' => 'text/csv', 'Content-Disposition' => 'attachment;filename="' . str_replace('"', '\\"', $this->name) . '.csv"')); return $response; }