uawdijnntqw1x1x1
IP : 13.58.173.156
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
www
/
axolotl
/
data
/
www
/
kirov.axolotls.ru
/
bitrix
/
modules
/
rest
/
lib
/
integration
/
internalizer.php
/
/
<?php namespace Bitrix\Rest\Integration; use Bitrix\Sale\Controller\Controller; use Bitrix\Sale\Result; final class Internalizer extends ModificationFieldsBase { public function __construct(ViewManager $manager, $data=[]) { $this->format = self::TO_WHITE_LIST | self::TO_SNAKE | self::CHECK_REQUIRED; parent::__construct($manager, $data); } /** * @return Result */ public function process() { $r = new Result(); $arguments = $this->getArguments(); if($this->format & self::TO_SNAKE) { $arguments = $this->convertToSnakeCase($arguments); } if($this->format & self::CHECK_REQUIRED) { $check = $this->check($arguments); if(!$check->isSuccess()) { $r->addErrors($check->getErrors()); } } if($r->isSuccess()) { if($this->format & self::TO_WHITE_LIST) { $arguments = $this->internalize($arguments); } } return $r->setData(['data'=>$r->isSuccess()?$arguments:null]); } protected function convertToSnakeCase($arguments=[]) { $name = $this->getName(); /** @var Controller $controller */ $controller = $this->getController(); $view = $this->getView($controller); if ($name == 'list') { if(isset($arguments['select'])) { $fields = $arguments['select']; if(!empty($fields)) $arguments['select'] = $view->convertKeysToSnakeCaseSelect($fields); } if(isset($arguments['filter'])) { $fields = $arguments['filter']; if(!empty($fields)) $arguments['filter'] = $view->convertKeysToSnakeCaseFilter($fields); } if(isset($arguments['order'])) { $fields = $arguments['order']; if(!empty($fields)) $arguments['order'] = $view->convertKeysToSnakeCaseOrder($fields); } } elseif ($name == 'getfields'){} elseif ($name == 'get'){} elseif ($name == 'delete'){} elseif ($name == 'add' || $name == 'update') { if(isset($arguments['fields'])) { $fields = $arguments['fields']; if(!empty($fields)) $arguments['fields'] = $view->convertKeysToSnakeCaseFields($fields); } } else { $arguments = $view->convertKeysToSnakeCaseArguments($name, $arguments); } return $arguments; } private function internalize($arguments) { $name = $this->getName(); /** @var Controller $controller */ $controller = $this->getController(); $view = $this->getView($controller); if($name == 'add') { $fields = $arguments['fields']; if(!empty($fields)) $arguments['fields'] = $view->internalizeFieldsAdd($fields); } elseif ($name == 'update') { $fields = $arguments['fields']; if(!empty($fields)) $arguments['fields'] = $view->internalizeFieldsUpdate($fields); } elseif ($name == 'list') { $fields = $view->internalizeFieldsList([ 'select'=>$arguments['select'], 'filter'=>$arguments['filter'], 'order'=>$arguments['order'], ]); $arguments['select'] = $fields['select']; $arguments['filter'] = $fields['filter']; $arguments['order'] = $fields['order']; } elseif ($name == 'getfields'){} elseif ($name == 'get'){} elseif ($name == 'delete'){} else { $arguments = $view->internalizeArguments($name, $arguments); } return $arguments; } protected function check($arguments) { $r = new Result(); $name = $this->getName(); /** @var Controller $controller */ $controller = $this->getController(); $view = $this->getView($controller); if($name == 'add') { $r = $view->checkFieldsAdd($arguments['fields']); } elseif ($name == 'update') { $r = $view->checkFieldsUpdate($arguments['fields']); } elseif ($name == 'list') { $r = $view->checkFieldsList($arguments); } elseif ($name == 'getfields'){} elseif ($name == 'get'){} elseif ($name == 'delete'){} else { $r = $view->checkArguments($name, $arguments); } return $r; } }
/var/www/axolotl/data/www/kirov.axolotls.ru/bitrix/modules/rest/lib/integration/internalizer.php