Beispiel #1
0
 /**
  * constructor to set up the object.
  *
  * @since 1.0
  */
 public function __construct()
 {
     self::$logger = new Logger('DEnumController');
     self::$logger->debug('>>__construct()');
     // ensure that the super class constructor is called, indicating the rights group
     parent::__construct('Admin');
     $this->BO = new DEnum();
     self::$logger->debug('<<__construct');
 }
Beispiel #2
0
 /**
  * constructor to set up the object.
  *
  * @since 1.0
  */
 public function __construct()
 {
     self::$logger = new Logger('SequenceController');
     self::$logger->debug('>>__construct()');
     // ensure that the super class constructor is called, indicating the rights group
     parent::__construct('Admin');
     // set up the title and meta details
     $this->setTitle('Listing all Sequences');
     $this->setDescription('Page to list all Sequences.');
     $this->setKeywords('list,all,Sequences');
     self::$logger->debug('<<__construct');
 }
 /**
  * Testing the doDELETE method.
  */
 public function testDoDELETE()
 {
     $config = ConfigProvider::getInstance();
     $sessionProvider = $config->get('session.provider.name');
     $session = SessionProviderFactory::getInstance($sessionProvider);
     $front = new FrontController();
     $controller = new ActiveRecordController();
     $securityParams = $controller->generateSecurityFields();
     $person = $this->createPersonObject('test');
     $person->save();
     $params = array('var1' => $securityParams[0], 'var2' => $securityParams[1]);
     $request = new Request(array('method' => 'DELETE', 'URI' => '/record/' . urlencode('Alpha\\Model\\Person') . '/' . $person->getOID(), 'params' => $params));
     $response = $front->process($request);
     $this->assertEquals(301, $response->getStatus(), 'Testing the doDELETE method');
     $this->assertTrue(strpos($response->getHeader('Location'), '/records/' . urlencode('Alpha\\Model\\Person')) !== false, 'Testing the doDELETE method');
     $person = $this->createPersonObject('test');
     $person->save();
     $params = array('var1' => $securityParams[0], 'var2' => $securityParams[1]);
     $request = new Request(array('method' => 'DELETE', 'URI' => '/tk/' . FrontController::encodeQuery('act=Alpha\\Controller\\ActiveRecordController&ActiveRecordType=Alpha\\Model\\Person&ActiveRecordOID=' . $person->getOID()), 'params' => $params));
     $response = $front->process($request);
     $this->assertEquals(301, $response->getStatus(), 'Testing the doDELETE method');
     $this->assertTrue(strpos($response->getHeader('Location'), '/tk/') !== false, 'Testing the doDELETE method');
     $person = $this->createPersonObject('test');
     $person->save();
     $request = new Request(array('method' => 'DELETE', 'URI' => '/record/' . urlencode('Alpha\\Model\\Person') . '/' . $person->getOID(), 'params' => $params, 'headers' => array('Accept' => 'application/json')));
     $response = $front->process($request);
     $this->assertEquals(200, $response->getStatus(), 'Testing the doDELETE method');
     $this->assertEquals('application/json', $response->getHeader('Content-Type'), 'Testing the doDELETE method');
     $this->assertEquals('deleted', json_decode($response->getBody())->message, 'Testing the doDELETE method');
 }
Beispiel #4
0
 /**
  * The constructor method.
  *
  * @throws Alpha\Exception\BadRequestException
  *
  * @since 1.0
  */
 public function __construct()
 {
     self::$logger = new Logger('FrontController');
     self::$logger->debug('>>__construct()');
     $config = ConfigProvider::getInstance();
     mb_internal_encoding('UTF-8');
     mb_http_output('UTF-8');
     mb_http_input('UTF-8');
     ini_set('default_charset', 'utf-8');
     if (!mb_check_encoding()) {
         throw new BadRequestException('Request character encoding does not match expected UTF-8');
     }
     $this->addRoute('/', function ($request) {
         $controller = new IndexController();
         return $controller->process($request);
     });
     $this->addRoute('/a/{title}/{view}', function ($request) {
         $controller = new ArticleController();
         return $controller->process($request);
     })->value('title', null)->value('view', 'detailed');
     $this->addRoute('/articles/{start}/{limit}', function ($request) {
         $controller = new ArticleController();
         return $controller->process($request);
     })->value('start', 0)->value('limit', $config->get('app.list.page.amount'));
     $this->addRoute('/attach/{articleOID}/{filename}', function ($request) {
         $controller = new AttachmentController();
         return $controller->process($request);
     });
     $this->addRoute('/cache', function ($request) {
         $controller = new CacheController();
         return $controller->process($request);
     });
     $this->addRoute('/denum/{denumOID}', function ($request) {
         $controller = new DEnumController();
         return $controller->process($request);
     })->value('denumOID', null);
     $this->addRoute('/excel/{ActiveRecordType}/{ActiveRecordOID}', function ($request) {
         $controller = new ExcelController();
         return $controller->process($request);
     })->value('ActiveRecordOID', null);
     $this->addRoute('/feed/{ActiveRecordType}/{type}', function ($request) {
         $controller = new FeedController();
         return $controller->process($request);
     })->value('type', 'Atom');
     $this->addRoute('/gensecure', function ($request) {
         $controller = new GenSecureQueryStringController();
         return $controller->process($request);
     });
     $this->addRoute('/image/{source}/{width}/{height}/{type}/{quality}/{scale}/{secure}/{var1}/{var2}', function ($request) {
         $controller = new ImageController();
         return $controller->process($request);
     })->value('var1', null)->value('var2', null);
     $this->addRoute('/listactiverecords', function ($request) {
         $controller = new ListActiveRecordsController();
         return $controller->process($request);
     });
     $this->addRoute('/log/{logPath}', function ($request) {
         $controller = new LogController();
         return $controller->process($request);
     });
     $this->addRoute('/login', function ($request) {
         $controller = new LoginController();
         return $controller->process($request);
     });
     $this->addRoute('/logout', function ($request) {
         $controller = new LogoutController();
         return $controller->process($request);
     });
     $this->addRoute('/metric', function ($request) {
         $controller = new MetricController();
         return $controller->process($request);
     });
     $this->addRoute('/recordselector/12m/{ActiveRecordOID}/{field}/{relatedClass}/{relatedClassField}/{relatedClassDisplayField}/{relationType}', function ($request) {
         $controller = new RecordSelectorController();
         return $controller->process($request);
     })->value('relationType', 'ONE-TO-MANY');
     $this->addRoute('/recordselector/m2m/{ActiveRecordOID}/{field}/{relatedClassLeft}/{relatedClassLeftDisplayField}/{relatedClassRight}/{relatedClassRightDisplayField}/{accessingClassName}/{lookupOIDs}/{relationType}', function ($request) {
         $controller = new RecordSelectorController();
         return $controller->process($request);
     })->value('relationType', 'MANY-TO-MANY');
     $this->addRoute('/search/{query}/{start}/{limit}', function ($request) {
         $controller = new SearchController();
         return $controller->process($request);
     })->value('start', 0)->value('limit', $config->get('app.list.page.amount'));
     $this->addRoute('/sequence/{start}/{limit}', function ($request) {
         $controller = new SequenceController();
         return $controller->process($request);
     })->value('start', 0)->value('limit', $config->get('app.list.page.amount'));
     $this->addRoute('/tag/{ActiveRecordType}/{ActiveRecordOID}', function ($request) {
         $controller = new TagController();
         return $controller->process($request);
     });
     $this->addRoute('/install', function ($request) {
         $controller = new InstallController();
         return $controller->process($request);
     });
     $this->addRoute('/record/{ActiveRecordType}/{ActiveRecordOID}/{view}', function ($request) {
         $controller = new ActiveRecordController();
         return $controller->process($request);
     })->value('ActiveRecordOID', null)->value('view', 'detailed');
     $this->addRoute('/records/{ActiveRecordType}/{start}/{limit}', function ($request) {
         $controller = new ActiveRecordController();
         return $controller->process($request);
     })->value('start', 0)->value('limit', $config->get('app.list.page.amount'));
     $this->addRoute('/tk/{token}', function ($request) {
         $params = self::getDecodeQueryParams($request->getParam('token'));
         if (isset($params['act'])) {
             $className = $params['act'];
             if (class_exists($className)) {
                 $controller = new $className();
                 if (isset($params['ActiveRecordType']) && $params['act'] == 'Alpha\\Controller\\ActiveRecordController') {
                     $customController = $controller->getCustomControllerName($params['ActiveRecordType']);
                     if ($customController != null) {
                         $controller = new $customController();
                     }
                 }
                 $request->setParams(array_merge($params, $request->getParams()));
                 return $controller->process($request);
             }
         }
         self::$logger->warn('Bad params [' . print_r($params, true) . '] provided on a /tk/ request');
         return new Response(404, 'Resource not found');
     });
     $this->addRoute('/alpha/service', function ($request) {
         $controller = new LoginController();
         $controller->setUnitOfWork(array('Alpha\\Controller\\LoginController', 'Alpha\\Controller\\ListActiveRecordsController'));
         return $controller->process($request);
     });
     $this->addRoute('/phpinfo', function ($request) {
         $controller = new PhpinfoController();
         return $controller->process($request);
     });
     self::$logger->debug('<<__construct');
 }
Beispiel #5
0
 /**
  * Handle DELETE requests.
  *
  * @param Alpha\Util\Http\Request $request
  *
  * @return Alpha\Util\Http\Response
  *
  * @throws Alpha\Exception\SecurityException
  * @throws Alpha\Exception\IllegalArguementException
  *
  * @since 2.0
  */
 public function doDELETE($request)
 {
     self::$logger->debug('>>doDELETE($request=[' . var_export($request, true) . '])');
     $config = ConfigProvider::getInstance();
     $this->setName($config->get('app.url') . $this->request->getURI());
     $this->setUnitOfWork(array($config->get('app.url') . $this->request->getURI(), $config->get('app.url') . $this->request->getURI()));
     $request->addParams(array('ActiveRecordType' => 'Alpha\\Model\\Tag'));
     self::$logger->debug('<<doDELETE');
     return parent::doDELETE($request);
 }
Beispiel #6
0
 /**
  * Method to handle DELETE requests.
  *
  * @param Alpha\Util\Http\Request
  *
  * @return Alpha\Util\Http\Response
  *
  * @since 2.0
  */
 public function doDELETE($request)
 {
     self::$logger->debug('>>doDELETE($request=[' . var_export($request, true) . '])');
     $this->setUnitOfWork(array());
     self::$logger->debug('<<doDELETE');
     return parent::doDELETE($request);
 }