File: /home/salamatk/takarzan.ir/wp-content/plugins/luman-plus/Includes/Bootstrap.php
<?php
namespace lumanPlus;
use lumanPlus\Core\Logger;
/**
* Class Bootstrap
*
* @package Flexicore\MultiGate
*/
class Bootstrap {
/**
* Boot Plugin
*
* @return void
*/
public static function boot () : void {
if ( !defined('ABSPATH') ) {
return;
}
self::initConstants();
}
/**
* Define the Necessary Constants
*
* @return void
*/
public static function initConstants () : void {
/**
* Define General Constants
*/
define('LPL_VERSION', '1.0.8');
define('LPLPATH',true);
define('LPL_PLUGIN_PAGE_TITLE','لومان پلاس');
define('LPL_PLUGIN_MENU_TITLE','لومان پلاس');
define('LPL_PLUGIN_CAPABILITY','manage_options');
define('LPL_PLUGIN_MENU_SLUG','lumanPlus');
define('LPL_PLUGIN_ICON','dashicons-plus');
define('LPL_PLUGIN_POSITION','60');
define('LPL_NAME', 'Luman-Plus');
define('LPL_SLUG', 'luman-plus/luman-plus.php');
define('LPL_PERSIAN_SLUG', 'سیستم ورود | عضویت لومان پلاس');
/**
* Define General Pages
*/
define('LPL_PAGE', 'lumanPlus');
define('LPL_SETTINGS_PAGE','Settings');
define('LPL_NOTIFICATIONS_PAGE','Notifications');
/**
* Shorthand to DIRECTORY_SEPARATOR Constant
*/
define('LPL_DS', DIRECTORY_SEPARATOR);
/**
* Define path constants
*/
$pluginDir = wp_normalize_path(plugin_dir_path(__DIR__));
$mainDir = $pluginDir . LPL_DS . 'Includes/';
$frontDir = $mainDir . 'Front/';
$configDir = $mainDir . 'Config/';
$migrationDir = $mainDir . 'Database/';
$logsDir = $mainDir . 'Logs/';
$routesDir = $mainDir . 'Web/';
define('LPL_DIR', $pluginDir);
define('LPL_FRONT_DIR', $frontDir);
define('LPL_CONFIG_DIR', $configDir);
define('LPL_DATABASE_DIR', $migrationDir);
define('LPL_LOGS_DIR', $logsDir);
define('LPL_ROUTES_DIR', $routesDir);
/**
* Define url constants
*/
$pluginUrl = wp_normalize_path(plugin_dir_url(__DIR__));
$assetsUrl = $pluginUrl . 'assets/';
$scriptsUrl = $assetsUrl . 'js/';
$stylesUrl = $assetsUrl . 'css/';
$mediaUrl = $assetsUrl . 'media/';
define('LPL_URL', $pluginUrl);
define('LPL_ASSETS_URL', $assetsUrl);
define('LPL_ASSETS_SCRIPTS_URL', $scriptsUrl);
define('LPL_ASSETS_STYLES_URL', $stylesUrl);
define('LPL_ASSETS_MEDIA_URL', $mediaUrl);
}
public static function initDB(): void
{
self::initConstants();
$sqlFile = LPL_DATABASE_DIR . 'migrations.sql';
if (!file_exists($sqlFile)) {
// error_log('فایل SQL پیدا نشد: ' . $sqlFile);
return;
}
global $wpdb;
$sqlRaw = file_get_contents($sqlFile);
$queries = array_filter(array_map('trim', explode(';', $sqlRaw)));
foreach ($queries as $query) {
if (!empty($query)) {
$wpdb->query($query);
}
}
}
}
// Include AI module
require_once __DIR__ . '/AI/AI_Handler.php';
require_once __DIR__ . '/AI/AI_Hooks.php';
require_once __DIR__ . '/AI/AI_Cache.php';