Back to PhocacartPagination class

Method getMaximumLimit

public static
getMaximumLimit
(mixed $limit)

Method getMaximumLimit - Source code

//public static function getMaximumLimit(int $limit) : int {
public static function getMaximumLimit($limit)
{
    $paramsC = PhocacartUtils::getComponentParameters();
    $pos = PhocacartPos::isPos();
    if ($pos == 1) {
        $item_pagination_limit = 0;
        $pagination = $paramsC->get('pos_pagination', '6,12,24,36,48,60');
    } else {
        $item_pagination_limit = $paramsC->get('item_pagination_limit', 0);
        $pagination = $paramsC->get('item_pagination', '5,10,15,20,50');
    }
    $l = $limit;
    if ((int) $item_pagination_limit == 1) {
        $paginationArray = explode(',', $pagination);
        $maxPagination = max($paginationArray);
        if ((int) $limit == 0 && (int) $maxPagination > 0) {
            // Pagination limit not set in frontend (all) but maximum pagination limit set
            $l = (int) $maxPagination;
        } else {
            if ((int) $limit > 0 && (int) $maxPagination > 0 && $limit > (int) $maxPagination) {
                // Pagination limit is set in frontend (e.g. 20) but maximum pagination limit is smaller (e.g. 10)
                $l = (int) $maxPagination;
            }
        }
        /*else {
        			// Maximum pagination limit not set, so used the standard one - set in frontend by visitor
        			$l = $limit;
        		}*/
    }
    return $l;
}