/** * Handles the Shortcode for: `[opmStream /]`. * * @package optimizeMember\opmFile * @since 130119 * * @attaches-to ``add_shortcode("opmStream");`` * * @param array $attr An array of Attributes. * @param str $content Content inside the Shortcode. * @param str $shortcode The actual Shortcode name itself. * @return str HTML markup that produces an audio/video stream for a specific player. */ public static function sc_get_stream($attr = FALSE, $content = FALSE, $shortcode = FALSE) { eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_before_sc_get_stream", get_defined_vars()); unset($__refs, $__v); /**/ $attr = c_ws_plugin__optimizemember_utils_strings::trim_qts_deep((array) $attr); /**/ $attr = shortcode_atts(array("download" => "", "download_key" => "", "stream" => "yes", "inline" => "yes", "storage" => "", "remote" => "", "ssl" => "", "rewrite" => "yes", "rewrite_base" => "", "skip_confirmation" => "", "url_to_storage_source" => "yes", "count_against_user" => "yes", "check_user" => "yes", "file_download" => "", "player" => "jwplayer-v6-rtmp", "player_id" => "s2-stream-" . md5(uniqid("", TRUE)), "player_path" => "/jwplayer/jwplayer.js", "player_key" => "", "player_image" => "", "player_title" => "", "player_controls" => "yes", "player_height" => "270", "player_skin" => "", "player_stretching" => "uniform", "player_width" => "480", "player_autostart" => "no", "player_fallback" => "yes", "player_mute" => "no", "player_primary" => "flash", "player_repeat" => "no", "player_startparam" => "", "player_option_blocks" => ""), $attr); $attr["download"] = !empty($attr["file_download"]) ? $attr["file_download"] : $attr["download"]; /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_before_sc_get_stream_after_shortcode_atts", get_defined_vars()); unset($__refs, $__v); /**/ foreach ($attr as $key => $value) { if (strlen($value) && in_array($key, array("download", "download_key", "stream", "inline", "storage", "remote", "ssl", "rewrite", "rewrite_base"))) { $config["file_" . $key] = $value; } else { if (strlen($value) && !in_array($key, array("file_download", "player")) && strpos($key, "player_") !== 0) { $config[$key] = $value; } } } /**/ unset($key, $value); /**/ if (!empty($config) && isset($config["file_download"])) { $_get = c_ws_plugin__optimizemember_files::create_file_download_url($config, TRUE); /**/ if (is_array($_get) && !empty($_get) && $attr["player"] && file_exists(dirname(dirname(__FILE__)) . "/templates/players/" . $attr["player"] . ".php") && $attr["player_id"] && $attr["player_path"]) { if (strpos($attr["player"], "jwplayer-v6") === 0) { $get = trim(c_ws_plugin__optimizemember_utilities::evl(file_get_contents(dirname(dirname(__FILE__)) . "/templates/players/" . $attr["player"] . ".php"))); /**/ $get = preg_replace("/%%streamer%%/", $_get["streamer"], $get); $get = preg_replace("/%%prefix%%/", $_get["prefix"], $get); $get = preg_replace("/%%file%%/", $_get["file"], $get); $get = preg_replace("/%%url%%/", $_get["url"], $get); /**/ $get = preg_replace("/%%player_id%%/", $attr["player_id"], $get); $get = preg_replace("/%%player_path%%/", $attr["player_path"], $get); $get = preg_replace("/%%player_key%%/", $attr["player_key"], $get); /**/ $get = preg_replace("/%%player_image%%/", $attr["player_image"], $get); $get = preg_replace("/%%player_title%%/", $attr["player_title"], $get); /**/ $get = preg_replace("/%%player_controls%%/", filter_var($attr["player_controls"], FILTER_VALIDATE_BOOLEAN) ? "true" : "false", $get); $get = preg_replace("/%%player_height%%/", (int) $attr["player_height"], $get); $get = preg_replace("/%%player_skin%%/", $attr["player_skin"], $get); $get = preg_replace("/%%player_stretching%%/", $attr["player_stretching"], $get); $get = preg_replace("/%%player_width%%/", (int) $attr["player_width"], $get); /**/ $get = preg_replace("/%%player_autostart%%/", filter_var($attr["player_autostart"], FILTER_VALIDATE_BOOLEAN) ? "true" : "false", $get); $get = preg_replace("/%%player_fallback%%/", filter_var($attr["player_fallback"], FILTER_VALIDATE_BOOLEAN) ? "true" : "false", $get); $get = preg_replace("/%%player_mute%%/", filter_var($attr["player_mute"], FILTER_VALIDATE_BOOLEAN) ? "true" : "false", $get); $get = preg_replace("/%%player_primary%%/", $attr["player_primary"], $get); $get = preg_replace("/%%player_repeat%%/", filter_var($attr["player_repeat"], FILTER_VALIDATE_BOOLEAN) ? "true" : "false", $get); $get = preg_replace("/%%player_startparam%%/", $attr["player_startparam"], $get); /**/ $get = preg_replace("/%%player_option_blocks%%/", strpos($attr["player_option_blocks"], ":") !== false ? $attr["player_option_blocks"] : base64_decode($attr["player_option_blocks"]), $get); } } } return apply_filters("ws_plugin__optimizemember_sc_get_stream", isset($get) ? $get : null, get_defined_vars()); }
function optimizemember_file_download_url($config = FALSE, $get_streamer_array = FALSE) { return c_ws_plugin__optimizemember_files::create_file_download_url($config, $get_streamer_array); }