Uname: Linux premium294.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
Software: LiteSpeed
PHP version: 8.1.32 [ PHP INFO ] PHP os: Linux
Server Ip: 104.21.64.1
Your Ip: 216.73.216.223
User: mjbynoyq (1574) | Group: mjbynoyq (1570)
Safe Mode: OFF
Disable Function:
NONE

name : abstract-storage.php
<?php

abstract class Brizy_Admin_Migrations_AbstractStorage {

	const KEY = 'brizy-migrations';

	/**
	 * @var Brizy_Admin_Migrations_MigrationInterface[]
	 */
	protected $data;

	/**
	 * Brizy_Admin_Migations_AbstractStorage constructor.
	 */
	public function __construct() {
		$this->data = array();
		$this->loadData();
	}

	/**
	 * Save run migrations
	 *
	 * @return mixed
	 */
	abstract protected function storeData();

	/**
	 * @return mixed
	 */
	abstract protected function loadData();

	/**
	 * @return $this
	 */
	public function save() {
		$this->storeData();

		return $this;
	}

	/**
	 * @param Brizy_Admin_Migrations_MigrationInterface $migration
	 *
	 * @return $this
	 */
	public function addMigration( Brizy_Admin_Migrations_MigrationInterface $migration ) {

		if ( ! $this->hasMigration( $migration ) ) {
			$this->data[] = $migration;
		}

		return $this;
	}

	/**
	 * @@return Brizy_Admin_Migrations_MigrationInterface[]
	 */
	public function getMigrations() {
		return $this->data;
	}

	/**
	 * @param Brizy_Admin_Migrations_MigrationInterface $amigratoin
	 *
	 * @return bool
	 */
	public function hasMigration( Brizy_Admin_Migrations_MigrationInterface $amigratoin ) {
		$aMigrationClass = get_class( $amigratoin );
		foreach ( $this->data as $migration ) {
			if ( get_class( $migration ) == $aMigrationClass ) {
				return true;
			}
		}

		return false;
	}

	/**
	 * @return Brizy_Admin_Migrations_MigrationInterface|mixed
	 */
	public function latestMigration() {
		return end( $this->data );
	}
}
© 2025 XylotrechusZ