= 0 ) { add_filter( 'wp_check_filetype_and_ext', [$this, 'wpCheckFiletypeAndExt'], 10, 5 ); } else { add_filter( 'wp_check_filetype_and_ext', [$this, 'wpCheckFiletypeAndExt'], 10, 4 ); } } function enqueueBlockAssets(){ wp_register_script( 'bp3d-model-viewer', TDVB_DIR . 'assets/js/model-viewer.min.js', [], BP3D_VERSION, true ); } function scriptLoaderTag( $tag, $handle, $src ){ if ( 'bp3d-model-viewer' !== $handle ) { return $tag; } $tag = ''; return $tag; } function bp3d_pipe_checker(){ $nonce = $_GET['_wpnonce']; if( !wp_verify_nonce( $nonce, 'wp_ajax' ) ){ echo wp_send_json( [ 'success' => false ] ); wp_die(); } echo wp_send_json( [ 'data' => [ 'isPipe' => false ] ] ); wp_die(); } //Allow some additional file types for upload function uploadMimes( $mimes ) { // New allowed mime types. $mimes['glb'] = 'model/gltf-binary'; $mimes['gltf'] = 'model/gltf-binary'; return $mimes; } function wpCheckFiletypeAndExt( $data, $file, $filename, $mimes, $real_mime=null ){ // If file extension is 2 or more $f_sp = explode( '.', $filename ); $f_exp_count = count( $f_sp ); if( $f_exp_count <= 1 ){ return $data; }else{ $f_name = $f_sp[0]; $ext = $f_sp[$f_exp_count - 1]; } if( $ext == 'glb' || $ext == 'gltf' ){ $type = 'model/gltf-binary'; $proper_filename = ''; return compact('ext', 'type', 'proper_filename'); }else { return $data; } } } new TDVB3DViewerBlock; // Require files require_once plugin_dir_path( __FILE__ ) . 'inc/block.php';