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;
 }
Esempio n. 2
0
 public function getResponse()
 {
     $this->serviceManager->get('log')->warn('No concrete RequestHandler found.');
     $response = new ZendResponse();
     $response->setStatusCode(500);
     return $response;
 }
Esempio n. 3
0
 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;
 }
Esempio n. 5
0
 /**
  * @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;
 }
Esempio n. 7
0
 /**
  * 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;
         }
     }
 }
Esempio n. 8
0
 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;
 }