array('quality' => 'high', # medium,low 'wmode' => 'transparent', # opaque 'bgcolor' => '#ffffff', 'menu' => 'false'), '#link' => "\$txt", '#block' => "\$obj\$link", )); Markup('flashmediaplayer', 'directives', "/\\(:((\\w+)-player\\s+(\\S+)(.*?)):\\)/i", "mu_flashmp"); function mu_flashmp($m) { extract($GLOBALS['MarkupToHTML']); return Keep(FlashMediaPlayer($pagename,$m[2],$m[3],$m[4])); } SDV($FlashMediaPlayerAction, 'mediadownload'); if(IsEnabled($EnableFlashMediaPlayerForceAttachement, 1) && $action == $FlashMediaPlayerAction) $HandleActions[$FlashMediaPlayerAction] = 'HandleFlashMediaPlayerDownload'; if(IsEnabled($EnableFlashMediaPlayerEnclosure, 1) && isset($FeedFmt)) { $FeedFmt['rss']['item']['mediaenclosure'] = 'FlashMediaPlayerRSSEnclosure'; # see http://www.xs4all.nl/~foz/mod_enclosure.html for some convenient specs # $FeedFmt['rdf']['item']['mediaenclosure'] = 'FlashMediaPlayerRDFEnclosure'; } function SRPF(&$opt, $flag, $def) { /*Set&RemoveParameterFlag*/ $ret = (@is_array($def['-']) && !is_int(array_search($flag, $def['-']))) || (@is_array($def['+']) && is_int(array_search($flag, $def['+']))); foreach(array('+' => true, '-' => false) as $o => $v) { $k = @array_search($flag, (array)$opt[$o]); if(is_int($k)) { unset($opt[$o][$k]); $ret = $v; } } return $ret; } function SRPV(&$opt, $arg, &$v, $n = NULL) { /*Set&RemoveParameterValue*/ if(@$opt[$arg]) { if(is_array($v)) $v[is_null($n) ? $arg : $n] = $opt[$arg]; else $v = $opt[$arg]; unset($opt[$arg]); } } function FlashMediaPlayer($pagename, $type, $tgt, $args = NULL) { global $FlashMediaPlayerInfo, $FarmPubDirUrl, $EnableFlashMediaPlayerExtraLinks, $EnableFlashMediaPlayerForceAttachement, $FlashMediaPlayerAction; if(is_null($FlashMediaPlayerInfo[$type])) return ''; $player = "$FarmPubDirUrl/{$FlashMediaPlayerInfo[$type]['swf']}"; if(!ResolveLinkResource($pagename, $tgt, $url, $txt, $upname, $filepath, $size, $mime)) return isset($filepath) ? $url : ''; $defaults = array_merge((array)($FlashMediaPlayerInfo['#defaults']), (array)($FlashMediaPlayerInfo[$type]['defaults'])); $opt = ParseArgs($args); SDV($EnableFlashMediaPlayerExtraLinks, 1); $link = $EnableFlashMediaPlayerExtraLinks && SRPF($opt, 'link', $defaults); $diag = SRPF($opt, 'diag', $defaults); $opt = array_merge($defaults, $opt); unset($opt['-'], $opt['+'], $opt['#'], $opt['']); $w = $opt['width']; $h = $opt['height']; SRPV($opt, 'align', $al); SRPV($opt, 'text', $txt); $globalparms = $FlashMediaPlayerInfo['#objparms']; SRPV($opt, 'objbgcolor', $globalparms, 'bgcolor'); SRPV($opt, 'wmode', $globalparms); SRPV($opt, 'menu', $globalparms); if(!$link) $link = ''; else { $linkurl = (isset($filepath) && IsEnabled($EnableFlashMediaPlayerForceAttachement, 1)) ? PUE(FmtPageName("{\$PageUrl}?action=$FlashMediaPlayerAction&upname=$upname", $pagename)) : $url; $link = str_replace(array('$url', '$txt'), array($linkurl, $txt), $FlashMediaPlayerInfo['#link']); } $parms = array(); foreach($opt as $n => $v) $parms[] = "$n=" . urlencode($v); $parms = implode("&", $parms); foreach(array_merge((array)($FlashMediaPlayerInfo[$type]['objparms']), $globalparms) as $n => $v) { if(is_array($v)) $v = implode("&", $v); $v = str_replace(array('$FarmPubDirUrl', '$url', '$txt', '$parms'), array($FarmPubDirUrl, $url, urlencode($txt), $parms), $v); $objparms[] = ""; } $objparms = implode("\n", $objparms); $out[] = "\n \n\n"; $out = str_replace(array('$obj', '$link'), array(implode('', $out), $link), $FlashMediaPlayerInfo['#block']); if($diag) $out = '
'.htmlspecialchars($out).''; return $out; } function HandleFlashMediaPlayerDownload($pagename, $auth = 'read') { global $UploadExts, $DownloadDisposition; if (!function_exists('HandleDownload')) exit(); $DownloadDisposition = 'attachment'; HandleDownload($pagename, $auth); } #function FlashMediaPlayerRDFEnclosure($pagename, &$page, $k) { # return FlashMediaPlayerEnclosure($pagename, $page, # "