| Server IP : 121.121.20.254 / Your IP : 216.73.217.175 Web Server : Microsoft-IIS/10.0 System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64 User : IUSR ( 0) PHP Version : 8.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/AIWEBSTATION/wp-content/plugins/ai-engine/classes/ |
Upload File : |
<?php
if ( class_exists( 'MeowPro_MWAI_Core' ) && class_exists( 'Meow_MWAI_Core' ) ) {
function mwai_thanks_admin_notices() {
echo '<div class="error"><p>' . __( 'Thanks for installing the Pro version of AI Engine :) However, the free version is still enabled. Please disable or uninstall it.', 'ai-engine' ) . '</p></div>';
}
add_action( 'admin_notices', 'mwai_thanks_admin_notices' );
return;
}
spl_autoload_register( function ( $class ) {
$file = null;
// Handle specific namespaces first for better organization
if ( strpos( $class, 'Meow_MWAI_Modules' ) !== false ) {
$filename = str_replace( 'meow_mwai_modules_', '', strtolower( $class ) );
$filename = str_replace( '_', '-', $filename );
$file = MWAI_PATH . '/classes/modules/' . $filename . '.php';
}
else if ( strpos( $class, 'Meow_MWAI_Query' ) !== false ) {
// Remove the prefix
$filename = str_replace( 'Meow_MWAI_Query_', '', $class );
// Convert camelCase to kebab-case
$filename = strtolower( preg_replace( '/([a-z])([A-Z])/', '$1-$2', $filename ) );
$file = MWAI_PATH . '/classes/query/' . $filename . '.php';
}
else if ( strpos( $class, 'Meow_MWAI_Data' ) !== false ) {
// Remove the prefix
$filename = str_replace( 'Meow_MWAI_Data_', '', $class );
// Convert camelCase to kebab-case
$filename = strtolower( preg_replace( '/([a-z])([A-Z])/', '$1-$2', $filename ) );
$file = MWAI_PATH . '/classes/data/' . $filename . '.php';
}
else if ( strpos( $class, 'Meow_MWAI_Engines' ) !== false ) {
// Remove the prefix
$filename = str_replace( 'Meow_MWAI_Engines_', '', $class );
// Special handling for known engine names
if ( $filename === 'OpenAI' ) {
$filename = 'openai';
}
else if ( $filename === 'OpenRouter' ) {
$filename = 'open-router';
}
else if ( $filename === 'ChatML' ) {
$filename = 'chatml';
}
else {
// Convert camelCase to kebab-case for others
$filename = strtolower( preg_replace( '/([a-z])([A-Z])/', '$1-$2', $filename ) );
}
$file = MWAI_PATH . '/classes/engines/' . $filename . '.php';
}
else if ( strpos( $class, 'Meow_MWAI_Services' ) !== false ) {
// Remove the prefix
$filename = str_replace( 'Meow_MWAI_Services_', '', $class );
// Convert camelCase to kebab-case
$filename = strtolower( preg_replace( '/([a-z])([A-Z])/', '$1-$2', $filename ) );
$file = MWAI_PATH . '/classes/services/' . $filename . '.php';
}
else if ( strpos( $class, 'Meow_MWAI_FunctionCallException' ) !== false ) {
$file = MWAI_PATH . '/classes/exceptions/function-call-exception.php';
}
else if ( strpos( $class, 'Meow_MWAI_RefusedException' ) !== false ) {
$file = MWAI_PATH . '/classes/exceptions/refused-exception.php';
}
else if ( strpos( $class, 'Meow_MWAI_Labs' ) !== false ) {
$filename = str_replace( 'meow_mwai_labs_', '', strtolower( $class ) );
// Convert underscores to hyphens for consistency
$filename = str_replace( '_', '-', $filename );
$file = MWAI_PATH . '/labs/' . $filename . '.php';
}
else if ( strpos( $class, 'Meow_MWAI' ) !== false ) {
$filename = str_replace( 'meow_mwai_', '', strtolower( $class ) );
$filename = str_replace( '_', '-', $filename );
$file = MWAI_PATH . '/classes/' . $filename . '.php';
}
else if ( strpos( $class, 'MeowKit_MWAI_' ) !== false ) {
// Strip MeowKit_MWAI_ prefix to get just the class name
$filename = str_replace( 'meowkit_mwai_', '', strtolower( $class ) );
$filename = str_replace( '_', '-', $filename );
$file = MWAI_PATH . '/common/' . $filename . '.php';
}
else if ( strpos( $class, 'MeowKitPro_MWAI_' ) !== false ) {
// Strip MeowKitPro_MWAI_ prefix to get just the class name
$filename = str_replace( 'meowkitpro_mwai_', '', strtolower( $class ) );
// Special case for rest_license to maintain backward compatibility
if ( $filename === 'rest_license' ) {
$file = MWAI_PATH . '/common/premium/rest_license.php';
}
else {
$filename = str_replace( '_', '-', $filename );
$file = MWAI_PATH . '/common/premium/' . $filename . '.php';
}
}
else if ( strpos( $class, 'MeowPro_MWAI_Addons' ) !== false ) {
// Remove the prefix
$filename = str_replace( 'MeowPro_MWAI_Addons_', '', $class );
// Convert camelCase to kebab-case
$filename = strtolower( preg_replace( '/([a-z])([A-Z])/', '$1-$2', $filename ) );
$file = MWAI_PATH . '/premium/addons/' . $filename . '.php';
}
else if ( strpos( $class, 'MeowPro_MWAI' ) !== false ) {
// Remove the prefix
$filename = str_replace( 'MeowPro_MWAI_', '', $class );
// Special handling for known class names
if ( $filename === 'OpenAI' ) {
$filename = 'openai';
}
else {
// Convert camelCase to kebab-case
$filename = strtolower( preg_replace( '/([a-z])([A-Z])/', '$1-$2', $filename ) );
// Convert underscores to hyphens for consistency
$filename = str_replace( '_', '-', $filename );
}
$file = MWAI_PATH . '/premium/' . $filename . '.php';
}
if ( $file && file_exists( $file ) ) {
require( $file );
}
} );
require_once( MWAI_PATH . '/common/helpers.php' );
global $mwai_core;
$mwai_core = new Meow_MWAI_Core();
// Registered here rather than from the MCP module: on activation WordPress includes
// the plugin after plugins_loaded has already fired, so no module instance exists to
// hook it. See purge_discovery_cache() for why an activation needs to purge at all.
register_activation_hook( MWAI_ENTRY, function () {
require_once MWAI_PATH . '/labs/mcp-oauth.php';
Meow_MWAI_Labs_MCP_OAuth::purge_discovery_cache();
} );