/** @param $task Task */ public function processTask($task) { parent::processTask($task); $data = $task->request->post->get('commands'); if (!is_string($data)) { $this->postResults(array(ServiceResult::createWithError('error', 'No data', '::GLOBAL::'))); return; } if (strlen($data) > $this->maxPackageSize) { $this->postResults(array(ServiceResult::createWithError('error', 'Data too large', '::GLOBAL::'))); return; } $data = json_decode($data, true); if (json_last_error() != JSON_ERROR_NONE || !is_array($data)) { $this->postResults(array(ServiceResult::createWithError('error', 'Invalid data', '::GLOBAL::'))); return; } $results = array(); $f = new ArrayFilter(); foreach ($data as $command) { if (!is_array($command)) { $this->postResults(array(ServiceResult::createWithError('error', 'Invalid data', '::GLOBAL::'))); return; } $f->setData($command); $id = $f->get('id'); $command = $f->get('command'); $data = $f->asFilter('data'); $results[] = $this->_executeCommand($command, $data, $id); } $this->postResults($results); }
public function setRoute($route, $routeVars = null) { if (!$this->vars) { $this->vars = new ArrayFilter(); } $this->route = $route; $this->plugin = $route->plugin; $this->module = $route->module; if (is_array($route->data->data)) { if ($routeVars === null) { $routeVars = array(); } $this->vars->setData(array_merge($routeVars, $route->data->data)); } else { $this->vars->setData($routeVars); } }
public function setPostData($dataArray) { $this->post->setData($dataArray); $this->method = 'POST'; }
} ?> </div> </div> <div id="page"> <?php if ($f->appManagedSessionData()->isLoggedIn()) { ?> <div id="menu"> <ul> <?php $activeMenu = $this->task->vars->get('menu'); $filter = new ArrayFilter(); $menuLinks = $m->menuLinks; foreach ($menuLinks as $menuLink) { $filter->setData($menuLink); /** @var AccessRule $access */ $access = ArrayTools::get($menuLink, 'access'); if ($access && !$f->hasAccess($access)) { continue; } $id = $filter->get('id'); $url = $menuLink['url']; $active = $id !== null && $id === $activeMenu || $filter->get('route') == $this->task->route; $c = '<li' . ($active ? ' class="active"' : '') . '><a href="' . $q->e($url) . '">' . $q->e($filter->get('title')) . '</a></li>'; echo $c; } ?> </ul> </div> <?php
public function getArrayFilter($key, $defaultContents = null) { $filter = new ArrayFilter(); $node = $this->getSoft($key, $defaultContents); if ($node === self::VALUE_UNSET) { $filter->setData($defaultContents); } else { $filter->setData(get_object_vars($node)); } return $filter; }