protected function processMassActions($actionId)
    {
        if ($actionId > -1 && '' !== $actionId) {
            if (array_key_exists($actionId, $this->massActions)) {
                $action = $this->massActions[$actionId];
                $actionAllKeys = (boolean) $this->getFromRequest(self::REQUEST_QUERY_MASS_ACTION_ALL_KEYS_SELECTED);
                $actionKeys = $actionAllKeys === false ? array_keys((array) $this->getFromRequest(MassActionColumn::ID)) : [];

                $this->processSessionData();
                if ($actionAllKeys) {
                    $this->page = 0;
                    $this->limit = 0;
                }

                $this->prepare();

                if ($actionAllKeys === true) {
                    foreach ($this->rows as $row) {
                        $actionKeys[] = $row->getPrimaryFieldValue();
                    }
                }

                if (is_callable($action->getCallback())) {
                    $this->massActionResponse = call_user_func($action->getCallback(), $actionKeys, $actionAllKeys, $this->session, $action->getParameters());
                } elseif (strpos($action->getCallback(), ':') !== false) {
                    $path = array_merge(
                        [
                            'primaryKeys'    => $actionKeys,
                            'allPrimaryKeys' => $actionAllKeys,
                            '_controller'    => $action->getCallback(),
                        ],
                        $action->getParameters()
                    );

                    $subRequest = $this->request->duplicate([], null, $path);

                    $this->massActionResponse = $this->container->get('http_kernel')->handle($subRequest, \Symfony\Component\HttpKernel\HttpKernelInterface::SUB_REQUEST);
                } else {
                    throw new \RuntimeException(sprintf(self::MASS_ACTION_CALLBACK_NOT_VALID_EX_MSG, $action->getCallback()));
                }
            } else {
                throw new \OutOfBoundsException(sprintf(self::MASS_ACTION_NOT_DEFINED_EX_MSG, $actionId));
            }
        }
    }
protected function processMassActions($actionId)
    {
        if ($actionId > -1 && '' !== $actionId) {
            if (array_key_exists($actionId, $this->massActions)) {
                $action = $this->massActions[$actionId];
                $actionAllKeys = (boolean) $this->getFromRequest(self::REQUEST_QUERY_MASS_ACTION_ALL_KEYS_SELECTED);
                $actionKeys = $actionAllKeys === false ? array_keys((array) $this->getFromRequest(MassActionColumn::ID)) : [];

                $this->processSessionData();
                if ($actionAllKeys) {
                    $this->page = 0;
                    $this->limit = 0;
                }

                $this->prepare();

                if ($actionAllKeys === true) {
                    foreach ($this->rows as $row) {
                        $actionKeys[] = $row->getPrimaryFieldValue();
                    }
                }

                if (is_callable($action->getCallback())) {
                    $this->massActionResponse = call_user_func($action->getCallback(), $actionKeys, $actionAllKeys, $this->session, $action->getParameters());
                } elseif (strpos($action->getCallback(), ':') !== false) {
                    $path = array_merge(
                        [
                            'primaryKeys'    => $actionKeys,
                            'allPrimaryKeys' => $actionAllKeys,
                            '_controller'    => $action->getCallback(),
                        ],
                        $action->getParameters()
                    );

                    $subRequest = $this->request->duplicate([], null, $path);

                    $this->massActionResponse = $this->container->get('http_kernel')->handle($subRequest, \Symfony\Component\HttpKernel\HttpKernelInterface::SUB_REQUEST);
                } else {
                    throw new \RuntimeException(sprintf(self::MASS_ACTION_CALLBACK_NOT_VALID_EX_MSG, $action->getCallback()));
                }
            } else {
                throw new \OutOfBoundsException(sprintf(self::MASS_ACTION_NOT_DEFINED_EX_MSG, $actionId));
            }
        }
    }
protected function processMassActions ( $ actionId ) { if ( $ actionId > - 1 && '' !== $ actionId ) { if ( array_key_exists ( $ actionId , $ this -> massActions ) ) { $ action = $ this -> massActions [ $ actionId ] ; $ actionAllKeys = ( boolean ) $ this -> getFromRequest ( self :: REQUEST_QUERY_MASS_ACTION_ALL_KEYS_SELECTED ) ; $ actionKeys = $ actionAllKeys === false ? array_keys ( ( array ) $ this -> getFromRequest ( MassActionColumn :: ID ) ) : [ ] ; $ this -> processSessionData ( ) ; if ( $ actionAllKeys ) { $ this -> page = 0 ; $ this -> limit = 0 ; } $ this -> prepare ( ) ; if ( $ actionAllKeys === true ) { foreach ( $ this -> rows as $ row ) { $ actionKeys [ ] = $ row -> getPrimaryFieldValue ( ) ; } } if ( is_callable ( $ action -> getCallback ( ) ) ) { $ this -> massActionResponse = call_user_func ( $ action -> getCallback ( ) , $ actionKeys , $ actionAllKeys , $ this -> session , $ action -> getParameters ( ) ) ; } elseif ( strpos ( $ action -> getCallback ( ) , ':' ) !== false ) { $ path = array_merge ( [ 'primaryKeys' => $ actionKeys , 'allPrimaryKeys' => $ actionAllKeys , '_controller' => $ action -> getCallback ( ) , ] , $ action -> getParameters ( ) ) ; $ subRequest = $ this -> request -> duplicate ( [ ] , null , $ path ) ; $ this -> massActionResponse = $ this -> container -> get ( 'http_kernel' ) -> handle ( $ subRequest , \ Symfony \ Component \ HttpKernel \ HttpKernelInterface :: SUB_REQUEST ) ; } else { throw new \ RuntimeException ( sprintf ( self :: MASS_ACTION_CALLBACK_NOT_VALID_EX_MSG , $ action -> getCallback ( ) ) ) ; } } else { throw new \ OutOfBoundsException ( sprintf ( self :: MASS_ACTION_NOT_DEFINED_EX_MSG , $ actionId ) ) ; } } }
Process mass actions.

@param int $actionId

@throws \RuntimeException
@throws \OutOfBoundsException
Process mass actions .