| @@ -6,33 +6,47 @@ | ||
| 6 | 6 | * @copyright Copyright (c) 2017, Marius Cristea |
| 7 | 7 | * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License |
| 8 | 8 | * @since 1.1.0 |
| 9 | 9 | */ |
| 10 | -$products = apply_filters( 'themeisle_sdk_products', array() ); | |
| 11 | -$path = dirname( __FILE__ ); | |
| 12 | -$files_to_load = array( | |
| 13 | - 'class-themeisle-sdk-loader.php', | |
| 14 | - 'class-themeisle-sdk-product.php', | |
| 15 | - 'class-themeisle-sdk-logger.php', | |
| 16 | - 'class-themeisle-sdk-licenser.php', | |
| 17 | - 'class-themeisle-sdk-rollback.php', | |
| 18 | - 'class-themeisle-sdk-feedback-factory.php', | |
| 19 | - 'class-themeisle-sdk-feedback.php', | |
| 20 | - 'class-themeisle-sdk-feedback-deactivate.php', | |
| 21 | - 'class-themeisle-sdk-feedback-review.php', | |
| 22 | - 'class-themeisle-sdk-feedback-translate.php', | |
| 23 | - 'class-themeisle-sdk-notification-manager.php', | |
| 24 | - 'class-themeisle-sdk-widget.php', | |
| 25 | - 'class-themeisle-sdk-widget-dashboard-blog.php', | |
| 26 | - 'class-themeisle-sdk-widgets-factory.php', | |
| 27 | - 'class-themeisle-sdk-endpoints.php', | |
| 28 | -); | |
| 29 | 10 | |
| 11 | +namespace ThemeisleSDK; | |
| 12 | + | |
| 13 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 14 | + exit; | |
| 15 | +} | |
| 16 | +$products = apply_filters( 'themeisle_sdk_products', array() ); | |
| 17 | +$themeisle_library_path = dirname( __FILE__ ); | |
| 18 | +$files_to_load = [ | |
| 19 | + $themeisle_library_path . '/src/Loader.php', | |
| 20 | + $themeisle_library_path . '/src/Product.php', | |
| 21 | + | |
| 22 | + $themeisle_library_path . '/src/Common/Abstract_module.php', | |
| 23 | + $themeisle_library_path . '/src/Common/Module_factory.php', | |
| 24 | + | |
| 25 | + $themeisle_library_path . '/src/Modules/Dashboard_widget.php', | |
| 26 | + $themeisle_library_path . '/src/Modules/Rollback.php', | |
| 27 | + $themeisle_library_path . '/src/Modules/Uninstall_feedback.php', | |
| 28 | + $themeisle_library_path . '/src/Modules/Licenser.php', | |
| 29 | + $themeisle_library_path . '/src/Modules/Endpoint.php', | |
| 30 | + $themeisle_library_path . '/src/Modules/Notification.php', | |
| 31 | + $themeisle_library_path . '/src/Modules/Logger.php', | |
| 32 | + $themeisle_library_path . '/src/Modules/Translate.php', | |
| 33 | + $themeisle_library_path . '/src/Modules/Review.php', | |
| 34 | + $themeisle_library_path . '/src/Modules/Recommendation.php', | |
| 35 | + $themeisle_library_path . '/src/Modules/Promotions.php', | |
| 36 | + $themeisle_library_path . '/src/Modules/Welcome.php', | |
| 37 | + $themeisle_library_path . '/src/Modules/Compatibilities.php', | |
| 38 | + $themeisle_library_path . '/src/Modules/About_us.php', | |
| 39 | +]; | |
| 40 | + | |
| 41 | +$files_to_load = array_merge( $files_to_load, apply_filters( 'themeisle_sdk_required_files', [] ) ); | |
| 42 | + | |
| 30 | 43 | foreach ( $files_to_load as $file ) { |
| 31 | - $file_path = $path . '/' . $file; | |
| 32 | - if ( is_readable( $file_path ) ) { | |
| 33 | - require_once $file_path; | |
| 44 | + if ( is_file( $file ) ) { | |
| 45 | + require_once $file; | |
| 34 | 46 | } |
| 35 | 47 | } |
| 48 | +Loader::init(); | |
| 49 | + | |
| 36 | 50 | foreach ( $products as $product ) { |
| 37 | - ThemeIsle_SDK_Loader::init_product( $product ); | |
| 51 | + Loader::add_product( $product ); | |
| 38 | 52 | } |