function secure_html5_video_player_get_media_server_address($client_ip, $video_filename) { $has_media_server = secure_html5_video_player_has_media_server(); if ($has_media_server) { $server_list = secure_html5_video_player_media_server_address_list(); $chksum = crc32($client_ip); if ($chksum < 0) { $chksum = -1 * $chksum; } if ($video_filename) { $server_filelist = secure_html5_video_player_filelist(true); $server_list_with_file = $server_filelist[$video_filename]; if (!empty($server_list_with_file)) { $server_list = $server_list_with_file; } } $num_servers = count($server_list); $selected_server = $chksum % $num_servers; if ($selected_server < $num_servers && isset($server_list[$selected_server]) && $server_list[$selected_server]) { return $server_list[$selected_server]; } } $plugin_url = plugins_url('secure-html5-video-player'); return $plugin_url; }
function secure_html5_video_player_filelist($does_include_media_server_files) { $transient_key = 'sh5vp:filelist_0'; if ($does_include_media_server_files) { $transient_key = 'sh5vp:filelist_1'; } $video_files = secure_html5_video_player_get_transient($transient_key); if ($video_files !== FALSE) { return $video_files; } $video_files = array(); $secure_html5_video_player_video_dir = get_option('secure_html5_video_player_video_dir'); if (is_dir($secure_html5_video_player_video_dir)) { $dh = opendir($secure_html5_video_player_video_dir); while (FALSE !== ($filename = readdir($dh))) { if (secure_html5_video_player_startsWith($filename, '.')) { continue; } $curr_path = $secure_html5_video_player_video_dir . '/' . $filename; if (is_dir($curr_path)) { $video_files = array_merge($video_files, secure_html5_video_player_sub_file_list($secure_html5_video_player_video_dir, $filename)); continue; } $video_files[secure_html5_video_player_filename_no_ext($filename)] = array(); } } if (secure_html5_video_player_is_s3_enabled()) { $s3_file_list = secure_html5_video_player_s3_file_list(); foreach ($s3_file_list as $curr_file => $curr_val) { $curr_file_val = trim($curr_file); if (!$curr_file_val) { continue; } if (isset($video_files[$curr_file_val])) { array_push($video_files[$curr_file_val], 's3'); } else { $video_files[$curr_file_val] = array('s3'); } } } $has_media_server = secure_html5_video_player_has_media_server(); if ($does_include_media_server_files && $has_media_server) { $server_list = secure_html5_video_player_media_server_address_list(); foreach ($server_list as $media_server_address) { $access_key = secure_html5_video_player_accessKey(''); $server_files = file_get_contents($media_server_address . '/getinfo.php?k=' . $access_key . '&info=list'); $server_file_list = explode("\n", $server_files); foreach ($server_file_list as $curr_file) { $curr_file_val = trim($curr_file); if (!$curr_file_val) { continue; } if (isset($video_files[$curr_file_val])) { array_push($video_files[$curr_file_val], $media_server_address); } else { $video_files[$curr_file_val] = array($media_server_address); } } } } ksort($video_files); secure_html5_video_player_set_transient($transient_key, $video_files); return $video_files; }