public function addFilter($filterName, $filterClass, $filterElementName = '') { if (!isset($this->_filters[$filterName]) && class_exists($filterClass)) { $this->_filters[$filterName] = new $filterClass($this->_pixie); $elementName = empty($filterElementName) ? $this->_filters[$filterName]->getFieldName() : $filterElementName; $postData = $this->_request->post($elementName); $value = !empty($postData) ? $postData : $this->_request->get($elementName); $this->_filters[$filterName]->setValue($value); } }
public function match(Request $request) { if (in_array($request->method, ['GET', 'DELETE', 'HEAD', 'OPTIONS'])) { return true; } $contentType = HttpHelper::cleanContentType($request->server('CONTENT_TYPE')); if (!$contentType) { return true; } return in_array($contentType, $this->types); }
public function download(Database $db, Request $request) { $filter = []; if ($keyword = $request->query('keyword')) { $filter = ['(name like :keyword or username like :keyword)', ':keyword' => '%' . $keyword . '%']; } $data = $db->select('name,username,level', 'user', $filter); $filename = 'user-report'; $header = ['Name', 'Username', 'Level']; $delimiter = ';'; $delay = false; return $this->csv($filename, $header, $data, $delimiter, $delay); }
public function checkReferer(Request $request) { if ($this->isEnabled()) { return; } $referer = $request->server('HTTP_REFERER'); $parts = parse_url($referer); $host = $parts['host']; $method = $request->server('REQUEST_METHOD'); if (!in_array($method, ['GET', 'HEAD', 'OPTIONS']) && $host && $host != $request->server('HTTP_HOST')) { throw new HttpException("Invalid referer", 400); } }
/** * @param Request $request * @return \App\Installation\Result|array|void * @throws \LogicException */ public function runWizard(Request $request) { if (!$this->initialized) { throw new \LogicException('Installator must be initialized before running'); } $this->request = $request; $this->checkSessionStarted(); $step = $request->param('id'); $result = new Result(); if (!$step) { $step = $this->firstStep->getName(); } // Traverse all steps until current $stepObj = $this->firstStep; $lastStartedStep = $stepObj; while ($stepObj) { // Forbid executing not started steps. if (!$stepObj->isStarted()) { break; } $lastStartedStep = $stepObj; // Execute current step and stop. if ($step == $stepObj->getName()) { $result = $stepObj->execute(strtoupper($this->request->method), $this->request->getRequestData()); if ($stepObj->getCompleted()) { if ($nextStep = $stepObj->getNextStep()) { $nextStep->start(); } else { $result->setCompleted(true); } } break; } // If invalid step is before current one, stop propagation, and ask user to fix it. if (!$stepObj->isValid()) { $result->setStep($stepObj); $result->redirectToStep(); break; } $stepObj = $stepObj->getNextStep(); } $this->stepsData['steps'][$stepObj->getName()]['current'] = true; $this->stepsData = ArraysHelper::arrayMergeRecursiveDistinct($this->stepsData, $stepObj->getViewData()); $result->setViewData($this->stepsData); $result->setLastStartedStep($lastStartedStep); return $result; }
public function update(User $user, Request $request, Database $db, $id) { $error = null; $filter = ['id = ? and id <> ?', $id, $user->get('id')]; $record = $db->findOne('user', $filter); if (!$record) { $user->message('warning', 'Data tidak ditemukan'); return $this->redirect($this->homeUrl); } $fields = ['name' => $request->get('name', $record['name']), 'username' => $request->get('username', $record['username']), 'password' => $request->get('password', $record['password']), 'level' => $request->get('level', $record['level'])]; $labels = $this->app->load('app/config/translations/user-labels.php'); if ($request->isPost()) { $rules = ['name,username,password' => 'required']; $error = $this->validation->setData($fields)->setRules($rules)->setLabels($labels)->validate()->getError(); if (!$error) { $saved = $db->update('user', $fields, $filter); if ($saved) { $user->message('success', 'Data sudah disimpan!'); return $this->redirect($this->homeUrl); } else { $error = 'Data gagal disimpan!'; } } $user->message('error', $error); } $form = $this->form->setData($fields)->setLabels($labels)->setAttrs(['class' => 'form-horizontal'])->setDefaultControlAttrs(['class' => 'form-control'])->setDefaultLabelAttrs(['class' => 'form-label col-md-2']); return $this->render('user/update', ['form' => $form, 'homeUrl' => $this->homeUrl]); }
public function main(User $user, Request $request, Database $db) { if ($user->is('admin')) { return $this->redirect('admin'); } elseif ($user->hasBeenLogin()) { return $this->redirect('index'); } $username = $request->get('username'); $password = $request->get('password'); $error = null; if ($request->isPost()) { $filter = ['username = ? and password = ?', $username, $password]; $data = $db->findOne('user', $filter); if (empty($data)) { $error = 'Login gagal! Username atau password tidak cocok!'; } else { $user->login('admin', $data); return $this->redirect('admin'); } } $form = $this->form->setData(['username' => $username])->setAttrs(['id' => 'login-form'])->setDefaultLabelAttrs(['class' => 'sr-only'])->setDefaultControlAttrs(['class' => 'form-control form-block']); return $this->render(null, ['form' => $form, 'error' => $error]); }
public static function createController($controllerName, Request $request, Pixie $pixie, $isSubRequest = false) { if (!$controllerName || $controllerName == 'Default') { $className = $request->param('namespace', $pixie->app_namespace) . 'Rest\\NoneController'; } else { $className = $request->param('namespace', $pixie->app_namespace) . 'Rest\\Controller\\' . $controllerName; } if (!class_exists($className)) { if (!in_array($controllerName, $pixie->restService->getExcludedModels()) && class_exists($pixie->app_namespace . 'Model\\' . $controllerName)) { $className = $request->param('namespace', $pixie->app_namespace) . 'Rest\\Controller'; } else { throw new NotFoundException(); } } $controller = $pixie->controller($className); $controller->request = $request; $controller->setIsSubRequest($isSubRequest); // Inject model into the controller. if (!$controller->getModelName()) { $controller->setModelName($controllerName); } return $controller; }
public function account(User $user, Database $db, Request $request) { $fields = ['username' => $request->get('username', $user->get('username')), 'password' => $request->get('password', $user->get('password')), 'new_password' => $request->get('new_password', $user->get('new_password')), 'name' => $request->get('name', $user->get('name'))]; $error = null; $selfUrl = $this->homeUrl . '/account'; $labels = $this->app->load('app/config/translations/user-labels.php'); if ($request->isPost()) { $old_password = $user->get('password'); $rules = ['name,username' => 'required', 'password' => 'required,Password saat ini tidak boleh kosong', '-password' => "equal({$old_password}),Password saat ini tidak valid", 'new_password' => 'minLength(4,allowEmpty)']; $error = $this->validation->setData($fields)->setRules($rules)->setLabels($labels)->validate()->getError(); if (!$error) { // handle file $filename = $request->baseDir() . 'asset/avatars/user-' . $user->get('id'); if (Helper::handleFileUpload('avatar', $filename, $this->app->get('imageTypes'))) { $fields['avatar'] = basename($filename); } if ($fields['new_password']) { $fields['password'] = $fields['new_password']; } unset($fields['new_password']); $filter = ['id = ?', $user->get('id')]; $saved = $db->update('user', $fields, $filter); if ($saved) { $user->register($fields); $user->message('success', 'Data sudah diupdate'); return $this->redirect($selfUrl); } else { $error = 'Data gagal disimpan!'; } } $user->message('error', $error); } $avatar = $user->get('avatar'); $avatar = $this->app->asset($avatar ? 'asset/avatars/' . $avatar : 'asset/images/avatar.png'); $form = $this->form->setData($fields)->setLabels($labels)->setAttrs(['class' => 'form-horizontal', 'enctype' => 'multipart/form-data'])->setDefaultControlAttrs(['class' => 'form-control'])->setDefaultLabelAttrs(['class' => 'form-label col-md-4']); return $this->render('profil', ['form' => $form, 'avatar' => $avatar, 'backUrl' => 'index']); }
/** * @param PaymentOperation $operation * @return Request */ public function createRequestFromPaymentOperation(PaymentOperation $operation) { return Request::createFromPaymentOperation($operation); }
public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('method', 'choice', ['choices' => ArraysHelper::arrayFillEqualPairs(Request::getMethods()), 'label' => 'Method', 'required' => false, 'empty_data' => '', 'multiple' => false, 'constraints' => [new Choice(['message' => "Method must be selected.", 'choices' => array_merge([''], Request::getMethods()), 'multiple' => false])], 'attr' => ['class' => 'form-control']]); $isAjaxChoices = ['no', 'yes']; $builder->add('is_ajax', 'choice', ['label' => 'Is Ajax', 'required' => true, 'empty_data' => '', 'choices' => ArraysHelper::arrayFillEqualPairs($isAjaxChoices), 'constraints' => [new Choice(['message' => "Incorrect value selected", 'choices' => $isAjaxChoices, 'multiple' => false])], 'attr' => ['class' => 'form-control']]); }
public function match(Request $request) { return $request->is_ajax() === $this->isAjax(); }
public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('methods', new NotBlank(['message' => "At least one method must be selected."])); $metadata->addPropertyConstraint('methods', new Choice(['message' => "At least one method must be selected.", 'choices' => Request::getMethods(), 'multiple' => true])); }
public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $builder->add('methods', 'choice', ['choices' => ArraysHelper::arrayFillEqualPairs(Request::getMethods()), 'multiple' => true, 'expanded' => true, 'label' => false, 'required' => true]); }
public function route(Request $request) { $routes =& $this->routes[$request->method()]; $values = null; $response = null; if (isset($routes)) { foreach ($routes as $route) { $values = []; $matches = null; $nmatches = preg_match($route['regexp'], $request->path(), $matches); if ($nmatches > 0) { foreach ($route['params'] as $key) { if (!isset($matches[$key])) { break; } $values[$key] = $matches[$key]; } if (count($values) == count($route['params'])) { $response = $this->call($route, $values, $request); break; } } } } return $response; }
/** * Calculates request MAC code * @param \App\Payment\PaymentSystem\Life\Request $request * @param null|array $macFields * @return string */ public function calculateRequestMAC(Request $request, $macFields = null) { $fields = is_array($macFields) ? $macFields : $this->macFields; $source = $request->calculateMACSourceString($fields); $key = $this->getKey(); $result = hash_hmac('sha1', $source, pack("H*", $key)); return $result; }
public function __construct(\app\core\Request $request) { $this->controlador = $request->getController(); }