Skip to content

Commit

Permalink
Some parameters can now be added
Browse files Browse the repository at this point in the history
Ignore-this: d262488488152f84c725230176b55ca4

darcs-hash:20090206090548-7ad00-f9e0a512d36f8fcadcfce3a901eefcf4b75ffde8.gz
  • Loading branch information
splitbrain committed Feb 6, 2009
1 parent 383a680 commit cbee350
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 4 deletions.
2 changes: 1 addition & 1 deletion info.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

author Andreas Gohr
email andi@splitbrain.org
date 2009-02-05
date 2009-02-06
name Jukebox Plugin
desc Plays MP3 Audio or FLV Video from a namespace
url http://www.dokuwiki.org/plugin:jukebox
50 changes: 47 additions & 3 deletions syntax.php
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,43 @@ function handle($match, $state, $pos, &$handler){
$data['ns'] = resolve_id(getNS($ID),$ns);
$data['skin'] = 'original';

$data['skin'] = $params;
// alignment
$data['align'] = 'left';
if(preg_match('/\bleft\b/i',$params)){
$data['align'] = 'left';
$params = preg_replace('/\bleft\b/i','',$params);
}
if(preg_match('/\bcenter\b/i',$params)){
$data['align'] = 'center';
$params = preg_replace('/\bcenter\b/i','',$params);
}
if(preg_match('/\bright\b/i',$params)){
$data['align'] = 'right';
$params = preg_replace('/\bright\b/i','',$params);
}

$data['shuffle'] = false;
if(preg_match('/\bshuffle\b/i',$params)){
$data['shuffle'] = true;
$params = preg_replace('/\bshuffle\b/i','',$params);
}

$data['repeat'] = false;
if(preg_match('/\brepeat\b/i',$params)){
$data['repeat'] = true;
$params = preg_replace('/\brepeat\b/i','',$params);
}

$data['autoplay'] = false;
if(preg_match('/\bautoplay\b/i',$params)){
$data['autoplay'] = true;
$params = preg_replace('/\bautoplay\b/i','',$params);
}



// the rest is the skin
$data['skin'] = trim($params);

list($data['skin'],$data['width'],$data['height']) = $this->_skininfo($data['skin']);

Expand All @@ -79,6 +114,9 @@ function render($mode, &$R, $data) {
if($mode != 'xhtml') return false;

$att = array();
$att['class'] = 'media'.$data['align'];
if($data['align'] == 'right') $att['align'] = 'right';
if($data['align'] == 'left') $att['align'] = 'left';

$params = array(
'skin_url' => DOKU_REL.'lib/plugins/jukebox/skins/'.$data['skin'].'/',
Expand All @@ -89,6 +127,9 @@ function render($mode, &$R, $data) {
'findImage' => 'true',
'useId3' => 'true'
);
if($data['shuffle']) $params['shuffle'] = 'true';
if($data['autoplay']) $params['autoplay'] = 'true';
if($data['repeat']) $params['repeat'] = 'true';

$swf = DOKU_REL.'lib/plugins/jukebox/xspf_jukebox.swf';

Expand All @@ -100,8 +141,11 @@ function _skininfo($skin){
$skin = strtolower($skin);
$skin = preg_replace('/[^a-z]+/','',$skin);
if(!$skin) $skin = 'original';

$data = @file_get_contents(dirname(__FILE__).'/skins/'.$skin.'/skin.xml');
if(@file_exists(dirname(__FILE__).'/skins/'.$skin.'/skin.xml')){
$data = @file_get_contents(dirname(__FILE__).'/skins/'.$skin.'/skin.xml');
}else{
return array('original',400,170);
}
if(preg_match('/<width>(\d+)<\/width>/',$data,$match)){
$width = $match[1];
}else{
Expand Down

0 comments on commit cbee350

Please sign in to comment.