function getStreamImageURL($stream_id, $req_time = null, $req_size = null, $directLink = false) { global $wgScript, $mvWebImgLoc, $mvLocalImgLoc, $mvExternalImages; //check global external image prefrence: $req_size_out = $req_size != null ? '&size=' . $req_size : ''; if ($mvExternalImages) { global $mvExternalImgServerPath; //try to get the stream_name for external requests: $sn = MV_Stream::getStreamNameFromId($stream_id); return $mvExternalImgServerPath . '?action=ajax&rs=mv_frame_server&stream_name=' . $sn . '&t=' . $req_time . $req_size_out; } //by default return a non-direct link so that javascript can modify the url to get new images if (!$directLink) { return $wgScript . '?action=ajax&rs=mv_frame_server&stream_id=' . $stream_id . '&t=' . $req_time . $req_size_out; } $req_time = MV_StreamImage::procRequestTime($stream_id, $req_time); if ($req_time == false) { return MV_StreamImage::getMissingImageURL($req_size); } //print "got req time: $req_time<br />"; //first check if the file exist if (is_file(MV_StreamImage::getLocalImagePath($stream_id, $req_time, $req_size))) { if ($req_size == null) { $s = ''; $ext = 'jpg'; //default type is jpg } else { list($im_width, $im_height, $ext) = MV_StreamImage::getSizeType($req_size); $s = '_' . $im_width . 'x' . $im_height; } return $mvWebImgLoc . '/' . MV_StreamImage::getRelativeImagePath($stream_id) . '/' . $req_time . $s . '.' . $ext; } else { //throw 'error finding image'; return MV_StreamImage::getMissingImageURL($req_size); } }