chore: initial snapshot of 2meet-data-optimizer-mobile-bridge-addon v0.1.0
Baseline before backporting wp-data-optimizer v3.0.1-v3.4.6. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TbG1keQQ7XBa7qMQY16KCY
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* Bootstrap for 2meet Data Optimizer Mobile_Bridge AddOn.
|
||||
*
|
||||
* @package TMDO_MOBILE_BRIDGE
|
||||
* @since 0.1.0
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
final class TMDO_Mobile_Bridge_Bootstrap {
|
||||
|
||||
public static function init(): void {
|
||||
if ( ! class_exists( 'TMDO_API' ) && ! class_exists( 'WPDO_API' ) ) {
|
||||
add_action( 'admin_notices', array( __CLASS__, 'missing_core_notice' ) );
|
||||
return;
|
||||
}
|
||||
|
||||
load_plugin_textdomain(
|
||||
'tmdo-mobile-bridge',
|
||||
false,
|
||||
dirname( plugin_basename( TMDO_MOBILE_BRIDGE_FILE ) ) . '/languages'
|
||||
);
|
||||
|
||||
require_once TMDO_MOBILE_BRIDGE_PATH . 'includes/class-tmdo-mobile-bridge.php';
|
||||
|
||||
if ( class_exists( 'TMDO_Mobile_Bridge' ) && method_exists( 'TMDO_Mobile_Bridge', 'register' ) ) {
|
||||
TMDO_Mobile_Bridge::register();
|
||||
}
|
||||
}
|
||||
|
||||
public static function missing_core_notice(): void {
|
||||
echo '<div class="notice notice-error"><p>';
|
||||
echo esc_html__( '2meet Data Optimizer Mobile_Bridge AddOn 需要 2meet-data-optimizer 核心外掛,請先安裝並啟用。', 'tmdo-mobile-bridge' );
|
||||
echo '</p></div>';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
/**
|
||||
* TMDO_Mobile_Bridge — integration with 2meet-mobile-bridge (Wave 3 / v2.2.0).
|
||||
*
|
||||
* 1 張表(refresh tokens)。簡單註冊。
|
||||
*
|
||||
* @package WP_Data_Optimizer
|
||||
* @since 2.0.0
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// phpcs:disable Squiz.Commenting.FunctionComment.Missing,Squiz.Commenting.InlineComment.InvalidEndChar,Generic.Commenting.DocComment.MissingShort,WordPress.DB.PreparedSQL.InterpolatedNotPrepared,WordPress.PHP.YodaConditions,Generic.CodeAnalysis.EmptyStatement -- v2.0.0 partner integrations: pure registration helpers + intentional silent catches.
|
||||
|
||||
/**
|
||||
* 2meet-mobile-bridge 整合。
|
||||
*/
|
||||
final class TMDO_Mobile_Bridge {
|
||||
|
||||
public static function register(): void {
|
||||
$detected = class_exists( 'TMEETMB_Plugin' )
|
||||
|| file_exists( WP_PLUGIN_DIR . '/2meet-mobile-bridge/2meet-mobile-bridge.php' );
|
||||
if ( ! $detected ) {
|
||||
return;
|
||||
}
|
||||
add_action( 'wpdo_register_custom_tables', array( __CLASS__, 'register_custom_tables' ) );
|
||||
}
|
||||
|
||||
public static function register_custom_tables( TMDO_Custom_Table_Registry $registry ): void {
|
||||
$registry->register(
|
||||
'2meet-mobile-bridge',
|
||||
array(
|
||||
'table_name' => '2meet_refresh_tokens',
|
||||
'primary_key' => 'id',
|
||||
'post_type_link' => null,
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user