Example #1
0
 /** @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);
 }
Example #2
0
 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);
     }
 }
Example #3
0
 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 
Example #5
0
 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;
 }