| @@ 112-159 (lines=48) @@ | ||
| 109 | * @param string $file Path to file to get its mime type. | |
| 110 | * @return bool | |
| 111 | */ | |
| 112 | 	protected static function is_file_supported_for_sideloading( $file ) { | |
| 113 | 		if ( class_exists( 'finfo' ) ) { // php 5.3+ | |
| 114 | $finfo = new finfo( FILEINFO_MIME ); | |
| 115 | $mime = explode( '; ', $finfo->file( $file ) ); | |
| 116 | $type = $mime[0]; | |
| 117 | ||
| 118 | 		} elseif ( function_exists( 'mime_content_type' ) ) { // PHP 5.2 | |
| 119 | $type = mime_content_type( $file ); | |
| 120 | ||
| 121 | 		} else { | |
| 122 | return false; | |
| 123 | } | |
| 124 | ||
| 125 | /** | |
| 126 | * Filter the list of supported mime types for media sideloading. | |
| 127 | * | |
| 128 | * @since 4.0 | |
| 129 | * | |
| 130 | * @module json-api | |
| 131 | * | |
| 132 | * @param array $supported_mime_types Array of the supported mime types for media sideloading. | |
| 133 | */ | |
| 134 | $supported_mime_types = apply_filters( 'jetpack_supported_media_sideload_types', array( | |
| 135 | 'image/png', | |
| 136 | 'image/jpeg', | |
| 137 | 'image/gif', | |
| 138 | 'image/bmp', | |
| 139 | 'video/quicktime', | |
| 140 | 'video/mp4', | |
| 141 | 'video/mpeg', | |
| 142 | 'video/ogg', | |
| 143 | 'video/3gpp', | |
| 144 | 'video/3gpp2', | |
| 145 | 'video/h261', | |
| 146 | 'video/h262', | |
| 147 | 'video/h264', | |
| 148 | 'video/x-msvideo', | |
| 149 | 'video/x-ms-wmv', | |
| 150 | 'video/x-ms-asf', | |
| 151 | ) ); | |
| 152 | ||
| 153 | // If the type returned was not an array as expected, then we know we don't have a match. | |
| 154 | 		if ( ! is_array( $supported_mime_types ) ) { | |
| 155 | return false; | |
| 156 | } | |
| 157 | ||
| 158 | return in_array( $type, $supported_mime_types ); | |
| 159 | } | |
| 160 | ||
| 161 | /** | |
| 162 | * Try to remove the temporal file from the given file array. | |
| @@ 1910-1957 (lines=48) @@ | ||
| 1907 | * | |
| 1908 | * @return bool | |
| 1909 | */ | |
| 1910 | 	protected function is_file_supported_for_sideloading( $file ) { | |
| 1911 | 		if ( class_exists( 'finfo' ) ) { // php 5.3+ | |
| 1912 | $finfo = new finfo( FILEINFO_MIME ); | |
| 1913 | $mime = explode( '; ', $finfo->file( $file ) ); | |
| 1914 | $type = $mime[0]; | |
| 1915 | ||
| 1916 | 		} elseif ( function_exists( 'mime_content_type' ) ) { // PHP 5.2 | |
| 1917 | $type = mime_content_type( $file ); | |
| 1918 | ||
| 1919 | 		} else { | |
| 1920 | return false; | |
| 1921 | } | |
| 1922 | ||
| 1923 | /** | |
| 1924 | * Filter the list of supported mime types for media sideloading. | |
| 1925 | * | |
| 1926 | * @since 4.0.0 | |
| 1927 | * | |
| 1928 | * @module json-api | |
| 1929 | * | |
| 1930 | * @param array $supported_mime_types Array of the supported mime types for media sideloading. | |
| 1931 | */ | |
| 1932 | $supported_mime_types = apply_filters( 'jetpack_supported_media_sideload_types', array( | |
| 1933 | 'image/png', | |
| 1934 | 'image/jpeg', | |
| 1935 | 'image/gif', | |
| 1936 | 'image/bmp', | |
| 1937 | 'video/quicktime', | |
| 1938 | 'video/mp4', | |
| 1939 | 'video/mpeg', | |
| 1940 | 'video/ogg', | |
| 1941 | 'video/3gpp', | |
| 1942 | 'video/3gpp2', | |
| 1943 | 'video/h261', | |
| 1944 | 'video/h262', | |
| 1945 | 'video/h264', | |
| 1946 | 'video/x-msvideo', | |
| 1947 | 'video/x-ms-wmv', | |
| 1948 | 'video/x-ms-asf', | |
| 1949 | ) ); | |
| 1950 | ||
| 1951 | // If the type returned was not an array as expected, then we know we don't have a match. | |
| 1952 | 		if ( ! is_array( $supported_mime_types ) ) { | |
| 1953 | return false; | |
| 1954 | } | |
| 1955 | ||
| 1956 | return in_array( $type, $supported_mime_types ); | |
| 1957 | } | |
| 1958 | ||
| 1959 | 	function allow_video_uploads( $mimes ) { | |
| 1960 | // if we are on Jetpack, bail - Videos are already allowed | |