Kernel : Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
Disable function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Safe mode : OFF
Host : diestoffstrasse.com | Server ip : 127.0.0.1 | Your ip : 127.0.0.1 | Time @ Server : 24 Aug 2025 06:44:21
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/dev2.destoffenstraat.com/vendor-1/magento/framework/DB/Query/

HOME about upload exec mass file domain root vuln newfile newfolder kill me

File Path : /home/dev2.destoffenstraat.com/vendor-1/magento/framework/DB/Query/BatchRangeIterator.php

<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\DB\Query; use Magento\Framework\DB\Adapter\AdapterInterface; use Magento\Framework\DB\Select; /** * Query batch range iterator * * It is uses to processing selects which will obtain values from $rangeField with relation one-to-many * This iterator make chunks with operator LIMIT...OFFSET, * starting with zero offset and finishing on OFFSET + LIMIT = TOTAL_COUNT * * @see \Magento\Framework\DB\Query\Generator * @see \Magento\Framework\DB\Query\BatchIteratorFactory * @see \Magento\Catalog\Model\Indexer\Category\Product\AbstractAction * @see \Magento\Framework\DB\Adapter\Pdo\Mysql */ class BatchRangeIterator implements BatchIteratorInterface { /** * @var Select */ private $currentSelect; /** * @var string|array */ private $rangeField; /** * @var string * @deprecated 102.0.0 unused class property */ private $rangeFieldAlias; /** * @var int */ private $batchSize; /** * @var AdapterInterface */ private $connection; /** * @var int */ private $currentOffset = 0; /** * @var int */ private $totalItemCount; /** * @var int */ private $iteration = 0; /** * @var Select */ private $select; /** * @var string */ private $correlationName; /** * @var bool */ private $isValid = true; /** * Initialize dependencies. * * @param Select $select * @param int $batchSize * @param string $correlationName * @param string|array $rangeField * @param string $rangeFieldAlias @deprecated */ public function __construct( Select $select, $batchSize, $correlationName, $rangeField, $rangeFieldAlias ) { $this->batchSize = $batchSize; $this->select = $select; $this->correlationName = $correlationName; $this->rangeField = $rangeField; $this->rangeFieldAlias = $rangeFieldAlias; $this->connection = $select->getConnection(); } /** * Return the current element * * If we don't have sub-select we should create and remember it. * * @return Select */ public function current() { if (null === $this->currentSelect) { $this->isValid = $this->currentOffset < $this->totalItemCount; $this->currentSelect = $this->initSelectObject(); } return $this->currentSelect; } /** * Return the key of the current element * * Can return the number of the current sub-select in the iteration. * * @return int */ public function key() { return $this->iteration; } /** * Move forward to next sub-select * * Retrieve the next sub-select and move cursor to the next element. * Checks that the count of elements more than the sum of limit and offset. * * @return Select */ public function next() { if (null === $this->currentSelect) { $this->current(); } $this->isValid = $this->currentOffset < $this->totalItemCount; $select = $this->initSelectObject(); if ($this->isValid) { $this->iteration++; $this->currentSelect = $select; } else { $this->currentSelect = null; } return $this->currentSelect; } /** * Rewind the BatchRangeIterator to the first element. * * Allows to start iteration from the beginning. * * @return void */ public function rewind() { $this->currentSelect = null; $this->iteration = 0; $this->isValid = true; $this->totalItemCount = 0; } /** * Checks if current position is valid * * @return bool */ public function valid() { return $this->isValid; } /** * Initialize select object * * Return sub-select which is limited by current batch value and return items from n page of SQL request. * * @return \Magento\Framework\DB\Select */ private function initSelectObject() { $object = clone $this->select; if (!$this->totalItemCount) { $wrapperSelect = $this->connection->select(); $wrapperSelect->from( $object, [ new \Zend_Db_Expr('COUNT(*) as cnt') ] ); $row = $this->connection->fetchRow($wrapperSelect); $this->totalItemCount = (int)$row['cnt']; } $rangeField = is_array($this->rangeField) ? $this->rangeField : [$this->rangeField]; /** * Reset sort order section from origin select object */ foreach ($rangeField as $field) { $object->order($this->correlationName . '.' . $field . ' ' . \Magento\Framework\DB\Select::SQL_ASC); } $object->limit($this->batchSize, $this->currentOffset); $this->currentOffset += $this->batchSize; return $object; } }