$13 GRAYBYTE WORDPRESS FILE MANAGER $51

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.162.162 | ADMIN IP 216.73.216.51
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bravetechrwanda/academy.bravetech.rw/wp-content/plugins/mls-on-the-fly/src/

HOME
Current File : /home/bravetechrwanda/academy.bravetech.rw/wp-content/plugins/mls-on-the-fly/src//Main.php
<?php

namespace Realtyna\MlsOnTheFly;

use Realtyna\MlsOnTheFly\AdminPages\MlsOnTheFlyAdminPage;
use Realtyna\MlsOnTheFly\Boot\App;
use Realtyna\MlsOnTheFly\Boot\Log;
use Realtyna\MlsOnTheFly\Components\CloudPost\CloudPostComponent;
use Realtyna\MlsOnTheFly\Components\CustomPostType\PropertyPostTypeComponent;
use Realtyna\MlsOnTheFly\Components\Updater\UpdaterComponent;
use Realtyna\MlsOnTheFly\Components\SupportAI\SupportAIComponent;
use Realtyna\MlsOnTheFly\Database\AddCountAndTypeToCacheTable;
use Realtyna\MlsOnTheFly\Database\CreateCacheTable;
use Realtyna\MlsOnTheFly\Database\CreateRFMappingsTable;
use Realtyna\MlsOnTheFly\Database\DeleteRFTermsTable;
use Realtyna\MlsOnTheFly\Database\UpdateRFMappingsTableAddUniqueIndexes;
use Realtyna\MlsOnTheFly\Settings\Settings;
use Realtyna\MlsOnTheFly\Components\CloudPost\SubComponents\Integration\Targets\RealtynaIntegration;
use Realtyna\Core\StartUp;


class Main extends StartUp
{

    protected function components(): void
    {
        //$activateCustomPostType = Settings::get_setting('self_custom_post_type', false);
        $defaultIntegration = Settings::get_setting('default_integration', '');
        $defaultIntegration = str_replace('\\\\', '\\', $defaultIntegration);
        $activateCustomPostType = ( $defaultIntegration == RealtynaIntegration::class);
        if($activateCustomPostType){
            $this->addComponent(PropertyPostTypeComponent::class);
        }

        $this->addComponent(CloudPostComponent::class);
        $this->addComponent(UpdaterComponent::class);
        $this->addComponent(SupportAIComponent::class);
    }

    protected function adminPages(): void
    {
        $this->addAdminPage(MlsOnTheFlyAdminPage::class);
    }

    protected function boot(): void
    {   
        $installed_version = get_option('mls_on_the_fly_installed_version', false);
        if ($installed_version !== REALTYNA_MLS_ON_THE_FLY_VERSION) {
            $this->migrations();
            $this->migrate();

            // Update the stored version
            update_option('mls_on_the_fly_installed_version', REALTYNA_MLS_ON_THE_FLY_VERSION);
        }



        // Set the container in the App class for global access.
        App::setContainer($this->container);
        if($this->config->get('log.active')){
            Log::init($this->config->get('log.path'), $this->config->get('log.level'));
        }
    }

    /**
     * Check plugin requirements before activation.
     *
     * @return bool True if requirements are met, false otherwise.
     */
    public function requirements(): bool
    {
        return true;
    }

    /**
     */
    public function activation(): void
    {
        // Define the old plugin slug and directory
        $old_plugin_slug = 'realtyna-mls-on-the-fly/realtyna-mls-on-the-fly.php';
        $old_plugin_dir = WP_PLUGIN_DIR . '/realtyna-mls-on-the-fly';

        // Deactivate the old plugin if it's active
        if (is_plugin_active($old_plugin_slug)) {
            deactivate_plugins($old_plugin_slug);
        }

        // Delete the old plugin directory if it exists
        if (file_exists($old_plugin_dir)) {
            // Recursively delete the old plugin directory
            mls_on_the_fly_delete_directory($old_plugin_dir);
        }

        $this->migrate();
    }

    public function deactivation()
    {
    }

    public static function uninstallation(): void
    {
        Settings::delete_settings();
        self::rollback();
    }

    protected function migrations(): void
    {
        $this->addMigration(DeleteRFTermsTable::class);
        $this->addMigration(CreateRFMappingsTable::class);
        $this->addMigration(UpdateRFMappingsTableAddUniqueIndexes::class);
        $this->addMigration(CreateCacheTable::class);
        $this->addMigration(AddCountAndTypeToCacheTable::class);
    }
}

Current_dir [ WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
6 May 2026 9.51 AM
bravetechrwanda / bravetechrwanda
0755
AdminPages
--
6 May 2026 9.46 AM
bravetechrwanda / bravetechrwanda
0755
Boot
--
6 May 2026 9.46 AM
bravetechrwanda / bravetechrwanda
0755
Components
--
6 May 2026 9.46 AM
bravetechrwanda / bravetechrwanda
0755
Config
--
6 May 2026 9.46 AM
bravetechrwanda / bravetechrwanda
0755
Database
--
6 May 2026 9.46 AM
bravetechrwanda / bravetechrwanda
0755
Settings
--
6 May 2026 9.46 AM
bravetechrwanda / bravetechrwanda
0755
Main.php
3.873 KB
6 May 2026 9.46 AM
bravetechrwanda / bravetechrwanda
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF Static GIF