public function triggerSubscriptionEvent(array $payload) { $response = new Response(); if (!array_key_exists('event_type', $payload)) { $response->setStatusCode(400)->setContent('Invalid payload.'); return $response; } switch ($payload['event_type']) { case 'subscription_created': $this->getEventManager()->trigger('subscriptionCreated', $this, ['subscription' => $payload['data']['subscription']]); break; case 'subscription_renewed': $this->getEventManager()->trigger('subscriptionRenewed', $this, ['subscription' => $payload['data']['subscription']]); break; case 'subscription_activation': $this->getEventManager()->trigger('subscriptionActivated', $this, ['subscription' => $payload['data']['subscription']]); break; case 'subscription_expired': case 'subscription_cancelled': break; case 'subscription_upgraded': case 'subscription_downgraded': $this->getEventManager()->trigger('subscriptionUpdated', $this, ['subscription' => $payload['data']['subscription']]); break; default: $response->setStatusCode(400)->setContent('Invalid event type: ' . $payload['event_type']); return $response; } $response->setStatusCode(200)->setContent('Success.'); return $response; }
public function getResponse() { $this->serviceManager->get('log')->warn('No concrete RequestHandler found.'); $response = new ZendResponse(); $response->setStatusCode(500); return $response; }
public function getResponse() { $doc = new DOMDocument(); $doc->loadXML('<nodeid>' . $this->context->queryToValue('//id') . '</nodeid>'); $uiComposer = new \BaseXMS\UiComposer\UiComposer(); $uiComposer->setServiceLocator($this->getServiceLocator()); $uiComposer->setContextData($doc); $response = new ZendResponse(); $response->setContent($uiComposer->run()->output()); $response->setStatusCode(200); return $response; }
public function callbackAction() { $payload = file_get_contents("php://input"); $zohoConfig = $this->getServiceLocator()->get('config')['zoho']; $accessToken = $this->params()->fromQuery('token'); if (!array_key_exists('webhook_access_token', $zohoConfig) || $accessToken !== $zohoConfig['webhook_access_token']) { $response = new Response(); $response->setStatusCode(403)->setReasonPhrase('Invalid access token.')->setContent('Invalid access token.'); return $response; } if (substr($payload, 0, 8) === 'payload=') { $payload = substr($payload, 8); } $data = Json::decode(urldecode($payload), Json::TYPE_ARRAY); /** @var \Zoho\Subscriptions\Service\Webhook\Subscription $serviceWebhook */ $serviceWebhook = $this->getServiceLocator()->get('Zoho\\Subscriptions\\Service\\Webhook\\Subscription'); try { $response = $serviceWebhook->triggerSubscriptionEvent($data); } catch (\Exception $e) { $response = new Response(); $response->setStatusCode(500)->setReasonPhrase('Unexpected server error.')->setContent('Unexpected server error.'); } return $response; }
/** * @param int $code error code */ public function __invoke($code = 404) { $this->response->setStatusCode((int) $code); $this->layout->setVariables(['message' => '404 Not found', 'reason' => 'The link you have requested doesn\'t exists', 'exception' => '']); $this->layout->setTemplate('error/index'); }
/** * 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; }
/** * Perform an authentication check on this request * * @param MvcEvent $e */ public function checkAuthentication(MvcEvent $e) { $request = $this->getRequest($e); // make sure we have a request object $controller_map = $request->getControllerMap(); // make sure we have a controller map $restricted = $controller_map->isRestricted(); $requires_login = $controller_map->requiresLogin(); // get user from session $user = $request->getUser(); // this action requires authentication if ($restricted || $requires_login) { $redirect_to_login = false; // this action requires a logged-in user, but user is not logged-in if ($requires_login && !$user->isAuthenticated()) { $redirect_to_login = true; } elseif ($restricted && !$user->isAuthenticated() && !$user->isInLocalIpRange()) { $redirect_to_login = true; } // redirect to login page if ($redirect_to_login == true) { $params = array('controller' => 'authenticate', 'action' => 'login', 'return' => $this->request->server()->get('REQUEST_URI')); $url = $request->url_for($params); $response = new HttpResponse(); $response->headers()->addHeaderLine('Location', $url); $response->setStatusCode(302); return $response; } } }
public function checkAuthentication(MvcEvent $e) { $request = $this->getRequest($e); // make sure we have a request object $controller_map = $request->getControllerMap(); // make sure we have a controller map $restricted = $controller_map->isRestricted(); $requires_login = $controller_map->requiresLogin(); // get user from session $user = $request->getUser(); ##### xerxes 1 transition hack @todo remove this if ($user->isLocal() || $user->isGuest()) { foreach ($_COOKIE as $key => $value) { if (strstr($key, 'xerxessession')) { if ($user->username != $value) { $username = Parser::removeRight($user->username, '@'); $request->setSessionData("username", $username . '@' . $value); $user = $request->getUser(); } break; } } } ###### end hack // this action requires authentication if ($restricted || $requires_login) { $redirect_to_login = false; // this action requires a logged-in user, but user is not logged-in if ($requires_login && !$user->isAuthenticated()) { $redirect_to_login = true; } elseif ($restricted && !$user->isAuthenticated() && !$user->isInLocalIpRange()) { $redirect_to_login = true; } // redirect to login page if ($redirect_to_login == true) { $params = array('controller' => 'authenticate', 'action' => 'login', 'return' => $this->request->server()->get('REQUEST_URI')); $url = $request->url_for($params); $response = new HttpResponse(); $response->headers()->addHeaderLine('Location', $url); $response->setStatusCode(302); return $response; } } }
/** * @param string $request Request uri * @throws \RuntimeException * @return \Zend\Http\PhpEnvironment\Response */ public function dispatch($request) { if (!$this->getResolver()) { throw new \RuntimeException("No resolver setted"); } $asset = $this->resolver->resolve($request); $content = null; $responseCode = 404; $headers = Headers::fromString("Content-Type: text/plain"); if ($asset) { $headers = $this->getHeaders($asset->getFile(), $asset->getMime()); if ($this->browserCached($asset->getFile())) { $responseCode = 304; $headers->addHeader(Connection::fromString("Connection: close")); } else { $responseCode = 200; $cacheKey = "assets-cache-" . md5($request); if ($this->cache) { $content = $this->cache->getItem($cacheKey); } if (!$content) { $content = $asset->getContent(); $assetName = end(explode('\\', get_class($asset))); if (array_key_exists($assetName, $this->filters)) { foreach ($this->filters[$assetName] as $filter) { $content = $filter->filter($content); } } if ($this->cache) { $this->cache->addItem($cacheKey, $content); } } } } else { $content = "Asset not found!"; } $response = new Response(); $response->setStatusCode($responseCode); $response->setContent($content); $response->setHeaders($headers); return $response; }