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 : 23 Aug 2025 22:04:50
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/dev2.destoffenstraat.com/vendor-1/magento/framework/Setup/

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

File Path : /home/dev2.destoffenstraat.com/vendor-1/magento/framework/Setup/ExternalFKSetup.php

<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Setup; use Magento\Framework\DB\Adapter\AdapterInterface; /** * @codeCoverageIgnore */ class ExternalFKSetup { /** * @var SchemaSetupInterface */ protected $setup; /** * @var string */ protected $entityTable; /** * @var string */ protected $entityColumn; /** * @var string */ protected $externalTable; /** * @var string */ protected $externalColumn; /** * @var string */ protected $onDelete; /** * Install external foreign key * * @param SchemaSetupInterface $setup * @param string $entityTable * @param string $entityColumn * @param string $externalTable * @param string $externalColumn * @param string $onDelete * @return void */ public function install( SchemaSetupInterface $setup, $entityTable, $entityColumn, $externalTable, $externalColumn, $onDelete = AdapterInterface::FK_ACTION_CASCADE ) { $this->setup = $setup; $this->entityTable = $entityTable; $this->entityColumn = $entityColumn; $this->externalTable = $externalTable; $this->externalColumn = $externalColumn; $this->onDelete = $onDelete; $this->execute(); } /** * Set external foreign key * * @return void */ protected function execute() { $entityTableInfo = $this->setup->getConnection()->describeTable( $this->setup->getTable($this->entityTable) ); if (!$entityTableInfo[$this->entityColumn]['PRIMARY']) { $this->dropOldForeignKey(); $this->addForeignKeys(); } else { $this->addDefaultForeignKey(); } } /** * Get foreign keys for tables and columns * * @param string $refTable * @param string $refColumn * @param string $targetTable * @param string $targetColumn * @return array * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ protected function getForeignKeys( $targetTable, $targetColumn, $refTable, $refColumn ) { $foreignKeys = $this->setup->getConnection()->getForeignKeys( $this->setup->getTable($targetTable) ); $foreignKeys = array_filter( $foreignKeys, function ($key) use ($targetColumn, $refTable, $refColumn) { return $key['COLUMN_NAME'] == $targetColumn && $key['REF_TABLE_NAME'] == $refTable; } ); return $foreignKeys; } /** * Remove foreign key if exists * * @param string $targetTable * @param string $targetColumn * @param string $refTable * @param string $refColumn * @return void */ protected function clearForeignKey( $targetTable, $targetColumn, $refTable, $refColumn ) { $foreignKeys = $this->getForeignKeys($targetTable, $targetColumn, $refTable, $refColumn); foreach ($foreignKeys as $foreignKey) { $this->setup->getConnection()->dropForeignKey( $foreignKey['TABLE_NAME'], $foreignKey['FK_NAME'] ); } } /** * Add default foreign key * * @return void */ protected function addDefaultForeignKey() { if (!count($this->getForeignKeys( $this->externalTable, $this->externalColumn, $this->entityTable, $this->entityColumn ))) { $this->setup->getConnection()->addForeignKey( $this->setup->getFkName( $this->externalTable, $this->externalColumn, $this->entityTable, $this->entityColumn ), $this->setup->getTable($this->externalTable), $this->externalColumn, $this->setup->getTable($this->entityTable), $this->entityColumn, $this->onDelete ); } } /** * Add foreign keys to entity table * * @return void */ protected function addForeignKeys() { $foreignKeys = $this->setup->getConnection()->getForeignKeys( $this->setup->getTable($this->entityTable) ); $foreignKeys = array_filter( $foreignKeys, function ($key) { return $key['COLUMN_NAME'] == $this->entityColumn; } ); foreach ($foreignKeys as $foreignKeyInfo) { if (!count($this->getForeignKeys( $this->externalTable, $this->externalColumn, $this->setup->getTablePlaceholder($foreignKeyInfo['REF_TABLE_NAME']), $foreignKeyInfo['REF_COLUMN_NAME'] ))) { $this->setup->getConnection()->addForeignKey( $this->setup->getFkName( $this->externalTable, $this->externalColumn, $this->setup->getTablePlaceholder($foreignKeyInfo['REF_TABLE_NAME']), $foreignKeyInfo['REF_COLUMN_NAME'] ), $this->setup->getTable($this->externalTable), $this->externalColumn, $foreignKeyInfo['REF_TABLE_NAME'], $foreignKeyInfo['REF_COLUMN_NAME'], $this->onDelete ); } } } /** * Drop old foreign key * * @return void */ protected function dropOldForeignKey() { if (count($this->getForeignKeys( $this->externalTable, $this->externalColumn, $this->entityTable, $this->entityColumn ))) { $this->clearForeignKey( $this->externalTable, $this->externalColumn, $this->entityTable, $this->entityColumn ); } } }