芝麻web文件管理V1.00
编辑当前文件:/home/ephorei/www/wp-content/plugins/suretriggers/src/Controllers/IntegrationsController.php
get_id() ] = $obj; return $integrations_classes; }, 99 ); } /** * Include activated integrations events files * * @return void */ public static function load_event_files() { /** * Get integration class and check if the class is activated * If yes, then include those classes event files. */ $integrations_classes = self::get_integrations(); foreach ( $integrations_classes as $class ) { if ( $class->is_enabled() ) { $reflector = new ReflectionClass( $class ); $event_files = new RecursiveDirectoryIterator( dirname( $reflector->getFileName() ) ); foreach ( new RecursiveIteratorIterator( $event_files ) as $filename => $file ) { if ( $file->isFile() ) { require_once $filename; } } } } } /** * Get all integration classes * * @return Integrations[] */ public static function get_integrations() { return apply_filters( 'sure_trigger_integrations', [] ); } /** * Get integration which plugins are activated. * * @return array */ public static function get_activated_integrations() { $integrations_classes = self::get_integrations(); $allowed_integrations = []; foreach ( $integrations_classes as $integration => $class ) { if ( 'WordPress' === $integration ) { continue; } if ( $class->is_enabled() ) { $allowed_integrations [] = $integration; } } return $allowed_integrations; } /** * Verify child integration * * @param WP_REST_Request $request Request data. * @return WP_REST_Response */ public function child_integration_verify( $request ) { $plugin_url = admin_url( 'plugins.php' ); if ( $request->get_param( 'integration_plugin' ) ) { $is_plugin_active = false; $plugin = $request->get_param( 'integration_plugin' ); $integration_class_name = $plugin['key']; $fully_qualified_class_name = "\SureTriggers\Integrations\\$integration_class_name\\$integration_class_name"; if ( class_exists( $fully_qualified_class_name ) ) { $class_obj = new $fully_qualified_class_name(); $is_plugin_active = $class_obj->is_plugin_installed(); } if ( $is_plugin_active ) { return RestController::success_message( 'Integration is verified and has all necessary plugins installed.' ); } else { return RestController::error_message( sprintf( 'To use %1s integration, you must have installed and activated %1$s on your
WordPress website
.', $plugin['name'], $plugin_url ), 200 ); } } return RestController::error_message( 'No integration details provided.', 200 ); } }