Exemple #1
0
 /**
  * buildFields
  * @param string $defaultFieldsValue
  * @return void
  * @throws Request\Exception
  */
 private function buildFields($defaultFieldsValue)
 {
     $rawFields = $this->getRequest()->get('fields', null, $defaultFieldsValue);
     $fields = explode(',', $rawFields);
     $helper = new SplitHelper('.');
     $keyedFields = array_fill_keys($fields, null);
     $this->setField(new Field($helper->convert($keyedFields)));
 }
 /**
  * testConvert_upperCase
  * @return void
  * @throws \Phalcon\Http\Request\Exception
  */
 public function testConvert_upperCase()
 {
     //Arrange
     $splitHelper = new SplitHelper('.');
     $input = ['user.abc' => 'alpha', 'User.abd' => 'delta'];
     //Act
     $actual = $splitHelper->convert($input);
     //Assert
     $expected = (object) ['User' => (object) ['abc' => 'alpha', 'abd' => 'delta']];
     $this->assertEquals($expected, $actual);
 }
Exemple #3
0
 private function buildSearch()
 {
     $helper = new SplitHelper('_');
     $params = $helper->convert($this->getRequest()->getQuery());
     $this->setSearch(new Search($params, $this->getWhiteList()));
 }
Exemple #4
0
 /**
  * Gets the parameters, sorted from parent to child
  * @return \stdClass
  * @throws Exception
  */
 private function loadParams()
 {
     if ($this->getRequest()->getRawBody() == '' && empty($this->getRequest()->getPost()) && empty($this->getRequest()->getPut()) && empty($this->getRequest()->getUploadedFiles())) {
         throw new Exception('No Data Passed', 400);
     }
     $bulkCreation = false;
     if (!is_null($this->getRequest()->getJsonRawBody())) {
         $params = $this->getRequest()->getJsonRawBody();
         $delimiter = '.';
         if (is_array($params)) {
             $bulkCreation = true;
         }
     } else {
         if ($this->getRequest()->isPost()) {
             $params = $this->getRequest()->getPost();
         } else {
             $params = $this->getRequest()->getPut();
         }
         $delimiter = '_';
     }
     if ($this->request->getRawBody() != '' && sizeOf($params) == 0 && json_last_error() != JSON_ERROR_NONE) {
         $this->dispatchJsonError();
     }
     if ($bulkCreation) {
         //Bulk Creation
         $outputParams = [];
         foreach ($params as $param) {
             $helper = new SplitHelper($delimiter);
             $outputParams[] = $helper->convert((array) $param);
         }
         $this->setParams($outputParams);
     } else {
         $helper = new SplitHelper($delimiter);
         $this->setParams($helper->convert((array) $params));
     }
 }