| @@ 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. | |
| @@ 1777-1824 (lines=48) @@ | ||
| 1774 | * | |
| 1775 | * @return bool | |
| 1776 | */ | |
| 1777 | 	protected function is_file_supported_for_sideloading( $file ) { | |
| 1778 | 		if ( class_exists( 'finfo' ) ) { // php 5.3+ | |
| 1779 | $finfo = new finfo( FILEINFO_MIME ); | |
| 1780 | $mime = explode( '; ', $finfo->file( $file ) ); | |
| 1781 | $type = $mime[0]; | |
| 1782 | ||
| 1783 | 		} elseif ( function_exists( 'mime_content_type' ) ) { // PHP 5.2 | |
| 1784 | $type = mime_content_type( $file ); | |
| 1785 | ||
| 1786 | 		} else { | |
| 1787 | return false; | |
| 1788 | } | |
| 1789 | ||
| 1790 | /** | |
| 1791 | * Filter the list of supported mime types for media sideloading. | |
| 1792 | * | |
| 1793 | * @since 4.0.0 | |
| 1794 | * | |
| 1795 | * @module json-api | |
| 1796 | * | |
| 1797 | * @param array $supported_mime_types Array of the supported mime types for media sideloading. | |
| 1798 | */ | |
| 1799 | $supported_mime_types = apply_filters( 'jetpack_supported_media_sideload_types', array( | |
| 1800 | 'image/png', | |
| 1801 | 'image/jpeg', | |
| 1802 | 'image/gif', | |
| 1803 | 'image/bmp', | |
| 1804 | 'video/quicktime', | |
| 1805 | 'video/mp4', | |
| 1806 | 'video/mpeg', | |
| 1807 | 'video/ogg', | |
| 1808 | 'video/3gpp', | |
| 1809 | 'video/3gpp2', | |
| 1810 | 'video/h261', | |
| 1811 | 'video/h262', | |
| 1812 | 'video/h264', | |
| 1813 | 'video/x-msvideo', | |
| 1814 | 'video/x-ms-wmv', | |
| 1815 | 'video/x-ms-asf', | |
| 1816 | ) ); | |
| 1817 | ||
| 1818 | // If the type returned was not an array as expected, then we know we don't have a match. | |
| 1819 | 		if ( ! is_array( $supported_mime_types ) ) { | |
| 1820 | return false; | |
| 1821 | } | |
| 1822 | ||
| 1823 | return in_array( $type, $supported_mime_types ); | |
| 1824 | } | |
| 1825 | ||
| 1826 | 	function allow_video_uploads( $mimes ) { | |
| 1827 | // if we are on Jetpack, bail - Videos are already allowed | |