78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| defined('ABSPATH') or die("No script kiddies please!");
 | |
| 
 | |
| /**
 | |
|  * The file that defines the library plugin class
 | |
|  *
 | |
|  * @package    Mystery Themes Demo Importer
 | |
|  * @subpackage /includes
 | |
|  */
 | |
| if ( ! class_exists( 'MTDI_Library' ) ) :
 | |
| 
 | |
| 	class MTDI_Library {
 | |
| 		/**
 | |
| 		 * Retrieve the version number of the plugin.
 | |
| 		 *
 | |
| 		 * @since     1.0.0
 | |
| 		 * @return    string    The version number of the plugin.
 | |
| 		 */
 | |
| 		public function get_version() {
 | |
| 			$this->version = MTDI_VERSION;
 | |
| 			return $this->version;
 | |
| 		}
 | |
| 
 | |
| 		/**
 | |
| 		 * Retrieve the json data for activated theme
 | |
| 		 *
 | |
| 		 * @since     1.0.0
 | |
| 		 * @return    string JSON
 | |
| 		 */
 | |
| 		public function retrieve_demo_by_activatetheme( $activated_theme ) {
 | |
| 			if ( strpos( $activated_theme, 'pro' ) !== false ) {
 | |
| 				$activated_theme = str_replace( '-pro', '', $activated_theme );
 | |
| 			} elseif ( strpos( $activated_theme, '-lite' ) !== false ) {
 | |
| 				$activated_theme = str_replace( '-lite', '', $activated_theme );
 | |
| 			}
 | |
| 
 | |
| 			if ( $activated_theme == 'swipewp' ) {
 | |
| 				$activated_theme = esc_html( 'swipe' );
 | |
| 			}
 | |
| 			$all_json_data 	= array();
 | |
| 			$mt_demo_config_file_url  		= 'https://gitlab.com/mysterythemes/themes-demo-pack/-/raw/main/'.esc_html( $activated_theme ).'/demo.json';
 | |
| 			$mt_demo_config_file = apply_filters( 'mtdi_custom_json_config_path', esc_url( $mt_demo_config_file_url ) );
 | |
| 			$all_json_data 	= MTDI_Library::get_remote_data( $mt_demo_config_file );
 | |
| 			if ( is_wp_error( $all_json_data ) ) {
 | |
| 				return $all_json_data;
 | |
| 			}
 | |
| 			$all_json_data 	= json_decode( $all_json_data , true );
 | |
| 			return apply_filters( 'mtdi_all_json_demo_data', $all_json_data );
 | |
| 		}
 | |
| 
 | |
| 		/**
 | |
| 		 * Gets and returns url body using wp_remote_get
 | |
| 		 *
 | |
| 		 * @since 1.0.0
 | |
| 		 */
 | |
| 		public static function get_remote_data( $url ) {
 | |
| 
 | |
| 			// Get data
 | |
| 			$response = wp_remote_get( $url );
 | |
| 
 | |
| 			// Check for errors
 | |
| 			if ( is_wp_error( $response ) or ( wp_remote_retrieve_response_code( $response ) != 200 ) ) {
 | |
| 				return false;
 | |
| 			}
 | |
| 
 | |
| 			// Get remote body val
 | |
| 			$body = wp_remote_retrieve_body( $response );
 | |
| 
 | |
| 			// Return data
 | |
| 			if ( ! empty( $body ) ) {
 | |
| 				return $body;
 | |
| 			} else {
 | |
| 				return false;
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| endif; |