protected function checkInput()
 {
     $fields = ['grid' => 'fatal|required|json'];
     $ret = $this->validateInput($fields);
     if ($ret) {
         $widgets = [WIDGET_SYSTEM_STATUS, WIDGET_ZABBIX_STATUS, WIDGET_LAST_ISSUES, WIDGET_WEB_OVERVIEW, WIDGET_DISCOVERY_STATUS, WIDGET_HOST_STATUS, WIDGET_FAVOURITE_GRAPHS, WIDGET_FAVOURITE_MAPS, WIDGET_FAVOURITE_SCREENS];
         /*
          * {
          *     "0": {
          *         "0": "stszbx_widget",
          *         "1": "favgrph_widget",
          *         "2": "favscr_widget",
          *         "3": "favmap_widget"
          *     },
          *     "1": {
          *         "0": "lastiss_widget",
          *         "1": "webovr_widget",
          *         "2": "dscvry_widget"
          *     },
          *     "2": {
          *         "0": "syssum_widget",
          *         "1": "hoststat_widget"
          *     }
          * }
          */
         foreach (CJs::decodeJson($this->getInput('grid')) as $col => $column) {
             if (!CNewValidator::is_int32($col) || $col < 0 || $col > 2 || !is_array($column)) {
                 $ret = false;
                 break;
             }
             foreach ($column as $row => $widgetName) {
                 if (!CNewValidator::is_int32($row) || $row < 0 || !is_string($widgetName)) {
                     $ret = false;
                     break 2;
                 }
                 $widgetName = str_replace('_widget', '', $widgetName);
                 if (!in_array($widgetName, $widgets)) {
                     $ret = false;
                     break 2;
                 }
             }
         }
     }
     if (!$ret) {
         $this->setResponse(new CControllerResponseFatal());
     }
     return $ret;
 }