protected function delete($params) { if (empty($params['id'])) { throw new \Ip\Exception('Missing parameters'); } $commands = array(); try { $actions = $this->getActions(); $actions->delete($params['id']); //If we are not on the first page and we have removed the last record, move user to the previous page if (!empty($this->statusVariables[$this->config->pageVariableName()]) && $this->statusVariables[$this->config->pageVariableName()] > 1) { //We are not on the first page $db = new Db($this->subgridConfig, $this->statusVariables); $where = $db->buildSqlWhere(); $pageSize = $this->subgridConfig->pageSize($this->statusVariables); $totalPages = ceil($db->recordCount($where) / $pageSize); if ($totalPages < $this->statusVariables[$this->config->pageVariableName()]) { //set maximal page that has at least one record. $statusVariables = $this->statusVariables; $statusVariables[$this->config->pageVariableName()] = $totalPages; $commands[] = Commands::setHash(Status::build($statusVariables)); return $commands; } } $display = $this->getDisplay(); $html = $display->fullHtml($this->statusVariables); $commands[] = Commands::setHtml($html); return $commands; } catch (\Exception $e) { $commands[] = Commands::showMessage($e->getMessage()); } return $commands; }