Browse Source

Evolution #553: Réécrire js autoplay

Sevajol Bastien 12 years ago
parent
commit
fba0408cdf

+ 155 - 0
src/Muzich/CoreBundle/Resources/public/js/autoplay.js View File

1
+
2
+// TODO: On recpere un tableau des lectures a effectuer:
3
+// actuellement on a un champ element_id, puis un champs
4
+// normalized_id (pour soundcloud par exemple). Il faudrait plutot
5
+// traité du coté php que l'on veut le "id utilisé par objet lecteur"
6
+// pour ne pas gérer l'héterogénéité coté js
7
+
8
+function Autoplay()
9
+{
10
+  
11
+  var _playlist = new Array();
12
+  var _player = null;
13
+  var _current_index = 0;
14
+  
15
+  this.start = function()
16
+  {
17
+    open_popin_dialog('autoplay');
18
+    initializePlaylist(this.play);
19
+  }
20
+  
21
+  var initializePlaylist = function(callback)
22
+  {
23
+    JQueryJson($('a#autoplay_launch').attr('href'), {}, function(response){
24
+      if (response.status == 'success')
25
+      {
26
+        if (response.data.length)
27
+        {
28
+          _playlist = response.data;
29
+        }
30
+      }
31
+      callback(0);
32
+    });
33
+  }
34
+  
35
+  this.play = function(index_to_play, timed)
36
+  {
37
+    window.autoplay.stopAndClearAllPlayers();
38
+    if (array_key_exists(index_to_play, _playlist))
39
+    {
40
+      if (!timed)
41
+      {
42
+        _current_index = index_to_play;
43
+        $('#autoplay_element_loader').show();
44
+        setTimeout(window.autoplay.play, 1000, index_to_play, true);
45
+      }
46
+      else if (_current_index == index_to_play)
47
+      {
48
+        loadAndDisplayInfos(_playlist[index_to_play].element_id);
49
+        if (!createPlayer(_playlist[index_to_play], window.autoplay.playNext))
50
+        {
51
+          this.play(index_to_play+1);
52
+        }
53
+        else
54
+        {
55
+          _current_index = index_to_play;
56
+        }
57
+      }
58
+    }
59
+    else
60
+    {
61
+      this.nothingToPlay();
62
+    }
63
+  }
64
+  
65
+  this.stopAndClearAllPlayers = function()
66
+  {
67
+    players = window.players_manager.getAll();
68
+    for (var i in players)
69
+    {
70
+      players[i].stopAndDestroy();
71
+      window.players_manager.remove(i);
72
+    }
73
+  }
74
+  
75
+  var loadAndDisplayInfos = function(element_id)
76
+  {
77
+    $('#autoplay_element_loader').show();
78
+    JQueryJson(url_element_dom_get_one_autoplay+'/'+element_id, {}, function(response){
79
+      if (response.status == 'success')
80
+      {
81
+        $('li#autoplay_element_container').html(response.data);
82
+        $('#autoplay_element_loader').hide();
83
+      }
84
+    });
85
+  }
86
+  
87
+  var createPlayer = function(play_data, finish_callback)
88
+  {
89
+    $('#autoplay_loader').show();
90
+    if ((player = window.dynamic_player.play(
91
+      $('#autoplay_player'),
92
+      play_data.element_type,
93
+      play_data.element_ref_id,
94
+      play_data.element_id,
95
+      true,
96
+      finish_callback
97
+    )))
98
+    {
99
+      $('#autoplay_loader').hide();
100
+      window.players_manager.add(player, 'autoplay_'+play_data.element_id);
101
+      return true;
102
+    }
103
+    else
104
+    {
105
+      return false;
106
+    }
107
+  }
108
+  
109
+  this.playNext = function()
110
+  {
111
+    window.autoplay.play(_current_index+1);
112
+  }
113
+  
114
+  this.playPrevious = function()
115
+  {
116
+    if (array_key_exists(_current_index-1, _playlist))
117
+    {
118
+      window.autoplay.play(_current_index-1);
119
+    }
120
+    return false;
121
+  }
122
+  
123
+  this.nothingToPlay = function()
124
+  {
125
+    this.stopAndClearAllPlayers();
126
+    $('#autoplay_noelements_text').show();
127
+    $('div#autoplay_player_container').html('<div id="autoplay_player"></div>');
128
+    $('li#autoplay_element_container').html('');
129
+    $('#autoplay iframe').hide();
130
+  }
131
+  
132
+}
133
+
134
+$(document).ready(function() {
135
+  
136
+  window.autoplay = new Autoplay();
137
+  
138
+  $('a#autoplay_launch').click(function(){
139
+    window.autoplay.start();
140
+    return false;
141
+  });
142
+  
143
+  $('a#autoplay_previous').click(function(){window.autoplay.playPrevious()});
144
+  
145
+  $('a#autoplay_next').click(function(){window.autoplay.playNext()});
146
+  
147
+  $('a#autoplay_close').click(function(){
148
+    // Fond gris
149
+    $('#fade').fadeOut(1000, function(){$('#fade').remove();});
150
+    // On cache le lecteur
151
+    $('#autoplay').hide();
152
+    window.autoplay.stopAndClearAllPlayers();
153
+  });
154
+  
155
+});

+ 4 - 3
src/Muzich/CoreBundle/Resources/public/js/muzich.js View File

400
       li.find('div.element_embed'),
400
       li.find('div.element_embed'),
401
       li.data('type'),
401
       li.data('type'),
402
       li.data('refid'),
402
       li.data('refid'),
403
-      li.data('elementid')
403
+      li.data('elementid'),
404
+      false
404
     )))
405
     )))
405
     {
406
     {
406
       window.players_manager.add(player, li.attr('id'));
407
       window.players_manager.add(player, li.attr('id'));
431
      li.find('a.element_embed_open_link_text').show();
432
      li.find('a.element_embed_open_link_text').show();
432
      $(this).hide();
433
      $(this).hide();
433
      
434
      
434
-     window.players_manager.get(li.attr('id')).stop();
435
+     window.players_manager.get(li.attr('id')).close();
435
      
436
      
436
      return false;
437
      return false;
437
   });
438
   });
710
 
711
 
711
       ajax_query_timestamp = null;
712
       ajax_query_timestamp = null;
712
       
713
       
713
-      $("#tags_prompt_list_"+response.form_name).tagBox(options);
714
+      //$("#tags_prompt_list_"+response.form_name).tagBox(options);
714
       
715
       
715
       // On rend ce formulaire ajaxFormable
716
       // On rend ce formulaire ajaxFormable
716
       $('form[name="'+response.form_name+'"] input[type="submit"]').live('click', function(){
717
       $('form[name="'+response.form_name+'"] input[type="submit"]').live('click', function(){

File diff suppressed because it is too large
+ 662 - 655
src/Muzich/CoreBundle/Resources/public/js/play.js


+ 24 - 7
src/Muzich/CoreBundle/Resources/public/js/play2.js View File

1
 function DynamicPlayer()
1
 function DynamicPlayer()
2
 {
2
 {
3
   
3
   
4
-  this.play = function(object_for_player, player_type, ref_id, element_id)
4
+  this.play = function(object_for_player, player_type, ref_id, element_id, autoplay, finish_callback)
5
   {
5
   {
6
-    if ((player = getPlayerObjectForElementType(object_for_player, player_type, ref_id, element_id)))
6
+    autoplay = typeof autoplay !== 'undefined' ? autoplay : false;
7
+    finish_callback = typeof finish_callback !== 'undefined' ? finish_callback : $.noop;
8
+    if ((player = getPlayerObjectForElementType(object_for_player, player_type, ref_id, element_id, autoplay, finish_callback)))
7
     {
9
     {
8
       player.play();
10
       player.play();
9
       return player;
11
       return player;
12
     return false;
14
     return false;
13
   }
15
   }
14
   
16
   
15
-  var getPlayerObjectForElementType = function(object_for_player, player_type, ref_id, element_id)
17
+  var getPlayerObjectForElementType = function(object_for_player, player_type, ref_id, element_id, autoplay, finish_callback)
16
   {
18
   {
17
     if (player_type == 'youtube.com' || player_type == 'youtu.be')
19
     if (player_type == 'youtube.com' || player_type == 'youtu.be')
18
     {
20
     {
19
-      return new YoutubePlayer(ref_id, object_for_player);
21
+      return new YoutubePlayer(ref_id, object_for_player, finish_callback);
20
     }
22
     }
21
     if (player_type == 'soundcloud.com')
23
     if (player_type == 'soundcloud.com')
22
     {
24
     {
23
-      return new SoundCloudPlayer(ref_id, object_for_player);
25
+      return new SoundCloudPlayer(ref_id, object_for_player, finish_callback, autoplay);
24
     }
26
     }
25
     if (player_type == 'jamendo.com')
27
     if (player_type == 'jamendo.com')
26
     {
28
     {
27
-      return new JamendoPlayer(element_id, object_for_player);
29
+      return new JamendoPlayer(element_id, object_for_player, finish_callback);
28
     }
30
     }
29
     
31
     
30
-    return new GenericPlayer(element_id, object_for_player);
32
+    if (autoplay)
33
+    {
34
+      return new GenericPlayer(element_id, object_for_player);
35
+    }
36
+    
37
+    return false;
31
   }
38
   }
32
   
39
   
33
 }
40
 }
45
   {
52
   {
46
     return _players[key];
53
     return _players[key];
47
   }
54
   }
55
+  
56
+  this.remove = function(key)
57
+  {
58
+    delete _players[key];
59
+  }
60
+  
61
+  this.getAll = function()
62
+  {
63
+    return _players;
64
+  }
48
 }
65
 }
49
 
66
 
50
 $(document).ready(function() {
67
 $(document).ready(function() {

+ 5 - 0
src/Muzich/CoreBundle/Resources/public/js/player/GenericPlayer.js View File

17
   {
17
   {
18
     _object_for_player.html('');
18
     _object_for_player.html('');
19
   }
19
   }
20
+  
21
+  this.close = function()
22
+  {
23
+    this.stop();
24
+  }
20
 }
25
 }

+ 45 - 30
src/Muzich/CoreBundle/Resources/public/js/player/GenericStreamingPlayer.js View File

9
   var _object_for_player = object_for_player;
9
   var _object_for_player = object_for_player;
10
   var _playlist = new Array();
10
   var _playlist = new Array();
11
   var _player = null;
11
   var _player = null;
12
+  var _player_dom = null;
12
   
13
   
13
   var _callback_event_play = callback_event_play;
14
   var _callback_event_play = callback_event_play;
14
   var _callback_event_end = callback_event_end;
15
   var _callback_event_end = callback_event_end;
32
     JQueryJson(url_element_get_stream_data+'/'+ref_id, {}, function(response){
33
     JQueryJson(url_element_get_stream_data+'/'+ref_id, {}, function(response){
33
       if (response.status == 'success')
34
       if (response.status == 'success')
34
       {
35
       {
35
-        
36
-        for(var i = 0; i < response.data.length; i++)
36
+        if (response.data)
37
         {
37
         {
38
-          var song = new GenericSong(response.data[i].name, response.data[i].url);
39
-          _playlist[i] = song;
40
-        }
41
-        
42
-        _player = new jPlayerPlaylist
43
-        (
44
-          {
45
-            jPlayer: '#jplayer_player_element_'+ref_id,
46
-            cssSelectorAncestor: '#jplayer_content_element_'+ref_id
47
-          },
48
-          _playlist,
38
+          for(var i = 0; i < response.data.length; i++)
49
           {
39
           {
50
-            playlistOptions:
40
+            var song = new GenericSong(response.data[i].name, response.data[i].url);
41
+            _playlist[i] = song;
42
+          }
43
+          
44
+          _player = new jPlayerPlaylist
45
+          (
51
             {
46
             {
52
-              autoPlay: true,
53
-              enableRemoveControls: true
47
+              jPlayer: '#jplayer_player_element_'+ref_id,
48
+              cssSelectorAncestor: '#jplayer_content_element_'+ref_id
54
             },
49
             },
55
-            swfPath: "/jplayer/js",
56
-            supplied: "mp3",
57
-            wmode: "window"
58
-          }
59
-        );
60
-        
61
-        var player = $('#jplayer_player_element_'+ref_id);
62
-        player.bind($.jPlayer.event.play, event_play);
63
-        player.bind($.jPlayer.event.ended, event_end);
64
-        player.bind($.jPlayer.event.error, event_error);
65
-        
50
+            _playlist,
51
+            {
52
+              playlistOptions:
53
+              {
54
+                autoPlay: true,
55
+                enableRemoveControls: true
56
+              },
57
+              swfPath: "/jplayer/js",
58
+              supplied: "mp3",
59
+              wmode: "window"
60
+            }
61
+          );
62
+          
63
+          var _player_dom = $('#jplayer_player_element_'+ref_id);
64
+          _player_dom.bind($.jPlayer.event.play, event_play);
65
+          _player_dom.bind($.jPlayer.event.ended, event_end);
66
+          _player_dom.bind($.jPlayer.event.error, event_error);
67
+        }
68
+        else
69
+        {
70
+          _callback_event_finish_playlist();
71
+        }
72
+      }
73
+      else
74
+      {
75
+        _callback_event_finish_playlist();
66
       }
76
       }
67
     });
77
     });
68
   }
78
   }
95
   
105
   
96
   this.play = function()
106
   this.play = function()
97
   {
107
   {
98
-    _player.jPlayer("play");
108
+    _player_dom.jPlayer("play");
99
   }
109
   }
100
   
110
   
101
   this.stop = function()
111
   this.stop = function()
102
   {
112
   {
103
-    _player.jPlayer("stop");
113
+    //_player_dom.jPlayer("stop");
104
   }
114
   }
105
   
115
   
106
   this.pause = function()
116
   this.pause = function()
107
   {
117
   {
108
-    _player.jPlayer("pause");
118
+    _player_dom.jPlayer("pause");
119
+  }
120
+  
121
+  this.destroy = function()
122
+  {
123
+    _object_for_player.html('');
109
   }
124
   }
110
 }
125
 }
111
 
126
 

+ 19 - 3
src/Muzich/CoreBundle/Resources/public/js/player/JamendoPlayer.js View File

1
-function JamendoPlayer(ref_id, object_for_player)
1
+function JamendoPlayer(ref_id, object_for_player, finish_callback)
2
 {
2
 {
3
   var _ref_id = ref_id;
3
   var _ref_id = ref_id;
4
   var _object_for_player = object_for_player;
4
   var _object_for_player = object_for_player;
5
   var _player = null;
5
   var _player = null;
6
+  var _finish_callback = finish_callback;
6
   
7
   
7
   this.play = function()
8
   this.play = function()
8
   {
9
   {
26
   
27
   
27
   var event_error = function()
28
   var event_error = function()
28
   {
29
   {
29
-    
30
+    _finish_callback();
30
   }
31
   }
31
   
32
   
32
   var event_finish_playlist = function()
33
   var event_finish_playlist = function()
33
   {
34
   {
34
-    
35
+    _finish_callback();
35
   }
36
   }
36
   
37
   
37
   this.stop = function()
38
   this.stop = function()
44
     _player.pause();
45
     _player.pause();
45
   }
46
   }
46
   
47
   
48
+  this.destroy = function()
49
+  {
50
+     _player.destroy();
51
+  }
52
+  
53
+  this.stopAndDestroy = function()
54
+  {
55
+    this.stop();
56
+    this.destroy();
57
+  }
58
+  
59
+  this.close = function()
60
+  {
61
+    this.stopAndDestroy();
62
+  }
47
 }
63
 }

+ 89 - 44
src/Muzich/CoreBundle/Resources/public/js/player/SoundCloudPlayer.js View File

1
-function SoundCloudPlayer(ref_id, object_for_player)
1
+function SoundCloudPlayer(ref_id, object_for_player, finish_callback, autoplay)
2
 {
2
 {
3
+  autoplay = typeof autoplay !== 'undefined' ? autoplay : false;
4
+  var _autoplay = autoplay;
5
+  var _iframe_id = '';
3
   var _ref_id = ref_id;
6
   var _ref_id = ref_id;
4
   var _object_for_player = object_for_player;
7
   var _object_for_player = object_for_player;
5
   var _player = null;
8
   var _player = null;
6
   var _sounds_count = 0;
9
   var _sounds_count = 0;
7
   var _current_sound_index = 0;
10
   var _current_sound_index = 0;
11
+  var _finish_callback = finish_callback;
8
   
12
   
9
   this.play = function()
13
   this.play = function()
10
   {
14
   {
11
-    if (!_player)
12
-    {
13
-      createPlayer();
14
-    }
15
+    createPlayer(
16
+      event_ready,
17
+      event_play,
18
+      event_finish
19
+    );
15
   }
20
   }
16
   
21
   
17
-  var createPlayer = function()
22
+  var createPlayer = function(callback_ready, callback_play, callback_finish)
18
   {
23
   {
19
-    var div_for_iframe = $('<div>').attr('id', _object_for_player.attr('id')+'_iframe');
20
-    _object_for_player.append(div_for_iframe);
24
+    _iframe_id = 'soundcloud_player_'+new Date().getTime();
25
+    if (!_autoplay)
26
+    {
27
+      _object_for_player.html('<iframe id="'+_iframe_id+'" src="http://w.soundcloud.com/player/?url='
28
+            +_ref_id+'&show_artwork=false&auto_play=true" width="100%" '
29
+            +'height="350" scrolling="no" frameborder="no"></iframe>');
30
+    }
31
+    else
32
+    {
33
+      // On gère la lecture auto difframment: rappel: si on supprime une iframe l'api SC ne la trouve plus et bug
34
+      $('#autoplay').append('<iframe id="'+_iframe_id+'" src="http://w.soundcloud.com/player/?url='
35
+        +_ref_id+'&show_artwork=false&auto_play=true" width="100%" '
36
+        +'height="350" scrolling="no" frameborder="no"></iframe>');
37
+    }
21
     
38
     
22
     SC.initialize({
39
     SC.initialize({
23
       client_id: '39946ea18e3d78d64c0ac95a025794e1'
40
       client_id: '39946ea18e3d78d64c0ac95a025794e1'
24
     });
41
     });
25
-    
26
-    SC.oEmbed(_ref_id, {
27
-      show_artwork: false
28
-    }, function(oembed){
29
-      _object_for_player.html(oembed.html)
30
-      var iframe = _object_for_player.find('iframe')[0];
31
-      _player = SC.Widget(iframe);
32
-      _player.bind(SC.Widget.Events.READY, event_ready);
33
-      _player.bind(SC.Widget.Events.PLAY, event_play);
34
-      _player.bind(SC.Widget.Events.FINISH, event_finish);
35
-    });
36
-    
37
-    var event_ready = function()
42
+    SC.get(_ref_id, function(track, error)
38
     {
43
     {
39
-      console.log('sc ready');
40
-      _player.play();
41
-      _player.getSounds(function(value){
42
-        _sounds_count = value.length;
43
-      });
44
-    }
44
+      if (!error)
45
+      {
46
+        _player = SC.Widget(document.getElementById(_iframe_id));
47
+        _player.bind(SC.Widget.Events.READY, callback_ready);
48
+        _player.bind(SC.Widget.Events.PLAY, callback_play);
49
+        _player.bind(SC.Widget.Events.FINISH, callback_finish);
50
+      }
51
+      else
52
+      {
53
+        _finish_callback();
54
+      }
55
+    });
45
     
56
     
46
-    var event_play = function()
57
+  }
58
+  
59
+  var event_ready = function()
60
+  {
61
+    _player.getSounds(function(value){
62
+      _sounds_count = value.length;
63
+    });
64
+  }
65
+  
66
+  var event_play = function()
67
+  {
68
+    _player.getSounds(function(value){
69
+      _sounds_count = value.length;
70
+    });
71
+    _player.getCurrentSoundIndex(function(value){
72
+      _current_sound_index = value;
73
+    });
74
+  }
75
+  
76
+  var event_finish = function()
77
+  {
78
+    if (_sounds_count == _current_sound_index+1)
47
     {
79
     {
48
-      console.log('sc play');
49
-      _player.getSounds(function(value){
50
-        _sounds_count = value.length;
51
-      });
52
-      _player.getCurrentSoundIndex(function(value){
53
-        _current_sound_index = value;
54
-      });
80
+      event_finish_playlist();
55
     }
81
     }
82
+  }
83
+  
84
+  var event_finish_playlist = function()
85
+  {
86
+    _finish_callback();
87
+  }
88
+  
89
+  this.stop = function()
90
+  {
56
     
91
     
57
-    var event_finish = function()
92
+  }
93
+  
94
+  this.destroy = function(force)
95
+  {
96
+    if (_player)
58
     {
97
     {
59
-      if (_sounds_count == _current_sound_index+1)
60
-      {
61
-        event_finish_playlist();
62
-      }
98
+      _player.pause();
63
     }
99
     }
64
-    
65
-    var event_finish_playlist = function()
100
+    if (_autoplay || force)
66
     {
101
     {
67
-      // Fin de lecture
102
+      $('#'+_iframe_id).hide();
68
     }
103
     }
69
-    
104
+  }
105
+  
106
+  this.stopAndDestroy = function()
107
+  {
108
+    //this.stop();
109
+    this.destroy(false);
110
+  }
111
+  
112
+  this.close = function()
113
+  {
114
+    this.destroy(true);
70
   }
115
   }
71
 }
116
 }

+ 40 - 8
src/Muzich/CoreBundle/Resources/public/js/player/YoutubePlayer.js View File

1
-function YoutubePlayer(ref_id, object_for_player)
1
+function YoutubePlayer(ref_id, object_for_player, finish_callback)
2
 {
2
 {
3
   var _ref_id = ref_id;
3
   var _ref_id = ref_id;
4
   var _object_for_player = object_for_player;
4
   var _object_for_player = object_for_player;
5
   var _yt_player;
5
   var _yt_player;
6
+  var _finish_callback = finish_callback;
6
   
7
   
7
   this.play = function()
8
   this.play = function()
8
   { 
9
   { 
16
     
17
     
17
     _yt_player = new YT.Player(_object_for_player.attr('id')+'_iframe', {
18
     _yt_player = new YT.Player(_object_for_player.attr('id')+'_iframe', {
18
       height  : config_player_youtube_height,
19
       height  : config_player_youtube_height,
19
-      width   : config_player_youtube_width,
20
+      width   : '100%',
20
       videoId : _ref_id,
21
       videoId : _ref_id,
21
       events  : {
22
       events  : {
22
         'onReady': onPlayerReady,
23
         'onReady': onPlayerReady,
23
-        'onStateChange': onPlayerStateChange
24
+        'onStateChange': onPlayerStateChange,
25
+        'onError': onError
24
       }
26
       }
25
     });
27
     });
26
-    
27
-    
28
   }
28
   }
29
   
29
   
30
   var onPlayerReady = function(event)
30
   var onPlayerReady = function(event)
32
     _yt_player.playVideo();
32
     _yt_player.playVideo();
33
   }
33
   }
34
   
34
   
35
+  var onError = function(event)
36
+  {
37
+    _finish_callback();
38
+  }
39
+  
35
   var onPlayerStateChange = function(event)
40
   var onPlayerStateChange = function(event)
36
   {
41
   {
37
     if (event.data == YT.PlayerState.PLAYING)
42
     if (event.data == YT.PlayerState.PLAYING)
40
     }
45
     }
41
     if (event.data == YT.PlayerState.ENDED)
46
     if (event.data == YT.PlayerState.ENDED)
42
     {
47
     {
43
-      
48
+      _finish_callback();
44
     }
49
     }
45
     if (event.data == YT.PlayerState.PAUSED)
50
     if (event.data == YT.PlayerState.PAUSED)
46
     {
51
     {
58
   
63
   
59
   this.pause = function()
64
   this.pause = function()
60
   {
65
   {
61
-    _yt_player.pauseVideo();
66
+    if (_yt_player)
67
+    {
68
+      if(typeof(_yt_player.pauseVideo)!=='undefined')
69
+      {
70
+        _yt_player.pauseVideo();
71
+      }
72
+    }
62
   }
73
   }
63
   
74
   
64
   this.stop = function()
75
   this.stop = function()
65
   {
76
   {
66
-    _yt_player.stopVideo();
77
+    if (_yt_player)
78
+    {
79
+      if(typeof(_yt_player.stopVideo)!=='undefined')
80
+      {
81
+        _yt_player.stopVideo();
82
+      }
83
+    }
84
+  }
85
+  
86
+  this.destroy = function()
87
+  {
67
     _object_for_player.html('');
88
     _object_for_player.html('');
68
   }
89
   }
90
+  
91
+  this.stopAndDestroy = function()
92
+  {
93
+    this.stop();
94
+    this.destroy();
95
+  }
96
+  
97
+  this.close = function()
98
+  {
99
+    this.stopAndDestroy();
100
+  }
69
 }
101
 }

+ 2 - 2
src/Muzich/CoreBundle/Resources/views/Layout/head_js.html.twig View File

9
   'js/jquery.form-2.14.js'
9
   'js/jquery.form-2.14.js'
10
   'js/jConfirmAction/jconfirmaction.jquery.js'
10
   'js/jConfirmAction/jconfirmaction.jquery.js'
11
   '@MuzichCoreBundle/Resources/public/js/TagPrompt.js'
11
   '@MuzichCoreBundle/Resources/public/js/TagPrompt.js'
12
-  '@MuzichCoreBundle/Resources/public/js/play.js'
13
-  '@MuzichCoreBundle/Resources/public/js/play2.js'
14
   '@MuzichCoreBundle/Resources/public/js/player/*'
12
   '@MuzichCoreBundle/Resources/public/js/player/*'
13
+  '@MuzichCoreBundle/Resources/public/js/play2.js'
14
+  '@MuzichCoreBundle/Resources/public/js/autoplay.js'
15
   '@MuzichCoreBundle/Resources/public/js/muzich.js' %}{# filter='yui_js' %}#}
15
   '@MuzichCoreBundle/Resources/public/js/muzich.js' %}{# filter='yui_js' %}#}
16
   <script src="{{ asset_url }}"></script>
16
   <script src="{{ asset_url }}"></script>
17
 {% endjavascripts %}
17
 {% endjavascripts %}

+ 1 - 2
src/Muzich/CoreBundle/lib/AutoplayManager.php View File

40
     {
40
     {
41
       if (
41
       if (
42
         // On doit connaitre l'id externe
42
         // On doit connaitre l'id externe
43
-        ($ref_id = $element->getData(Element::DATA_REF_ID)) && 
43
+        ($ref_id = $element->getRefId(true)) && 
44
         // Et le site doit être pris en charge pour le autoplay
44
         // Et le site doit être pris en charge pour le autoplay
45
         in_array(
45
         in_array(
46
           ($element_type = $element->getType()), 
46
           ($element_type = $element->getType()), 
54
         'element_id'       => $element->getId(),
54
         'element_id'       => $element->getId(),
55
         'element_name'     => $element->getName(),
55
         'element_name'     => $element->getName(),
56
         'element_url'      => $element->getUrl(),
56
         'element_url'      => $element->getUrl(),
57
-        'element_normalized_url' => $element->getData(Element::DATA_NORMALIZED_URL)
58
       );
57
       );
59
     }
58
     }
60
     
59
     

+ 5 - 0
web/css/main.css View File

1635
 {
1635
 {
1636
   padding: 10px;
1636
   padding: 10px;
1637
   text-align: center;
1637
   text-align: center;
1638
+}
1639
+
1640
+div.element_embed div.jp-playlist ul
1641
+{
1642
+  text-align: left;
1638
 }
1643
 }