Edit File by line
/home/zeestwma/richards.../wp-inclu.../SimplePi.../src
File: Enclosure.php
public function get_hash(int $key = 0)
[500] Fix | Delete
{
[501] Fix | Delete
$hashes = $this->get_hashes();
[502] Fix | Delete
if (isset($hashes[$key])) {
[503] Fix | Delete
return $hashes[$key];
[504] Fix | Delete
}
[505] Fix | Delete
[506] Fix | Delete
return null;
[507] Fix | Delete
}
[508] Fix | Delete
[509] Fix | Delete
/**
[510] Fix | Delete
* Get all credits
[511] Fix | Delete
*
[512] Fix | Delete
* @return string[]|null Array of strings, see {@see get_hash()}
[513] Fix | Delete
*/
[514] Fix | Delete
public function get_hashes()
[515] Fix | Delete
{
[516] Fix | Delete
if ($this->hashes !== null) {
[517] Fix | Delete
return $this->hashes;
[518] Fix | Delete
}
[519] Fix | Delete
[520] Fix | Delete
return null;
[521] Fix | Delete
}
[522] Fix | Delete
[523] Fix | Delete
/**
[524] Fix | Delete
* Get the height
[525] Fix | Delete
*
[526] Fix | Delete
* @return string|null
[527] Fix | Delete
*/
[528] Fix | Delete
public function get_height()
[529] Fix | Delete
{
[530] Fix | Delete
if ($this->height !== null) {
[531] Fix | Delete
return $this->height;
[532] Fix | Delete
}
[533] Fix | Delete
[534] Fix | Delete
return null;
[535] Fix | Delete
}
[536] Fix | Delete
[537] Fix | Delete
/**
[538] Fix | Delete
* Get the language
[539] Fix | Delete
*
[540] Fix | Delete
* @link http://tools.ietf.org/html/rfc3066
[541] Fix | Delete
* @return string|null Language code as per RFC 3066
[542] Fix | Delete
*/
[543] Fix | Delete
public function get_language()
[544] Fix | Delete
{
[545] Fix | Delete
if ($this->lang !== null) {
[546] Fix | Delete
return $this->lang;
[547] Fix | Delete
}
[548] Fix | Delete
[549] Fix | Delete
return null;
[550] Fix | Delete
}
[551] Fix | Delete
[552] Fix | Delete
/**
[553] Fix | Delete
* Get a single keyword
[554] Fix | Delete
*
[555] Fix | Delete
* @param int $key
[556] Fix | Delete
* @return string|null
[557] Fix | Delete
*/
[558] Fix | Delete
public function get_keyword(int $key = 0)
[559] Fix | Delete
{
[560] Fix | Delete
$keywords = $this->get_keywords();
[561] Fix | Delete
if (isset($keywords[$key])) {
[562] Fix | Delete
return $keywords[$key];
[563] Fix | Delete
}
[564] Fix | Delete
[565] Fix | Delete
return null;
[566] Fix | Delete
}
[567] Fix | Delete
[568] Fix | Delete
/**
[569] Fix | Delete
* Get all keywords
[570] Fix | Delete
*
[571] Fix | Delete
* @return string[]|null
[572] Fix | Delete
*/
[573] Fix | Delete
public function get_keywords()
[574] Fix | Delete
{
[575] Fix | Delete
if ($this->keywords !== null) {
[576] Fix | Delete
return $this->keywords;
[577] Fix | Delete
}
[578] Fix | Delete
[579] Fix | Delete
return null;
[580] Fix | Delete
}
[581] Fix | Delete
[582] Fix | Delete
/**
[583] Fix | Delete
* Get length
[584] Fix | Delete
*
[585] Fix | Delete
* @return ?int Length in bytes
[586] Fix | Delete
*/
[587] Fix | Delete
public function get_length()
[588] Fix | Delete
{
[589] Fix | Delete
if ($this->length !== null) {
[590] Fix | Delete
return $this->length;
[591] Fix | Delete
}
[592] Fix | Delete
[593] Fix | Delete
return null;
[594] Fix | Delete
}
[595] Fix | Delete
[596] Fix | Delete
/**
[597] Fix | Delete
* Get the URL
[598] Fix | Delete
*
[599] Fix | Delete
* @return string|null
[600] Fix | Delete
*/
[601] Fix | Delete
public function get_link()
[602] Fix | Delete
{
[603] Fix | Delete
if ($this->link !== null) {
[604] Fix | Delete
return $this->link;
[605] Fix | Delete
}
[606] Fix | Delete
[607] Fix | Delete
return null;
[608] Fix | Delete
}
[609] Fix | Delete
[610] Fix | Delete
/**
[611] Fix | Delete
* Get the medium
[612] Fix | Delete
*
[613] Fix | Delete
* @link http://www.rssboard.org/media-rss#media-content
[614] Fix | Delete
* @return string|null Should be one of 'image', 'audio', 'video', 'document', 'executable'
[615] Fix | Delete
*/
[616] Fix | Delete
public function get_medium()
[617] Fix | Delete
{
[618] Fix | Delete
if ($this->medium !== null) {
[619] Fix | Delete
return $this->medium;
[620] Fix | Delete
}
[621] Fix | Delete
[622] Fix | Delete
return null;
[623] Fix | Delete
}
[624] Fix | Delete
[625] Fix | Delete
/**
[626] Fix | Delete
* Get the player URL
[627] Fix | Delete
*
[628] Fix | Delete
* Typically the same as {@see get_permalink()}
[629] Fix | Delete
* @return string|null Player URL
[630] Fix | Delete
*/
[631] Fix | Delete
public function get_player()
[632] Fix | Delete
{
[633] Fix | Delete
if ($this->player !== null) {
[634] Fix | Delete
return $this->player;
[635] Fix | Delete
}
[636] Fix | Delete
[637] Fix | Delete
return null;
[638] Fix | Delete
}
[639] Fix | Delete
[640] Fix | Delete
/**
[641] Fix | Delete
* Get a single rating
[642] Fix | Delete
*
[643] Fix | Delete
* @param int $key
[644] Fix | Delete
* @return \SimplePie\Rating|null
[645] Fix | Delete
*/
[646] Fix | Delete
public function get_rating(int $key = 0)
[647] Fix | Delete
{
[648] Fix | Delete
$ratings = $this->get_ratings();
[649] Fix | Delete
if (isset($ratings[$key])) {
[650] Fix | Delete
return $ratings[$key];
[651] Fix | Delete
}
[652] Fix | Delete
[653] Fix | Delete
return null;
[654] Fix | Delete
}
[655] Fix | Delete
[656] Fix | Delete
/**
[657] Fix | Delete
* Get all ratings
[658] Fix | Delete
*
[659] Fix | Delete
* @return Rating[]|null
[660] Fix | Delete
*/
[661] Fix | Delete
public function get_ratings()
[662] Fix | Delete
{
[663] Fix | Delete
if ($this->ratings !== null) {
[664] Fix | Delete
return $this->ratings;
[665] Fix | Delete
}
[666] Fix | Delete
[667] Fix | Delete
return null;
[668] Fix | Delete
}
[669] Fix | Delete
[670] Fix | Delete
/**
[671] Fix | Delete
* Get a single restriction
[672] Fix | Delete
*
[673] Fix | Delete
* @param int $key
[674] Fix | Delete
* @return \SimplePie\Restriction|null
[675] Fix | Delete
*/
[676] Fix | Delete
public function get_restriction(int $key = 0)
[677] Fix | Delete
{
[678] Fix | Delete
$restrictions = $this->get_restrictions();
[679] Fix | Delete
if (isset($restrictions[$key])) {
[680] Fix | Delete
return $restrictions[$key];
[681] Fix | Delete
}
[682] Fix | Delete
[683] Fix | Delete
return null;
[684] Fix | Delete
}
[685] Fix | Delete
[686] Fix | Delete
/**
[687] Fix | Delete
* Get all restrictions
[688] Fix | Delete
*
[689] Fix | Delete
* @return Restriction[]|null
[690] Fix | Delete
*/
[691] Fix | Delete
public function get_restrictions()
[692] Fix | Delete
{
[693] Fix | Delete
if ($this->restrictions !== null) {
[694] Fix | Delete
return $this->restrictions;
[695] Fix | Delete
}
[696] Fix | Delete
[697] Fix | Delete
return null;
[698] Fix | Delete
}
[699] Fix | Delete
[700] Fix | Delete
/**
[701] Fix | Delete
* Get the sampling rate (in kHz)
[702] Fix | Delete
*
[703] Fix | Delete
* @return string|null
[704] Fix | Delete
*/
[705] Fix | Delete
public function get_sampling_rate()
[706] Fix | Delete
{
[707] Fix | Delete
if ($this->samplingrate !== null) {
[708] Fix | Delete
return $this->samplingrate;
[709] Fix | Delete
}
[710] Fix | Delete
[711] Fix | Delete
return null;
[712] Fix | Delete
}
[713] Fix | Delete
[714] Fix | Delete
/**
[715] Fix | Delete
* Get the file size (in MiB)
[716] Fix | Delete
*
[717] Fix | Delete
* @return float|null File size in mebibytes (1048 bytes)
[718] Fix | Delete
*/
[719] Fix | Delete
public function get_size()
[720] Fix | Delete
{
[721] Fix | Delete
$length = $this->get_length();
[722] Fix | Delete
if ($length !== null) {
[723] Fix | Delete
return round($length / 1048576, 2);
[724] Fix | Delete
}
[725] Fix | Delete
[726] Fix | Delete
return null;
[727] Fix | Delete
}
[728] Fix | Delete
[729] Fix | Delete
/**
[730] Fix | Delete
* Get a single thumbnail
[731] Fix | Delete
*
[732] Fix | Delete
* @param int $key
[733] Fix | Delete
* @return string|null Thumbnail URL
[734] Fix | Delete
*/
[735] Fix | Delete
public function get_thumbnail(int $key = 0)
[736] Fix | Delete
{
[737] Fix | Delete
$thumbnails = $this->get_thumbnails();
[738] Fix | Delete
if (isset($thumbnails[$key])) {
[739] Fix | Delete
return $thumbnails[$key];
[740] Fix | Delete
}
[741] Fix | Delete
[742] Fix | Delete
return null;
[743] Fix | Delete
}
[744] Fix | Delete
[745] Fix | Delete
/**
[746] Fix | Delete
* Get all thumbnails
[747] Fix | Delete
*
[748] Fix | Delete
* @return string[]|null Array of thumbnail URLs
[749] Fix | Delete
*/
[750] Fix | Delete
public function get_thumbnails()
[751] Fix | Delete
{
[752] Fix | Delete
if ($this->thumbnails !== null) {
[753] Fix | Delete
return $this->thumbnails;
[754] Fix | Delete
}
[755] Fix | Delete
[756] Fix | Delete
return null;
[757] Fix | Delete
}
[758] Fix | Delete
[759] Fix | Delete
/**
[760] Fix | Delete
* Get the title
[761] Fix | Delete
*
[762] Fix | Delete
* @return string|null
[763] Fix | Delete
*/
[764] Fix | Delete
public function get_title()
[765] Fix | Delete
{
[766] Fix | Delete
if ($this->title !== null) {
[767] Fix | Delete
return $this->title;
[768] Fix | Delete
}
[769] Fix | Delete
[770] Fix | Delete
return null;
[771] Fix | Delete
}
[772] Fix | Delete
[773] Fix | Delete
/**
[774] Fix | Delete
* Get mimetype of the enclosure
[775] Fix | Delete
*
[776] Fix | Delete
* @see get_real_type()
[777] Fix | Delete
* @return string|null MIME type
[778] Fix | Delete
*/
[779] Fix | Delete
public function get_type()
[780] Fix | Delete
{
[781] Fix | Delete
if ($this->type !== null) {
[782] Fix | Delete
return $this->type;
[783] Fix | Delete
}
[784] Fix | Delete
[785] Fix | Delete
return null;
[786] Fix | Delete
}
[787] Fix | Delete
[788] Fix | Delete
/**
[789] Fix | Delete
* Get the width
[790] Fix | Delete
*
[791] Fix | Delete
* @return string|null
[792] Fix | Delete
*/
[793] Fix | Delete
public function get_width()
[794] Fix | Delete
{
[795] Fix | Delete
if ($this->width !== null) {
[796] Fix | Delete
return $this->width;
[797] Fix | Delete
}
[798] Fix | Delete
[799] Fix | Delete
return null;
[800] Fix | Delete
}
[801] Fix | Delete
[802] Fix | Delete
/**
[803] Fix | Delete
* Embed the enclosure using `<embed>`
[804] Fix | Delete
*
[805] Fix | Delete
* @deprecated Use the second parameter to {@see embed} instead
[806] Fix | Delete
*
[807] Fix | Delete
* @param array<string, mixed>|string $options See first parameter to {@see embed}
[808] Fix | Delete
* @return string HTML string to output
[809] Fix | Delete
*/
[810] Fix | Delete
public function native_embed($options = '')
[811] Fix | Delete
{
[812] Fix | Delete
return $this->embed($options, true);
[813] Fix | Delete
}
[814] Fix | Delete
[815] Fix | Delete
/**
[816] Fix | Delete
* Embed the enclosure using Javascript
[817] Fix | Delete
*
[818] Fix | Delete
* `$options` is an array or comma-separated key:value string, with the
[819] Fix | Delete
* following properties:
[820] Fix | Delete
*
[821] Fix | Delete
* - `alt` (string): Alternate content for when an end-user does not have
[822] Fix | Delete
* the appropriate handler installed or when a file type is
[823] Fix | Delete
* unsupported. Can be any text or HTML. Defaults to blank.
[824] Fix | Delete
* - `altclass` (string): If a file type is unsupported, the end-user will
[825] Fix | Delete
* see the alt text (above) linked directly to the content. That link
[826] Fix | Delete
* will have this value as its class name. Defaults to blank.
[827] Fix | Delete
* - `audio` (string): This is an image that should be used as a
[828] Fix | Delete
* placeholder for audio files before they're loaded (QuickTime-only).
[829] Fix | Delete
* Can be any relative or absolute URL. Defaults to blank.
[830] Fix | Delete
* - `bgcolor` (string): The background color for the media, if not
[831] Fix | Delete
* already transparent. Defaults to `#ffffff`.
[832] Fix | Delete
* - `height` (integer): The height of the embedded media. Accepts any
[833] Fix | Delete
* numeric pixel value (such as `360`) or `auto`. Defaults to `auto`,
[834] Fix | Delete
* and it is recommended that you use this default.
[835] Fix | Delete
* - `loop` (boolean): Do you want the media to loop when it's done?
[836] Fix | Delete
* Defaults to `false`.
[837] Fix | Delete
* - `mediaplayer` (string): The location of the included
[838] Fix | Delete
* `mediaplayer.swf` file. This allows for the playback of Flash Video
[839] Fix | Delete
* (`.flv`) files, and is the default handler for non-Odeo MP3's.
[840] Fix | Delete
* Defaults to blank.
[841] Fix | Delete
* - `video` (string): This is an image that should be used as a
[842] Fix | Delete
* placeholder for video files before they're loaded (QuickTime-only).
[843] Fix | Delete
* Can be any relative or absolute URL. Defaults to blank.
[844] Fix | Delete
* - `width` (integer): The width of the embedded media. Accepts any
[845] Fix | Delete
* numeric pixel value (such as `480`) or `auto`. Defaults to `auto`,
[846] Fix | Delete
* and it is recommended that you use this default.
[847] Fix | Delete
* - `widescreen` (boolean): Is the enclosure widescreen or standard?
[848] Fix | Delete
* This applies only to video enclosures, and will automatically resize
[849] Fix | Delete
* the content appropriately. Defaults to `false`, implying 4:3 mode.
[850] Fix | Delete
*
[851] Fix | Delete
* Note: Non-widescreen (4:3) mode with `width` and `height` set to `auto`
[852] Fix | Delete
* will default to 480x360 video resolution. Widescreen (16:9) mode with
[853] Fix | Delete
* `width` and `height` set to `auto` will default to 480x270 video resolution.
[854] Fix | Delete
*
[855] Fix | Delete
* @todo If the dimensions for media:content are defined, use them when width/height are set to 'auto'.
[856] Fix | Delete
* @param array<string, mixed>|string $options Comma-separated key:value list, or array
[857] Fix | Delete
* @param bool $native Use `<embed>`
[858] Fix | Delete
* @return string HTML string to output
[859] Fix | Delete
*/
[860] Fix | Delete
public function embed($options = '', bool $native = false)
[861] Fix | Delete
{
[862] Fix | Delete
// Set up defaults
[863] Fix | Delete
$audio = '';
[864] Fix | Delete
$video = '';
[865] Fix | Delete
$alt = '';
[866] Fix | Delete
$altclass = '';
[867] Fix | Delete
$loop = 'false';
[868] Fix | Delete
$width = 'auto';
[869] Fix | Delete
$height = 'auto';
[870] Fix | Delete
$bgcolor = '#ffffff';
[871] Fix | Delete
$mediaplayer = '';
[872] Fix | Delete
$widescreen = false;
[873] Fix | Delete
$handler = $this->get_handler();
[874] Fix | Delete
$type = $this->get_real_type();
[875] Fix | Delete
$placeholder = '';
[876] Fix | Delete
[877] Fix | Delete
// Process options and reassign values as necessary
[878] Fix | Delete
if (is_array($options)) {
[879] Fix | Delete
extract($options);
[880] Fix | Delete
} else {
[881] Fix | Delete
$options = explode(',', $options);
[882] Fix | Delete
foreach ($options as $option) {
[883] Fix | Delete
$opt = explode(':', $option, 2);
[884] Fix | Delete
if (isset($opt[0], $opt[1])) {
[885] Fix | Delete
$opt[0] = trim($opt[0]);
[886] Fix | Delete
$opt[1] = trim($opt[1]);
[887] Fix | Delete
switch ($opt[0]) {
[888] Fix | Delete
case 'audio':
[889] Fix | Delete
$audio = $opt[1];
[890] Fix | Delete
break;
[891] Fix | Delete
[892] Fix | Delete
case 'video':
[893] Fix | Delete
$video = $opt[1];
[894] Fix | Delete
break;
[895] Fix | Delete
[896] Fix | Delete
case 'alt':
[897] Fix | Delete
$alt = $opt[1];
[898] Fix | Delete
break;
[899] Fix | Delete
[900] Fix | Delete
case 'altclass':
[901] Fix | Delete
$altclass = $opt[1];
[902] Fix | Delete
break;
[903] Fix | Delete
[904] Fix | Delete
case 'loop':
[905] Fix | Delete
$loop = $opt[1];
[906] Fix | Delete
break;
[907] Fix | Delete
[908] Fix | Delete
case 'width':
[909] Fix | Delete
$width = $opt[1];
[910] Fix | Delete
break;
[911] Fix | Delete
[912] Fix | Delete
case 'height':
[913] Fix | Delete
$height = $opt[1];
[914] Fix | Delete
break;
[915] Fix | Delete
[916] Fix | Delete
case 'bgcolor':
[917] Fix | Delete
$bgcolor = $opt[1];
[918] Fix | Delete
break;
[919] Fix | Delete
[920] Fix | Delete
case 'mediaplayer':
[921] Fix | Delete
$mediaplayer = $opt[1];
[922] Fix | Delete
break;
[923] Fix | Delete
[924] Fix | Delete
case 'widescreen':
[925] Fix | Delete
$widescreen = $opt[1];
[926] Fix | Delete
break;
[927] Fix | Delete
}
[928] Fix | Delete
}
[929] Fix | Delete
}
[930] Fix | Delete
}
[931] Fix | Delete
[932] Fix | Delete
$mime = explode('/', (string) $type, 2);
[933] Fix | Delete
$mime = $mime[0];
[934] Fix | Delete
[935] Fix | Delete
// Process values for 'auto'
[936] Fix | Delete
if ($width === 'auto') {
[937] Fix | Delete
if ($mime === 'video') {
[938] Fix | Delete
if ($height === 'auto') {
[939] Fix | Delete
$width = 480;
[940] Fix | Delete
} elseif ($widescreen) {
[941] Fix | Delete
$width = round((intval($height) / 9) * 16);
[942] Fix | Delete
} else {
[943] Fix | Delete
$width = round((intval($height) / 3) * 4);
[944] Fix | Delete
}
[945] Fix | Delete
} else {
[946] Fix | Delete
$width = '100%';
[947] Fix | Delete
}
[948] Fix | Delete
}
[949] Fix | Delete
[950] Fix | Delete
if ($height === 'auto') {
[951] Fix | Delete
if ($mime === 'audio') {
[952] Fix | Delete
$height = 0;
[953] Fix | Delete
} elseif ($mime === 'video') {
[954] Fix | Delete
if ($width === 'auto') {
[955] Fix | Delete
if ($widescreen) {
[956] Fix | Delete
$height = 270;
[957] Fix | Delete
} else {
[958] Fix | Delete
$height = 360;
[959] Fix | Delete
}
[960] Fix | Delete
} elseif ($widescreen) {
[961] Fix | Delete
$height = round((intval($width) / 16) * 9);
[962] Fix | Delete
} else {
[963] Fix | Delete
$height = round((intval($width) / 4) * 3);
[964] Fix | Delete
}
[965] Fix | Delete
} else {
[966] Fix | Delete
$height = 376;
[967] Fix | Delete
}
[968] Fix | Delete
} elseif ($mime === 'audio') {
[969] Fix | Delete
$height = 0;
[970] Fix | Delete
}
[971] Fix | Delete
[972] Fix | Delete
// Set proper placeholder value
[973] Fix | Delete
if ($mime === 'audio') {
[974] Fix | Delete
$placeholder = $audio;
[975] Fix | Delete
} elseif ($mime === 'video') {
[976] Fix | Delete
$placeholder = $video;
[977] Fix | Delete
}
[978] Fix | Delete
[979] Fix | Delete
$embed = '';
[980] Fix | Delete
[981] Fix | Delete
// Flash
[982] Fix | Delete
if ($handler === 'flash') {
[983] Fix | Delete
if ($native) {
[984] Fix | Delete
$embed .= "<embed src=\"" . $this->get_link() . "\" pluginspage=\"http://adobe.com/go/getflashplayer\" type=\"$type\" quality=\"high\" width=\"$width\" height=\"$height\" bgcolor=\"$bgcolor\" loop=\"$loop\"></embed>";
[985] Fix | Delete
} else {
[986] Fix | Delete
$embed .= "<script type='text/javascript'>embed_flash('$bgcolor', '$width', '$height', '" . $this->get_link() . "', '$loop', '$type');</script>";
[987] Fix | Delete
}
[988] Fix | Delete
}
[989] Fix | Delete
[990] Fix | Delete
// Flash Media Player file types.
[991] Fix | Delete
// Preferred handler for MP3 file types.
[992] Fix | Delete
elseif ($handler === 'fmedia' || ($handler === 'mp3' && $mediaplayer !== '')) {
[993] Fix | Delete
if (is_numeric($height)) {
[994] Fix | Delete
$height += 20;
[995] Fix | Delete
}
[996] Fix | Delete
[997] Fix | Delete
if ($native) {
[998] Fix | Delete
$embed .= "<embed src=\"$mediaplayer\" pluginspage=\"http://adobe.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" quality=\"high\" width=\"$width\" height=\"$height\" wmode=\"transparent\" flashvars=\"file=" . rawurlencode($this->get_link().'?file_extension=.'.$this->get_extension()) . "&autostart=false&repeat=$loop&showdigits=true&showfsbutton=false\"></embed>";
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function