get( $key, $default ) : $instance; } } if( !function_exists( 'ud_check_stateless_media' ) ) { /** * Determines if plugin can be initialized. * * @author Usability Dynamics, Inc. * @since 0.2.0 */ function ud_check_stateless_media() { global $_ud_stateless_media_error; try { //** Be sure composer.json exists */ $file = dirname( __FILE__ ) . '/composer.json'; if( !file_exists( $file ) ) { throw new Exception( __( 'Distributive is broken. composer.json is missed. Try to remove and upload plugin again.', 'stateless-media' ) ); } $data = json_decode( file_get_contents( $file ), true ); //** Be sure PHP version is correct. */ if( !empty( $data[ 'require' ][ 'php' ] ) ) { preg_match( '/^([><=]*)([0-9\.]*)$/', $data[ 'require' ][ 'php' ], $matches ); if( !empty( $matches[1] ) && !empty( $matches[2] ) ) { if( !version_compare( PHP_VERSION, $matches[2], $matches[1] ) ) { throw new Exception( sprintf( __( 'Plugin requires PHP %s or higher. Your current PHP version is %s', 'stateless-media' ), $matches[2], PHP_VERSION ) ); } } } //** Be sure vendor autoloader exists */ if ( file_exists( dirname( __FILE__ ) . '/vendor/autoload.php' ) ) { require_once ( dirname( __FILE__ ) . '/vendor/autoload.php' ); } else { throw new Exception( sprintf( __( 'Distributive is broken. %s file is missed. Try to remove and upload plugin again.', 'stateless-media' ), dirname( __FILE__ ) . '/vendor/autoload.php' ) ); } //** Be sure our Bootstrap class exists */ if( !class_exists( '\wpCloud\StatelessMedia\Bootstrap' ) ) { throw new Exception( __( 'Distributive is broken. Plugin loader is not available. Try to remove and upload plugin again.', 'stateless-media' ) ); } // Include metabox tabs addon require_once( dirname( __FILE__ ) . '/lib/meta-box-tabs/meta-box-tabs.php' ); } catch( Exception $e ) { $_ud_stateless_media_error = $e->getMessage(); return false; } return true; } } if( !function_exists( 'ud_stateless_media_message' ) ) { /** * Renders admin notes in case there are errors on plugin init * * @author Usability Dynamics, Inc. * @since 1.0.0 */ function ud_stateless_media_message() { global $_ud_stateless_media_error; if( !empty( $_ud_stateless_media_error ) ) { $message = sprintf( __( '
%s can not be initialized. %s
', 'stateless-media' ), 'Stateless Media', $_ud_stateless_media_error ); echo '