VOD Infomaniak - Version 1.0.0

Version Description

(10/01/2012) = * Aprs 1 mois en RC2, passage en version final

Download this release

Release Info

Developer infomaniak-dev
Plugin Icon wp plugin VOD Infomaniak
Version 1.0.0
Comparing to
See all releases

Version 1.0.0

screenshot-1.png ADDED
Binary file
css/jquery-ui.css ADDED
@@ -0,0 +1,238 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery UI screen structure and presentation
3
+ * This CSS file was generated by ThemeRoller, a Filament Group Project for jQuery UI
4
+ * Author: Scott Jehl, scott@filamentgroup.com, http://www.filamentgroup.com
5
+ * Visit ThemeRoller.com
6
+ */
7
+
8
+ /*
9
+ * Note: If your ThemeRoller settings have a font size set in ems, your components will scale according to their parent element's font size.
10
+ * As a rule of thumb, set your body's font size to 62.5% to make 1em = 10px.
11
+ * body {font-size: 62.5%;}
12
+ */
13
+
14
+ /*dialog*/
15
+ .ui-dialog {
16
+ /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
17
+ font-family: ;
18
+ font-size: px;
19
+ background: #ffffff;
20
+ color: #333333;
21
+ border: 4px solid #AAAAAA;
22
+ position: relative;
23
+ }
24
+ .ui-resizable-handle {
25
+ position: absolute;
26
+ font-size: 0.1px;
27
+ z-index: 99999;
28
+ }
29
+ .ui-resizable .ui-resizable-handle {
30
+ display: block;
31
+ }
32
+ body .ui-resizable-disabled .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */
33
+ body .ui-resizable-autohide .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */
34
+ .ui-resizable-n {
35
+ cursor: n-resize;
36
+ height: 7px;
37
+ width: 100%;
38
+ top: -5px;
39
+ left: 0px;
40
+ }
41
+ .ui-resizable-s {
42
+ cursor: s-resize;
43
+ height: 7px;
44
+ width: 100%;
45
+ bottom: -5px;
46
+ left: 0px;
47
+ }
48
+ .ui-resizable-e {
49
+ cursor: e-resize;
50
+ width: 7px;
51
+ right: -5px;
52
+ top: 0px;
53
+ height: 100%;
54
+ }
55
+ .ui-resizable-w {
56
+ cursor: w-resize;
57
+ width: 7px;
58
+ left: -5px;
59
+ top: 0px;
60
+ height: 100%;
61
+ }
62
+ .ui-resizable-se {
63
+ cursor: se-resize;
64
+ width: 13px;
65
+ height: 13px;
66
+ right: 0px;
67
+ bottom: 0px;
68
+ background: url(../img/icon_resize_se.gif) no-repeat 0 0;
69
+ }
70
+ .ui-resizable-sw {
71
+ cursor: sw-resize;
72
+ width: 9px;
73
+ height: 9px;
74
+ left: 0px;
75
+ bottom: 0px;
76
+ }
77
+ .ui-resizable-nw {
78
+ cursor: nw-resize;
79
+ width: 9px;
80
+ height: 9px;
81
+ left: 0px;
82
+ top: 0px;
83
+ }
84
+ .ui-resizable-ne {
85
+ cursor: ne-resize;
86
+ width: 9px;
87
+ height: 9px;
88
+ right: 0px;
89
+ top: 0px;
90
+ }
91
+ .ui-dialog-titlebar {
92
+ /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
93
+ padding: .5em 1.5em .5em 1em;
94
+ color: #464646;
95
+ border-bottom: 1px solid #DFDFDF;
96
+ font-size: 1em;
97
+ font-weight: bold;
98
+ position: relative;
99
+ }
100
+ .ui-dialog-title {
101
+ padding-left: 25px;
102
+ }
103
+ .ui-dialog-titlebar-close {
104
+ /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
105
+ background: url(../img/icon_close.gif) 0 0 no-repeat;
106
+ position: absolute;
107
+ right: 8px;
108
+ top: .7em;
109
+ width: 11px;
110
+ height: 11px;
111
+ z-index: 100;
112
+ }
113
+ .ui-dialog-titlebar-close-hover, .ui-dialog-titlebar-close:hover {
114
+ background: url(../img/icon_close.gif) 0 0 no-repeat;
115
+ }
116
+ .ui-dialog-titlebar-close:active {
117
+ background: url(../img/icon_close.gif) 0 0 no-repeat;
118
+ }
119
+ .ui-dialog-titlebar-close span {
120
+ display: none;
121
+ }
122
+ .ui-dialog-content {
123
+ /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
124
+ color: #333333;
125
+ padding: 0;
126
+ }
127
+ .ui-dialog-buttonpane {
128
+ position: relative;
129
+ bottom: 0;
130
+ width: 97%;
131
+ text-align: center;
132
+ border-top: 1px solid #DFDFDF;
133
+ background: #ffffff;
134
+ padding: 10px;
135
+ }
136
+ .ui-dialog-buttonpane button {
137
+ margin-right: 5px;
138
+ }
139
+ /* This file skins dialog */
140
+ .ui-dialog.ui-draggable .ui-dialog-titlebar,
141
+ .ui-dialog.ui-draggable .ui-dialog-titlebar {
142
+ cursor: move;
143
+ }
144
+
145
+
146
+ /*hidden elements*/
147
+ .ui-hidden {
148
+ display: none;/* for accessible hiding: position: absolute; left: -99999999px*/;
149
+ }
150
+ .ui-accessible-hidden {
151
+ position: absolute; left: -99999999px;
152
+ }
153
+ /*reset styles*/
154
+ .ui-reset {
155
+ /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
156
+ }
157
+ /*clearfix class*/
158
+ .ui-clearfix:after {
159
+ content: ".";
160
+ display: block;
161
+ height: 0;
162
+ clear: both;
163
+ visibility: hidden;
164
+ }
165
+ .ui-clearfix {display: inline-block;}
166
+ /* Hides from IE-mac \*/
167
+ * html .ui-clearfix {height: 1%;}
168
+ .ui-clearfix {display: block;}
169
+ /* End hide from IE-mac */
170
+
171
+ .ui-tabs-nav{
172
+ padding-left: 35px;
173
+ overflow: hidden;
174
+ }
175
+ .ui-state-default{
176
+ display: inline;
177
+ text-decoration: none;
178
+ }
179
+ .ui-state-default ui-tabs-selected{
180
+ font-weight: bold;
181
+ }
182
+
183
+ #dialog-slide-header {
184
+ border-top: 1px solid #DFDFDF;
185
+ padding-left: 35px;
186
+ background-image: url(../img/arrow_right.gif);
187
+ background-position: 15px 50%;
188
+ background-repeat: no-repeat;
189
+ cursor: pointer;
190
+ -moz-user-select: none;
191
+ }
192
+ #dialog-slide-header.selected {
193
+ background-image: url(../img/arrow_down.gif) !important;
194
+ }
195
+
196
+ #dialog-url-input{
197
+ width: 90%;
198
+ }
199
+
200
+ .dialog-search-input{
201
+ width: 90%;
202
+ background-color: #FFFFFF;
203
+ border-color: #DFDFDF;
204
+ border-radius: 3px 3px 3px 3px;
205
+ border-style: solid;
206
+ border-width: 1px;
207
+ }
208
+
209
+ #dialog-exemple{
210
+ list-style: disc outside none;
211
+ margin-left: 20px;
212
+ }
213
+ .ui-dialog-titlebar{
214
+ background-color: #DDD
215
+ }
216
+ .dialog-form-line{
217
+ padding-left: 35px;
218
+ }
219
+
220
+ #dialog-tabs .ui-tabs-nav{
221
+ border-bottom: 1px solid #DDDDDD;
222
+ }
223
+
224
+ #dialog-tabs .ui-state-default{
225
+ border-radius: 5px 5px 0 0;
226
+ border: 1px solid #DDDDDD;
227
+ background-color: #EEE;
228
+ }
229
+
230
+ #dialog-tabs .ui-tabs-nav .ui-tabs-selected{
231
+ border: 1px solid #DDDDDD;
232
+ border-bottom: 1px solid #FFFFFF;
233
+ background-color: #FFF;
234
+ }
235
+
236
+ #dialog-tabs .ui-tabs-nav .ui-tabs-selected a{
237
+ color: #333;
238
+ }
css/jquery.ui.tabs.css ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery UI Tabs 1.8.15
3
+ *
4
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5
+ * Dual licensed under the MIT or GPL Version 2 licenses.
6
+ * http://jquery.org/license
7
+ *
8
+ * http://docs.jquery.com/UI/Tabs#theming
9
+ */
10
+ .ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
11
+ .ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
12
+ .ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
13
+ .ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
14
+ .ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
15
+ .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
16
+ .ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
17
+ .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
18
+ .ui-tabs .ui-tabs-hide { display: none !important; }
img/ajax-loader.gif ADDED
Binary file
img/arrow_down.gif ADDED
Binary file
img/arrow_right.gif ADDED
Binary file
img/ico-delete.png ADDED
Binary file
img/ico-display-list.png ADDED
Binary file
img/ico-download.png ADDED
Binary file
img/ico-edit.png ADDED
Binary file
img/ico-exclamation-yellow.png ADDED
Binary file
img/ico-folder-open-16x16.png ADDED
Binary file
img/ico-information.png ADDED
Binary file
img/ico-redo.png ADDED
Binary file
img/ico-refresh.png ADDED
Binary file
img/ico-statistics.png ADDED
Binary file
img/ico-tick.png ADDED
Binary file
img/ico-video.png ADDED
Binary file
img/ico-vod-64.png ADDED
Binary file
img/icon_close.gif ADDED
Binary file
img/icon_resize_se.gif ADDED
Binary file
img/topbg10.png ADDED
Binary file
img/videofile.png ADDED
Binary file
js/editor_plugin.js ADDED
@@ -0,0 +1,220 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Regroupement de fonctions JS permettant d'utiliser le plugin VOD
3
+ *
4
+ * @author Destrem Kevin
5
+ * @link http://statslive.infomaniak.ch/vod/api/
6
+ * @version 1.0
7
+ * @copyright infomaniak.ch
8
+ *
9
+ */
10
+ //Fonction permettant d'afficher ou non les options d'integration
11
+ Vod_dialogToggleSlider = function(){
12
+ if ( !jQuery("#dialog-slide-header").hasClass("selected") ) {
13
+ jQuery("#dialog-slide-header").addClass("selected");
14
+ jQuery("#dialog-slide").show();
15
+ } else {
16
+ jQuery("#dialog-slide-header").removeClass("selected");
17
+ jQuery("#dialog-slide").hide();
18
+ }
19
+ jQuery("#dialog-vod-form").dialog( "option", {'position' : 'center'} );
20
+ };
21
+
22
+ //Fonction permettant de cacher l'overlay de configuration
23
+ Vod_dialogOpen = function () {
24
+ jQuery("#dialog-url-input").value = "";
25
+ jQuery("#dialog-slide-header").removeClass("selected");
26
+ jQuery("#dialog-vod-form").dialog('open');
27
+ jQuery("#dialog-url-input").focus();
28
+ }
29
+
30
+ //Fonction permettant de cacher l'overlay de configuration
31
+ Vod_dialogClose = function () {
32
+ jQuery("#dialog-vod-form").dialog("close");
33
+ jQuery("#dialog-slide").hide();
34
+ };
35
+
36
+ Vod_selectVideo = function (sUrl,sToken,iFolder) {
37
+ jQuery('#dialog-url-input').val( sUrl );
38
+ if( sToken != "" ){
39
+ jQuery('#dialog-token').val( iFolder );
40
+ }else{
41
+ jQuery('#dialog-token').val( "" );
42
+ }
43
+ jQuery('#dialog-tabs').tabs( "select" , 1 )
44
+ };
45
+
46
+ sVodUploadParameters = "";
47
+
48
+ Vod_importVideo = function () {
49
+ if ( jQuery('#uploadSelectFolder').val() > 0 ){
50
+ jQuery('#vodUploadVideo').show();
51
+ jQuery.ajax({
52
+ url: jQuery("#url_ajax_import_video").val(),
53
+ cache: false,
54
+ processData: false,
55
+ data: "iFolder="+jQuery('#uploadSelectFolder').val(),
56
+ success: function(sToken){
57
+ try {
58
+ jQuery('#dialog-tabs').tabs( "disable", [0,1,2,3] );
59
+ sVodUploadParameters = sToken;
60
+ flashUpload( sToken );
61
+ }catch( e ){
62
+ alert('ERROR : '+e);
63
+ }
64
+ }
65
+ });
66
+ } else {
67
+ jQuery('#dialog-tabs').tabs( "enable", [0,1,2,3] );
68
+ jQuery('#vodUploadVideo').hide();
69
+ }
70
+ };
71
+
72
+ //Fonction permettant la validation du formulaire suivant les options choisis
73
+ Vod_dialogValid = function () {
74
+ var url = jQuery("#dialog-url-input").val();
75
+ if ( url == null || url == '' ){
76
+ alert('Veuillez saisir une adresse de vidéo valide.');
77
+ }else{
78
+ if( jQuery('#dialog-tabs').tabs('option', 'selected') == 0 || jQuery('#dialog-tabs').tabs('option', 'selected') == 2 || jQuery('#dialog-tabs').tabs('option', 'selected') == 3) {
79
+ alert("Vous devez selectionner une vidéo à ajouter.");
80
+ } else if ( !jQuery("#dialog-slide-header").hasClass('selected') && jQuery('#dialog-token').val()=="" ) {
81
+ var text = "[vod]" + url + "[/vod]";
82
+ } else {
83
+ //Il y a des options d'integration
84
+ var width = jQuery("#dialog-width-input").val();
85
+ var height = jQuery("#dialog-height-input").val();
86
+ var playerDefault = jQuery("#dialog-player-default").val();
87
+ var player = jQuery("#dialog-player").val();
88
+ var tokenFolder = jQuery('#dialog-token').val();
89
+ var text = '[vod';
90
+ if( width != '' ){
91
+ text += " width='"+width+"'";
92
+ }
93
+ if( height != '' ){
94
+ text += " height='"+height+"'";
95
+ }
96
+ if( player != playerDefault ){
97
+ text += " player='"+player+"'";
98
+ }
99
+ if( tokenFolder != '' ){
100
+ text += " tokenfolder='"+tokenFolder+"'";
101
+ }
102
+
103
+ if( jQuery("#dialog-slide-header").hasClass('selected') ){
104
+ //Celles qu'on ajoute à chaque fois
105
+ var stretch = jQuery("#dialog-stretch").attr('checked') ? 1 : 0;
106
+ var autostart = jQuery("#dialog-autostart").attr('checked') ? 1 : 0;
107
+ var loop = jQuery("#dialog-loop").attr('checked') ? 1 : 0;
108
+ text += " stretch='"+ parseInt(stretch)+"'";
109
+ text += " autoplay='"+ parseInt(autostart)+"'";
110
+ text += " loop='"+ parseInt(loop)+"'";
111
+ }
112
+
113
+ text += ']' + url + "[/vod]";
114
+ }
115
+
116
+ if ( typeof tinyMCE != 'undefined' && ( ed = tinyMCE.activeEditor ) && !ed.isHidden() ) {
117
+ ed.focus();
118
+ if (tinymce.isIE){
119
+ ed.selection.moveToBookmark(tinymce.EditorManager.activeEditor.windowManager.bookmark);
120
+ }
121
+ ed.execCommand('mceInsertContent', false, text);
122
+ } else{
123
+ edInsertContent(edCanvas, text);
124
+ }
125
+
126
+ Vod_dialogClose();
127
+ }
128
+ };
129
+
130
+ //Fonction execute a l'initialisation du tinyMCE
131
+ (function() {
132
+ tinymce.create('tinymce.plugins.vodplugin', {
133
+ init : function(ed, url){
134
+ jQuery('#dialog-vod-form').dialog({
135
+ title: 'Ajout d\'une video de la VOD',
136
+ resizable: false,
137
+ autoOpen: false,
138
+ width: 750,
139
+ modal: true,
140
+ buttons: {
141
+ "Ajouter": function() {
142
+ var bValid = true;
143
+ if ( bValid ) {
144
+ Vod_dialogValid();
145
+ }
146
+ },
147
+ Cancel: function() {
148
+ Vod_dialogClose();
149
+ }
150
+ }
151
+ });
152
+
153
+ jQuery('#dialog-tabs').tabs({
154
+ show: function(event, ui) {
155
+ //On reinit le dossier d'upload lors d'un changement de tab
156
+ if( jQuery('#dialog-tabs').tabs('option', 'selected') == 2 ){
157
+ jQuery('#uploadSelectFolder').val(-1);
158
+ Vod_importVideo();
159
+ }
160
+ //On switch le menu d'implementation et le bouton Ajouter
161
+ if( jQuery('#dialog-tabs').tabs('option', 'selected') == 0 || jQuery('#dialog-tabs').tabs('option', 'selected') == 2 || jQuery('#dialog-tabs').tabs('option', 'selected') == 3){
162
+ jQuery('.ui-dialog-buttonpane button').eq(0).button('disable');
163
+ jQuery('#dialog-config').hide();
164
+ jQuery("#dialog-search-input-video").focus();
165
+ }else{
166
+ jQuery('.ui-dialog-buttonpane button').eq(0).button('enable');
167
+ jQuery('#dialog-config').show();
168
+ jQuery("#dialog-url-input").focus();
169
+ }
170
+ jQuery("#dialog-vod-form").dialog( "option", {'position' : 'center'} );
171
+ }
172
+ });
173
+
174
+ jQuery('#dialog-search-input-video').suggest(jQuery('#url_ajax_search_video').val(), {
175
+ delay : 150,
176
+ onSelect : function(){
177
+ part = this.value.split(';;;');
178
+ jQuery('#dialog-search-input-video').val('');
179
+ jQuery('#dialog-url-input').val(part[0]);
180
+ if( part.length == 3 ){
181
+ jQuery('#dialog-token').val( part[1] );
182
+ }else{
183
+ jQuery('#dialog-token').val("");
184
+ }
185
+ jQuery('#dialog-tabs').tabs( "select" , 1 )
186
+ }
187
+ });
188
+
189
+ jQuery('#dialog-search-input-playlist').suggest(jQuery('#url_ajax_search_playlist').val(), {
190
+ delay : 150,
191
+ onSelect : function(){
192
+ part = this.value.split(';;;');
193
+ jQuery('#dialog-search-input-playlist').val('');
194
+ jQuery('#dialog-url-input').val(part[0]);
195
+ jQuery('#dialog-tabs').tabs( "select" , 1 )
196
+ }
197
+ });
198
+
199
+ checkSearchType = function(){
200
+ if( jQuery('input[type=radio][name=searchtype]:checked').attr('value') == "video" ){
201
+ jQuery('#dialog-search-input-video').show();
202
+ jQuery('#dialog-search-input-playlist').hide();
203
+ }else{
204
+ jQuery('#dialog-search-input-video').hide();
205
+ jQuery('#dialog-search-input-playlist').show();
206
+ }
207
+ };
208
+ checkSearchType();
209
+
210
+ ed.addButton('vodplugin', {
211
+ title : 'Inserer VOD',
212
+ image: url + "/../img/videofile.png",
213
+ onclick : function() {
214
+ Vod_dialogOpen();
215
+ }
216
+ });
217
+ }
218
+ });
219
+ tinymce.PluginManager.add('vodplugin', tinymce.plugins.vodplugin);
220
+ })();
languages/vod_infomaniak-de_DE.mo ADDED
Binary file
languages/vod_infomaniak-de_DE.po ADDED
@@ -0,0 +1,607 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Fichier de Traduction du plugin wordpress Vod-infomaniak
2
+ # Copyright (C) 2011 Infomaniak website
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <kevin.destrem@infomaniak.ch>, 2011.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: vod\n"
9
+ "Report-Msgid-Bugs-To: \n"
10
+ "POT-Creation-Date: 2011-10-31 10:54+0100\n"
11
+ "PO-Revision-Date: 2011-11-21 18:52+0100\n"
12
+ "Last-Translator: \n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "Language: de_DE\n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=iso-8859-1\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+
19
+ #: vod.template.php:77
20
+ msgid "1. Selection du dossier"
21
+ msgstr "1. Ordnerauswahl"
22
+
23
+ #: vod.template.php:93
24
+ msgid "2. Envoi d'un fichier"
25
+ msgstr "2. Dateiversand"
26
+
27
+ #: vod.template.php:927
28
+ msgid ""
29
+ "<li>Fonction de seek permettant de se deplacer dans une video meme longue quasi instantanement.</li>\n"
30
+ "\t\t\t\t<li>Bouton permettant de changer a la vole entre les differentes qualites d'une video.</li>\n"
31
+ "\t\t\t\t<li>Bouton d'export sur certains reseau sociaux (facebook, twitter) afin que votre video soit plus visible.</li>\n"
32
+ "\t\t\t\t<li>Player exportable afin de permettre aux visiteurs de recuperer le code d'integration.</li>\n"
33
+ "\t\t\t\t<li>Facilite de personnalisation du player via de rapides modifications (couleurs de la barre, taille de la barre, logo) ou l'utilisation d'une barre entierement personnaliser.</li>\n"
34
+ "\t\t\t\t<li>Compatibilite avec adswizz afin d'ajouter facilement des publicites avant ou apres les videos.</li>\n"
35
+ "\t\t\t\t<li>Et encore d'autres options a decouvrir ...</li>"
36
+ msgstr ""
37
+ "<li>Seek-Funktion, um die Abspielposition im Video praktisch unmittelbar zu verschieben.</li>\n"
38
+ "\t\t\t\t<li>Schaltfl�che, um unmittelbar eine andere Videoqualit�t zu w�hlen.</li>\n"
39
+ "\t\t\t\t<li>Schaltfl�che f�r den Export in soziale Netzwerke (Facebook, Twitter), um Ihr Video bekannter zu machen.</li>\n"
40
+ "\t\t\t\t<li>Exportierbarer Player, damit Besucher den Integrationscode �bernehmen k�nnen.</li>\n"
41
+ "\t\t\t\t<li>Pers�nliche Gestaltung des Players �ber Schnelleinstellungen (Farbe der Leiste, Gr�sse der Leiste, Logo) oder Verwendung einer pers�nlichen Leiste.</li>\n"
42
+ "\t\t\t\t<li>Adswizz-Kompatibilit�t, um vor oder nach den Videos bequem Werbung einzublenden.</li>\n"
43
+ "\t\t\t\t<li>Und viele weitere Optionen ...</li>"
44
+
45
+ #: vod.template.php:702
46
+ #: vod.template.php:823
47
+ msgid "Action"
48
+ msgstr "Aktion"
49
+
50
+ #: vod.template.php:230
51
+ msgid "Administration du plugin VOD"
52
+ msgstr "Verwaltung des VOD-Plugins"
53
+
54
+ #: vod.template.php:852
55
+ msgid "Administrer cette playlist"
56
+ msgstr "Diese Playlist verwalten"
57
+
58
+ #: vod.template.php:674
59
+ #: vod.template.php:721
60
+ msgid "Administrer cette video"
61
+ msgstr "Dieses Video verwalten"
62
+
63
+ #: vod.template.php:550
64
+ msgid "Adresse"
65
+ msgstr "Adresse"
66
+
67
+ #: vod.template.php:303
68
+ msgid "Adresse de callback"
69
+ msgstr "Callback-Adresse"
70
+
71
+ #: vod.template.php:922
72
+ #, php-format
73
+ msgid "Afin de modifier ou creer de nouveaux players flash, nous vous invitons a vous rendre dans votre administration vod : <a href='https://statslive.infomaniak.com/vod/player.php?iVodCode=%d' target='_blank'>Acceder a la configuration des players</a>"
74
+ msgstr "Bitte begeben Sie sich in Ihre VOD-Verwaltung, um neue Flash-Player zu bearbeiten oder anzulegen: <a href='https://statslive.infomaniak.com/vod/player.php?iVodCode=%d' target='_blank'>Player-Einrichtung anzeigen</a>"
75
+
76
+ #: vod.class.php:147
77
+ msgid "Ajout"
78
+ msgstr "Hinzuf�gen"
79
+
80
+ #: vod.template.php:744
81
+ msgid "Annuler"
82
+ msgstr "R�ckg�ngig"
83
+
84
+ #: vod.class.php:576
85
+ msgid "Article correctement cree. Vous allez etre rediriger sur la page d'edition"
86
+ msgstr "Artikel erfolgreich angelegt. Sie werden auf die Bearbeitungsseite weitergeleitet."
87
+
88
+ #: vod.template.php:621
89
+ msgid "Attention"
90
+ msgstr "Vorsicht"
91
+
92
+ #: vod.template.php:82
93
+ #: vod.template.php:357
94
+ msgid "Aucun dossier disponible"
95
+ msgstr "Kein Ordner verf�gbar"
96
+
97
+ #: vod.template.php:192
98
+ #: vod.template.php:876
99
+ #: vod.template.php:892
100
+ msgid "Aucun player disponible"
101
+ msgstr "Kein Player verf�gbar"
102
+
103
+ #: vod.template.php:829
104
+ msgid "Aucune playlist disponible"
105
+ msgstr "Keine Playlist verf�gbar"
106
+
107
+ #: vod.template.php:51
108
+ #: vod.template.php:708
109
+ msgid "Aucune video disponible"
110
+ msgstr "Kein Video verf�gbar"
111
+
112
+ #: vod.template.php:23
113
+ msgid "Avec l'url"
114
+ msgstr "Mit der URL"
115
+
116
+ #: vod.template.php:622
117
+ msgid "C'est une suppression definitive de la video, il n'y pas de corbeille ou de moyen de la recuperer une fois effacer."
118
+ msgstr "Das Video wird endg�ltig gel�scht. Es gibt weder einen Papierkorb noch die M�glichkeit, ein gel�schtes Video wiederherzustellen."
119
+
120
+ #: vod.template.php:350
121
+ msgid "Ce plug-in vous permet d'ajouter de nouvelles videos directement depuis ce blog. Pour cela, vous n'avez qu'a choisir un dossier puis suivre les instructions"
122
+ msgstr "Mit diesem Plugin k�nnen Sie neue Videos unmittelbar aus diesem Blog hinzuf�gen. Daf�r m�ssen Sie nur einen Ordner ausw�hlen und den Anweisungen folgen"
123
+
124
+ #: vod.template.php:560
125
+ msgid "Cette adresse necessite une authentification."
126
+ msgstr "Diese Adresse erfordert eine Authentifizierung."
127
+
128
+ #: vod.template.php:299
129
+ #, php-format
130
+ msgid "Cette option vous permet de mettre a jour automatiquement votre blog a chaque ajout de video a votre espace VOD.<br/>Veuillez aller dans \"<a href='https://statslive.infomaniak.com/vod/configuration.php?iVodCode=%d' target='_blank'>Configuration -> Api & Callback</a>\" et mettre l'adresse suivante dans le champ \"Adresse de Callback\""
131
+ msgstr "Diese Option erm�glicht die automatische Aktualisierung Ihres Blogs, sobald ein Video in Ihrem VOD-Bereich hinzugef�gt wird.<br/>Bitte begeben Sie sich in \"<a href='https://statslive.infomaniak.com/vod/configuration.php?iVodCode=%d' target='_blank'>Einstellungen -> Api & Callback</a>\" und geben Sie folgende Adresse im Feld \"Callback-Adresse \" ein"
132
+
133
+ #: vod.template.php:887
134
+ msgid "Choisir ce player"
135
+ msgstr "Diesen Player ausw�hlen"
136
+
137
+ #: vod.template.php:352
138
+ msgid "Choix du dossier d'envoi"
139
+ msgstr "Auswahl des Sendeordners"
140
+
141
+ #: vod.template.php:368
142
+ msgid "Choix du type d'envoi"
143
+ msgstr "Auswahl des Versandtyps"
144
+
145
+ #: vod.template.php:667
146
+ msgid "Code d'integration"
147
+ msgstr "Integrationscode"
148
+
149
+ #: vod.class.php:98
150
+ msgid "Configuration"
151
+ msgstr "Einstellungen"
152
+
153
+ #: vod.template.php:298
154
+ msgid "Configuration du callback"
155
+ msgstr "Callback-Konfiguration "
156
+
157
+ #: vod.template.php:255
158
+ msgid "Connecter"
159
+ msgstr "Verbinden"
160
+
161
+ #: vod.template.php:252
162
+ msgid "Connection"
163
+ msgstr "Verbindung"
164
+
165
+ #: vod.template.php:921
166
+ msgid "Creation ou modification de players"
167
+ msgstr "Player erstellen oder bearbeiten"
168
+
169
+ #: vod.template.php:689
170
+ msgid "Creer un article"
171
+ msgstr "Artikel anlegen"
172
+
173
+ #: vod.template.php:316
174
+ #: vod.template.php:822
175
+ #: vod.template.php:899
176
+ msgid "Date"
177
+ msgstr "Datum"
178
+
179
+ #: vod.template.php:45
180
+ #: vod.template.php:701
181
+ msgid "Date d'upload"
182
+ msgstr "Uploaddatum"
183
+
184
+ #: vod.template.php:210
185
+ #: vod.template.php:901
186
+ msgid "Demarrage automatique"
187
+ msgstr "Automatischer Start"
188
+
189
+ #: vod.template.php:22
190
+ msgid "Dernieres videos"
191
+ msgstr "Letzte Videos"
192
+
193
+ #: vod.template.php:316
194
+ #: vod.template.php:818
195
+ msgid "Description"
196
+ msgstr "Beschreibung"
197
+
198
+ #: vod.template.php:183
199
+ msgid "Dimensions"
200
+ msgstr "Aufl�sung"
201
+
202
+ #: vod.template.php:85
203
+ #: vod.template.php:360
204
+ #: vod.template.php:700
205
+ msgid "Dossier"
206
+ msgstr "Ordner"
207
+
208
+ #: vod.template.php:79
209
+ #: vod.template.php:488
210
+ #: vod.template.php:539
211
+ msgid "Dossier d'envoi"
212
+ msgstr "Sendeordner"
213
+
214
+ #: vod.template.php:274
215
+ msgid "Dossiers recuperes"
216
+ msgstr "Wiederhergestellte Ordner"
217
+
218
+ #: vod.class.php:147
219
+ #: vod.template.php:820
220
+ msgid "Duree"
221
+ msgstr "Dauer"
222
+
223
+ #: vod.template.php:333
224
+ msgid "En cours de conversion"
225
+ msgstr "Umwandlung in Bearbeitung"
226
+
227
+ #: vod.template.php:499
228
+ msgid "Envoi"
229
+ msgstr "Senden"
230
+
231
+ #: vod.template.php:349
232
+ msgid "Envoi d'une nouvelle video"
233
+ msgstr "Neues Video versenden"
234
+
235
+ #: vod.template.php:24
236
+ msgid "Envoi d'une video"
237
+ msgstr "Video versenden"
238
+
239
+ #: vod.template.php:376
240
+ msgid "Envoi termine"
241
+ msgstr "Versand abgeschlossen"
242
+
243
+ #: vod.template.php:369
244
+ msgid "Envoyer depuis cet ordinateur"
245
+ msgstr "Von diesem Computer senden"
246
+
247
+ #: vod.class.php:504
248
+ msgid "Erreur : Impossible de se connecter"
249
+ msgstr "Fehler: Verbindung nicht m�glich"
250
+
251
+ #: vod.template.php:336
252
+ msgid "Erreurs"
253
+ msgstr "Fehler"
254
+
255
+ #: vod.template.php:624
256
+ msgid "Etes-vous sur de vouloir continuer ?"
257
+ msgstr "M�chten Sie wirklich fortsetzen?"
258
+
259
+ #: vod.template.php:206
260
+ msgid "Etirer la video (stretch)"
261
+ msgstr "Video strecken (stretch)"
262
+
263
+ #: vod.template.php:30
264
+ msgid "Exemple"
265
+ msgstr "Beispiel"
266
+
267
+ #: vod.template.php:316
268
+ msgid "Fichier"
269
+ msgstr "Datei"
270
+
271
+ #: vod.class.php:94
272
+ msgid "Gestionnaire"
273
+ msgstr "Verwaltung"
274
+
275
+ #: vod.template.php:605
276
+ msgid "Gestionnaire de videos"
277
+ msgstr "Videoverwaltung"
278
+
279
+ #: vod.template.php:248
280
+ msgid "Identifiant de l'espace VOD"
281
+ msgstr "ID des VOD-Bereichs"
282
+
283
+ #: vod.template.php:34
284
+ msgid "Identifiant de playlist"
285
+ msgstr "Playlist-ID"
286
+
287
+ #: vod.template.php:925
288
+ msgid "Il est possible de personnaliser votre player video afin qu'ils s'integre parfaitement a votre site. Voici quelques fonctionnalites avancees qu'il propose :"
289
+ msgstr "Sie k�nnen Ihren Videoplayer pers�nlich gestalten, damit er perfekt in Ihre Website integriert ist. Er bietet u.a. folgende fortgeschrittenen Funktionen:"
290
+
291
+ #: vod.class.php:108
292
+ #: vod.class.php:606
293
+ #: vod.class.php:617
294
+ msgid "Il n'est pas possible d'uploader dans ce dossier."
295
+ msgstr "Uploads in diesen Ordner sind nicht m�glich."
296
+
297
+ #: vod.class.php:95
298
+ msgid "Importation"
299
+ msgstr "Import"
300
+
301
+ #: vod.template.php:566
302
+ msgid "Importer"
303
+ msgstr "Importieren"
304
+
305
+ #: vod.template.php:370
306
+ msgid "Importer depuis un autre site"
307
+ msgstr "Von einer anderen Website importieren"
308
+
309
+ #: vod.template.php:257
310
+ msgid "Impossible de se connecter"
311
+ msgstr "Verbindung nicht m�glich"
312
+
313
+ #: vod.template.php:720
314
+ msgid "Information sur cette video"
315
+ msgstr "Informationen zu diesem Video"
316
+
317
+ #: vod.template.php:635
318
+ msgid "Informations"
319
+ msgstr "Informationen"
320
+
321
+ #: vod.template.php:889
322
+ msgid "Informations sur ce Player"
323
+ msgstr "Informationen zu diesem Player"
324
+
325
+ #: vod.template.php:650
326
+ msgid "Integration"
327
+ msgstr "Integration"
328
+
329
+ #: vod.template.php:866
330
+ msgid "Integration par defaut des videos"
331
+ msgstr "Standard-Integration der Videos"
332
+
333
+ #: vod.template.php:378
334
+ msgid "L'ajout de cette video a correctement ete pris en compte.<br/>Vous pouvez retrouver l'avancement de cette conversion video dans le tableau ci-dessous."
335
+ msgstr "Dieses Video wurde erfolgreich hinzugef�gt.<br/>Sie sehen der Fortschritt der Videoumwandlung in der Tabelle unten."
336
+
337
+ #: vod.template.php:496
338
+ msgid "L'envoi doit etre effectue en moins de 4 heures"
339
+ msgstr "Der Versand darf nicht l�nger als 4 Stunden dauern"
340
+
341
+ #: vod.template.php:494
342
+ #: vod.template.php:545
343
+ msgid "Le poids des fichiers envoyes via ce module est limite a 1Go"
344
+ msgstr "Die Dateigr�sse ist beim Hochladen �ber dieses Modul auf 1 GB begrenzt"
345
+
346
+ #: vod.template.php:214
347
+ #: vod.template.php:902
348
+ msgid "Lecture en boucle"
349
+ msgstr "Wiedergabeschleife"
350
+
351
+ #: vod.template.php:495
352
+ #: vod.template.php:546
353
+ msgid "Les formats videos supportes sont avi, flv, mov, mpeg, mp4, mkv, rm, wmv, m4v, vob, 3gp, webm, f4v, ts"
354
+ msgstr "Folgende Videoformate werden unterst�tzt: avi, flv, mov, mpeg, mp4, mkv, rm, wmv, m4v, vob, 3gp, webm, f4v, ts"
355
+
356
+ #: vod.template.php:492
357
+ #: vod.template.php:543
358
+ msgid "Limites"
359
+ msgstr "Obergrenzen"
360
+
361
+ #: vod.template.php:240
362
+ #: vod.template.php:563
363
+ msgid "Login"
364
+ msgstr "Benutzername"
365
+
366
+ #: vod.template.php:427
367
+ msgid "Mise a jour dans"
368
+ msgstr "Aktualisierung in"
369
+
370
+ #: vod.template.php:821
371
+ msgid "Mode de lecture"
372
+ msgstr "Wiedergabemodus"
373
+
374
+ #: vod.template.php:906
375
+ msgid "Modifier ce Player"
376
+ msgstr "Diesen Player bearbeiten"
377
+
378
+ #: vod.template.php:44
379
+ #: vod.template.php:85
380
+ #: vod.template.php:360
381
+ #: vod.template.php:644
382
+ #: vod.template.php:817
383
+ #: vod.template.php:898
384
+ msgid "Nom"
385
+ msgstr "Name"
386
+
387
+ #: vod.template.php:819
388
+ msgid "Nombre videos"
389
+ msgstr "Anzahl Videos"
390
+
391
+ #: vod.template.php:324
392
+ msgid "OK"
393
+ msgstr "OK"
394
+
395
+ #: vod.template.php:327
396
+ msgid "Ok (des alertes sont apparues)"
397
+ msgstr "Ok (Warnmeldungen wurden angezeigt)"
398
+
399
+ #: vod.template.php:180
400
+ msgid "Options d'integration"
401
+ msgstr "Integrationsoptionen"
402
+
403
+ #: vod.template.php:25
404
+ msgid "Outil de recherche"
405
+ msgstr "Such-Tool"
406
+
407
+ #: vod.template.php:244
408
+ #: vod.template.php:564
409
+ msgid "Password"
410
+ msgstr "Kennwort"
411
+
412
+ #: vod.template.php:188
413
+ msgid "Player choisi"
414
+ msgstr "Ausgew�hlter Player"
415
+
416
+ #: vod.class.php:96
417
+ msgid "Player video"
418
+ msgstr "Videoplayer"
419
+
420
+ #: vod.template.php:278
421
+ msgid "Players recuperes"
422
+ msgstr "Heruntergeladene Player"
423
+
424
+ #: vod.class.php:97
425
+ #: vod.template.php:170
426
+ msgid "Playlist"
427
+ msgstr "Playlist"
428
+
429
+ #: vod.template.php:282
430
+ msgid "Playlist recuperes"
431
+ msgstr "Heruntergeladene Playlists"
432
+
433
+ #: vod.template.php:810
434
+ msgid "Playlists"
435
+ msgstr "Playlists"
436
+
437
+ #: vod.template.php:923
438
+ msgid "Plus d'options"
439
+ msgstr "Weitere Optionen"
440
+
441
+ #: vod.template.php:268
442
+ msgid "Pour fonctionner correctement, cette extension a besoin de se synchroniser regulierement avec votre compte VOD.<br/>Cela vous permet de garder une liste des players, dossiers et playlist a jour sur votre blog.<br/>Cette operation s'effectue automatiquement assez regulierement mais il est egalement possible de forcer une verification ci-dessous."
443
+ msgstr "Um richtig zu funktionieren, muss diese Erweiterung sich regelm�ssig mit Ihrem VOD-Konto synchronisieren.<br/>Auf diese Weise bleiben Ihre Playerliste, Ordner und Playlists in Ihrem Blog auf dem neuesten Stand.<br/>Dieser Vorgang l�uft regelm�ssig automatisch ab, Sie k�nnen aber auch unten eine Pr�fung durchf�hren."
444
+
445
+ #: vod.template.php:234
446
+ msgid ""
447
+ "Pour fonctionner, le plugin a besoin de s'interfacer avec votre compte VOD infomaniak.<br/>\n"
448
+ "\t\t\t\tPour des raisons de securites, il est fortement conseille de creer un nouvel utilisateur dedie dans votre admin infomaniak avec uniquement des droits restreints sur l'API.<br/>\n"
449
+ "\t\t\t\tPour plus d'information, veuillez vous rendre dans la partie \"Configuration -> Api & Callback\" de votre administration VOD."
450
+ msgstr ""
451
+ "Das Plugin muss sich mit Ihrem VOD-Konto bei Infomaniak verbinden, damit es funktioniert.<br/>\n"
452
+ "\t\t\t\tWir raten aus Sicherheitsgr�nden dringend dazu, in Ihrer Infomaniak-Verwaltungskonsole einen neuen Benutzer anzulegen, der nur begrenzte Rechte f�r die API besitzt.<br/>\n"
453
+ "\t\t\t\tWeitere Informationen finden Sie im Men� \"Einstellungen -> Api & Callback\" Ihrer VOD-Verwaltung."
454
+
455
+ #: vod.template.php:314
456
+ #: vod.template.php:813
457
+ msgid "Precedents Envois"
458
+ msgstr "Vorherige Sendungen"
459
+
460
+ #: vod.template.php:629
461
+ msgid "Previsualisation d'une video"
462
+ msgstr "Video-Vorschau"
463
+
464
+ #: vod.class.php:529
465
+ msgid "Probleme de configuration"
466
+ msgstr "Konfigurationsproblem"
467
+
468
+ #: vod.template.php:168
469
+ msgid "Recherche d'une"
470
+ msgstr "Suche nach"
471
+
472
+ #: vod.template.php:900
473
+ msgid "Resolution"
474
+ msgstr "Aufl�sung"
475
+
476
+ #: vod.template.php:647
477
+ msgid "Restriction d'acces"
478
+ msgstr "Zugangsbeschr�nkung"
479
+
480
+ #: vod.template.php:778
481
+ msgid "Securise avec un token"
482
+ msgstr "Mit Token gesichert"
483
+
484
+ #: vod.template.php:872
485
+ msgid "Selection du player par defaut"
486
+ msgstr "Auswahl des Standardplayers"
487
+
488
+ #: vod.template.php:811
489
+ #, php-format
490
+ msgid "Si vous desirez ajouter ou modifier les playlist ci-dessous, veuillez vous rendre dans <a href='https://statslive.infomaniak.com/vod/playlists.php?iVodCode=%s' target='_blank'>la console d'administration</a>"
491
+ msgstr "Wenn Sie die Playlists erweitern oder bearbeiten m�chten, begeben Sie sich in die <a href='https://statslive.infomaniak.com/vod/playlists.php?iVodCode=%s' target='_blank'>Verwaltungskonsole</a>"
492
+
493
+ #: vod.template.php:316
494
+ msgid "Statut"
495
+ msgstr "Status"
496
+
497
+ #: vod.template.php:723
498
+ msgid "Supprimer cette video"
499
+ msgstr "Dieses Video l�schen"
500
+
501
+ #: vod.template.php:741
502
+ msgid "Supprimer definitivement la video"
503
+ msgstr "Video endg�ltig l�schen"
504
+
505
+ #: vod.template.php:613
506
+ msgid "Supprimer une video"
507
+ msgstr "Video l�schen"
508
+
509
+ #: vod.template.php:903
510
+ msgid "Switch de qualite"
511
+ msgstr "Qualit�ts-Switch"
512
+
513
+ #: vod.template.php:267
514
+ msgid "Synchronisation des donnees"
515
+ msgstr "Datensynchronisation"
516
+
517
+ #: vod.template.php:290
518
+ msgid "Synchronisation rapide"
519
+ msgstr "Schnellsynchronisation"
520
+
521
+ #: vod.template.php:294
522
+ msgid "Synchroniser Videos"
523
+ msgstr "Videos synchronisieren "
524
+
525
+ #: vod.template.php:330
526
+ msgid "Telechargement en cours"
527
+ msgstr "Download l�uft"
528
+
529
+ #: vod.template.php:32
530
+ msgid "Url complete"
531
+ msgstr "Vollst�ndige URL"
532
+
533
+ #: vod.template.php:663
534
+ msgid "Url de l'image"
535
+ msgstr "Bild-URL"
536
+
537
+ #: vod.template.php:656
538
+ msgid "Url de la video"
539
+ msgstr "Video-URL"
540
+
541
+ #: vod.template.php:33
542
+ msgid "Url partiel"
543
+ msgstr "Teilweise URL"
544
+
545
+ #: vod.template.php:218
546
+ msgid "Utilisation du token du dossier (Id dossier)"
547
+ msgstr "Verwendung des Ordner-Tokens (Ordner-ID)"
548
+
549
+ #: vod.template.php:486
550
+ msgid "Utilitaire d'envoi de video"
551
+ msgstr "Dienstprogramm f�r den Videoversand"
552
+
553
+ #: vod.template.php:532
554
+ msgid "Utilitaire d'importation de video"
555
+ msgstr "Dienstprogramm f�r den Videoimport"
556
+
557
+ #: vod.template.php:261
558
+ msgid "Valider"
559
+ msgstr "Best�tigen"
560
+
561
+ #: vod.template.php:28
562
+ msgid "Veuillez saisir l'URL d'une video"
563
+ msgstr "Bitte geben Sie die URL eines Videos ein"
564
+
565
+ #: vod.class.php:529
566
+ msgid "Veuillez-vous rendre dans <a href='admin.php?page=configuration'>Videos -> Configuration</a> afin de configurer votre compte."
567
+ msgstr "Bitte begeben Sie sich ins Men� <a href='admin.php?page=configuration'>Videos -> Einstellungen</a>, um Ihr Konto einzurichten."
568
+
569
+ #: vod.template.php:43
570
+ #: vod.template.php:169
571
+ #: vod.template.php:699
572
+ msgid "Video"
573
+ msgstr "Video"
574
+
575
+ #: vod.template.php:774
576
+ msgid "Video Geolocalise"
577
+ msgstr "Geolokalisiertes Video"
578
+
579
+ #: vod.class.php:200
580
+ msgid "Video en cours de conversion"
581
+ msgstr "Videoumwandlung in Bearbeitung"
582
+
583
+ #: vod.class.php:90
584
+ msgid "Videos"
585
+ msgstr "Videos"
586
+
587
+ #: vod.template.php:270
588
+ msgid "Videos recuperes"
589
+ msgstr "Heruntergeladene Videos"
590
+
591
+ #: vod.template.php:653
592
+ msgid "Visualiser la video"
593
+ msgstr "Video anzeigen"
594
+
595
+ #: vod.template.php:679
596
+ msgid "Voir les statistiques"
597
+ msgstr "Statistiken anzeigen"
598
+
599
+ #: vod.template.php:679
600
+ #: vod.template.php:722
601
+ msgid "Voir les statistiques de cette video"
602
+ msgstr "Statistiken dieses Videos anzeigen"
603
+
604
+ #: vod.template.php:619
605
+ msgid "Vous etes sur le point de supprimer la video"
606
+ msgstr "Sie sind dabei, das Video zu l�schen"
607
+
languages/vod_infomaniak-en_US.mo ADDED
Binary file
languages/vod_infomaniak-en_US.po ADDED
@@ -0,0 +1,607 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Fichier de Traduction du plugin wordpress Vod-infomaniak
2
+ # Copyright (C) 2011 Infomaniak website
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <kevin.destrem@infomaniak.ch>, 2011.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: vod\n"
9
+ "Report-Msgid-Bugs-To: \n"
10
+ "POT-Creation-Date: 2011-10-31 10:54+0100\n"
11
+ "PO-Revision-Date: 2011-11-21 18:50+0100\n"
12
+ "Last-Translator: \n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "Language: fr_FR\n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=UTF-8\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+
19
+ #: vod.template.php:77
20
+ msgid "1. Selection du dossier"
21
+ msgstr "1. Folder selection"
22
+
23
+ #: vod.template.php:93
24
+ msgid "2. Envoi d'un fichier"
25
+ msgstr "2. File sending"
26
+
27
+ #: vod.template.php:927
28
+ msgid ""
29
+ "<li>Fonction de seek permettant de se deplacer dans une video meme longue quasi instantanement.</li>\n"
30
+ "\t\t\t\t<li>Bouton permettant de changer a la vole entre les differentes qualites d'une video.</li>\n"
31
+ "\t\t\t\t<li>Bouton d'export sur certains reseau sociaux (facebook, twitter) afin que votre video soit plus visible.</li>\n"
32
+ "\t\t\t\t<li>Player exportable afin de permettre aux visiteurs de recuperer le code d'integration.</li>\n"
33
+ "\t\t\t\t<li>Facilite de personnalisation du player via de rapides modifications (couleurs de la barre, taille de la barre, logo) ou l'utilisation d'une barre entierement personnaliser.</li>\n"
34
+ "\t\t\t\t<li>Compatibilite avec adswizz afin d'ajouter facilement des publicites avant ou apres les videos.</li>\n"
35
+ "\t\t\t\t<li>Et encore d'autres options a decouvrir ...</li>"
36
+ msgstr ""
37
+ "<li>Seek function to navigate virtually instantly inside a video, even a long one.</li>\n"
38
+ "\t\t\t\t<li>Button to choose instantly between different video qualities.</li>\n"
39
+ "\t\t\t\t<li>Export button to increase your video visibilities on different social networks (facebook, twitter).</li>\n"
40
+ "\t\t\t\t<li>Exportable player giving the possibility to visitors of getting the integration code.</li>\n"
41
+ "\t\t\t\t<li>Easy player customization via quick changes (bar colours, size, logo) or use of an entirely customized bar.</li>\n"
42
+ "\t\t\t\t<li>Adswizz compatible to add easily advertising before or after the videos.</li>\n"
43
+ "\t\t\t\t<li>And more options to discover ...</li>"
44
+
45
+ #: vod.template.php:702
46
+ #: vod.template.php:823
47
+ msgid "Action"
48
+ msgstr "Action"
49
+
50
+ #: vod.template.php:230
51
+ msgid "Administration du plugin VOD"
52
+ msgstr "VOD plugin administration"
53
+
54
+ #: vod.template.php:852
55
+ msgid "Administrer cette playlist"
56
+ msgstr "Administer this playlist"
57
+
58
+ #: vod.template.php:674
59
+ #: vod.template.php:721
60
+ msgid "Administrer cette video"
61
+ msgstr "Administer this video"
62
+
63
+ #: vod.template.php:550
64
+ msgid "Adresse"
65
+ msgstr "Address"
66
+
67
+ #: vod.template.php:303
68
+ msgid "Adresse de callback"
69
+ msgstr "Callback address"
70
+
71
+ #: vod.template.php:922
72
+ #, php-format
73
+ msgid "Afin de modifier ou creer de nouveaux players flash, nous vous invitons a vous rendre dans votre administration vod : <a href='https://statslive.infomaniak.com/vod/player.php?iVodCode=%d' target='_blank'>Acceder a la configuration des players</a>"
74
+ msgstr "To modify or create new flash players, we invite you to log in to your VOD administration : <a href='https://statslive.infomaniak.com/vod/player.php?iVodCode=%d' target='_blank'>Accessing players configuration</a>"
75
+
76
+ #: vod.class.php:147
77
+ msgid "Ajout"
78
+ msgstr "Adding"
79
+
80
+ #: vod.template.php:744
81
+ msgid "Annuler"
82
+ msgstr "Cancel"
83
+
84
+ #: vod.class.php:576
85
+ msgid "Article correctement cree. Vous allez etre rediriger sur la page d'edition"
86
+ msgstr "Item successfully created. You are being redirected to the editing page"
87
+
88
+ #: vod.template.php:621
89
+ msgid "Attention"
90
+ msgstr "Caution"
91
+
92
+ #: vod.template.php:82
93
+ #: vod.template.php:357
94
+ msgid "Aucun dossier disponible"
95
+ msgstr "No folder available"
96
+
97
+ #: vod.template.php:192
98
+ #: vod.template.php:876
99
+ #: vod.template.php:892
100
+ msgid "Aucun player disponible"
101
+ msgstr "No player available"
102
+
103
+ #: vod.template.php:829
104
+ msgid "Aucune playlist disponible"
105
+ msgstr "No playlist available"
106
+
107
+ #: vod.template.php:51
108
+ #: vod.template.php:708
109
+ msgid "Aucune video disponible"
110
+ msgstr "No video available"
111
+
112
+ #: vod.template.php:23
113
+ msgid "Avec l'url"
114
+ msgstr "With the URL"
115
+
116
+ #: vod.template.php:622
117
+ msgid "C'est une suppression definitive de la video, il n'y pas de corbeille ou de moyen de la recuperer une fois effacer."
118
+ msgstr "The deletion of the video is permanent, there is no trash or means of recovery once deleted."
119
+
120
+ #: vod.template.php:350
121
+ msgid "Ce plug-in vous permet d'ajouter de nouvelles videos directement depuis ce blog. Pour cela, vous n'avez qu'a choisir un dossier puis suivre les instructions"
122
+ msgstr "This plug-in enables you to add new videos directly from this blog. All you need to do is choose a folder and follow instructions"
123
+
124
+ #: vod.template.php:560
125
+ msgid "Cette adresse necessite une authentification."
126
+ msgstr "This address requests an authentication."
127
+
128
+ #: vod.template.php:299
129
+ #, php-format
130
+ msgid "Cette option vous permet de mettre a jour automatiquement votre blog a chaque ajout de video a votre espace VOD.<br/>Veuillez aller dans \"<a href='https://statslive.infomaniak.com/vod/configuration.php?iVodCode=%d' target='_blank'>Configuration -> Api & Callback</a>\" et mettre l'adresse suivante dans le champ \"Adresse de Callback\""
131
+ msgstr "This option will help you updating automatically your blog each time you add a video to your VOD space.<br/> Go to \"<a href='https://statslive.infomaniak.com/vod/configuration.php?iVodCode=%d' target='_blank'>Configuration -> Api & Callback</a>\" and type in the following URL in the \"Callback adress\" field"
132
+
133
+ #: vod.template.php:887
134
+ msgid "Choisir ce player"
135
+ msgstr "Choose this player"
136
+
137
+ #: vod.template.php:352
138
+ msgid "Choix du dossier d'envoi"
139
+ msgstr "Selection of sending folder"
140
+
141
+ #: vod.template.php:368
142
+ msgid "Choix du type d'envoi"
143
+ msgstr "Selection of type of sending"
144
+
145
+ #: vod.template.php:667
146
+ msgid "Code d'integration"
147
+ msgstr "Integration code"
148
+
149
+ #: vod.class.php:98
150
+ msgid "Configuration"
151
+ msgstr "Configuration"
152
+
153
+ #: vod.template.php:298
154
+ msgid "Configuration du callback"
155
+ msgstr "Callback Configuration "
156
+
157
+ #: vod.template.php:255
158
+ msgid "Connecter"
159
+ msgstr "Connect"
160
+
161
+ #: vod.template.php:252
162
+ msgid "Connection"
163
+ msgstr "Connection"
164
+
165
+ #: vod.template.php:921
166
+ msgid "Creation ou modification de players"
167
+ msgstr "Creation or modification of players"
168
+
169
+ #: vod.template.php:689
170
+ msgid "Creer un article"
171
+ msgstr "Write an article"
172
+
173
+ #: vod.template.php:316
174
+ #: vod.template.php:822
175
+ #: vod.template.php:899
176
+ msgid "Date"
177
+ msgstr "Date"
178
+
179
+ #: vod.template.php:45
180
+ #: vod.template.php:701
181
+ msgid "Date d'upload"
182
+ msgstr "Date of upload"
183
+
184
+ #: vod.template.php:210
185
+ #: vod.template.php:901
186
+ msgid "Demarrage automatique"
187
+ msgstr "Automatic launch"
188
+
189
+ #: vod.template.php:22
190
+ msgid "Dernieres videos"
191
+ msgstr "Last videos"
192
+
193
+ #: vod.template.php:316
194
+ #: vod.template.php:818
195
+ msgid "Description"
196
+ msgstr "Description"
197
+
198
+ #: vod.template.php:183
199
+ msgid "Dimensions"
200
+ msgstr "Size"
201
+
202
+ #: vod.template.php:85
203
+ #: vod.template.php:360
204
+ #: vod.template.php:700
205
+ msgid "Dossier"
206
+ msgstr "Folder"
207
+
208
+ #: vod.template.php:79
209
+ #: vod.template.php:488
210
+ #: vod.template.php:539
211
+ msgid "Dossier d'envoi"
212
+ msgstr "Sending folder"
213
+
214
+ #: vod.template.php:274
215
+ msgid "Dossiers recuperes"
216
+ msgstr "Recovered folders"
217
+
218
+ #: vod.class.php:147
219
+ #: vod.template.php:820
220
+ msgid "Duree"
221
+ msgstr "Duration"
222
+
223
+ #: vod.template.php:333
224
+ msgid "En cours de conversion"
225
+ msgstr "Conversion in progress"
226
+
227
+ #: vod.template.php:499
228
+ msgid "Envoi"
229
+ msgstr "Upload"
230
+
231
+ #: vod.template.php:349
232
+ msgid "Envoi d'une nouvelle video"
233
+ msgstr "Upload a new video"
234
+
235
+ #: vod.template.php:24
236
+ msgid "Envoi d'une video"
237
+ msgstr "Sending of a video"
238
+
239
+ #: vod.template.php:376
240
+ msgid "Envoi termine"
241
+ msgstr "Sending complete"
242
+
243
+ #: vod.template.php:369
244
+ msgid "Envoyer depuis cet ordinateur"
245
+ msgstr "Send from this computer"
246
+
247
+ #: vod.class.php:504
248
+ msgid "Erreur : Impossible de se connecter"
249
+ msgstr "Error : Impossible to connect"
250
+
251
+ #: vod.template.php:336
252
+ msgid "Erreurs"
253
+ msgstr "Errors"
254
+
255
+ #: vod.template.php:624
256
+ msgid "Etes-vous sur de vouloir continuer ?"
257
+ msgstr "Are you sure you want to continue?"
258
+
259
+ #: vod.template.php:206
260
+ msgid "Etirer la video (stretch)"
261
+ msgstr "Stretch the video"
262
+
263
+ #: vod.template.php:30
264
+ msgid "Exemple"
265
+ msgstr "Example"
266
+
267
+ #: vod.template.php:316
268
+ msgid "Fichier"
269
+ msgstr "File"
270
+
271
+ #: vod.class.php:94
272
+ msgid "Gestionnaire"
273
+ msgstr "Manager"
274
+
275
+ #: vod.template.php:605
276
+ msgid "Gestionnaire de videos"
277
+ msgstr "Video manager"
278
+
279
+ #: vod.template.php:248
280
+ msgid "Identifiant de l'espace VOD"
281
+ msgstr "VOD Space identifier"
282
+
283
+ #: vod.template.php:34
284
+ msgid "Identifiant de playlist"
285
+ msgstr "Playlist identifier"
286
+
287
+ #: vod.template.php:925
288
+ msgid "Il est possible de personnaliser votre player video afin qu'ils s'integre parfaitement a votre site. Voici quelques fonctionnalites avancees qu'il propose :"
289
+ msgstr "You can customize your video player so it fits in perfectly to your website. Here are a few advanced functionalities it offers:"
290
+
291
+ #: vod.class.php:108
292
+ #: vod.class.php:606
293
+ #: vod.class.php:617
294
+ msgid "Il n'est pas possible d'uploader dans ce dossier."
295
+ msgstr "Uploading in this folder is not possible. "
296
+
297
+ #: vod.class.php:95
298
+ msgid "Importation"
299
+ msgstr "Upload"
300
+
301
+ #: vod.template.php:566
302
+ msgid "Importer"
303
+ msgstr "Import"
304
+
305
+ #: vod.template.php:370
306
+ msgid "Importer depuis un autre site"
307
+ msgstr "Import from a web address"
308
+
309
+ #: vod.template.php:257
310
+ msgid "Impossible de se connecter"
311
+ msgstr "Unable to connect to the server"
312
+
313
+ #: vod.template.php:720
314
+ msgid "Information sur cette video"
315
+ msgstr "Information about this video"
316
+
317
+ #: vod.template.php:635
318
+ msgid "Informations"
319
+ msgstr "Information"
320
+
321
+ #: vod.template.php:889
322
+ msgid "Informations sur ce Player"
323
+ msgstr "Information about this player"
324
+
325
+ #: vod.template.php:650
326
+ msgid "Integration"
327
+ msgstr "Integration"
328
+
329
+ #: vod.template.php:866
330
+ msgid "Integration par defaut des videos"
331
+ msgstr "Integration by default of videos"
332
+
333
+ #: vod.template.php:378
334
+ msgid "L'ajout de cette video a correctement ete pris en compte.<br/>Vous pouvez retrouver l'avancement de cette conversion video dans le tableau ci-dessous."
335
+ msgstr "Adding of the video was successfuly registered.<br/>Check out the progress of the video conversion in the table below."
336
+
337
+ #: vod.template.php:496
338
+ msgid "L'envoi doit etre effectue en moins de 4 heures"
339
+ msgstr "Sending must be completed within 4 hours"
340
+
341
+ #: vod.template.php:494
342
+ #: vod.template.php:545
343
+ msgid "Le poids des fichiers envoyes via ce module est limite a 1Go"
344
+ msgstr "Size of files sent using this module is limited to 1Go"
345
+
346
+ #: vod.template.php:214
347
+ #: vod.template.php:902
348
+ msgid "Lecture en boucle"
349
+ msgstr "Loop playback"
350
+
351
+ #: vod.template.php:495
352
+ #: vod.template.php:546
353
+ msgid "Les formats videos supportes sont avi, flv, mov, mpeg, mp4, mkv, rm, wmv, m4v, vob, 3gp, webm, f4v, ts"
354
+ msgstr "The supported video formats are avi, flv, mov, mpeg, mp4, mkv, rm, wmv, m4v, vob, 3gp, webm, f4v, ts"
355
+
356
+ #: vod.template.php:492
357
+ #: vod.template.php:543
358
+ msgid "Limites"
359
+ msgstr "Limitations"
360
+
361
+ #: vod.template.php:240
362
+ #: vod.template.php:563
363
+ msgid "Login"
364
+ msgstr "Login"
365
+
366
+ #: vod.template.php:427
367
+ msgid "Mise a jour dans"
368
+ msgstr "Update in"
369
+
370
+ #: vod.template.php:821
371
+ msgid "Mode de lecture"
372
+ msgstr "Play mode"
373
+
374
+ #: vod.template.php:906
375
+ msgid "Modifier ce Player"
376
+ msgstr "Modify this player"
377
+
378
+ #: vod.template.php:44
379
+ #: vod.template.php:85
380
+ #: vod.template.php:360
381
+ #: vod.template.php:644
382
+ #: vod.template.php:817
383
+ #: vod.template.php:898
384
+ msgid "Nom"
385
+ msgstr "Name"
386
+
387
+ #: vod.template.php:819
388
+ msgid "Nombre videos"
389
+ msgstr "Number of videos"
390
+
391
+ #: vod.template.php:324
392
+ msgid "OK"
393
+ msgstr "OK"
394
+
395
+ #: vod.template.php:327
396
+ msgid "Ok (des alertes sont apparues)"
397
+ msgstr "Ok (some alerts occurred)"
398
+
399
+ #: vod.template.php:180
400
+ msgid "Options d'integration"
401
+ msgstr "Integration options"
402
+
403
+ #: vod.template.php:25
404
+ msgid "Outil de recherche"
405
+ msgstr "Search tool"
406
+
407
+ #: vod.template.php:244
408
+ #: vod.template.php:564
409
+ msgid "Password"
410
+ msgstr "Password"
411
+
412
+ #: vod.template.php:188
413
+ msgid "Player choisi"
414
+ msgstr "Selected Player"
415
+
416
+ #: vod.class.php:96
417
+ msgid "Player video"
418
+ msgstr "Video player"
419
+
420
+ #: vod.template.php:278
421
+ msgid "Players recuperes"
422
+ msgstr "Recovered players"
423
+
424
+ #: vod.class.php:97
425
+ #: vod.template.php:170
426
+ msgid "Playlist"
427
+ msgstr "Playlist"
428
+
429
+ #: vod.template.php:282
430
+ msgid "Playlist recuperes"
431
+ msgstr "Recovered playlist"
432
+
433
+ #: vod.template.php:810
434
+ msgid "Playlists"
435
+ msgstr "Playlists"
436
+
437
+ #: vod.template.php:923
438
+ msgid "Plus d'options"
439
+ msgstr "More options"
440
+
441
+ #: vod.template.php:268
442
+ msgid "Pour fonctionner correctement, cette extension a besoin de se synchroniser regulierement avec votre compte VOD.<br/>Cela vous permet de garder une liste des players, dossiers et playlist a jour sur votre blog.<br/>Cette operation s'effectue automatiquement assez regulierement mais il est egalement possible de forcer une verification ci-dessous."
443
+ msgstr "To work correctly, this extension needs to synchronize regularly with your VOD account.<br/>This enables you to keep an updated list of players, folders and playlist on your blog.<br/>This operation is quite regularly automatically launched but you can also force a checking below."
444
+
445
+ #: vod.template.php:234
446
+ msgid ""
447
+ "Pour fonctionner, le plugin a besoin de s'interfacer avec votre compte VOD infomaniak.<br/>\n"
448
+ "\t\t\t\tPour des raisons de securites, il est fortement conseille de creer un nouvel utilisateur dedie dans votre admin infomaniak avec uniquement des droits restreints sur l'API.<br/>\n"
449
+ "\t\t\t\tPour plus d'information, veuillez vous rendre dans la partie \"Configuration -> Api & Callback\" de votre administration VOD."
450
+ msgstr ""
451
+ "To work properly, the plugin must be interfaced with your infomaniak VOD account.<br/>\n"
452
+ "\t\t\t\tFor security reasons it is strongly recommended you created a new dedicated user in your infomaniak admin with only restricted rights on the API. <br/>\n"
453
+ "\t\t\t\tFor more information please go to the \"Configuration -> Api & Callback\" section of your VOD administration."
454
+
455
+ #: vod.template.php:314
456
+ #: vod.template.php:813
457
+ msgid "Precedents Envois"
458
+ msgstr "Previous Sendings"
459
+
460
+ #: vod.template.php:629
461
+ msgid "Previsualisation d'une video"
462
+ msgstr "Video preview"
463
+
464
+ #: vod.class.php:529
465
+ msgid "Probleme de configuration"
466
+ msgstr "Configuration problem"
467
+
468
+ #: vod.template.php:168
469
+ msgid "Recherche d'une"
470
+ msgstr "Search of"
471
+
472
+ #: vod.template.php:900
473
+ msgid "Resolution"
474
+ msgstr "Resolution"
475
+
476
+ #: vod.template.php:647
477
+ msgid "Restriction d'acces"
478
+ msgstr "Acess restriction"
479
+
480
+ #: vod.template.php:778
481
+ msgid "Securise avec un token"
482
+ msgstr "Secured with a token"
483
+
484
+ #: vod.template.php:872
485
+ msgid "Selection du player par defaut"
486
+ msgstr "Selection of player by default"
487
+
488
+ #: vod.template.php:811
489
+ #, php-format
490
+ msgid "Si vous desirez ajouter ou modifier les playlist ci-dessous, veuillez vous rendre dans <a href='https://statslive.infomaniak.com/vod/playlists.php?iVodCode=%s' target='_blank'>la console d'administration</a>"
491
+ msgstr "If you wish to add or change playlists below, please go to <a href='https://statslive.infomaniak.com/vod/playlists.php?iVodCode=%s' target='_blank'>the administration console</a>"
492
+
493
+ #: vod.template.php:316
494
+ msgid "Statut"
495
+ msgstr "Status"
496
+
497
+ #: vod.template.php:723
498
+ msgid "Supprimer cette video"
499
+ msgstr "Delete this video"
500
+
501
+ #: vod.template.php:741
502
+ msgid "Supprimer definitivement la video"
503
+ msgstr "Permanently delete the video"
504
+
505
+ #: vod.template.php:613
506
+ msgid "Supprimer une video"
507
+ msgstr "Delete a video"
508
+
509
+ #: vod.template.php:903
510
+ msgid "Switch de qualite"
511
+ msgstr "Quality switch"
512
+
513
+ #: vod.template.php:267
514
+ msgid "Synchronisation des donnees"
515
+ msgstr "Data synchronization"
516
+
517
+ #: vod.template.php:290
518
+ msgid "Synchronisation rapide"
519
+ msgstr "Fast synchronization"
520
+
521
+ #: vod.template.php:294
522
+ msgid "Synchroniser Videos"
523
+ msgstr "Synchonize videos"
524
+
525
+ #: vod.template.php:330
526
+ msgid "Telechargement en cours"
527
+ msgstr "Downloading in progress"
528
+
529
+ #: vod.template.php:32
530
+ msgid "Url complete"
531
+ msgstr "Complete URL"
532
+
533
+ #: vod.template.php:663
534
+ msgid "Url de l'image"
535
+ msgstr "Picture URL"
536
+
537
+ #: vod.template.php:656
538
+ msgid "Url de la video"
539
+ msgstr "Video URL"
540
+
541
+ #: vod.template.php:33
542
+ msgid "Url partiel"
543
+ msgstr "Incomplete url"
544
+
545
+ #: vod.template.php:218
546
+ msgid "Utilisation du token du dossier (Id dossier)"
547
+ msgstr "Use of folder token (Id folder)"
548
+
549
+ #: vod.template.php:486
550
+ msgid "Utilitaire d'envoi de video"
551
+ msgstr "Video sending utility program"
552
+
553
+ #: vod.template.php:532
554
+ msgid "Utilitaire d'importation de video"
555
+ msgstr "Video import utility program"
556
+
557
+ #: vod.template.php:261
558
+ msgid "Valider"
559
+ msgstr "Submit"
560
+
561
+ #: vod.template.php:28
562
+ msgid "Veuillez saisir l'URL d'une video"
563
+ msgstr "Please enter a video URL"
564
+
565
+ #: vod.class.php:529
566
+ msgid "Veuillez-vous rendre dans <a href='admin.php?page=configuration'>Videos -> Configuration</a> afin de configurer votre compte."
567
+ msgstr "Please go to <a href='admin.php?page=setting'>Videos -> Setting</a> to set your account. "
568
+
569
+ #: vod.template.php:43
570
+ #: vod.template.php:169
571
+ #: vod.template.php:699
572
+ msgid "Video"
573
+ msgstr "Video"
574
+
575
+ #: vod.template.php:774
576
+ msgid "Video Geolocalise"
577
+ msgstr "Geolocated video"
578
+
579
+ #: vod.class.php:200
580
+ msgid "Video en cours de conversion"
581
+ msgstr "Video converting"
582
+
583
+ #: vod.class.php:90
584
+ msgid "Videos"
585
+ msgstr "Videos"
586
+
587
+ #: vod.template.php:270
588
+ msgid "Videos recuperes"
589
+ msgstr "Recovered videos"
590
+
591
+ #: vod.template.php:653
592
+ msgid "Visualiser la video"
593
+ msgstr "Display video"
594
+
595
+ #: vod.template.php:679
596
+ msgid "Voir les statistiques"
597
+ msgstr "Show statistics"
598
+
599
+ #: vod.template.php:679
600
+ #: vod.template.php:722
601
+ msgid "Voir les statistiques de cette video"
602
+ msgstr "Show this video's statistics"
603
+
604
+ #: vod.template.php:619
605
+ msgid "Vous etes sur le point de supprimer la video"
606
+ msgstr "You are about to delete the video"
607
+
languages/vod_infomaniak-fr_FR.mo ADDED
Binary file
languages/vod_infomaniak-fr_FR.po ADDED
@@ -0,0 +1,607 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Fichier de Traduction du plugin wordpress Vod-infomaniak
2
+ # Copyright (C) 2011 Infomaniak website
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <kevin.destrem@infomaniak.ch>, 2011.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: vod\n"
9
+ "Report-Msgid-Bugs-To: \n"
10
+ "POT-Creation-Date: 2011-10-31 10:54+0100\n"
11
+ "PO-Revision-Date: 2011-11-21 18:50+0100\n"
12
+ "Last-Translator: \n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "Language: fr_FR\n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=UTF-8\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+
19
+ #: vod.template.php:77
20
+ msgid "1. Selection du dossier"
21
+ msgstr "1. Sélection du dossier"
22
+
23
+ #: vod.template.php:93
24
+ msgid "2. Envoi d'un fichier"
25
+ msgstr "2. Envoi d'un fichier"
26
+
27
+ #: vod.template.php:927
28
+ msgid ""
29
+ "<li>Fonction de seek permettant de se deplacer dans une video meme longue quasi instantanement.</li>\n"
30
+ "\t\t\t\t<li>Bouton permettant de changer a la vole entre les differentes qualites d'une video.</li>\n"
31
+ "\t\t\t\t<li>Bouton d'export sur certains reseau sociaux (facebook, twitter) afin que votre video soit plus visible.</li>\n"
32
+ "\t\t\t\t<li>Player exportable afin de permettre aux visiteurs de recuperer le code d'integration.</li>\n"
33
+ "\t\t\t\t<li>Facilite de personnalisation du player via de rapides modifications (couleurs de la barre, taille de la barre, logo) ou l'utilisation d'une barre entierement personnaliser.</li>\n"
34
+ "\t\t\t\t<li>Compatibilite avec adswizz afin d'ajouter facilement des publicites avant ou apres les videos.</li>\n"
35
+ "\t\t\t\t<li>Et encore d'autres options a decouvrir ...</li>"
36
+ msgstr ""
37
+ "<li>Fonction de seek permettant de se déplacer dans une vidéo même longue quasi instantanément.</li>\n"
38
+ "\t\t\t\t<li>Bouton permettant de changer à la volée les différentes qualités d'une vidéo.</li>\n"
39
+ "\t\t\t\t<li>Bouton d'export sur certains réseaux sociaux (facebook, twitter) afin que votre vidéo soit plus visible.</li>\n"
40
+ "\t\t\t\t<li>Player exportable afin de permettre aux visiteurs de récupérer le code d'intégration.</li>\n"
41
+ "\t\t\t\t<li>Facilité de personnalisation du player via de rapides modifications (couleurs de la barre, taille de la barre, logo) ou l'utilisation d'une barre entièrement personnalisée.</li>\n"
42
+ "\t\t\t\t<li>Compatibilité avec adswizz afin d'ajouter facilement des publicités avant ou après les vidéos.</li>\n"
43
+ "\t\t\t\t<li>Et encore d'autres options à découvrir ...</li>"
44
+
45
+ #: vod.template.php:702
46
+ #: vod.template.php:823
47
+ msgid "Action"
48
+ msgstr "Action"
49
+
50
+ #: vod.template.php:230
51
+ msgid "Administration du plugin VOD"
52
+ msgstr "Administration du plugin VOD"
53
+
54
+ #: vod.template.php:852
55
+ msgid "Administrer cette playlist"
56
+ msgstr "Administrer cette playlist"
57
+
58
+ #: vod.template.php:674
59
+ #: vod.template.php:721
60
+ msgid "Administrer cette video"
61
+ msgstr "Administrer cette vidéo"
62
+
63
+ #: vod.template.php:550
64
+ msgid "Adresse"
65
+ msgstr "Adresse"
66
+
67
+ #: vod.template.php:303
68
+ msgid "Adresse de callback"
69
+ msgstr "Adresse de callback"
70
+
71
+ #: vod.template.php:922
72
+ #, php-format
73
+ msgid "Afin de modifier ou creer de nouveaux players flash, nous vous invitons a vous rendre dans votre administration vod : <a href='https://statslive.infomaniak.com/vod/player.php?iVodCode=%d' target='_blank'>Acceder a la configuration des players</a>"
74
+ msgstr "Afin de modifier ou créer de nouveaux players flash, nous vous invitons à vous rendre dans votre administration vod : <a href='https://statslive.infomaniak.com/vod/player.php?iVodCode=%d' target='_blank'>Accéder à la configuration des players</a>"
75
+
76
+ #: vod.class.php:147
77
+ msgid "Ajout"
78
+ msgstr "Ajout"
79
+
80
+ #: vod.template.php:744
81
+ msgid "Annuler"
82
+ msgstr "Annuler"
83
+
84
+ #: vod.class.php:576
85
+ msgid "Article correctement cree. Vous allez etre rediriger sur la page d'edition"
86
+ msgstr "Article correctement créé. Vous allez être redirigé sur la page d'édition"
87
+
88
+ #: vod.template.php:621
89
+ msgid "Attention"
90
+ msgstr "Attention"
91
+
92
+ #: vod.template.php:82
93
+ #: vod.template.php:357
94
+ msgid "Aucun dossier disponible"
95
+ msgstr "Aucun dossier disponible"
96
+
97
+ #: vod.template.php:192
98
+ #: vod.template.php:876
99
+ #: vod.template.php:892
100
+ msgid "Aucun player disponible"
101
+ msgstr "Aucun player disponible"
102
+
103
+ #: vod.template.php:829
104
+ msgid "Aucune playlist disponible"
105
+ msgstr "Aucune playlist disponible"
106
+
107
+ #: vod.template.php:51
108
+ #: vod.template.php:708
109
+ msgid "Aucune video disponible"
110
+ msgstr "Aucune vidéo disponible"
111
+
112
+ #: vod.template.php:23
113
+ msgid "Avec l'url"
114
+ msgstr "Avec l'url"
115
+
116
+ #: vod.template.php:622
117
+ msgid "C'est une suppression definitive de la video, il n'y pas de corbeille ou de moyen de la recuperer une fois effacer."
118
+ msgstr "C'est une suppression définitive de la video, il n'y pas de corbeille ou de moyen de la récuperer une fois effacé."
119
+
120
+ #: vod.template.php:350
121
+ msgid "Ce plug-in vous permet d'ajouter de nouvelles videos directement depuis ce blog. Pour cela, vous n'avez qu'a choisir un dossier puis suivre les instructions"
122
+ msgstr "Ce plug-in vous permet d'ajouter de nouvelles vidéos directement depuis ce blog. Pour cela, vous n'avez qu'à choisir un dossier puis suivre les instructions"
123
+
124
+ #: vod.template.php:560
125
+ msgid "Cette adresse necessite une authentification."
126
+ msgstr "Cette adresse nécessite une authentification."
127
+
128
+ #: vod.template.php:299
129
+ #, php-format
130
+ msgid "Cette option vous permet de mettre a jour automatiquement votre blog a chaque ajout de video a votre espace VOD.<br/>Veuillez aller dans \"<a href='https://statslive.infomaniak.com/vod/configuration.php?iVodCode=%d' target='_blank'>Configuration -> Api & Callback</a>\" et mettre l'adresse suivante dans le champ \"Adresse de Callback\""
131
+ msgstr "Cette option vous permet de mettre à jour automatiquement votre blog à chaque ajout de vidéo à votre espace VOD.<br/>Veuillez aller dans \"<a href='https://statslive.infomaniak.com/vod/configuration.php?iVodCode=%d' target='_blank'>Configuration -> Api & Callback</a>\" et mettre l'adresse suivante dans le champ \"Adresse de Callback\""
132
+
133
+ #: vod.template.php:887
134
+ msgid "Choisir ce player"
135
+ msgstr "Choisir ce player"
136
+
137
+ #: vod.template.php:352
138
+ msgid "Choix du dossier d'envoi"
139
+ msgstr "Choix du dossier d'envoi"
140
+
141
+ #: vod.template.php:368
142
+ msgid "Choix du type d'envoi"
143
+ msgstr "Choix du type d'envoi"
144
+
145
+ #: vod.template.php:667
146
+ msgid "Code d'integration"
147
+ msgstr "Code d'intégration"
148
+
149
+ #: vod.class.php:98
150
+ msgid "Configuration"
151
+ msgstr "Configuration"
152
+
153
+ #: vod.template.php:298
154
+ msgid "Configuration du callback"
155
+ msgstr "Configuration du callback"
156
+
157
+ #: vod.template.php:255
158
+ msgid "Connecter"
159
+ msgstr "Connecter"
160
+
161
+ #: vod.template.php:252
162
+ msgid "Connection"
163
+ msgstr "Connection"
164
+
165
+ #: vod.template.php:921
166
+ msgid "Creation ou modification de players"
167
+ msgstr "Création ou modification de players"
168
+
169
+ #: vod.template.php:689
170
+ msgid "Creer un article"
171
+ msgstr "Créer un article"
172
+
173
+ #: vod.template.php:316
174
+ #: vod.template.php:822
175
+ #: vod.template.php:899
176
+ msgid "Date"
177
+ msgstr "Date"
178
+
179
+ #: vod.template.php:45
180
+ #: vod.template.php:701
181
+ msgid "Date d'upload"
182
+ msgstr "Date d'upload"
183
+
184
+ #: vod.template.php:210
185
+ #: vod.template.php:901
186
+ msgid "Demarrage automatique"
187
+ msgstr "Démarrage automatique"
188
+
189
+ #: vod.template.php:22
190
+ msgid "Dernieres videos"
191
+ msgstr "Dernières vidéos"
192
+
193
+ #: vod.template.php:316
194
+ #: vod.template.php:818
195
+ msgid "Description"
196
+ msgstr "Description"
197
+
198
+ #: vod.template.php:183
199
+ msgid "Dimensions"
200
+ msgstr "Dimensions"
201
+
202
+ #: vod.template.php:85
203
+ #: vod.template.php:360
204
+ #: vod.template.php:700
205
+ msgid "Dossier"
206
+ msgstr "Dossier"
207
+
208
+ #: vod.template.php:79
209
+ #: vod.template.php:488
210
+ #: vod.template.php:539
211
+ msgid "Dossier d'envoi"
212
+ msgstr "Dossier d'envoi"
213
+
214
+ #: vod.template.php:274
215
+ msgid "Dossiers recuperes"
216
+ msgstr "Dossiers récupérés"
217
+
218
+ #: vod.class.php:147
219
+ #: vod.template.php:820
220
+ msgid "Duree"
221
+ msgstr "Durée"
222
+
223
+ #: vod.template.php:333
224
+ msgid "En cours de conversion"
225
+ msgstr "En cours de conversion"
226
+
227
+ #: vod.template.php:499
228
+ msgid "Envoi"
229
+ msgstr "Envoi"
230
+
231
+ #: vod.template.php:349
232
+ msgid "Envoi d'une nouvelle video"
233
+ msgstr "Envoi d'une nouvelle vidéo"
234
+
235
+ #: vod.template.php:24
236
+ msgid "Envoi d'une video"
237
+ msgstr "Envoi d'une vidéo"
238
+
239
+ #: vod.template.php:376
240
+ msgid "Envoi termine"
241
+ msgstr "Envoi terminé"
242
+
243
+ #: vod.template.php:369
244
+ msgid "Envoyer depuis cet ordinateur"
245
+ msgstr "Envoyer depuis cet ordinateur"
246
+
247
+ #: vod.class.php:504
248
+ msgid "Erreur : Impossible de se connecter"
249
+ msgstr "Erreur : Impossible de se connecter"
250
+
251
+ #: vod.template.php:336
252
+ msgid "Erreurs"
253
+ msgstr "Erreurs"
254
+
255
+ #: vod.template.php:624
256
+ msgid "Etes-vous sur de vouloir continuer ?"
257
+ msgstr "Etes-vous sur de vouloir continuer ?"
258
+
259
+ #: vod.template.php:206
260
+ msgid "Etirer la video (stretch)"
261
+ msgstr "Etirer la vidéo (stretch)"
262
+
263
+ #: vod.template.php:30
264
+ msgid "Exemple"
265
+ msgstr "Exemple"
266
+
267
+ #: vod.template.php:316
268
+ msgid "Fichier"
269
+ msgstr "Fichier"
270
+
271
+ #: vod.class.php:94
272
+ msgid "Gestionnaire"
273
+ msgstr "Gestionnaire"
274
+
275
+ #: vod.template.php:605
276
+ msgid "Gestionnaire de videos"
277
+ msgstr "Gestionnaire de vidéos"
278
+
279
+ #: vod.template.php:248
280
+ msgid "Identifiant de l'espace VOD"
281
+ msgstr "Identifiant de l'espace VOD"
282
+
283
+ #: vod.template.php:34
284
+ msgid "Identifiant de playlist"
285
+ msgstr "Identifiant de playlist"
286
+
287
+ #: vod.template.php:925
288
+ msgid "Il est possible de personnaliser votre player video afin qu'ils s'integre parfaitement a votre site. Voici quelques fonctionnalites avancees qu'il propose :"
289
+ msgstr "Il est possible de personnaliser votre player vidéo afin qu'ils s'intègre parfaitement à votre site. Voici quelques fonctionnalités avancées qu'il propose :"
290
+
291
+ #: vod.class.php:108
292
+ #: vod.class.php:606
293
+ #: vod.class.php:617
294
+ msgid "Il n'est pas possible d'uploader dans ce dossier."
295
+ msgstr "Il n'est pas possible d'uploader dans ce dossier."
296
+
297
+ #: vod.class.php:95
298
+ msgid "Importation"
299
+ msgstr "Importation"
300
+
301
+ #: vod.template.php:566
302
+ msgid "Importer"
303
+ msgstr "Importer"
304
+
305
+ #: vod.template.php:370
306
+ msgid "Importer depuis un autre site"
307
+ msgstr "Importer depuis un autre site"
308
+
309
+ #: vod.template.php:257
310
+ msgid "Impossible de se connecter"
311
+ msgstr "Impossible de se connecter"
312
+
313
+ #: vod.template.php:720
314
+ msgid "Information sur cette video"
315
+ msgstr "Information sur cette vidéo"
316
+
317
+ #: vod.template.php:635
318
+ msgid "Informations"
319
+ msgstr "Informations"
320
+
321
+ #: vod.template.php:889
322
+ msgid "Informations sur ce Player"
323
+ msgstr "Informations sur ce Player"
324
+
325
+ #: vod.template.php:650
326
+ msgid "Integration"
327
+ msgstr "Intégration"
328
+
329
+ #: vod.template.php:866
330
+ msgid "Integration par defaut des videos"
331
+ msgstr "Intégration par défaut des videos"
332
+
333
+ #: vod.template.php:378
334
+ msgid "L'ajout de cette video a correctement ete pris en compte.<br/>Vous pouvez retrouver l'avancement de cette conversion video dans le tableau ci-dessous."
335
+ msgstr "L'ajout de cette vidéo a correctement été pris en compte.<br/>Vous pouvez retrouver l'avancement de cette conversion vidéo dans le tableau ci-dessous."
336
+
337
+ #: vod.template.php:496
338
+ msgid "L'envoi doit etre effectue en moins de 4 heures"
339
+ msgstr "L'envoi doit être effectué en moins de 4 heures"
340
+
341
+ #: vod.template.php:494
342
+ #: vod.template.php:545
343
+ msgid "Le poids des fichiers envoyes via ce module est limite a 1Go"
344
+ msgstr "Le poids des fichiers envoyés via ce module est limité à 1Go"
345
+
346
+ #: vod.template.php:214
347
+ #: vod.template.php:902
348
+ msgid "Lecture en boucle"
349
+ msgstr "Lecture en boucle"
350
+
351
+ #: vod.template.php:495
352
+ #: vod.template.php:546
353
+ msgid "Les formats videos supportes sont avi, flv, mov, mpeg, mp4, mkv, rm, wmv, m4v, vob, 3gp, webm, f4v, ts"
354
+ msgstr "Les formats vidéos supportés sont avi, flv, mov, mpeg, mp4, mkv, rm, wmv, m4v, vob, 3gp, webm, f4v, ts"
355
+
356
+ #: vod.template.php:492
357
+ #: vod.template.php:543
358
+ msgid "Limites"
359
+ msgstr "Limites"
360
+
361
+ #: vod.template.php:240
362
+ #: vod.template.php:563
363
+ msgid "Login"
364
+ msgstr "Login"
365
+
366
+ #: vod.template.php:427
367
+ msgid "Mise a jour dans"
368
+ msgstr "Mise à jour dans"
369
+
370
+ #: vod.template.php:821
371
+ msgid "Mode de lecture"
372
+ msgstr "Mode de lecture"
373
+
374
+ #: vod.template.php:906
375
+ msgid "Modifier ce Player"
376
+ msgstr "Modifier ce Player"
377
+
378
+ #: vod.template.php:44
379
+ #: vod.template.php:85
380
+ #: vod.template.php:360
381
+ #: vod.template.php:644
382
+ #: vod.template.php:817
383
+ #: vod.template.php:898
384
+ msgid "Nom"
385
+ msgstr "Nom"
386
+
387
+ #: vod.template.php:819
388
+ msgid "Nombre videos"
389
+ msgstr "Nombre vidéos"
390
+
391
+ #: vod.template.php:324
392
+ msgid "OK"
393
+ msgstr "OK"
394
+
395
+ #: vod.template.php:327
396
+ msgid "Ok (des alertes sont apparues)"
397
+ msgstr "Ok (des alertes sont apparues)"
398
+
399
+ #: vod.template.php:180
400
+ msgid "Options d'integration"
401
+ msgstr "Options d'intégration"
402
+
403
+ #: vod.template.php:25
404
+ msgid "Outil de recherche"
405
+ msgstr "Outil de recherche"
406
+
407
+ #: vod.template.php:244
408
+ #: vod.template.php:564
409
+ msgid "Password"
410
+ msgstr "Password"
411
+
412
+ #: vod.template.php:188
413
+ msgid "Player choisi"
414
+ msgstr "Player choisi"
415
+
416
+ #: vod.class.php:96
417
+ msgid "Player video"
418
+ msgstr "Player vidéo"
419
+
420
+ #: vod.template.php:278
421
+ msgid "Players recuperes"
422
+ msgstr "Players récupérés"
423
+
424
+ #: vod.class.php:97
425
+ #: vod.template.php:170
426
+ msgid "Playlist"
427
+ msgstr "Playlist"
428
+
429
+ #: vod.template.php:282
430
+ msgid "Playlist recuperes"
431
+ msgstr "Playlist récupérées"
432
+
433
+ #: vod.template.php:810
434
+ msgid "Playlists"
435
+ msgstr "Playlists"
436
+
437
+ #: vod.template.php:923
438
+ msgid "Plus d'options"
439
+ msgstr "Plus d'options"
440
+
441
+ #: vod.template.php:268
442
+ msgid "Pour fonctionner correctement, cette extension a besoin de se synchroniser regulierement avec votre compte VOD.<br/>Cela vous permet de garder une liste des players, dossiers et playlist a jour sur votre blog.<br/>Cette operation s'effectue automatiquement assez regulierement mais il est egalement possible de forcer une verification ci-dessous."
443
+ msgstr "Pour fonctionner correctement, cette extension a besoin de se synchroniser régulierement avec votre compte VOD.<br/>Cela vous permet de garder une liste des players, dossiers et playlist à jour sur votre blog.<br/>Cette opération s'effectue automatiquement assez régulierement mais il est également possible de forcer une vérification ci-dessous."
444
+
445
+ #: vod.template.php:234
446
+ msgid ""
447
+ "Pour fonctionner, le plugin a besoin de s'interfacer avec votre compte VOD infomaniak.<br/>\n"
448
+ "\t\t\t\tPour des raisons de securites, il est fortement conseille de creer un nouvel utilisateur dedie dans votre admin infomaniak avec uniquement des droits restreints sur l'API.<br/>\n"
449
+ "\t\t\t\tPour plus d'information, veuillez vous rendre dans la partie \"Configuration -> Api & Callback\" de votre administration VOD."
450
+ msgstr ""
451
+ "Pour fonctionner, le plugin a besoin de s'interfacer avec votre compte VOD infomaniak.<br/>\n"
452
+ "\t\t\t\tPour des raisons de securités, il est fortement conseillé de créer un nouvel utilisateur dedié dans votre admin infomaniak avec uniquement des droits restreints sur l'API.<br/>\n"
453
+ "\t\t\t\tPour plus d'information, veuillez vous rendre dans la partie \"Configuration -> Api & Callback\" de votre administration VOD."
454
+
455
+ #: vod.template.php:314
456
+ #: vod.template.php:813
457
+ msgid "Precedents Envois"
458
+ msgstr "Précédents Envois"
459
+
460
+ #: vod.template.php:629
461
+ msgid "Previsualisation d'une video"
462
+ msgstr "Prévisualisation d'une vidéo"
463
+
464
+ #: vod.class.php:529
465
+ msgid "Probleme de configuration"
466
+ msgstr "Problème de configuration"
467
+
468
+ #: vod.template.php:168
469
+ msgid "Recherche d'une"
470
+ msgstr "Recherche d'une"
471
+
472
+ #: vod.template.php:900
473
+ msgid "Resolution"
474
+ msgstr "Résolution"
475
+
476
+ #: vod.template.php:647
477
+ msgid "Restriction d'acces"
478
+ msgstr "Restriction d'accès"
479
+
480
+ #: vod.template.php:778
481
+ msgid "Securise avec un token"
482
+ msgstr "Sécurisé avec un token"
483
+
484
+ #: vod.template.php:872
485
+ msgid "Selection du player par defaut"
486
+ msgstr "Sélection du player par défaut"
487
+
488
+ #: vod.template.php:811
489
+ #, php-format
490
+ msgid "Si vous desirez ajouter ou modifier les playlist ci-dessous, veuillez vous rendre dans <a href='https://statslive.infomaniak.com/vod/playlists.php?iVodCode=%s' target='_blank'>la console d'administration</a>"
491
+ msgstr "Si vous desirez ajouter ou modifier les playlists ci-dessous, veuillez vous rendre dans <a href='https://statslive.infomaniak.com/vod/playlists.php?iVodCode=%s' target='_blank'>la console d'administration</a>"
492
+
493
+ #: vod.template.php:316
494
+ msgid "Statut"
495
+ msgstr "Statut"
496
+
497
+ #: vod.template.php:723
498
+ msgid "Supprimer cette video"
499
+ msgstr "Supprimer cette vidéo"
500
+
501
+ #: vod.template.php:741
502
+ msgid "Supprimer definitivement la video"
503
+ msgstr "Supprimer définitivement la vidéo"
504
+
505
+ #: vod.template.php:613
506
+ msgid "Supprimer une video"
507
+ msgstr "Supprimer une vidéo"
508
+
509
+ #: vod.template.php:903
510
+ msgid "Switch de qualite"
511
+ msgstr "Switch de qualité"
512
+
513
+ #: vod.template.php:267
514
+ msgid "Synchronisation des donnees"
515
+ msgstr "Synchronisation des données"
516
+
517
+ #: vod.template.php:290
518
+ msgid "Synchronisation rapide"
519
+ msgstr "Synchronisation rapide"
520
+
521
+ #: vod.template.php:294
522
+ msgid "Synchroniser Videos"
523
+ msgstr "Synchroniser Vidéos"
524
+
525
+ #: vod.template.php:330
526
+ msgid "Telechargement en cours"
527
+ msgstr "Téléchargement en cours"
528
+
529
+ #: vod.template.php:32
530
+ msgid "Url complete"
531
+ msgstr "Url complète"
532
+
533
+ #: vod.template.php:663
534
+ msgid "Url de l'image"
535
+ msgstr "Url de l'image"
536
+
537
+ #: vod.template.php:656
538
+ msgid "Url de la video"
539
+ msgstr "Url de la vidéo"
540
+
541
+ #: vod.template.php:33
542
+ msgid "Url partiel"
543
+ msgstr "Url partiel"
544
+
545
+ #: vod.template.php:218
546
+ msgid "Utilisation du token du dossier (Id dossier)"
547
+ msgstr "Utilisation du token du dossier (Id dossier)"
548
+
549
+ #: vod.template.php:486
550
+ msgid "Utilitaire d'envoi de video"
551
+ msgstr "Utilitaire d'envoi de vidéo"
552
+
553
+ #: vod.template.php:532
554
+ msgid "Utilitaire d'importation de video"
555
+ msgstr "Utilitaire d'importation de vidéo"
556
+
557
+ #: vod.template.php:261
558
+ msgid "Valider"
559
+ msgstr "Valider"
560
+
561
+ #: vod.template.php:28
562
+ msgid "Veuillez saisir l'URL d'une video"
563
+ msgstr "Veuillez saisir l'URL d'une vidéo"
564
+
565
+ #: vod.class.php:529
566
+ msgid "Veuillez-vous rendre dans <a href='admin.php?page=configuration'>Videos -> Configuration</a> afin de configurer votre compte."
567
+ msgstr "Veuillez-vous rendre dans <a href='admin.php?page=configuration'>Videos -> Configuration</a> afin de configurer votre compte."
568
+
569
+ #: vod.template.php:43
570
+ #: vod.template.php:169
571
+ #: vod.template.php:699
572
+ msgid "Video"
573
+ msgstr "Vidéo"
574
+
575
+ #: vod.template.php:774
576
+ msgid "Video Geolocalise"
577
+ msgstr "Video Geolocalisée"
578
+
579
+ #: vod.class.php:200
580
+ msgid "Video en cours de conversion"
581
+ msgstr "Video en cours de conversion"
582
+
583
+ #: vod.class.php:90
584
+ msgid "Videos"
585
+ msgstr "Vidéos"
586
+
587
+ #: vod.template.php:270
588
+ msgid "Videos recuperes"
589
+ msgstr "Vidéos récuperées"
590
+
591
+ #: vod.template.php:653
592
+ msgid "Visualiser la video"
593
+ msgstr "Visualiser la vidéo"
594
+
595
+ #: vod.template.php:679
596
+ msgid "Voir les statistiques"
597
+ msgstr "Voir les statistiques"
598
+
599
+ #: vod.template.php:679
600
+ #: vod.template.php:722
601
+ msgid "Voir les statistiques de cette video"
602
+ msgstr "Voir les statistiques de cette vidéo"
603
+
604
+ #: vod.template.php:619
605
+ msgid "Vous etes sur le point de supprimer la video"
606
+ msgstr "Vous êtes sur le point de supprimer la vidéo"
607
+
languages/vod_infomaniak.pot ADDED
@@ -0,0 +1,607 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR Infomaniak website
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: PACKAGE VERSION\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2011-10-31 10:54+0100\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "Language: \n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=CHARSET\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+
20
+ #: vod.template.php:77
21
+ msgid "1. Selection du dossier"
22
+ msgstr ""
23
+
24
+ #: vod.template.php:93
25
+ msgid "2. Envoi d'un fichier"
26
+ msgstr ""
27
+
28
+ #: vod.template.php:927
29
+ msgid ""
30
+ "<li>Fonction de seek permettant de se deplacer dans une video meme longue "
31
+ "quasi instantanement.</li>\n"
32
+ "\t\t\t\t<li>Bouton permettant de changer a la vole entre les differentes "
33
+ "qualites d'une video.</li>\n"
34
+ "\t\t\t\t<li>Bouton d'export sur certains reseau sociaux (facebook, twitter) "
35
+ "afin que votre video soit plus visible.</li>\n"
36
+ "\t\t\t\t<li>Player exportable afin de permettre aux visiteurs de recuperer "
37
+ "le code d'integration.</li>\n"
38
+ "\t\t\t\t<li>Facilite de personnalisation du player via de rapides "
39
+ "modifications (couleurs de la barre, taille de la barre, logo) ou "
40
+ "l'utilisation d'une barre entierement personnaliser.</li>\n"
41
+ "\t\t\t\t<li>Compatibilite avec adswizz afin d'ajouter facilement des "
42
+ "publicites avant ou apres les videos.</li>\n"
43
+ "\t\t\t\t<li>Et encore d'autres options a decouvrir ...</li>"
44
+ msgstr ""
45
+
46
+ #: vod.template.php:702 vod.template.php:823
47
+ msgid "Action"
48
+ msgstr ""
49
+
50
+ #: vod.template.php:230
51
+ msgid "Administration du plugin VOD"
52
+ msgstr ""
53
+
54
+ #: vod.template.php:852
55
+ msgid "Administrer cette playlist"
56
+ msgstr ""
57
+
58
+ #: vod.template.php:674 vod.template.php:721
59
+ msgid "Administrer cette video"
60
+ msgstr ""
61
+
62
+ #: vod.template.php:550
63
+ msgid "Adresse"
64
+ msgstr ""
65
+
66
+ #: vod.template.php:303
67
+ msgid "Adresse de callback"
68
+ msgstr ""
69
+
70
+ #: vod.template.php:922
71
+ #, php-format
72
+ msgid ""
73
+ "Afin de modifier ou creer de nouveaux players flash, nous vous invitons a "
74
+ "vous rendre dans votre administration vod : <a href='https://statslive."
75
+ "infomaniak.com/vod/player.php?iVodCode=%d' target='_blank'>Acceder a la "
76
+ "configuration des players</a>"
77
+ msgstr ""
78
+
79
+ #: vod.class.php:147
80
+ msgid "Ajout"
81
+ msgstr ""
82
+
83
+ #: vod.template.php:744
84
+ msgid "Annuler"
85
+ msgstr ""
86
+
87
+ #: vod.class.php:576
88
+ msgid ""
89
+ "Article correctement cree. Vous allez etre rediriger sur la page d'edition"
90
+ msgstr ""
91
+
92
+ #: vod.template.php:621
93
+ msgid "Attention"
94
+ msgstr ""
95
+
96
+ #: vod.template.php:82 vod.template.php:357
97
+ msgid "Aucun dossier disponible"
98
+ msgstr ""
99
+
100
+ #: vod.template.php:192 vod.template.php:876 vod.template.php:892
101
+ msgid "Aucun player disponible"
102
+ msgstr ""
103
+
104
+ #: vod.template.php:829
105
+ msgid "Aucune playlist disponible"
106
+ msgstr ""
107
+
108
+ #: vod.template.php:51 vod.template.php:708
109
+ msgid "Aucune video disponible"
110
+ msgstr ""
111
+
112
+ #: vod.template.php:23
113
+ msgid "Avec l'url"
114
+ msgstr ""
115
+
116
+ #: vod.template.php:622
117
+ msgid ""
118
+ "C'est une suppression definitive de la video, il n'y pas de corbeille ou de "
119
+ "moyen de la recuperer une fois effacer."
120
+ msgstr ""
121
+
122
+ #: vod.template.php:350
123
+ msgid ""
124
+ "Ce plug-in vous permet d'ajouter de nouvelles videos directement depuis ce "
125
+ "blog. Pour cela, vous n'avez qu'a choisir un dossier puis suivre les "
126
+ "instructions"
127
+ msgstr ""
128
+
129
+ #: vod.template.php:560
130
+ msgid "Cette adresse necessite une authentification."
131
+ msgstr ""
132
+
133
+ #: vod.template.php:299
134
+ #, php-format
135
+ msgid ""
136
+ "Cette option vous permet de mettre a jour automatiquement votre blog a "
137
+ "chaque ajout de video a votre espace VOD.<br/>Veuillez aller dans \"<a "
138
+ "href='https://statslive.infomaniak.com/vod/configuration.php?iVodCode=%d' "
139
+ "target='_blank'>Configuration -> Api & Callback</a>\" et mettre l'adresse "
140
+ "suivante dans le champ \"Adresse de Callback\""
141
+ msgstr ""
142
+
143
+ #: vod.template.php:887
144
+ msgid "Choisir ce player"
145
+ msgstr ""
146
+
147
+ #: vod.template.php:352
148
+ msgid "Choix du dossier d'envoi"
149
+ msgstr ""
150
+
151
+ #: vod.template.php:368
152
+ msgid "Choix du type d'envoi"
153
+ msgstr ""
154
+
155
+ #: vod.template.php:667
156
+ msgid "Code d'integration"
157
+ msgstr ""
158
+
159
+ #: vod.class.php:98
160
+ msgid "Configuration"
161
+ msgstr ""
162
+
163
+ #: vod.template.php:298
164
+ msgid "Configuration du callback"
165
+ msgstr ""
166
+
167
+ #: vod.template.php:255
168
+ msgid "Connecter"
169
+ msgstr ""
170
+
171
+ #: vod.template.php:252
172
+ msgid "Connection"
173
+ msgstr ""
174
+
175
+ #: vod.template.php:921
176
+ msgid "Creation ou modification de players"
177
+ msgstr ""
178
+
179
+ #: vod.template.php:689
180
+ msgid "Creer un article"
181
+ msgstr ""
182
+
183
+ #: vod.template.php:316 vod.template.php:822 vod.template.php:899
184
+ msgid "Date"
185
+ msgstr ""
186
+
187
+ #: vod.template.php:45 vod.template.php:701
188
+ msgid "Date d'upload"
189
+ msgstr ""
190
+
191
+ #: vod.template.php:210 vod.template.php:901
192
+ msgid "Demarrage automatique"
193
+ msgstr ""
194
+
195
+ #: vod.template.php:22
196
+ msgid "Dernieres videos"
197
+ msgstr ""
198
+
199
+ #: vod.template.php:316 vod.template.php:818
200
+ msgid "Description"
201
+ msgstr ""
202
+
203
+ #: vod.template.php:183
204
+ msgid "Dimensions"
205
+ msgstr ""
206
+
207
+ #: vod.template.php:85 vod.template.php:360 vod.template.php:700
208
+ msgid "Dossier"
209
+ msgstr ""
210
+
211
+ #: vod.template.php:79 vod.template.php:488 vod.template.php:539
212
+ msgid "Dossier d'envoi"
213
+ msgstr ""
214
+
215
+ #: vod.template.php:274
216
+ msgid "Dossiers recuperes"
217
+ msgstr ""
218
+
219
+ #: vod.class.php:147 vod.template.php:820
220
+ msgid "Duree"
221
+ msgstr ""
222
+
223
+ #: vod.template.php:333
224
+ msgid "En cours de conversion"
225
+ msgstr ""
226
+
227
+ #: vod.template.php:499
228
+ msgid "Envoi"
229
+ msgstr ""
230
+
231
+ #: vod.template.php:349
232
+ msgid "Envoi d'une nouvelle video"
233
+ msgstr ""
234
+
235
+ #: vod.template.php:24
236
+ msgid "Envoi d'une video"
237
+ msgstr ""
238
+
239
+ #: vod.template.php:376
240
+ msgid "Envoi termine"
241
+ msgstr ""
242
+
243
+ #: vod.template.php:369
244
+ msgid "Envoyer depuis cet ordinateur"
245
+ msgstr ""
246
+
247
+ #: vod.class.php:504
248
+ msgid "Erreur : Impossible de se connecter"
249
+ msgstr ""
250
+
251
+ #: vod.template.php:336
252
+ msgid "Erreurs"
253
+ msgstr ""
254
+
255
+ #: vod.template.php:624
256
+ msgid "Etes-vous sur de vouloir continuer ?"
257
+ msgstr ""
258
+
259
+ #: vod.template.php:206
260
+ msgid "Etirer la video (stretch)"
261
+ msgstr ""
262
+
263
+ #: vod.template.php:30
264
+ msgid "Exemple"
265
+ msgstr ""
266
+
267
+ #: vod.template.php:316
268
+ msgid "Fichier"
269
+ msgstr ""
270
+
271
+ #: vod.class.php:94
272
+ msgid "Gestionnaire"
273
+ msgstr ""
274
+
275
+ #: vod.template.php:605
276
+ msgid "Gestionnaire de videos"
277
+ msgstr ""
278
+
279
+ #: vod.template.php:248
280
+ msgid "Identifiant de l'espace VOD"
281
+ msgstr ""
282
+
283
+ #: vod.template.php:34
284
+ msgid "Identifiant de playlist"
285
+ msgstr ""
286
+
287
+ #: vod.template.php:925
288
+ msgid ""
289
+ "Il est possible de personnaliser votre player video afin qu'ils s'integre "
290
+ "parfaitement a votre site. Voici quelques fonctionnalites avancees qu'il "
291
+ "propose :"
292
+ msgstr ""
293
+
294
+ #: vod.class.php:108 vod.class.php:606 vod.class.php:617
295
+ msgid "Il n'est pas possible d'uploader dans ce dossier."
296
+ msgstr ""
297
+
298
+ #: vod.class.php:95
299
+ msgid "Importation"
300
+ msgstr ""
301
+
302
+ #: vod.template.php:566
303
+ msgid "Importer"
304
+ msgstr ""
305
+
306
+ #: vod.template.php:370
307
+ msgid "Importer depuis un autre site"
308
+ msgstr ""
309
+
310
+ #: vod.template.php:257
311
+ msgid "Impossible de se connecter"
312
+ msgstr ""
313
+
314
+ #: vod.template.php:720
315
+ msgid "Information sur cette video"
316
+ msgstr ""
317
+
318
+ #: vod.template.php:635
319
+ msgid "Informations"
320
+ msgstr ""
321
+
322
+ #: vod.template.php:889
323
+ msgid "Informations sur ce Player"
324
+ msgstr ""
325
+
326
+ #: vod.template.php:650
327
+ msgid "Integration"
328
+ msgstr ""
329
+
330
+ #: vod.template.php:866
331
+ msgid "Integration par defaut des videos"
332
+ msgstr ""
333
+
334
+ #: vod.template.php:378
335
+ msgid ""
336
+ "L'ajout de cette video a correctement ete pris en compte.<br/>Vous pouvez "
337
+ "retrouver l'avancement de cette conversion video dans le tableau ci-dessous."
338
+ msgstr ""
339
+
340
+ #: vod.template.php:496
341
+ msgid "L'envoi doit etre effectue en moins de 4 heures"
342
+ msgstr ""
343
+
344
+ #: vod.template.php:494 vod.template.php:545
345
+ msgid "Le poids des fichiers envoyes via ce module est limite a 1Go"
346
+ msgstr ""
347
+
348
+ #: vod.template.php:214 vod.template.php:902
349
+ msgid "Lecture en boucle"
350
+ msgstr ""
351
+
352
+ #: vod.template.php:495 vod.template.php:546
353
+ msgid ""
354
+ "Les formats videos supportes sont avi, flv, mov, mpeg, mp4, mkv, rm, wmv, "
355
+ "m4v, vob, 3gp, webm, f4v, ts"
356
+ msgstr ""
357
+
358
+ #: vod.template.php:492 vod.template.php:543
359
+ msgid "Limites"
360
+ msgstr ""
361
+
362
+ #: vod.template.php:240 vod.template.php:563
363
+ msgid "Login"
364
+ msgstr ""
365
+
366
+ #: vod.template.php:427
367
+ msgid "Mise a jour dans"
368
+ msgstr ""
369
+
370
+ #: vod.template.php:821
371
+ msgid "Mode de lecture"
372
+ msgstr ""
373
+
374
+ #: vod.template.php:906
375
+ msgid "Modifier ce Player"
376
+ msgstr ""
377
+
378
+ #: vod.template.php:44 vod.template.php:85 vod.template.php:360
379
+ #: vod.template.php:644 vod.template.php:817 vod.template.php:898
380
+ msgid "Nom"
381
+ msgstr ""
382
+
383
+ #: vod.template.php:819
384
+ msgid "Nombre videos"
385
+ msgstr ""
386
+
387
+ #: vod.template.php:324
388
+ msgid "OK"
389
+ msgstr ""
390
+
391
+ #: vod.template.php:327
392
+ msgid "Ok (des alertes sont apparues)"
393
+ msgstr ""
394
+
395
+ #: vod.template.php:180
396
+ msgid "Options d'integration"
397
+ msgstr ""
398
+
399
+ #: vod.template.php:25
400
+ msgid "Outil de recherche"
401
+ msgstr ""
402
+
403
+ #: vod.template.php:244 vod.template.php:564
404
+ msgid "Password"
405
+ msgstr ""
406
+
407
+ #: vod.template.php:188
408
+ msgid "Player choisi"
409
+ msgstr ""
410
+
411
+ #: vod.class.php:96
412
+ msgid "Player video"
413
+ msgstr ""
414
+
415
+ #: vod.template.php:278
416
+ msgid "Players recuperes"
417
+ msgstr ""
418
+
419
+ #: vod.class.php:97 vod.template.php:170
420
+ msgid "Playlist"
421
+ msgstr ""
422
+
423
+ #: vod.template.php:282
424
+ msgid "Playlist recuperes"
425
+ msgstr ""
426
+
427
+ #: vod.template.php:810
428
+ msgid "Playlists"
429
+ msgstr ""
430
+
431
+ #: vod.template.php:923
432
+ msgid "Plus d'options"
433
+ msgstr ""
434
+
435
+ #: vod.template.php:268
436
+ msgid ""
437
+ "Pour fonctionner correctement, cette extension a besoin de se synchroniser "
438
+ "regulierement avec votre compte VOD.<br/>Cela vous permet de garder une "
439
+ "liste des players, dossiers et playlist a jour sur votre blog.<br/>Cette "
440
+ "operation s'effectue automatiquement assez regulierement mais il est "
441
+ "egalement possible de forcer une verification ci-dessous."
442
+ msgstr ""
443
+
444
+ #: vod.template.php:234
445
+ msgid ""
446
+ "Pour fonctionner, le plugin a besoin de s'interfacer avec votre compte VOD "
447
+ "infomaniak.<br/>\n"
448
+ "\t\t\t\tPour des raisons de securites, il est fortement conseille de creer "
449
+ "un nouvel utilisateur dedie dans votre admin infomaniak avec uniquement des "
450
+ "droits restreints sur l'API.<br/>\n"
451
+ "\t\t\t\tPour plus d'information, veuillez vous rendre dans la partie "
452
+ "\"Configuration -> Api & Callback\" de votre administration VOD."
453
+ msgstr ""
454
+
455
+ #: vod.template.php:314 vod.template.php:813
456
+ msgid "Precedents Envois"
457
+ msgstr ""
458
+
459
+ #: vod.template.php:629
460
+ msgid "Previsualisation d'une video"
461
+ msgstr ""
462
+
463
+ #: vod.class.php:529
464
+ msgid "Probleme de configuration"
465
+ msgstr ""
466
+
467
+ #: vod.template.php:168
468
+ msgid "Recherche d'une"
469
+ msgstr ""
470
+
471
+ #: vod.template.php:900
472
+ msgid "Resolution"
473
+ msgstr ""
474
+
475
+ #: vod.template.php:647
476
+ msgid "Restriction d'acces"
477
+ msgstr ""
478
+
479
+ #: vod.template.php:778
480
+ msgid "Securise avec un token"
481
+ msgstr ""
482
+
483
+ #: vod.template.php:872
484
+ msgid "Selection du player par defaut"
485
+ msgstr ""
486
+
487
+ #: vod.template.php:811
488
+ #, php-format
489
+ msgid ""
490
+ "Si vous desirez ajouter ou modifier les playlist ci-dessous, veuillez vous "
491
+ "rendre dans <a href='https://statslive.infomaniak.com/vod/playlists.php?"
492
+ "iVodCode=%s' target='_blank'>la console d'administration</a>"
493
+ msgstr ""
494
+
495
+ #: vod.template.php:316
496
+ msgid "Statut"
497
+ msgstr ""
498
+
499
+ #: vod.template.php:723
500
+ msgid "Supprimer cette video"
501
+ msgstr ""
502
+
503
+ #: vod.template.php:741
504
+ msgid "Supprimer definitivement la video"
505
+ msgstr ""
506
+
507
+ #: vod.template.php:613
508
+ msgid "Supprimer une video"
509
+ msgstr ""
510
+
511
+ #: vod.template.php:903
512
+ msgid "Switch de qualite"
513
+ msgstr ""
514
+
515
+ #: vod.template.php:267
516
+ msgid "Synchronisation des donnees"
517
+ msgstr ""
518
+
519
+ #: vod.template.php:290
520
+ msgid "Synchronisation rapide"
521
+ msgstr ""
522
+
523
+ #: vod.template.php:294
524
+ msgid "Synchroniser Videos"
525
+ msgstr ""
526
+
527
+ #: vod.template.php:330
528
+ msgid "Telechargement en cours"
529
+ msgstr ""
530
+
531
+ #: vod.template.php:32
532
+ msgid "Url complete"
533
+ msgstr ""
534
+
535
+ #: vod.template.php:663
536
+ msgid "Url de l'image"
537
+ msgstr ""
538
+
539
+ #: vod.template.php:656
540
+ msgid "Url de la video"
541
+ msgstr ""
542
+
543
+ #: vod.template.php:33
544
+ msgid "Url partiel"
545
+ msgstr ""
546
+
547
+ #: vod.template.php:218
548
+ msgid "Utilisation du token du dossier (Id dossier)"
549
+ msgstr ""
550
+
551
+ #: vod.template.php:486
552
+ msgid "Utilitaire d'envoi de video"
553
+ msgstr ""
554
+
555
+ #: vod.template.php:532
556
+ msgid "Utilitaire d'importation de video"
557
+ msgstr ""
558
+
559
+ #: vod.template.php:261
560
+ msgid "Valider"
561
+ msgstr ""
562
+
563
+ #: vod.template.php:28
564
+ msgid "Veuillez saisir l'URL d'une video"
565
+ msgstr ""
566
+
567
+ #: vod.class.php:529
568
+ msgid ""
569
+ "Veuillez-vous rendre dans <a href='admin.php?page=configuration'>Videos -> "
570
+ "Configuration</a> afin de configurer votre compte."
571
+ msgstr ""
572
+
573
+ #: vod.template.php:43 vod.template.php:169 vod.template.php:699
574
+ msgid "Video"
575
+ msgstr ""
576
+
577
+ #: vod.template.php:774
578
+ msgid "Video Geolocalise"
579
+ msgstr ""
580
+
581
+ #: vod.class.php:200
582
+ msgid "Video en cours de conversion"
583
+ msgstr ""
584
+
585
+ #: vod.class.php:90
586
+ msgid "Videos"
587
+ msgstr ""
588
+
589
+ #: vod.template.php:270
590
+ msgid "Videos recuperes"
591
+ msgstr ""
592
+
593
+ #: vod.template.php:653
594
+ msgid "Visualiser la video"
595
+ msgstr ""
596
+
597
+ #: vod.template.php:679
598
+ msgid "Voir les statistiques"
599
+ msgstr ""
600
+
601
+ #: vod.template.php:679 vod.template.php:722
602
+ msgid "Voir les statistiques de cette video"
603
+ msgstr ""
604
+
605
+ #: vod.template.php:619
606
+ msgid "Vous etes sur le point de supprimer la video"
607
+ msgstr ""
readme.txt ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Plugin Name ===
2
+ Contributors: vod-infomaniak
3
+ Tags: video, manage
4
+ Requires at least: 2.8.6
5
+ Tested up to: 3.3.1
6
+ Stable tag: 1.0.0
7
+
8
+ Easily embed and manage videos from Infomaniak VOD in your posts, comments and RSS feeds. You need an Infomaniak VOD account to use this plugin.
9
+
10
+ == Description ==
11
+
12
+ Ce plugin vous permet de gérer facilement les interactions entre votre blog wordpress et votre espace VOD.
13
+ Il vous permet en toute simplicité de récupérer et de gérer l'ensemble de vos vidéos.
14
+
15
+ Si vous souhaitez obtenir plus d'informations sur notre solution d'hébergement vidéo, veuillez vous rendre à l'adresse http://streaming.infomaniak.com/stockage-video-en-ligne
16
+
17
+ Cet outil va vous permettre d'utiliser simplement depuis votre blog, de nombreuses fonctions avancées telles que :
18
+
19
+ * L'envoi de nouvelles vidéos pendant l'écriture d'un article
20
+ * La possibilité d'importer massivement des fichiers vidéos directement depuis votre administration wordpress
21
+ * La mise à jour automatique de la base de données de votre site lors de l'ajout d'une nouvelle vidéo à votre compte
22
+ * La récupération automatique des players existants
23
+ * La gestion et l'implémentation facile des playlist déjà créés dans notre interface d'administration
24
+ * Un outil de recherche de vidéo, lors de l'écriture d'un article ou d'une page pour retrouver facilement une archive
25
+
26
+ == Installation ==
27
+
28
+ Il est nécessaire pour utiliser ce plugin d'avoir un compte VOD sur notre interface d'administration http://statslive.infomaniak.ch/
29
+
30
+ Si vous souhaitez obtenir plus d'informations sur notre solution d'hébergement vidéo, veuillez vous rendre à l'adresse http://streaming.infomaniak.com/stockage-video-en-ligne
31
+
32
+ Pour installer ce plugin, il vous faut :
33
+
34
+ 1. Envoyer le plugin `vod-infomaniak` dans le dossier `/wp-content/plugins/` de votre blog.
35
+ 1. Aller activer ce plugin dans le menu plugins de wordpress.
36
+ 1. Se rendre dans Gestion VOD -> Configuration afin de configurer votre compte avec les identifiants fournis sur l'interface d'administration.
37
+
38
+ Pour les mises à jour, celles-ci sont automatiquement proposées et se font sur le gestionnaire d'extension de wordpress.
39
+
40
+ == Frequently Asked Questions ==
41
+
42
+ = Il faut que je fournisse mes identifiants personnels au plugin ? =
43
+
44
+ Cela fonctionne, mais pour des raisons de sécurités, il est fortement déconseillé de le faire.
45
+ Il est nettement plus prudent dans votre interface d'administration VOD de créer un nouvel utilisateur et de ne lui attribuer que les droits "Gestion API".
46
+ En cas de problème, il sera bien plus aisé de supprimer l'utilisateur ou de changer son mot de passe que de compromettre tous ses services.
47
+
48
+ = J'ai créé un player, un dossier ou une playlist mais ils n'apparaissent pas encore sur mon blog =
49
+
50
+ Le plugin est prévu pour se synchroniser régulièrement avec votre compte afin de récupérer les dernières modifications automatiquement.
51
+ Il peut cependant arriver que vous n'ayez pas le temps d'attendre que cela se synchronise automatiquement.
52
+ Dans ce cas-là, il faut se rendre sur la page Gestion VOD > Configuration et appuyer sur le bouton "Synchronisation rapide".
53
+
54
+ = J'ai envoyé de nouvelles vidéos, mais elles n'apparaissent pas dans la liste des vidéos du blog =
55
+
56
+ Cela peut provenir d'un problème avec l'adresse de callback. C'est une adresse qu'utilise notre système d'encodage pour prévenir votre blog/site qu'une nouvelle vidéo est disponible.
57
+ Cette adresse doit donc être joignable de façon publique. Pour plus d'informations, se reporter à la page Gestion VOD > Configuration
58
+
59
+ = Je n'ai pas trouvé de réponse à ma question =
60
+
61
+ Sur notre site internet, nous possédons une Foire au Question (http://hosting.infomaniak.ch/support/faq/categories/module_vod_wordpress-130-1.html) qui répond à un grand nombre de questions et propose des guides/tutoriaux vidéos.
62
+ Si vous ne trouvez pas de solution à votre question, vous pouvez aussi nous contacter par email.
63
+
64
+ == Screenshots ==
65
+
66
+ 1. Article créer à l'aide du plugin et dans lequel on peut retrouver une vidéo.
67
+ 2. Screenshot montrant le menu d'administration permettant de gérer ses vidéos/players/playlist
68
+
69
+ == Changelog ==
70
+
71
+ = 1.0.0 (10/01/2012) =
72
+ * Après 1 mois en RC2, passage en version final
73
+
74
+ = 0.9.1 (1.0 RC2) (6/12/2011) =
75
+ * Modification du comportement des parametres autoplay et loop lors de l'integration.
76
+
77
+ = 0.9 (1.0 RC1) (31/10/2011) =
78
+ * Ajout des traductions EN,DE
79
+ * Version de controle avant la version finale
80
+
81
+ = 0.2.6 (28/09/2011) =
82
+ * Suppression d'un warning pouvant apparaitre sur certaines configurations
83
+ * Ajout d'accents sur quelques phrases n'étant pas présentes dans les fichiers de traductions
84
+ * Remise en forme du formulaire d'ajout d'une vidéo
85
+ * Nouveau système d'update automatique des tables mysql
86
+ * Ajout de la possibilité d'uploader une vidéo directement lors de l'écriture d'un article/page via un onglet "Envoi d'une vidéo"
87
+ * Modification du loading de certaines fonctions par le plugin qui pouvait rentrer en conflit avec certains thèmes.
88
+ * Correction d'un problème sur la récupération des playlist
89
+
90
+ = 0.2.4 (14/09/2011) =
91
+ * Utilisation du mode de debug de wordpress au lieu d'erreur PHP en cas de problème avec l'API
92
+ * Modification du fonctionnement du renommage d'une vidéo
93
+
94
+ = 0.2.3 (05/09/2011) =
95
+ * Ajout d'un try/catch sur la récupération des importations, cela pouvant provoquer une erreur s'il n'y a aucune importation récente.
96
+ * Nouvelle option lors de l'écriture/édition d'un article permettant de choisir parmi les 50 dernières vidéos.
97
+ * Quelques petites optimisations
98
+ * Fix d'un bug avec le système de synchro lors d'une première installation et que rien n'a encore été configuré.
99
+
100
+ = 0.2 (01/09/2011) =
101
+ * Modification du nouveau système de synchro pour qu'il se lance plus régulièrement contrairement à wp_schedule_event()
102
+ * Suppression des notices pouvant être indiquées par apache
103
+ * Correction d'un bug d'affichage dans le cas de playlist incomplète
104
+ * Nouveau système de synchro automatique des vidéos plus efficace
105
+ * Fix d'un bug durant la synchro forcé des dossiers
106
+ * Récuperation et affichage de la durée des playlist
107
+ * Correction d'orthographe sur plusieurs phrases
108
+ * Snapshot de prévisualisation
109
+ * Fix d'un bug d'affichage en 1024
110
+ * Correction concernant l'écriture automatique d'un post lorsque la vidéo nécessite un token
111
+ * Correction du message indiquant des géolocalisations sur certaines vidéos n'en ayant pas
112
+ * Mise en place d'une première version du système de traduction
113
+ * Correction dans l'appel d'une fonction de wordpress deprecated
114
+ * Option permettant de créer automatiquement un article en draft à partir d'une vidéo
115
+ * Amélioration de la page player avec un player de prévisualisation pour pouvoir tester celui sélectionné
116
+ * Gestion automatique des token unique sur les vidéos le nécessitant. L'ajout d'un attribut 'tokenfolder' à la balise [vod] permet au plugin d'identifier les vidéos utilisant cette fonctionnalité et ainsi de générer à la volée la clef unique pour chaque visiteur.
117
+ * Focus automatique sur les champs des formulaires de recherches
118
+ * Ajout de nouveaux liens sur les vidéos (statistiques, détails d'une vidéo)
119
+ * Possibilité de renommer et supprimer une vidéo
120
+ * Nouveau système de cryptage du password de l'API
121
+
122
+ = 0.1 (23/08/2011) =
123
+ * Lancement du projet et première version publiée sur wordpress.org
124
+
125
+ = Prochainement =
126
+ * Gestion des fichiers audios
127
+ * Gestion des sous-titres
128
+ * URL personnalisable
screenshot-2.png ADDED
Binary file
vod.api.php ADDED
@@ -0,0 +1,412 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Classe permettant d'utiliser simplement les differentes fonctions de l'API vod.
4
+ * Il est parfaitement possible d'utiliser cette classe independamment du plugin wordpress.
5
+ * En cas de problemes ou de questions, veuillez contacter streaming@infomaniak.ch
6
+ *
7
+ * @author Destrem Kevin
8
+ * @link http://statslive.infomaniak.ch/vod/api/
9
+ * @version 1.0
10
+ * @copyright infomaniak.ch
11
+ *
12
+ */
13
+
14
+ class vod_api {
15
+
16
+ protected $sLogin = "";
17
+ protected $sPassword = "";
18
+ protected $sId = "";
19
+ private $oSoap;
20
+
21
+ /**
22
+ * Constructeur prennant les informations de connexions
23
+ *
24
+ * @param string $sLogin Login de connexion
25
+ * @param string $sPassword Mot de passe associe au login
26
+ * @param string $sId Identifiant de l'espace VOD
27
+ */
28
+ public function __construct($sLogin, $sPassword, $Id = "") {
29
+ $this->sLogin = $sLogin;
30
+ $this->sPassword = $sPassword;
31
+ $this->sId = $Id;
32
+ }
33
+
34
+ private function debug($sFunction, $oException) {
35
+ if (WP_DEBUG) {
36
+ echo "<h4 style='color:red'>Debug :: vod_api -> ".$sFunction."()</h4><code>";
37
+ var_dump ( $oException );
38
+ echo "</code>";
39
+ }
40
+ }
41
+ /**
42
+ * Fonction permettant de tester la connectivite avec l'API
43
+ *
44
+ * @return boolean
45
+ */
46
+ public function ping() {
47
+ $oSoap = $this->getSoapAdmin ();
48
+ if (! empty ( $oSoap )) {
49
+ return $oSoap->ping ();
50
+ }
51
+ return false;
52
+ }
53
+
54
+ /**
55
+ * Fonction permettant de tester la connectivite avec l'API
56
+ *
57
+ * @return integer
58
+ */
59
+ public function time() {
60
+ try {
61
+ $oSoap = $this->getSoapAdmin ();
62
+ if (! empty ( $oSoap )) {
63
+ return $oSoap->time ();
64
+ }
65
+ } catch ( Exception $oException ) {
66
+ $this->debug ( "time", $oException );
67
+ }
68
+ return 0;
69
+ }
70
+
71
+ /**
72
+ * Fonction permettant de recuperer l'id de l'espace VOD
73
+ *
74
+ * @return integer
75
+ */
76
+ public function getServiceItemID() {
77
+ try {
78
+ $oSoap = $this->getSoapAdmin ();
79
+ if (! empty ( $oSoap )) {
80
+ return intval ( $oSoap->getServiceItemID () );
81
+ }
82
+ } catch ( Exception $oException ) {
83
+ $this->debug ( "getServiceItemID", $oException );
84
+ }
85
+ return 0;
86
+ }
87
+
88
+ /**
89
+ * Fonction permettant de recuperer l'identifiant du groupe auquel est rattache le service
90
+ *
91
+ * @return integer
92
+ */
93
+ public function getGroupID() {
94
+ try {
95
+ $oSoap = $this->getSoapAdmin ();
96
+ if (! empty ( $oSoap )) {
97
+ return intval ( $oSoap->getGroupeID () );
98
+ }
99
+ } catch ( Exception $oException ) {
100
+ $this->debug ( "getGroupID", $oException );
101
+ }
102
+ return 0;
103
+ }
104
+
105
+ /**
106
+ * Fonction permettant de recuperer le nombre de video
107
+ *
108
+ * @return integer
109
+ */
110
+ public function countVideo() {
111
+ try {
112
+ $oSoap = $this->getSoapAdmin ();
113
+ if (! empty ( $oSoap )) {
114
+ return intval ( $oSoap->countVideo () );
115
+ }
116
+ } catch ( Exception $oException ) {
117
+ $this->debug ( "countVideo", $oException );
118
+ }
119
+ return false;
120
+ }
121
+
122
+ /**
123
+ * Fonction permettant de supprimer une video
124
+ *
125
+ * @param integer $iFolderCode
126
+ * @param string $sFileServerCode
127
+ * @return boolean
128
+ */
129
+ public function deleteVideo($iFolderCode, $sFileServerCode) {
130
+ try {
131
+ $oSoap = $this->getSoapAdmin ();
132
+ if (! empty ( $oSoap )) {
133
+ return $oSoap->deleteVideo ( $iFolderCode, $sFileServerCode );
134
+ }
135
+ } catch ( Exception $oException ) {
136
+ $this->debug ( "deleteVideo", $oException );
137
+ }
138
+ return false;
139
+ }
140
+
141
+ /**
142
+ * Fonction permettant de renommer une video
143
+ *
144
+ * @param integer $iFolderCode
145
+ * @param string $sFileServerCode
146
+ * @param string $sName
147
+ * @return boolean
148
+ */
149
+ public function renameVideo($iFolderCode, $sFileServerCode, $sName) {
150
+ try {
151
+ $oSoap = $this->getSoapAdmin ();
152
+ if (! empty ( $oSoap )) {
153
+ return $oSoap->setVideoTitle ( $iFolderCode, $sFileServerCode, $sName );
154
+ }
155
+ } catch ( Exception $oException ) {
156
+ $this->debug ( "renameVideo", $oException );
157
+ }
158
+ return false;
159
+ }
160
+
161
+ /**
162
+ * Fonction permettant de recuperer les dernieres videos
163
+ *
164
+ * @return array
165
+ */
166
+ public function getLastVideo($iLimit, $iPage) {
167
+ try {
168
+ $oSoap = $this->getSoapAdmin ();
169
+ if (! empty ( $oSoap )) {
170
+ return $oSoap->getLastVideo ( $iLimit, $iPage );
171
+ }
172
+ } catch ( Exception $oException ) {
173
+ $this->debug ( "getLastVideo", $oException );
174
+ }
175
+ return false;
176
+ }
177
+
178
+ /**
179
+ * Fonction permettant de recuperer les dernieres importations de videos
180
+ *
181
+ * @return array
182
+ */
183
+ public function getLastImportation() {
184
+ $oSoap = $this->getSoapAdmin ();
185
+ try {
186
+ if (! empty ( $oSoap )) {
187
+ return $oSoap->getLastImportation ( 15 );
188
+ }
189
+ } catch ( Exception $oException ) {
190
+ $this->debug ( "getLastImportation", $oException );
191
+ }
192
+ return false;
193
+ }
194
+
195
+ /**
196
+ * Fonction permettant de recuperer les dossiers de cet espace VOD
197
+ *
198
+ * @return array
199
+ */
200
+ public function getFolders() {
201
+ try {
202
+ $oSoap = $this->getSoapAdmin ();
203
+ if (! empty ( $oSoap )) {
204
+ return $oSoap->getFolders ();
205
+ }
206
+ } catch ( Exception $oException ) {
207
+ $this->debug ( "getFolders", $oException );
208
+ }
209
+ return false;
210
+ }
211
+
212
+ /**
213
+ * Fonction permettant de savoir s'il y a eu des modifications recemment sur les dossiers
214
+ *
215
+ * @return boolean
216
+ */
217
+ public function folderModifiedSince($date) {
218
+ try {
219
+ $oSoap = $this->getSoapAdmin ();
220
+ if (! empty ( $oSoap )) {
221
+ return $oSoap->folderModifiedSince ( $date );
222
+ }
223
+ } catch ( Exception $oException ) {
224
+ $this->debug ( "folderModifiedSince", $oException );
225
+ }
226
+ return false;
227
+ }
228
+
229
+ /**
230
+ * Fonction permettant de recuperer les players de cet espace VOD
231
+ *
232
+ * @return array
233
+ */
234
+ public function getPlayers() {
235
+ try {
236
+ $oSoap = $this->getSoapAdmin ();
237
+ if (! empty ( $oSoap )) {
238
+ return $oSoap->getPlayers ();
239
+ }
240
+ } catch ( Exception $oException ) {
241
+ $this->debug ( "getPlayers", $oException );
242
+ }
243
+ return false;
244
+ }
245
+
246
+ /**
247
+ * Fonction permettant de savoir s'il y a eu des modifications recemment sur les players
248
+ *
249
+ * @return boolean
250
+ */
251
+ public function playerModifiedSince($date) {
252
+ try {
253
+ $oSoap = $this->getSoapAdmin ();
254
+ if (! empty ( $oSoap )) {
255
+ return $oSoap->playerModifiedSince ( $date );
256
+ }
257
+ } catch ( Exception $oException ) {
258
+ $this->debug ( "PlayerModifiedSince", $oException );
259
+ }
260
+ return false;
261
+ }
262
+
263
+ /**
264
+ * Fonction permettant de recuperer les playlists de cet espace VOD
265
+ *
266
+ * @return array
267
+ */
268
+ public function getPlaylists() {
269
+ try {
270
+ $oSoap = $this->getSoapAdmin ();
271
+ if (! empty ( $oSoap )) {
272
+ return $oSoap->getPlaylists ();
273
+ }
274
+ } catch ( Exception $oException ) {
275
+ $this->debug ( "getPlaylists", $oException );
276
+ }
277
+ return false;
278
+ }
279
+
280
+ /**
281
+ * Fonction permettant de savoir s'il y a eu des modifications recemment sur les playlist
282
+ *
283
+ * @return boolean
284
+ */
285
+ public function playlistModifiedSince($date) {
286
+ try {
287
+ $oSoap = $this->getSoapAdmin ();
288
+ if (! empty ( $oSoap )) {
289
+ return $oSoap->playlistModifiedSince ( $date );
290
+ }
291
+ } catch ( Exception $oException ) {
292
+ $this->debug ( "playlistModifiedSince", $oException );
293
+ }
294
+ return false;
295
+ }
296
+
297
+ /**
298
+ * Fonction permettant d'obtenir un token d'upload
299
+ *
300
+ * @return string
301
+ */
302
+ public function initUpload($sPath) {
303
+ try {
304
+ $oSoap = $this->getSoapAdmin ();
305
+ if (! empty ( $oSoap )) {
306
+ return $oSoap->initUpload ( $sPath );
307
+ }
308
+ } catch ( Exception $oException ) {
309
+ $this->debug ( "initUpload", $oException );
310
+ }
311
+ return false;
312
+ }
313
+
314
+ /**
315
+ * Fonction permettant de lancer le telechargement d'une video
316
+ *
317
+ * @return boolean
318
+ */
319
+ public function importFromUrl($sPath, $sUrl, $aOptions) {
320
+ try {
321
+ $oSoap = $this->getSoapAdmin ();
322
+ if (! empty ( $oSoap )) {
323
+ return $oSoap->importFromUrl ( $sPath, $sUrl, $aOptions );
324
+ }
325
+ } catch ( Exception $oException ) {
326
+ $this->debug ( "importFromUrl", $oException );
327
+ }
328
+ return false;
329
+ }
330
+
331
+ /**
332
+ * Fonction permettant d'ajouter des infos a une ou plusieurs videos
333
+ *
334
+ * @return boolean
335
+ */
336
+ public function addInfo( $sToken, $sInfo ){
337
+ try {
338
+ $oSoap = $this->getSoapAdmin ();
339
+ if (! empty ( $oSoap )) {
340
+ return $oSoap->addInfo ( $sToken, $sInfo );
341
+ }
342
+ } catch ( Exception $oException ) {
343
+ $this->debug ( "addInfo", $oException );
344
+ }
345
+ return false;
346
+ }
347
+
348
+ /**
349
+ * Fonction permettant de recuperer l'adresse de callback actuellement en place
350
+ *
351
+ * @return string
352
+ */
353
+ public function getCallback() {
354
+ try {
355
+ $oSoap = $this->getSoapAdmin ();
356
+ if (! empty ( $oSoap )) {
357
+ return $oSoap->getCallbackUrl ();
358
+ }
359
+ } catch ( Exception $oException ) {
360
+ $this->debug ( "getCallback", $oException );
361
+ }
362
+ return false;
363
+ }
364
+
365
+ /**
366
+ * Fonction permettant de definir l'adresse de callback
367
+ *
368
+ * @param string $sUrl Nouvelle adresse de callback
369
+ * @return boolean
370
+ */
371
+ public function setCallback($sUrl) {
372
+ try {
373
+ $oSoap = $this->getSoapAdmin ();
374
+ if (! empty ( $oSoap )) {
375
+ return $oSoap->setCallbackUrl ( $sUrl );
376
+ }
377
+ } catch ( Exception $oException ) {
378
+ $this->debug ( "setCallback", $oException );
379
+ }
380
+ return false;
381
+ }
382
+
383
+ private function getSoapAdmin() {
384
+ if (! empty ( $this->oSoap )) {
385
+ return $this->oSoap;
386
+ } else {
387
+ $this->oSoap = new SoapClient ( 'http://statslive.infomaniak.com/vod/api/vod_soap.wsdl', array ('trace' => 1, 'encoding' => 'UTF-8' ) );
388
+ try {
389
+ $this->oSoap->__setSoapHeaders ( array (new SoapHeader ( 'urn:vod_soap', 'AuthenticationHeader', new SoapVODAuthentificationHeader ( $this->sLogin, $this->sPassword, $this->sId ) ) ) );
390
+ return $this->oSoap;
391
+ } catch ( Exception $oException ) {
392
+ $this->debug( "getSoapAdmin", $oException );
393
+ }
394
+ return false;
395
+ }
396
+ }
397
+ }
398
+
399
+ ini_set ( "soap.wsdl_cache_enabled", 0 );
400
+
401
+ class SoapVODAuthentificationHeader {
402
+ public $Password;
403
+ public $sLogin;
404
+ public $sVod;
405
+
406
+ public function __construct($sLogin, $sPassword, $sVod) {
407
+ $this->sPassword = $sPassword;
408
+ $this->sLogin = $sLogin;
409
+ $this->sVod = $sVod;
410
+ }
411
+ }
412
+ ?>
vod.class.php ADDED
@@ -0,0 +1,987 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Classe generale regroupant les differentes fonctions du plugin wordpress.
4
+ * En cas de problemes ou de questions, veuillez contacter streaming@infomaniak.ch
5
+ *
6
+ * @author Destrem Kevin
7
+ * @link http://statslive.infomaniak.ch/vod/api/
8
+ * @version 1.0.0
9
+ * @copyright infomaniak.ch
10
+ *
11
+ */
12
+
13
+ class EasyVod
14
+ {
15
+ private $local_version;
16
+ private $plugin_url;
17
+ private $options;
18
+ private $key;
19
+ private $db;
20
+ public $version = "0.9";
21
+
22
+ function EasyVod() {
23
+ $this->__construct();
24
+ }
25
+
26
+ function __construct() {
27
+ $this->local_version = $this->version;
28
+ $this->key = 'vod_infomaniak';
29
+ $this->options=$this->get_options();
30
+ $this->add_filters_and_hooks();
31
+ $this->db = new EasyVod_db();
32
+ $this->auto_sync = true;
33
+ $this->auto_sync_delay = 3600;
34
+ define("SALT", "SALT");
35
+ }
36
+
37
+ function add_filters_and_hooks() {
38
+ register_activation_hook(__FILE__, array(&$this, 'install_db') );
39
+ register_deactivation_hook(__FILE__, array(&$this, 'uninstall_db'));
40
+ add_action('plugins_loaded', array(&$this, 'update_db'));
41
+ wp_register_style('ui-tabs', plugins_url('vod-infomaniak/css/jquery.ui.tabs.css'));
42
+
43
+ load_plugin_textdomain( 'vod_infomaniak', FALSE, basename( dirname( __FILE__ ) ) .'/languages' );
44
+
45
+ add_action( 'template_redirect', array(&$this, 'vod_template_redirect'));
46
+ add_filter( 'query_vars', 'vod_query_vars');
47
+ add_filter( 'the_content', array(&$this, 'check'), 100);
48
+ add_filter( 'the_excerpt', array(&$this, 'check'), 100);
49
+
50
+ if ( is_admin() ) {
51
+ add_action( 'admin_menu', array(&$this, 'add_menu_items'));
52
+ add_action( 'edit_form_advanced', array(&$this, 'buildForm') );
53
+ add_action( 'edit_page_form', array(&$this, 'buildForm') );
54
+ add_action( 'wp_ajax_importvod', array(&$this, 'printLastImport') );
55
+ add_action( 'wp_ajax_vodsearchvideo', array(&$this, 'searchVideo') );
56
+ add_action( 'wp_ajax_vodsearchplaylist', array(&$this, 'searchPlaylist') );
57
+ add_action( 'wp_ajax_vodimportvideo', array(&$this, 'importPostVideo') );
58
+
59
+ add_filter( 'mce_external_plugins', array(&$this, 'mce_register') );
60
+ add_filter( 'mce_buttons', array(&$this, 'mce_add_button'), 0);
61
+
62
+ //On load Css et Js
63
+ wp_enqueue_script( 'jquery-ui-dialog' );
64
+ wp_enqueue_script( 'jquery-ui-tabs' );
65
+ wp_enqueue_script( 'suggest' );
66
+ wp_enqueue_style( 'vod-jquery-ui', plugins_url('vod-infomaniak/css/jquery-ui.css'), array(), $this->version, 'screen' );
67
+ wp_enqueue_style( 'ui-tabs' );
68
+ }
69
+ }
70
+
71
+ function install_db() {
72
+ $this->db->install_db();
73
+ $this->fastSynchro();
74
+ }
75
+
76
+ function update_db() {
77
+ if (get_site_option('vod_db_version') != $this->db->db_version ) {
78
+ $this->install_db();
79
+ }
80
+ }
81
+
82
+ function uninstall_db(){}
83
+
84
+ function add_menu_items() {
85
+ if( $this->auto_sync ) {
86
+ $this->checkAutoUpdate();
87
+ }
88
+
89
+ if (function_exists('add_menu_page')) {
90
+ add_menu_page(__('Videos','vod_infomaniak'), __('Videos','vod_infomaniak'), 'edit_pages', __FILE__, array(&$this,'vod_management_menu'));
91
+ }
92
+
93
+ if (function_exists('add_submenu_page')) {
94
+ add_submenu_page(__FILE__,__('Gestionnaire','vod_infomaniak'), __('Gestionnaire','vod_infomaniak'), 'edit_pages', __FILE__, array(&$this,'vod_management_menu'));
95
+ add_submenu_page(__FILE__,__('Importation','vod_infomaniak'), __('Importation','vod_infomaniak'), 'edit_pages', 'import', array(&$this,'vod_upload_menu'));
96
+ add_submenu_page(__FILE__,__('Player video','vod_infomaniak'), __('Player video','vod_infomaniak'), 'edit_pages', 'Player', array(&$this,'vod_implementation_menu'));
97
+ add_submenu_page(__FILE__,__('Playlist','vod_infomaniak'), __('Playlist','vod_infomaniak'), 'edit_pages', 'Playlist', array(&$this,'vod_playlist_menu'));
98
+ add_submenu_page(__FILE__,__('Configuration','vod_infomaniak'), __('Configuration','vod_infomaniak'), 'edit_plugins', 'configuration', array(&$this,'vod_admin_menu'));
99
+ }
100
+ }
101
+
102
+ function importPostVideo() {
103
+ if (!empty($_REQUEST['upload']) && $_REQUEST['upload']=="finish" ) {
104
+ echo $this->db->insert_upload( $_REQUEST['sToken'], $_REQUEST['post'] );
105
+ } else if (!empty($_REQUEST['iFolder'])) {
106
+ $oFolder = $this->db->getFolder( $_REQUEST['iFolder'] );
107
+ if( empty($oFolder) || empty( $oFolder->sName ) ){
108
+ die(__("Il n'est pas possible d'uploader dans ce dossier.",'vod_infomaniak'));
109
+ }
110
+ $oApi = $this->getAPI();
111
+ $sToken = $oApi->initUpload( $oFolder->sPath );
112
+ $oApi->addInfo($sToken, "wp_upload_post_".$sToken);
113
+ delete_transient( 'vod_last_import' );
114
+ echo $sToken;
115
+ }
116
+ die();
117
+ }
118
+
119
+ function searchPlaylist() {
120
+ $aResult = $this->db->search_playlist($_REQUEST['q'], 12);
121
+ if( !empty($aResult) ){
122
+ foreach( $aResult as $oPlaylist ){
123
+ echo "<span style='display:none'>".$oPlaylist->iPlaylistCode.";;;</span><span>".$oPlaylist->sPlaylistName."</span>\n";
124
+ }
125
+ }
126
+ die();
127
+ }
128
+
129
+ function searchVideo() {
130
+ $aResult = $this->db->search_videos($_REQUEST['q'], 12);
131
+ if( !empty($aResult) ){
132
+ foreach( $aResult as $oVideo ){
133
+ $str = "";
134
+ $duration = intval($oVideo->iDuration/100);
135
+ $hour = intval($duration/3600);
136
+ $min = intval($duration/60)%60;
137
+ $sec = intval($duration)%60;
138
+
139
+ $str .= $hour>0 ? $hour."h. " : '';
140
+ $str .= $min>0 ? $min."m. " : '';
141
+ $str .= $sec>0 ? $sec."s." : '';
142
+
143
+ echo "<span style='display:none'>".$oVideo->sPath.$oVideo->sServerCode.".".strtolower($oVideo->sExtension).";;;";
144
+ if( !empty($oVideo->sToken) ){
145
+ echo $oVideo->iFolder.";;;";
146
+ }
147
+ echo "</span><span>".ucfirst($oVideo->sName)." ( ".__("Ajout",'vod_infomaniak')." : ".date("j F Y ", strtotime($oVideo->dUpload)).", ".__("Duree",'vod_infomaniak').": $str )</span>\n";
148
+ }
149
+ }
150
+ die();
151
+ }
152
+
153
+ function check($the_content, $side = 0) {
154
+ $tag=$this->options['tag'];
155
+ if ($tag!='' && strpos($the_content, "[".$tag) !== false ) {
156
+ preg_match_all("/\[$tag([^`]*?)\]([^`]*?)\[\/$tag\]/", $the_content, $matches, PREG_SET_ORDER);
157
+ foreach ($matches as $match) {
158
+ $the_content = preg_replace("/\[$tag([^`]*?)\]([^`]*?)\[\/$tag\]/", $this->tag($match[2], $match[1], '', '', $side), $the_content, 1);
159
+ }
160
+ }
161
+ if ( strpos($the_content, "[upload-vod") !== false ) {
162
+ $tag = "upload-vod";
163
+ preg_match_all("/\[$tag([^`]*?)\]([^`]*?)\[\/$tag\]/", $the_content, $matches, PREG_SET_ORDER);
164
+ foreach ($matches as $match) {
165
+ $the_content = preg_replace("/\[$tag([^`]*?)\]([^`]*?)\[\/$tag\]/", $this->tag_upload($match[2], $match[1], '', '', $side), $the_content, 1);
166
+ }
167
+ }
168
+ return $the_content;
169
+ }
170
+
171
+ function tag_upload($file, $params, $high = 'v', $time = '', $side = 0) {
172
+ //On check que le tag upload ne doit pas etre remplacer par un tag vod
173
+ if ( !empty($file) && strpos($file, ':') !== false) {
174
+ $decoupage = split(":", $file);
175
+ $sToken = $decoupage[0];
176
+ $aUpload =$this->db->get_upload_video( $sToken );
177
+ if ( intval($aUpload->iVideo) > 0 ) {
178
+ $video = $this->db->getVideo( $aUpload->iVideo );
179
+ if ( !empty($video) ) {
180
+ global $post;
181
+ $sVideoPath = $video->sPath.$video->sServerCode.".".strtolower($video->sExtension);
182
+ $update_post = array();
183
+ $update_post['ID'] = $post->ID;
184
+ $result = str_replace("[upload-vod]".$file."[/upload-vod]", "[vod]".$sVideoPath."[/vod]", $post->post_content);
185
+ if ( $result != $post->post_content ) {
186
+ $post->post_content = $result;
187
+ $update_post['post_content'] = $post->post_content;
188
+ // Sans le @, warning suivant la config apache. Probleme soumis sur le forum officiel
189
+ @wp_update_post( $update_post );
190
+ }
191
+ return $this->tag($sVideoPath, $params, $high, $time, $side);
192
+ }
193
+ }
194
+ }
195
+
196
+ $width = empty( $aTagParam['width'] ) ? $this->options['width'] : intval($aTagParam['width']);
197
+ $height = empty( $aTagParam['height'] ) ? $this->options['height'] : intval($aTagParam['height']);
198
+ return "<div style='background: url(\"" . plugins_url('vod-infomaniak/img/topbg10.png') . "\") repeat;border-radius: 8px; text-align:center; color: #DDDDDD; font-weight: bold; background-color: #222222; width: ".$width."px; height: ".$height."px;'>
199
+ <div style='font-size: 150%;padding-top: 100px;line-height:".(($height-200)/2)."px;vertical-align: middle;'>
200
+ <span style='display:block;'>".__("Video en cours de conversion",'vod_infomaniak')." ...</span>
201
+ <img src='" . plugins_url('vod-infomaniak/img/ico-vod-64.png') . "' style='vertical-align:middle'/>
202
+ </div>
203
+ </div>";
204
+ }
205
+
206
+ function tag($file, $params, $high = 'v', $time = '', $side = 0) {
207
+
208
+ //Recuperation des parametres optionnels des tags
209
+ $aTagParam = array();
210
+ if ( !empty( $params ) ) {
211
+ $params = strtolower(str_replace(array("'",'"'), "", $params));
212
+ $aList = split(" ", $params);
213
+ foreach( $aList as $param) {
214
+ if( strpos($param, "=") !== false ) {
215
+ $aCut = split("=", $param);
216
+ if( in_array($aCut[0] ,array("width", "height", "autoplay", "loop", "player", "videoimage", "tokenfolder") )){
217
+ $aTagParam[ $aCut[0] ] = $aCut[1];
218
+ }
219
+ }
220
+ }
221
+ }
222
+
223
+ //Recuperation des differents parametres
224
+ $iVod = $this->options['vod_api_icodeservice'];
225
+ $sUrl = "http://vod.infomaniak.com/iframe.php";
226
+ $sAccountBase = $this->options['vod_api_id'];
227
+ $sKey = "";
228
+ if( !empty($aTagParam['tokenfolder']) && !is_numeric( $file ) ){
229
+ $oFolder = $this->db->getFolder( $aTagParam['tokenfolder'] );
230
+ if( !empty($oFolder) ){
231
+ $fileInfo = pathinfo($file);
232
+ $sFileName = basename($file,'.'.$fileInfo['extension']);
233
+ $sKey = "?sKey=".$this->getTemporaryKey( $oFolder->sToken, $sFileName );
234
+ }
235
+ }
236
+ $videoimage = empty( $aTagParam['videoimage'] ) ? 1 : intval($aTagParam['videoimage']);
237
+ $player = empty( $aTagParam['player'] ) ? $this->options['player'] : intval($aTagParam['player']);
238
+ $autoplay = empty( $aTagParam['autoplay'] ) ? $this->options['autoplay'] : intval($aTagParam['autoplay']);
239
+ $loop = empty( $aTagParam['loop'] ) ? $this->options['loop'] : intval($aTagParam['loop']);
240
+ $width = empty( $aTagParam['width'] ) ? $this->options['width'] : intval($aTagParam['width']);
241
+ $height = empty( $aTagParam['height'] ) ? $this->options['height'] : intval($aTagParam['height']);
242
+
243
+ if ( is_numeric( $file ) ) {
244
+ $video_url = $sUrl."?url=&playlist=".$file;
245
+ } else {
246
+ //Build de l'url finale
247
+ if ( strpos($file, "http://") === false ) {
248
+ $sFile = $sAccountBase."/".$file;
249
+ } else {
250
+ $sFile = $file;
251
+ }
252
+ $sFile = $sFile.$sKey;
253
+ $video_url = $sUrl."?url=".$sFile;
254
+ if( $videoimage ) $video_url .= "&preloadImage=".str_replace(array(".flv",".mp4"), ".jpg", $sFile);
255
+ }
256
+ if( !empty($player) ) {
257
+ $video_url .= "&player=$player";
258
+ } else {
259
+ $video_url .= "&player=576";
260
+ }
261
+ if( $iVod ) $video_url .= "&vod=$iVod";
262
+ if( isset($aTagParam['autoplay']) ) $video_url .= "&autostart=$autoplay";
263
+ if( isset($aTagParam['loop']) ) $video_url .= "&loop=$loop";
264
+
265
+ //Build de la balise
266
+ $html_tag = '<span class="youtube">
267
+ <iframe title="Vod Player" class="vod-player" width="'.$width.'" height="'.$height.'" src="'.$video_url.'" frameborder="0"></iframe>
268
+ </span>';
269
+
270
+ return $html_tag;
271
+ }
272
+
273
+ function get_options() {
274
+ $options = array(
275
+ 'width' => 480,
276
+ 'height' => 360,
277
+ 'template' => '{video}',
278
+ 'loop' => 0,
279
+ 'autoplay' => 0,
280
+ 'privacy' => 0,
281
+ 'wtext' => '',
282
+ 'wtitle' => '',
283
+ 'tag' => 'vod',
284
+ 'iframe' => 'on',
285
+ 'vod_api_connected' => 'off'
286
+ );
287
+
288
+ $saved = get_option($this->key);
289
+
290
+ if (!empty($saved)) {
291
+ foreach ($saved as $key => $option){
292
+ $options[$key] = $option;
293
+ }
294
+ }
295
+
296
+ if ($saved != $options){
297
+ update_option($this->key, $options);
298
+ }
299
+
300
+ return $options;
301
+ }
302
+
303
+ function mce_add_button($buttons) {
304
+ array_push($buttons, "vodplugin");
305
+ return $buttons;
306
+ }
307
+
308
+ function mce_register($plugin_array) {
309
+ $plugin_array["swfobject"] = "http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js";
310
+ $plugin_array["vodplugin"] = plugins_url('vod-infomaniak/js/editor_plugin.js');
311
+ return $plugin_array;
312
+ }
313
+
314
+ function buildForm() {
315
+ if ( !empty($this->options['vod_api_connected']) && $this->options['vod_api_connected'] == 'on' ) {
316
+ require_once("vod.template.php");
317
+ $aPlayers = $this->db->get_players();
318
+ $aLastVideos = $this->db->get_videos_byPage( 0, 50 );
319
+ $aFolders = $this->db->get_folders();
320
+ EasyVod_Display::buildForm( $this->options, $aPlayers, $aLastVideos, $aFolders );
321
+ }
322
+ }
323
+
324
+ function checkAutoUpdate() {
325
+ $gmtime = time() - (int)substr(date('O'),0,3)*60*60;
326
+ if ( !isset($this->options['vod_api_lastUpdate']) || $this->options['vod_api_lastUpdate'] < $gmtime - $this->auto_sync_delay ) {
327
+ $this->fastSynchro();
328
+ }
329
+ }
330
+
331
+ function fastSynchro( $updateVideo = true ){
332
+ if( !isset($this->options['vod_api_connected']) || $this->options['vod_api_connected'] != 'on' ){
333
+ return false;
334
+ }
335
+ $oApi = $this->getAPI();
336
+
337
+ //Update des players
338
+ if ( $oApi->playerModifiedSince( $this->options['vod_api_lastUpdate'] ) ) {
339
+ $this->db->clean_players();
340
+ $aListPlayer = $oApi->getPlayers();
341
+ if( !empty($aListPlayer) ){
342
+ foreach( $aListPlayer as $oPlayer ){
343
+ if( empty( $this->options['player'] ) ) {
344
+ $this->options['player'] = $oPlayer['iPlayerCode'];
345
+ } else if( $this->options['player'] == $oPlayer['iPlayerCode'] ){
346
+ $this->options['player'] = $oPlayer['iPlayerCode'];
347
+ $this->options['width'] = $oPlayer['iWidth'];
348
+ $this->options['height'] = $oPlayer['iHeight'];
349
+ update_option($this->key, $this->options);
350
+ }
351
+ $this->db->insert_player( $oPlayer['iPlayerCode'], $oPlayer['sName'], $oPlayer['iWidth'], $oPlayer['iHeight'], $oPlayer['bAutoStart'], $oPlayer['bLoop'], $oPlayer['dEdit'], $oPlayer['bSwitchQuality'] );
352
+ }
353
+ }
354
+ }
355
+
356
+ //Update des folders
357
+ if ( $oApi->folderModifiedSince( $this->options['vod_api_lastUpdate'] ) ) {
358
+ $this->db->clean_folders();
359
+ $aListFolder = $oApi->getFolders();
360
+ if( !empty($aListFolder) ){
361
+ foreach( $aListFolder as $oFolder ){
362
+ $this->db->insert_folder( $oFolder['iFolderCode'], $oFolder['sFolderPath'], $oFolder['sFolderName'], $oFolder['sAccess'], $oFolder['sToken'] );
363
+ }
364
+ }
365
+ }
366
+
367
+ //Update des playlist
368
+ if ( $oApi->playlistModifiedSince( $this->options['vod_api_lastUpdate'] ) ) {
369
+ $this->db->clean_playlists();
370
+ $aListPlaylist = $oApi->getPlaylists();
371
+ if( !empty($aListPlaylist) ){
372
+ foreach( $aListPlaylist as $oPlaylist ){
373
+ $this->db->insert_playlist( $oPlaylist['iPlaylistCode'], $oPlaylist['sPlaylistName'], $oPlaylist['sPlaylistDescription'], $oPlaylist['iTotal'], $oPlaylist['sMode'], $oPlaylist['dCreated'], $oPlaylist['iTotalDuration'] );
374
+ }
375
+ }
376
+ }
377
+
378
+ //Update de la synchro video
379
+ if( $updateVideo ){
380
+ $lastVideo = $this->db->getLastVideo();
381
+ if( !empty($lastVideo) ){
382
+ $lastDateImport = strtotime($lastVideo->dUpload);
383
+ $isSynchro = false;
384
+ $iPage = 0;
385
+ while( !$isSynchro ){
386
+ $aVideos = $oApi->getLastVideo(10, $iPage*10);
387
+ $iVideo = 0;
388
+ while( !$isSynchro && $iVideo < count($aVideos) ){
389
+ $oVideo = $aVideos[$iVideo];
390
+ if( $lastDateImport < strtotime( $oVideo['dFileUpload'] ) ){
391
+ $this->db->insert_video( $oVideo['iFileCode'], $oVideo['iFolder'], $oVideo['sFileName'], $oVideo['sFileServerCode'], $oVideo['aEncodes'][0]['sPath'], $oVideo['aEncodes'][0]['eConteneur'], $oVideo['fFileDuration'], $oVideo['dFileUpload'] );
392
+ $iVideo++;
393
+ }else{
394
+ $isSynchro = true;
395
+ }
396
+ }
397
+ $iPage++;
398
+ }
399
+ }
400
+ }
401
+
402
+ //Verification s'il y a des upload en attente
403
+ $aProcessing = $this->db->get_upload_process();
404
+ if ( !empty($aProcessing) ) {
405
+ $aLastImportation = $oApi->getLastImportation( 50 );
406
+ foreach ( $aLastImportation as $oImport ) {
407
+ if( $oImport['sProcessState'] == "OK" && !empty($oImport['iVideo']) && strpos($oImport['sInfo'], "wp_upload_post_") !== false ) {
408
+ //On le connait peut etre celui la
409
+ foreach($aProcessing as $oProcess) {
410
+ if ( "wp_upload_post_".$oProcess->sToken == $oImport['sInfo'] ) {
411
+ //On a trouvé un des upload
412
+ $this->db->update_upload( $oProcess->sToken, $oImport['iVideo'] );
413
+ }
414
+ }
415
+ }
416
+ }
417
+ }
418
+
419
+ //Update de la synchro
420
+ $serveurTime = $oApi->time();
421
+ $localTime = time();
422
+ $diff = ($serveurTime - $localTime);
423
+ $this->options['vod_api_servTime'] = $diff;
424
+ $this->options['vod_api_lastUpdate'] = time();
425
+ update_option($this->key, $this->options);
426
+ return true;
427
+ }
428
+
429
+ function fullSynchro(){
430
+ if( !isset($this->options['vod_api_connected']) || $this->options['vod_api_connected'] != 'on' ){
431
+ return false;
432
+ }
433
+ //Suppression et reimportation complete des videos
434
+ $oApi = $this->getAPI();
435
+ $this->fastSynchro( false );
436
+ $iNumberVideoApi = 200;
437
+ $this->db->clean_videos();
438
+ $iVideo = $oApi->countVideo();
439
+ $iPageTotal = floor( ($iVideo-1) / $iNumberVideoApi );
440
+ for( $iPage=0; $iPage <= $iPageTotal; $iPage++ ) {
441
+ $aVideos = $oApi->getLastVideo($iNumberVideoApi, $iPage*$iNumberVideoApi);
442
+ if( !empty($aVideos) ){
443
+ foreach( $aVideos as $oVideo ) {
444
+ $this->db->insert_video( $oVideo['iFileCode'], $oVideo['iFolder'], $oVideo['sFileName'], $oVideo['sFileServerCode'], $oVideo['aEncodes'][0]['sPath'], $oVideo['aEncodes'][0]['eConteneur'], $oVideo['fFileDuration'], $oVideo['dFileUpload'] );
445
+ }
446
+ }
447
+ }
448
+ return true;
449
+ }
450
+
451
+ function vod_admin_menu() {
452
+ $site_url = get_option("siteurl");
453
+
454
+ if (isset($_POST['submitted'])) {
455
+ $bResult = false;
456
+ if ( empty( $this->options['vod_api_callbackKey']) ) {
457
+ $this->options['vod_api_callbackKey'] = sha1( time() * rand() );
458
+ }
459
+ if ( empty( $this->options['vod_api_c']) ) {
460
+ $this->options['vod_api_c'] = substr(sha1( time() * rand() ),0,20);
461
+ }
462
+
463
+ $this->options['vod_api_login'] = stripslashes(htmlspecialchars( $_POST['vod_api_login'] ));
464
+ if ( isset($_POST['vod_api_password']) && $_POST['vod_api_password'] != "XXXXXX" ) {
465
+ $this->options['vod_api_password'] = $this->encrypt( stripslashes(htmlspecialchars( $_POST['vod_api_password'] )));
466
+ }
467
+ $this->options['vod_api_id'] = stripslashes(htmlspecialchars( $_POST['vod_api_id'] ));
468
+ $this->options['vod_api_connected'] = 'off';
469
+
470
+ try {
471
+ $oApi = $this->getAPI();
472
+
473
+ $bResult = $oApi->ping();
474
+ if( $bResult ){
475
+ $this->options['vod_api_connected'] = 'on';
476
+ $this->options['vod_api_icodeservice'] = $oApi->getServiceItemID();
477
+ $this->options['vod_api_group'] = $oApi->getGroupID();
478
+ $this->options['vod_api_lastUpdate'] = 0;
479
+
480
+ //Verification DB et synchro
481
+ $this->install_db();
482
+ if ( empty($this->options['vod_api_valid_callback']) || $this->options['vod_api_valid_callback'] == 'off' ) {
483
+ $sUrl = $oApi->getCallback();
484
+ if ( empty( $sUrl ) || strpos( $sUrl, $site_url )!==false ) {
485
+ $site_url = str_replace("http://","", $site_url);
486
+ $oApi->setCallback( $site_url."/?vod_page=callback&key=".$this->options['vod_api_callbackKey'] );
487
+ $this->options['vod_api_valid_callback'] == 'on';
488
+ } else {
489
+ $this->options['vod_api_valid_callback'] == 'off';
490
+ }
491
+ }
492
+ if( $this->db->count_video() == 0 ){
493
+ $oApi = $this->getAPI();
494
+
495
+ //Update des videos
496
+ $iNumberVideoApi = 200;
497
+ $this->db->clean_videos();
498
+ $iVideo = $oApi->countVideo();
499
+ $iPageTotal = floor( ($iVideo-1) / $iNumberVideoApi );
500
+ for( $iPage=0; $iPage <= $iPageTotal; $iPage++ ) {
501
+ $aVideos = $oApi->getLastVideo($iNumberVideoApi, $iPage*$iNumberVideoApi);
502
+ foreach( $aVideos as $oVideo ) {
503
+ $this->db->insert_video( $oVideo['iFileCode'], $oVideo['iFolder'], $oVideo['sFileName'], $oVideo['sFileServerCode'], $oVideo['aEncodes'][0]['sPath'], $oVideo['aEncodes'][0]['eConteneur'], $oVideo['fFileDuration'], $oVideo['dFileUpload'] );
504
+ }
505
+ }
506
+ }
507
+ }
508
+ } catch (Exception $oException) {
509
+ echo "<h4 style='color: red;'>".__('Erreur : Impossible de se connecter','vod_infomaniak').'</h4>';
510
+ }
511
+ update_option($this->key, $this->options);
512
+ }
513
+ if (isset($_POST['updateSynchro']) && $_POST['updateSynchro'] == 1 ) {
514
+ $this->options['vod_api_lastUpdate'] = 0;
515
+ $this->fastSynchro();
516
+ }
517
+ if (isset($_POST['updateSynchroVideo']) && $_POST['updateSynchroVideo'] == 1 ) {
518
+ $this->options['vod_api_lastUpdate'] = 0;
519
+ $this->fullSynchro();
520
+ }
521
+ if ( $this->options['vod_api_connected'] == "on" ) {
522
+ $this->options['vod_count_player'] = $this->db->count_player();
523
+ $this->options['vod_count_folder'] = $this->db->count_folder();
524
+ $this->options['vod_count_video'] = $this->db->count_video();
525
+ $this->options['vod_count_playlist'] = $this->db->count_playlists();
526
+ }
527
+ $actionurl = $_SERVER['REQUEST_URI'];
528
+ require_once("vod.template.php");
529
+ EasyVod_Display::adminMenu( $actionurl, $this->options, $site_url);
530
+ }
531
+
532
+ function plugin_ready() {
533
+ if ( empty($this->options['vod_api_connected']) || $this->options['vod_api_connected'] == 'off' ) {
534
+ echo "<h2>".__('Probleme de configuration','vod_infomaniak')."</h2><p>".__("Veuillez-vous rendre dans <a href='admin.php?page=configuration'>Videos -> Configuration</a> afin de configurer votre compte.",'vod_infomaniak').'</p>';
535
+ return false;
536
+ }
537
+ return true;
538
+ }
539
+
540
+ function vod_management_menu() {
541
+ if ( $this->plugin_ready() ) {
542
+ if ( isset($_REQUEST['sAction']) ){
543
+ if ( $_REQUEST['sAction'] == "rename" ) {
544
+ $oVideo = $this->db->getVideo( intval($_POST['dialog-modal-id']) );
545
+ if( $oVideo != false ){
546
+ $oApi = $this->getAPI();
547
+ $oApi->renameVideo( $oVideo->iFolder, $oVideo->sServerCode, $_POST['dialog-modal-name']);
548
+ $this->db->rename_video(intval($_POST['dialog-modal-id']), $_POST['dialog-modal-name']);
549
+ echo "<script>";
550
+ echo "jQuery(document).ready(function() {";
551
+ echo " openVodPopup('". $oVideo->iVideo ."', '". $_POST['dialog-modal-name'] ."','". $oVideo->sPath.$oVideo->sServerCode."', '".strtolower($oVideo->sExtension)."');";
552
+ echo "});";
553
+ echo "</script>";
554
+ }
555
+ } else if ( $_REQUEST['sAction'] == "delete" ) {
556
+ $oVideo = $this->db->getVideo( intval($_POST['dialog-confirm-id']) );
557
+ if( $oVideo != false ){
558
+ $oApi = $this->getAPI();
559
+ $oApi->deleteVideo( $oVideo->iFolder, $oVideo->sServerCode );
560
+ $this->db->delete_video(intval($_POST['dialog-confirm-id']));
561
+ }
562
+ } else if ( $_REQUEST['sAction'] == "post" ){
563
+ $oVideo = $this->db->getVideo( intval($_POST['dialog-post-id']) );
564
+ if( $oVideo != false ){
565
+ $sBalise = "vod";
566
+ $oFolder = $this->db->getFolder( $oVideo->iFolder );
567
+ if( $oFolder != false ){
568
+ if( !empty($oFolder->sToken) ){
569
+ $sBalise = "vod tokenfolder='".$oVideo->iFolder."'";
570
+ }
571
+ }
572
+
573
+ // Create post object
574
+ $my_post = array(
575
+ 'post_title' => $oVideo->sName,
576
+ 'post_content' => '['.$sBalise.']'.$oVideo->sPath.$oVideo->sServerCode.".".strtolower($oVideo->sExtension).'[/vod]'
577
+ );
578
+
579
+ // Insert the post into the database
580
+ $id_draft = wp_insert_post( $my_post );
581
+ echo "<h3>".__('Article correctement cree. Vous allez etre rediriger sur la page d\'edition','vod_infomaniak')."</h3>";
582
+ echo "<script type='text/javascript'>window.location = '".admin_url('post.php?post='.$id_draft.'&action=edit')."';</script>";
583
+ exit;
584
+ }
585
+ }
586
+ }
587
+
588
+ $iPage = !empty($_REQUEST['p']) ? intval( $_REQUEST['p'] ) : 1;
589
+ $iLimit = 20;
590
+ $iVideoTotal = $this->db->count_video();
591
+ $aVideos = $this->db->get_videos_byPage($iPage-1, $iLimit);
592
+ for ( $i=0; $i<count($aVideos); $i++ ) {
593
+ if ( !empty($aVideos[$i]->sToken) ) {
594
+ $aVideos[$i]->sToken = $this->getTemporaryKey( $aVideos[$i]->sToken, $aVideos[$i]->sServerCode );
595
+ }
596
+ }
597
+ require_once("vod.template.php");
598
+ $sPagination = EasyVod_Display::buildPagination( $iPage, $iLimit, $iVideoTotal );
599
+ $actionurl = $_SERVER['REQUEST_URI'];
600
+ EasyVod_Display::managementMenu( $actionurl, $sPagination, $this->options, $aVideos );
601
+ }
602
+ }
603
+
604
+ function vod_upload_menu() {
605
+ if ( $this->plugin_ready() ) {
606
+ require_once("vod.template.php");
607
+ if ( isset($_REQUEST['sAction']) && $_REQUEST['sAction'] == "popupUpload" && !empty($_REQUEST['iFolderCode']) ) {
608
+ //Affichage du popup d'upload
609
+ $oFolder = $this->db->getFolder( $_REQUEST['iFolderCode'] );
610
+ if( empty($oFolder) || empty( $oFolder->sName ) ){
611
+ die(__("Il n'est pas possible d'uploader dans ce dossier.",'vod_infomaniak'));
612
+ }
613
+ $oApi = $this->getAPI();
614
+ $sToken = $oApi->initUpload( $oFolder->sPath );
615
+ delete_transient( 'vod_last_import' );
616
+ EasyVod_Display::uploadPopup( $sToken, $oFolder );
617
+ } else if( isset($_REQUEST['sAction']) && $_REQUEST['sAction'] == "popupImport" && !empty($_REQUEST['iFolderCode']) ) {
618
+ //Affichage du popup d'import
619
+ $bResult = false;
620
+ $oFolder = $this->db->getFolder( $_REQUEST['iFolderCode'] );
621
+ if( empty($oFolder) || empty( $oFolder->sName ) ){
622
+ die(__("Il n'est pas possible d'uploader dans ce dossier.",'vod_infomaniak'));
623
+ }
624
+ if( $_REQUEST['submit'] == 1 ){
625
+ $oApi = $this->getAPI();
626
+ $aOptions = array();
627
+ if ( !empty($_REQUEST['sLogin']) && !empty($_REQUEST['sPassword']) ) {
628
+ $aOption['login'] = $_REQUEST['sLogin'];
629
+ $aOption['password'] = $_REQUEST['sPassword'];
630
+ }
631
+ $sUrl = $_REQUEST['sProtocole']."://".$_REQUEST['sUrl'];
632
+ $bResult = $oApi->importFromUrl( $oFolder->sPath, $sUrl , $aOption);
633
+ }
634
+ $actionurl = $_SERVER['REQUEST_URI'];
635
+ delete_transient( 'vod_last_import' );
636
+ EasyVod_Display::ImportPopup( $actionurl, $oFolder, $bResult);
637
+ } else {
638
+ //Affichage de la page principal
639
+ $aFolders = $this->db->get_folders();
640
+
641
+ $actionurl = $_SERVER['REQUEST_URI'];
642
+ EasyVod_Display::uploadMenu( $actionurl, $this->options, $aFolders, $this->getLastImport() );
643
+ }
644
+ }
645
+ }
646
+
647
+ function printLastImport() {
648
+ echo $this->getLastImport();
649
+ die();
650
+ }
651
+
652
+ function getLastImport() {
653
+ require_once("vod.template.php");
654
+ $aLastImport = get_transient( 'vod_last_import' );
655
+ if ( false == $aLastImport ) {
656
+ $oApi = $this->getAPI();
657
+ $aLastImport = $oApi->getLastImportation();
658
+ set_transient( 'vod_last_import', $aLastImport, 15 );
659
+ }
660
+ return EasyVod_Display::tabLastUpload( $aLastImport );
661
+ }
662
+
663
+ function vod_playlist_menu(){
664
+ if ( $this->plugin_ready() ) {
665
+ require_once("vod.template.php");
666
+ $aPlaylist = $this->db->get_playlists();
667
+ $actionurl = $_SERVER['REQUEST_URI'];
668
+ EasyVod_Display::playlistMenu( $actionurl, $this->options, $aPlaylist );
669
+ }
670
+ }
671
+
672
+ function vod_implementation_menu(){
673
+ if ( $this->plugin_ready() ) {
674
+ require_once("vod.template.php");
675
+ if (isset($_POST['submitted'])) {
676
+ $oPlayer = $this->db->get_player( intval($_REQUEST['selectPlayer']) );
677
+ if ( !empty($oPlayer) ) {
678
+ $this->options['player'] = $oPlayer->iPlayer;
679
+ $this->options['width'] = $oPlayer->iWidth;
680
+ $this->options['height'] = $oPlayer->iHeight;
681
+ update_option($this->key, $this->options);
682
+ }
683
+ }
684
+ $aPlayers = $this->db->get_players();
685
+ $actionurl = $_SERVER['REQUEST_URI'];
686
+ EasyVod_Display::implementationMenu( $actionurl, $this->options, $aPlayers );
687
+ }
688
+ }
689
+
690
+ function getTemporaryKey( $sToken, $sVideoName ){
691
+ $iTime = time() + intval($this->options['vod_api_servTime']);
692
+ return md5( $sToken . $sVideoName . $_SERVER['REMOTE_ADDR'] . date("YmdH", $iTime) );
693
+ }
694
+
695
+ function getAPI() {
696
+ require_once('vod.api.php');
697
+ $sPassword = $this->decrypt($this->options['vod_api_password']);
698
+ return new vod_api($this->options['vod_api_login'], $sPassword, $this->options['vod_api_id']);
699
+ }
700
+
701
+ function encrypt($text){
702
+ return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, SALT, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
703
+ }
704
+
705
+ function decrypt($text){
706
+ return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, SALT, base64_decode($text), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
707
+ }
708
+
709
+ function vod_template_redirect() {
710
+ global $wp_query;
711
+ $vod_page = isset($wp_query->query_vars['vod_page']) ? $wp_query->query_vars['vod_page'] : "";
712
+ if ($vod_page == 'callback') {
713
+ include(ABSPATH.'wp-content/plugins/vod-infomaniak/vod_callback.php');
714
+ exit;
715
+ }
716
+ }
717
+ }
718
+
719
+ /**
720
+ * Classe permettant la gestion des tables sql utilisé par ce plugin
721
+ * En cas de problemes ou de questions, veuillez contacter streaming@infomaniak.ch
722
+ *
723
+ * @author Destrem Kevin
724
+ * @link http://statslive.infomaniak.ch/vod/api/
725
+ * @version 1.0
726
+ * @copyright infomaniak.ch
727
+ *
728
+ */
729
+
730
+ class EasyVod_db
731
+ {
732
+ var $db_table_player;
733
+ var $db_table_folder;
734
+ var $db_table_video;
735
+ var $db_table_playlist;
736
+ var $db_table_upload;
737
+ var $db_version = "1.0.5";
738
+
739
+ function __construct() {
740
+ global $wpdb;
741
+ $this->db_table_player = $wpdb->prefix . "vod_player";
742
+ $this->db_table_folder = $wpdb->prefix . "vod_folder";
743
+ $this->db_table_video = $wpdb->prefix . "vod_video";
744
+ $this->db_table_playlist = $wpdb->prefix . "vod_playlist";
745
+ $this->db_table_upload = $wpdb->prefix . "vod_upload";
746
+ }
747
+
748
+ function install_db() {
749
+ require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
750
+
751
+ $sql_player = "CREATE TABLE ".$this->db_table_player." (
752
+ `iPlayer` INT UNSIGNED NOT NULL ,
753
+ `sName` VARCHAR( 255 ) NOT NULL ,
754
+ `iWidth` INT UNSIGNED NOT NULL ,
755
+ `iHeight` INT UNSIGNED NOT NULL ,
756
+ `bAutoPlay` TINYINT UNSIGNED NOT NULL ,
757
+ `bLoop` TINYINT UNSIGNED NOT NULL,
758
+ `bSwitchQuality` TINYINT UNSIGNED NOT NULL,
759
+ `dEdit` DATETIME NOT NULL
760
+ ) CHARACTER SET utf8;";
761
+ dbDelta($sql_player);
762
+
763
+ $sql_folder = "CREATE TABLE ".$this->db_table_folder." (
764
+ `iFolder` INT UNSIGNED NOT NULL ,
765
+ `sPath` VARCHAR( 255 ) NOT NULL ,
766
+ `sName` VARCHAR( 255 ) NOT NULL ,
767
+ `sAccess` VARCHAR( 255 ) NOT NULL ,
768
+ `sToken` VARCHAR( 255 ) NOT NULL
769
+ ) CHARACTER SET utf8;";
770
+ dbDelta($sql_folder);
771
+
772
+ $sql_video = "CREATE TABLE ".$this->db_table_video." (
773
+ `iVideo` INT UNSIGNED NOT NULL ,
774
+ `iFolder` INT UNSIGNED NOT NULL ,
775
+ `sName` VARCHAR( 255 ) NOT NULL ,
776
+ `sPath` VARCHAR( 255 ) NOT NULL,
777
+ `sServerCode` VARCHAR( 255 ) NOT NULL,
778
+ `sExtension` VARCHAR( 4 ) NOT NULL,
779
+ `iDuration` INT UNSIGNED NOT NULL,
780
+ `dUpload` DATETIME NOT NULL
781
+ ) CHARACTER SET utf8;";
782
+ dbDelta($sql_video);
783
+
784
+ $sql_playlist = "CREATE TABLE ".$this->db_table_playlist." (
785
+ `iPlaylistCode` INT UNSIGNED NOT NULL ,
786
+ `sPlaylistName` VARCHAR( 255 ) NOT NULL ,
787
+ `sPlaylistDescription` VARCHAR( 255 ) NOT NULL ,
788
+ `iTotal` INT UNSIGNED NOT NULL,
789
+ `iTotalDuration` INT UNSIGNED NOT NULL,
790
+ `sMode` VARCHAR( 255 ) NOT NULL,
791
+ `dCreated` DATETIME NOT NULL
792
+ ) CHARACTER SET utf8;";
793
+ dbDelta($sql_playlist);
794
+
795
+ $sql_upload = "CREATE TABLE ".$this->db_table_upload." (
796
+ `iUpload` INT UNSIGNED NOT NULL AUTO_INCREMENT,
797
+ `sToken` VARCHAR( 255 ) NOT NULL,
798
+ `iPost` INT UNSIGNED NOT NULL,
799
+ `iVideo` INT UNSIGNED NOT NULL,
800
+ PRIMARY KEY (iUpload),
801
+ UNIQUE KEY sToken (sToken)
802
+ ) CHARACTER SET utf8;";
803
+ dbDelta($sql_upload);
804
+
805
+ update_option( "vod_db_version", $this->db_version );
806
+ }
807
+
808
+ /*
809
+ * Gestion des players
810
+ */
811
+ function get_players() {
812
+ global $wpdb;
813
+ return $wpdb->get_results("SELECT * FROM ".$this->db_table_player);
814
+ }
815
+
816
+ function get_player( $iPlayer ) {
817
+ global $wpdb;
818
+ return $wpdb->get_row("SELECT * FROM ".$this->db_table_player." WHERE iPlayer=".intval($iPlayer)." LIMIT 1");
819
+ }
820
+
821
+ function clean_players() {
822
+ global $wpdb;
823
+ return $wpdb->query("DELETE FROM ".$this->db_table_player);
824
+ }
825
+
826
+ function insert_player( $iPlayer, $sName, $iWidth, $iHeight, $bStart, $bLoop, $dEdit, $bSwitchQuality ) {
827
+ global $wpdb;
828
+ $wpdb->insert( $this->db_table_player, array( 'iPlayer' => $iPlayer, 'sName' => $sName, 'iWidth' => $iWidth, 'iHeight' => $iHeight, 'bAutoPlay' => $bStart, 'bLoop' => $bLoop, 'dEdit' => $dEdit, 'bSwitchQuality' => $bSwitchQuality ) );
829
+ }
830
+
831
+ function count_player() {
832
+ global $wpdb;
833
+ return $wpdb->get_var("SELECT COUNT(*) FROM ".$this->db_table_player);
834
+ }
835
+
836
+ /*
837
+ * Gestion des playlist
838
+ */
839
+ function search_playlist( $sTerm, $iLimit=6) {
840
+ global $wpdb;
841
+ $sql = $wpdb->prepare("SELECT * FROM ".$this->db_table_playlist." WHERE sPlaylistName LIKE %s OR sPlaylistDescription LIKE %s ORDER BY dCreated DESC LIMIT ".intval($iLimit), "%".$sTerm."%", "%".$sTerm."%");
842
+ return $wpdb->get_results($sql);
843
+ }
844
+
845
+ function get_playlists() {
846
+ global $wpdb;
847
+ return $wpdb->get_results("SELECT * FROM ".$this->db_table_playlist);
848
+ }
849
+
850
+ function clean_playlists() {
851
+ global $wpdb;
852
+ return $wpdb->query("DELETE FROM ".$this->db_table_playlist);
853
+ }
854
+
855
+ function insert_playlist( $iPlaylistCode, $sPlaylistName, $sPlaylistDescription, $iTotal, $sMode, $dCreated, $iTotalDuration ) {
856
+ global $wpdb;
857
+ $wpdb->insert( $this->db_table_playlist, array( 'iPlaylistCode' => $iPlaylistCode, 'sPlaylistName' => $sPlaylistName, 'sPlaylistDescription' => $sPlaylistDescription, 'iTotal' => $iTotal, 'sMode' => $sMode, 'dCreated' => $dCreated, 'iTotalDuration' => $iTotalDuration ) );
858
+ }
859
+
860
+ function count_playlists() {
861
+ global $wpdb;
862
+ return $wpdb->get_var("SELECT COUNT(*) FROM ".$this->db_table_playlist);
863
+ }
864
+
865
+ /*
866
+ * Gestion des dossiers
867
+ */
868
+ function getFolder( $iFolder ) {
869
+ global $wpdb;
870
+ return $wpdb->get_row("SELECT * FROM ".$this->db_table_folder." WHERE iFolder=".intval($iFolder)." LIMIT 1");
871
+ }
872
+
873
+ function get_folders() {
874
+ global $wpdb;
875
+ return $wpdb->get_results("SELECT * FROM ".$this->db_table_folder." ORDER BY `sPath` ASC");
876
+ }
877
+
878
+ function clean_folders() {
879
+ global $wpdb;
880
+ return $wpdb->query("DELETE FROM ".$this->db_table_folder);
881
+ }
882
+
883
+ function insert_folder( $iFolder, $sPath, $sName, $sAccess, $sToken) {
884
+ global $wpdb;
885
+ $wpdb->insert( $this->db_table_folder, array( 'iFolder' => $iFolder, 'sPath' => $sPath, 'sName' => $sName, 'sAccess' => $sAccess, 'sToken' => $sToken ) );
886
+ }
887
+
888
+ function count_folder() {
889
+ global $wpdb;
890
+ return $wpdb->get_var("SELECT COUNT(*) FROM ".$this->db_table_folder);
891
+ }
892
+
893
+ /*
894
+ * Gestion des videos
895
+ */
896
+ function search_videos( $sTerm, $iLimit=6) {
897
+ global $wpdb;
898
+ $sql = $wpdb->prepare("SELECT video.*, folder.sAccess, folder.sToken FROM ".$this->db_table_video." as video
899
+ INNER JOIN ".$this->db_table_folder." as folder ON video.iFolder = folder.iFolder
900
+ WHERE video.sName LIKE %s OR sServerCode LIKE %s ORDER BY dUpload DESC LIMIT ".intval($iLimit), "%".$sTerm."%", "%".$sTerm."%");
901
+ return $wpdb->get_results($sql);
902
+ }
903
+
904
+ function get_videos_byPage( $iPage, $iLimit ) {
905
+ global $wpdb;
906
+ return $wpdb->get_results("SELECT video.*, folder.sAccess, folder.sToken FROM ".$this->db_table_video." as video
907
+ INNER JOIN ".$this->db_table_folder." as folder ON video.iFolder = folder.iFolder
908
+ ORDER BY `dUpload` DESC LIMIT ".intval($iPage*$iLimit).", ".intval($iLimit));
909
+ }
910
+
911
+ function get_videos_byCodes( $sServerCode, $iFolderCode ) {
912
+ global $wpdb;
913
+ $sql = $wpdb->prepare("SELECT * FROM ".$this->db_table_video." WHERE sServerCode=%s AND iFolder=%d", $sServerCode, $iFolderCode);
914
+ return $wpdb->get_results($sql);
915
+ }
916
+
917
+ function getLastVideo(){
918
+ global $wpdb;
919
+ return $wpdb->get_row("SELECT * FROM ".$this->db_table_video." ORDER BY dUpload DESC LIMIT 1");
920
+ }
921
+
922
+ function getVideo( $iVideo ) {
923
+ global $wpdb;
924
+ return $wpdb->get_row("SELECT * FROM ".$this->db_table_video." WHERE iVideo=".intval($iVideo)." LIMIT 1");
925
+ }
926
+
927
+ function get_videos() {
928
+ global $wpdb;
929
+ return $wpdb->get_results("SELECT * FROM ".$this->db_table_video." ORDER BY `dUpload` DESC");
930
+ }
931
+
932
+ function clean_videos() {
933
+ global $wpdb;
934
+ return $wpdb->query("DELETE FROM ".$this->db_table_video);
935
+ }
936
+
937
+ function rename_video( $iVideo, $sName){
938
+ global $wpdb;
939
+ $sql = $wpdb->prepare("UPDATE ".$this->db_table_video." SET sName=%s WHERE iVideo=%d LIMIT 1", $sName, $iVideo);
940
+ $wpdb->query( $sql );
941
+ }
942
+
943
+ function insert_video( $iVideo, $iFolder, $sName, $sServerCode, $sPath, $sExtension, $iDuration, $dUpload ) {
944
+ global $wpdb;
945
+ $wpdb->insert( $this->db_table_video, array( 'iVideo' => $iVideo, 'iFolder' => $iFolder, 'sName' => $sName, 'sServerCode' => $sServerCode, 'sPath' => $sPath, 'sExtension' => $sExtension, 'iDuration' => $iDuration, 'dUpload' => $dUpload) );
946
+ }
947
+
948
+ function count_video() {
949
+ global $wpdb;
950
+ return $wpdb->get_var("SELECT COUNT(*) FROM ".$this->db_table_video);
951
+ }
952
+
953
+ function delete_video( $iVideo = -1) {
954
+ global $wpdb;
955
+ return $wpdb->query("DELETE FROM ".$this->db_table_video." WHERE iVideo = ".intval($iVideo)." LIMIT 1");
956
+ }
957
+
958
+ /*
959
+ * Gestion des uploads
960
+ */
961
+ function insert_upload( $sToken, $iPost ) {
962
+ global $wpdb;
963
+ $wpdb->insert( $this->db_table_upload, array( 'sToken' => $sToken, 'iPost' => $iPost) );
964
+ }
965
+
966
+ function update_upload( $sToken, $iPost ) {
967
+ global $wpdb;
968
+ return $wpdb->query( $wpdb->prepare("UPDATE ".$this->db_table_upload." SET `iVideo`=%d WHERE `wp_vod_upload`.`sToken`=%s", $iPost, $sToken) );
969
+ }
970
+
971
+ function get_upload_video( $sToken ) {
972
+ global $wpdb;
973
+ return $wpdb->get_row( $wpdb->prepare("SELECT * FROM ".$this->db_table_upload." WHERE sToken=%s LIMIT 1", $sToken) );
974
+ }
975
+
976
+ function get_upload_process(){
977
+ global $wpdb;
978
+ return $wpdb->get_results("SELECT * FROM ".$this->db_table_upload." WHERE iVideo=0");
979
+ }
980
+ }
981
+
982
+ function vod_query_vars($qvars) {
983
+ $qvars[] = 'vod_page';
984
+ return $qvars;
985
+ }
986
+
987
+ ?>
vod.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: VOD Infomaniak
4
+ Plugin URI: http://wordpress.org/extend/plugins/vod-infomaniak/
5
+ Description: Easily embed and manage videos from Infomaniak VOD in your posts, comments and RSS feeds. You need an Infomaniak VOD account to use this plugin.
6
+ Author: Infomaniak Staff
7
+ Version: 1.0.0
8
+ Author URI: http://infomaniak.com
9
+ */
10
+
11
+ if (isset($oVod)) return false;
12
+ require_once(dirname(__FILE__) . '/vod.class.php');
13
+ $oVod = new EasyVod();
vod.template.php ADDED
@@ -0,0 +1,987 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Classe d'affichage regroupant les differents templates html/js
4
+ * En cas de problemes ou de questions, veuillez contacter streaming@infomaniak.ch
5
+ *
6
+ * @author Destrem Kevin
7
+ * @link http://statslive.infomaniak.ch/vod/api/
8
+ * @version 1.0
9
+ * @copyright infomaniak.ch
10
+ *
11
+ */
12
+
13
+ class EasyVod_Display
14
+ {
15
+
16
+ static function buildForm( $options, $aPlayers, $aLastVideos, $aFolders ) {
17
+ ?>
18
+ <div class="hidden">
19
+ <div id="dialog-vod-form">
20
+ <div id="dialog-tabs" class="ui-tabs">
21
+ <ul class="ui-tabs-nav">
22
+ <li><a href="#dialog-tab2"><?php _e('Dernieres videos','vod_infomaniak');?></a></li>
23
+ <li><a href="#dialog-tab1"><?php _e("Avec l'url",'vod_infomaniak');?></a></li>
24
+ <li><a href="#dialog-tab3"><?php _e("Envoi d'une video",'vod_infomaniak');?></a></li>
25
+ <li><a href="#dialog-tab4"><?php _e('Outil de recherche','vod_infomaniak');?></a></li>
26
+ </ul>
27
+ <div id="dialog-tab1" class="ui-tabs-panel">
28
+ <div style="padding-left: 20px; padding-bottom: 10px;"><?php _e("Veuillez saisir l'URL d'une video",'vod_infomaniak');?></div>
29
+ <div style="padding-left: 20px;">
30
+ <strong><?php _e('Exemple','vod_infomaniak');?> :</strong>
31
+ <ul id="dialog-exemple">
32
+ <li><?php _e('Url complete','vod_infomaniak');?> : <code>http://vod.infomaniak.com/redirect/infomaniak_vod1/folder-234/mp4-148/video.mp4</code>
33
+ <li><?php _e('Url partiel','vod_infomaniak');?> : <code>folder-234/mp4-148/video.mp4</code></li>
34
+ <li><?php _e('Identifiant de playlist','vod_infomaniak');?> : <code>25</code></li>
35
+ </ul>
36
+ </div>
37
+ <p style="text-align:center"><input type="text" id="dialog-url-input"/></p>
38
+ </div>
39
+ <div id="dialog-tab2" class="ui-tabs-panel" style="height: 450px; overflow-y: scroll;">
40
+ <table class="widefat" style="width: 99%">
41
+ <thead>
42
+ <tr>
43
+ <th width="110"><?php _e("Video",'vod_infomaniak'); ?></th>
44
+ <th><?php _e("Nom",'vod_infomaniak'); ?></th>
45
+ <th><?php _e("Date d'upload",'vod_infomaniak'); ?></th>
46
+ </tr>
47
+ </thead>
48
+ <tbody>
49
+ <?php
50
+ if( empty($aLastVideos) ) {
51
+ echo "<option value='0'>". __("Aucune video disponible",'vod_infomaniak') ."</option>";
52
+ } else {
53
+ foreach( $aLastVideos as $oVideo ){
54
+ ?>
55
+ <tr onclick="Vod_selectVideo('<?php echo $oVideo->sPath.$oVideo->sServerCode.".".strtolower($oVideo->sExtension); ?>','<?php echo $oVideo->sToken;?>','<?php echo $oVideo->iFolder;?>');">
56
+ <td>
57
+ <a href="javascript:;" onclick="Vod_selectVideo('<?php echo $oVideo->sPath.$oVideo->sServerCode.".".strtolower($oVideo->sExtension); ?>','<?php echo $oVideo->sToken;?>','<?php echo $oVideo->iFolder;?>');">
58
+ <img width="100" src="<?php echo "http://vod.infomaniak.com/redirect/".$options['vod_api_id'].$oVideo->sPath.$oVideo->sServerCode.".mini.jpg"; ?>"/>
59
+ </a>
60
+ </td>
61
+ <td>
62
+ <a href="javascript:;" onclick="Vod_selectVideo('<?php echo $oVideo->sPath.$oVideo->sServerCode.".".strtolower($oVideo->sExtension); ?>','<?php echo $oVideo->sToken;?>','<?php echo $oVideo->iFolder;?>');"><?php echo ucfirst(stripslashes($oVideo->sName)); ?></a><br/><br/>
63
+ <img src="<?php echo plugins_url('vod-infomaniak/img/ico-folder-open-16x16.png'); ?>" style="vertical-align:bottom"/> <?php echo $oVideo->sPath; ?>
64
+ </td>
65
+ <td><?php echo $oVideo->dUpload; ?></td>
66
+ </tr>
67
+ <?php
68
+ }
69
+ }
70
+ ?>
71
+ </tbody>
72
+ </table>
73
+ </div>
74
+ <div id="dialog-tab3" class="ui-tabs-panel">
75
+ <input type="hidden" id="url_ajax_import_video" value="<?php echo get_bloginfo('wpurl'); ?>/wp-admin/admin-ajax.php?action=vodimportvideo"/>
76
+
77
+ <h4 style="margin:0"><?php _e('1. Selection du dossier','vod_infomaniak');?> :</h4>
78
+ <select id="uploadSelectFolder" style="width:550px;">
79
+ <option value="-1" selected="selected">-- <?php _e("Dossier d'envoi",'vod_infomaniak');?> --</option>
80
+ <?php
81
+ if( empty($aFolders) ) {
82
+ echo "<option value='0'>". __("Aucun dossier disponible",'vod_infomaniak') ."</option>";
83
+ } else {
84
+ foreach( $aFolders as $oFolder ){
85
+ echo "<option value='".$oFolder->iFolder."'>".__('Dossier','vod_infomaniak')." : /".$oFolder->sPath." , ".__('Nom','vod_infomaniak')." : ".$oFolder->sName."</option>";
86
+ }
87
+ }
88
+ ?>
89
+ </select>
90
+ <input type="button" value="Valider" onclick="Vod_importVideo();return false;"/>
91
+ <div id="vodUploadVideo" style="display:none">
92
+ <br/>
93
+ <h4 style="margin:0"><?php _e("2. Envoi d'un fichier",'vod_infomaniak');?> :</h4>
94
+ <div id="up"></div>
95
+ </div>
96
+ <script>
97
+ var flashUpload = function(sKey){
98
+ var objId = "up";
99
+ var paramsUpld = {
100
+ menu: "false",
101
+ AllowScriptAccess: "always",
102
+ wmode : "transparent",
103
+ scale : "noscale",
104
+ salign: "lt",
105
+ bgcolor:"#ffffff",
106
+ quality:"high",
107
+ allowfullscreen:"false"
108
+ };
109
+ var attributesUpld = {
110
+ id: "up",
111
+ name: "upName"
112
+ };
113
+ var flashvarsUpld = {
114
+ key: sKey,
115
+ nbMaxToUpload:1,
116
+ nbFichier:1
117
+ };
118
+
119
+ swfobject.embedSWF("http://adminvod.infomaniak.ch/apiUpload/uploadStda.swf", objId, "700", "80", "9.0.0", "http://infomaniak.ch/shared/flashs/expressInstall.swf", flashvarsUpld, paramsUpld, attributesUpld);
120
+ };
121
+
122
+ var updateUpladerSize = function (objId,iHeight){
123
+ document.getElementById(objId).height = iHeight+"px";
124
+ };
125
+
126
+ multiUploadCallback = function(json) {
127
+ oJson = eval('('+json+')');
128
+ switch (oJson.sStatus) {
129
+ case "init":
130
+ document.getElementById('up').callbackInitialisation();
131
+ break;
132
+ case "complete":
133
+ document.getElementById('up').callbackProcessing(oJson.iCurrent,true);
134
+ jQuery.ajax({
135
+ url: jQuery("#url_ajax_import_video").val(),
136
+ cache: false,
137
+ processData: false,
138
+ data: "upload=finish&post=<?php global $post; echo $post->ID; ?>&sToken="+sVodUploadParameters,
139
+ success: function(html){
140
+ filename = oJson.sOriginalFileName;
141
+ filename = filename.replace(/[^a-zA-Z 0-9,.-_]+/g,'');
142
+ var text = "[upload-vod]" + sVodUploadParameters + ":"+filename+"[/upload-vod]";
143
+ if ( typeof tinyMCE != 'undefined' && ( ed = tinyMCE.activeEditor ) && !ed.isHidden() ) {
144
+ ed.focus();
145
+ if (tinymce.isIE){
146
+ ed.selection.moveToBookmark(tinymce.EditorManager.activeEditor.windowManager.bookmark);
147
+ }
148
+ ed.execCommand('mceInsertContent', false, text);
149
+ } else{
150
+ edInsertContent(edCanvas, text);
151
+ }
152
+ jQuery("#dialog-vod-form").dialog("close");
153
+ jQuery("#vodUploadVideo").hide();
154
+ }
155
+ });
156
+ break;
157
+ case "error":
158
+ alert('upload error : '+oJson.sOriginalFileName);
159
+ break;
160
+ }
161
+ }
162
+ </script>
163
+ </div>
164
+ <div id="dialog-tab4" class="ui-tabs-panel">
165
+ <input type="hidden" id="url_ajax_search_video" value="<?php echo get_bloginfo('wpurl'); ?>/wp-admin/admin-ajax.php?action=vodsearchvideo"/>
166
+ <input type="hidden" id="url_ajax_search_playlist" value="<?php echo get_bloginfo('wpurl'); ?>/wp-admin/admin-ajax.php?action=vodsearchplaylist"/>
167
+ <div style="padding-left: 30px;">
168
+ <label style="font-weight: bold; margin-bottom: 5px;"><?php _e("Recherche d'une",'vod_infomaniak');?> :</label><br/><br/>
169
+ <input type="radio" name="searchtype" id="video" value="video" checked="checked" onclick="checkSearchType();"> <label for="video"><?php _e('Video','vod_infomaniak');?></label>
170
+ <input type="radio" name="searchtype" id="playlist" value="playlist" onclick="checkSearchType();"> <label for="playlist"><?php _e('Playlist','vod_infomaniak');?></label>
171
+ <br/>
172
+ </div>
173
+ <p style="text-align:center">
174
+ <input id="dialog-search-input-video" class="dialog-search-input"/>
175
+ <input id="dialog-search-input-playlist" class="dialog-search-input"/>
176
+ </p>
177
+ </div>
178
+ </div>
179
+ <div id="dialog-config">
180
+ <div id="dialog-slide-header" class="ui-dialog-titlebar" onclick="Vod_dialogToggleSlider();"><?php _e('Options d\'integration','vod_infomaniak');?></div>
181
+ <div id="dialog-slide" style="display:none">
182
+ <p class="dialog-form-line">
183
+ <label><?php _e('Dimensions','vod_infomaniak');?></label>
184
+ <input type="text" id="dialog-width-input" size="5"/> &#215; <input type="text" id="dialog-height-input" size="5"/> pixels</p>
185
+ </p>
186
+ <p class="dialog-form-line">
187
+ <input type="hidden" id="dialog-player-default" value="<?php echo $options['player']; ?>"/>
188
+ <label><?php _e('Player choisi','vod_infomaniak');?></label>
189
+ <select id="dialog-player">
190
+ <?php
191
+ if( empty($aPlayers) ) {
192
+ echo "<option value='0'>". __("Aucun player disponible",'vod_infomaniak') ."</option>";
193
+ } else {
194
+ foreach( $aPlayers as $player ){
195
+ $selected = "";
196
+ if( $options['player'] == $player->iPlayer ){
197
+ $selected = 'selected="selected"';
198
+ }
199
+ echo "<option value='".$player->iPlayer."' $selected>".ucfirst($player->sName)."</option>";
200
+ }
201
+ }
202
+ ?>
203
+ </select>
204
+ </p>
205
+ <p class="dialog-form-line">
206
+ <label><?php _e('Etirer la video (stretch)','vod_infomaniak');?></label>
207
+ <input type="checkbox" id="dialog-stretch" checked="checked" value="1"/>
208
+ </p>
209
+ <p class="dialog-form-line">
210
+ <label><?php _e('Demarrage automatique','vod_infomaniak');?></label>
211
+ <input type="checkbox" id="dialog-autostart" value="1"/>
212
+ <p>
213
+ <p class="dialog-form-line">
214
+ <label><?php _e('Lecture en boucle','vod_infomaniak');?></label>
215
+ <input type="checkbox" id="dialog-loop" value="1"/>
216
+ </p>
217
+ <p class="dialog-form-line">
218
+ <label><?php _e('Utilisation du token du dossier (Id dossier)','vod_infomaniak');?></label>
219
+ <input type="text" id="dialog-token" size="5"/>
220
+ </p>
221
+ </div>
222
+ </div>
223
+ </div>
224
+ </div>
225
+ <?php
226
+ }
227
+
228
+ static function adminMenu( $action_url, $options, $sUrl){
229
+ ?>
230
+ <h2><?php _e('Administration du plugin VOD','vod_infomaniak');?></h2>
231
+ <form name="adminForm" action="<?php echo $action_url; ?>" method="post">
232
+ <input type="hidden" name="submitted" value="1" />
233
+ <p>
234
+ <?php _e("Pour fonctionner, le plugin a besoin de s'interfacer avec votre compte VOD infomaniak.<br/>
235
+ Pour des raisons de securites, il est fortement conseille de creer un nouvel utilisateur dedie dans votre admin infomaniak avec uniquement des droits restreints sur l'API.<br/>
236
+ Pour plus d'information, veuillez vous rendre dans la partie \"Configuration -> Api & Callback\" de votre administration VOD.",'vod_infomaniak');?>
237
+
238
+ </p>
239
+ <p>
240
+ <label><?php _e('Login','vod_infomaniak'); ?> :</label>
241
+ <input type="text" id="vod_api_login" name="vod_api_login" value="<?php echo !empty($options['vod_api_login']) ? $options['vod_api_login'] : ""; ?>"/>
242
+ </p>
243
+ <p>
244
+ <label><?php _e('Password','vod_infomaniak'); ?> :</label>
245
+ <input type="password" id="vod_api_password" name="vod_api_password" value="<?php echo !empty($options['vod_api_password']) ? "XXXXXX" : ""; ?>"/>
246
+ </p>
247
+ <p>
248
+ <label><?php _e("Identifiant de l'espace VOD",'vod_infomaniak'); ?> :</label>
249
+ <input type="text" id="vod_api_id" name="vod_api_id" value="<?php echo !empty($options['vod_api_id']) ? $options['vod_api_id'] : ""; ?>"/>
250
+ </p>
251
+ <p>
252
+ <label><?php _e('Connection','vod_infomaniak'); ?> :</label>
253
+ <?php
254
+ if( $options['vod_api_connected'] == "on") {
255
+ echo "<span style='color: green;'>".__('Connecter','vod_infomaniak');"</span>";
256
+ } else {
257
+ echo "<span style='color: red;'>".__('Impossible de se connecter','vod_infomaniak');"</span>";
258
+ }
259
+ ?>
260
+ </p>
261
+ <div class="submit"><input type="submit" name="Submit" value="<?php _e('Valider','vod_infomaniak'); ?>" /></div>
262
+ </form>
263
+
264
+ <?php
265
+ if( $options['vod_api_connected'] == "on") {
266
+ ?>
267
+ <h2><?php _e('Synchronisation des donnees','vod_infomaniak'); ?></h2>
268
+ <p><?php _e("Pour fonctionner correctement, cette extension a besoin de se synchroniser regulierement avec votre compte VOD.<br/>Cela vous permet de garder une liste des players, dossiers et playlist a jour sur votre blog.<br/>Cette operation s'effectue automatiquement assez regulierement mais il est egalement possible de forcer une verification ci-dessous.",'vod_infomaniak'); ?></p>
269
+ <p>
270
+ <label><?php _e('Videos recuperes','vod_infomaniak'); ?> :</label>
271
+ <span style="font-weight: bold;"><?php echo intval($options['vod_count_video']); ?></span>
272
+ </p>
273
+ <p>
274
+ <label><?php _e('Dossiers recuperes','vod_infomaniak'); ?> :</label>
275
+ <span style="font-weight: bold;"><?php echo intval($options['vod_count_folder']); ?></span>
276
+ </p>
277
+ <p>
278
+ <label><?php _e('Players recuperes','vod_infomaniak'); ?> :</label>
279
+ <span style="font-weight: bold;"><?php echo intval($options['vod_count_player']); ?></span>
280
+ </p>
281
+ <p>
282
+ <label><?php _e('Playlist recuperes','vod_infomaniak'); ?> :</label>
283
+ <span style="font-weight: bold;"><?php echo intval($options['vod_count_playlist']); ?></span>
284
+ </p>
285
+
286
+
287
+ <div class="submit">
288
+ <form id="updateSynchro" name="updateSynchro" action="<?php echo $action_url; ?>" method="post" style="display:inline;">
289
+ <input type="hidden" name="updateSynchro" value="1" />
290
+ <input type="submit" name="Submit" value="<?php _e('Synchronisation rapide','vod_infomaniak'); ?>" />
291
+ </form>
292
+ <form id="updateSynchroVideo" name="updateSynchroVideo" action="<?php echo $action_url; ?>" method="post" style="display:inline;">
293
+ <input type="hidden" name="updateSynchroVideo" value="1" />
294
+ <input type="submit" name="Submit" value="<?php _e('Synchroniser Videos','vod_infomaniak'); ?>" />
295
+ </form>
296
+ </div>
297
+
298
+ <h2><?php _e('Configuration du callback','vod_infomaniak'); ?></h2>
299
+ <p><?php printf( __("Cette option vous permet de mettre a jour automatiquement votre blog a chaque ajout de video a votre espace VOD.<br/>Veuillez aller dans \"<a href='https://statslive.infomaniak.com/vod/configuration.php?iVodCode=%d' target='_blank'>Configuration -> Api & Callback</a>\" et mettre l'adresse suivante dans le champ \"Adresse de Callback\"",'vod_infomaniak'), $options['vod_api_icodeservice']); ?>
300
+
301
+ </p>
302
+ <p>
303
+ <label style="font-weight: bold;"><?php _e('Adresse de callback','vod_infomaniak'); ?> :</label>
304
+ <span><?php echo $sUrl."/?vod_page=callback&key=".$options['vod_api_callbackKey']; ?></span>
305
+ </p>
306
+ <?php
307
+ }
308
+ }
309
+
310
+ static function tabLastUpload( $aLastImport ){
311
+ $sTab = "";
312
+ if( !empty( $aLastImport ) ){
313
+ $sTab .= "<span id='tabImportRefresh' style='float:right; padding-right: 20px;'></span>";
314
+ $sTab .= "<h2>".__('Precedents Envois','vod_infomaniak')."</h2>";
315
+ $sTab .= "<table class='widefat' style='width: 99%'><thead><tr>";
316
+ $sTab .= "<th>".__('Fichier','vod_infomaniak')."</th><th>".__('Date','vod_infomaniak')."</th><th>".__('Statut','vod_infomaniak')."</th><th>".__('Description','vod_infomaniak')."</th>";
317
+ $sTab .= "</tr></thead><tbody>";
318
+ foreach( $aLastImport as $oImport ){
319
+ $sTab .= "<tr>";
320
+ $sTab .= " <td><img src='" . plugins_url('vod-infomaniak/img/videofile.png') . "' style='vertical-align:bottom'/>". $oImport['sFileName'] ."</td>";
321
+ $sTab .= " <td>". $oImport['dDateCreation'] ."</td>";
322
+ $sTab .= " <td>";
323
+ if( $oImport['sProcessState'] == "OK" ){
324
+ $sTab .= " <img src='" . plugins_url('vod-infomaniak/img/ico-tick.png') . "' style='vertical-align:bottom'/> ".__('OK','vod_infomaniak');
325
+
326
+ }else if( $oImport['sProcessState'] == "WARNING"){
327
+ $sTab .= "<img src='" . plugins_url('vod-infomaniak/img/videofile.png') . "' style='vertical-align:bottom'/> ".__('Ok (des alertes sont apparues)','vod_infomaniak');
328
+
329
+ }else if( $oImport['sProcessState'] == "DOWNLOAD"){
330
+ $sTab .= "<img src='" . plugins_url('vod-infomaniak/img/ico-download.png') . "' style='vertical-align:bottom'/> ".__('Telechargement en cours','vod_infomaniak');
331
+
332
+ }else if( $oImport['sProcessState'] == 'WAITING' || $oImport['sProcessState'] == 'QUEUE' || $oImport['sProcessState'] == 'PROCESSING'){
333
+ $sTab .= "<img src='" . plugins_url('vod-infomaniak/img/ajax-loader.gif') . "' style='vertical-align:bottom'/> ".__('En cours de conversion','vod_infomaniak');
334
+
335
+ }else{
336
+ $sTab .= "<img src='" . plugins_url('vod-infomaniak/img/ico-exclamation-yellow.png') . "' style='vertical-align:bottom'/> ".__('Erreurs','vod_infomaniak');
337
+ }
338
+ $sTab .= " </td>";
339
+ $sTab .= " <td width='50%'>". $oImport['sLog'] ."</td>";
340
+ $sTab .= "</tr>";
341
+ }
342
+ $sTab .= "</tbody></table>";
343
+ }
344
+ return $sTab;
345
+ }
346
+
347
+ static function uploadMenu( $actionurl, $options, $aFolders, $sTab=""){
348
+ ?>
349
+ <h2><?php _e("Envoi d'une nouvelle video",'vod_infomaniak'); ?></h2>
350
+ <p><?php _e("Ce plug-in vous permet d'ajouter de nouvelles videos directement depuis ce blog. Pour cela, vous n'avez qu'a choisir un dossier puis suivre les instructions",'vod_infomaniak'); ?> :</p>
351
+ <p>
352
+ <label><b>1.</b> <?php _e("Choix du dossier d'envoi",'vod_infomaniak'); ?> :</label><br/>
353
+ <select id="uploadSelectFolder" onchange="changeFolder();" onkeyup="changeFolder();">
354
+ <option value="-1" selected="selected">-- Dossier d'envoi --</option>
355
+ <?php
356
+ if( empty($aFolders) ) {
357
+ echo "<option value='0'>". __("Aucun dossier disponible",'vod_infomaniak') ."</option>";
358
+ } else {
359
+ foreach( $aFolders as $oFolder ){
360
+ echo "<option value='".$oFolder->iFolder."'>".__('Dossier','vod_infomaniak')." : /".$oFolder->sPath." , ".__('Nom','vod_infomaniak')." : ".$oFolder->sName."</option>";
361
+ }
362
+ }
363
+ ?>
364
+ </select>
365
+ </p>
366
+ <p>
367
+ <div id="submitLine" class="submit">
368
+ <label><b>2.</b> <?php _e("Choix du type d'envoi",'vod_infomaniak'); ?> :</label><br/>
369
+ <input type="button" name="Submit" value="<?php _e("Envoyer depuis cet ordinateur",'vod_infomaniak'); ?>" onclick="vod_uploadPopup();"/>
370
+ <input type="button" name="Submit" value="<?php _e("Importer depuis un autre site",'vod_infomaniak'); ?>" onclick="vod_importPopup();"/>
371
+ </div>
372
+ </p>
373
+
374
+ <div id="tabImport"><?php echo $sTab; ?></div>
375
+
376
+ <div id="dialog-message-upload" title="<?php _e('Envoi termine'); ?>" style="display:none;">
377
+ <p style="padding-left: 10px;">
378
+ <?php _e("L'ajout de cette video a correctement ete pris en compte.<br/>Vous pouvez retrouver l'avancement de cette conversion video dans le tableau ci-dessous."); ?>
379
+ </p>
380
+ </div>
381
+
382
+ <script type="text/javascript">
383
+ changeFolder = function(){
384
+ if( jQuery("#uploadSelectFolder").val() != -1 ){
385
+ jQuery("#submitLine").show();
386
+ }else{
387
+ jQuery("#submitLine").hide();
388
+ }
389
+ };
390
+ changeFolder();
391
+
392
+ vod_uploadPopup = function(){
393
+ var height = 550;
394
+ var width = 1024;
395
+ var top=(screen.height - height)/2;
396
+ var left=(screen.width - width)/2;
397
+ window.open('<?php echo $actionurl; ?>&sAction=popupUpload&iFolderCode='+jQuery("#uploadSelectFolder").val(), 'UploadTool'+jQuery("#uploadSelectFolder").val(),
398
+ config='height='+height+', width='+width+', top='+top+', left='+left+', toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no'
399
+ );
400
+ };
401
+
402
+ vod_importPopup = function(){
403
+ var height = 550;
404
+ var width = 1024;
405
+ var top=(screen.height - height)/2;
406
+ var left=(screen.width - width)/2;
407
+ window.open('<?php echo $actionurl; ?>&sAction=popupImport&iFolderCode='+jQuery("#uploadSelectFolder").val(), 'importTool'+jQuery("#uploadSelectFolder").val(),
408
+ config='height='+height+', width='+width+', top='+top+', left='+left+', toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no'
409
+ );
410
+ };
411
+
412
+ (function(){
413
+ iAjaxRefresh = 5;
414
+ iAjaxDecompte = 0;
415
+
416
+ jQuery(document).ready(function() {
417
+ iAjaxDecompte = 30;
418
+ if( jQuery('#tabImportRefresh') && jQuery('#tabImport') ){
419
+ setTimeout('update_vod_import();', 30000);
420
+ setTimeout('update_info();', 100);
421
+ }
422
+ });
423
+
424
+ update_info = function(){
425
+ if( iAjaxDecompte >= 0 ){
426
+ iAjaxDecompte -= 1;
427
+ jQuery('#tabImportRefresh').html("<span style='font-style:italic;color: #666666;'><img src='<?php echo plugins_url('vod-infomaniak/img/ico-refresh.png'); ?>' style='vertical-align:bottom;'/> <?php _e("Mise a jour dans",'vod_infomaniak'); ?> "+ (iAjaxDecompte*1+1) +" secondes</span>");
428
+ }
429
+ setTimeout('update_info();', 1000);
430
+ }
431
+
432
+ update_vod_import = function() {
433
+ iAjaxDecompte = 0;
434
+ jQuery.ajax({
435
+ type: "post",url: "admin-ajax.php",data: { action: 'importvod'},
436
+ success: function(html){
437
+ jQuery("#tabImport").html(html);
438
+ }
439
+ });
440
+ if( iAjaxRefresh < 10 ){
441
+ iAjaxDecompte = 30;
442
+ setTimeout('update_vod_import();', 30000);
443
+ }else if( iAjaxRefresh < 25 ){
444
+ iAjaxDecompte = 60;
445
+ setTimeout('update_vod_import();', 60000);
446
+ }else if( iAjaxRefresh < 35 ){
447
+ iAjaxDecompte = 120;
448
+ setTimeout('update_vod_import();', 120000);
449
+ }else if( iAjaxRefresh < 45 ){
450
+ iAjaxDecompte = 300;
451
+ setTimeout('update_vod_import();', 300000);
452
+ }else if( iAjaxRefresh < 60 ){
453
+ iAjaxDecompte = 600;
454
+ setTimeout('update_vod_import();', 600000);
455
+ }else{
456
+ iAjaxDecompte = -1;
457
+ }
458
+ iAjaxRefresh++;
459
+ }
460
+
461
+ uploadFinish = function(){
462
+ jQuery( "#dialog-message-upload" ).dialog({
463
+ modal: true,
464
+ width: 600,
465
+ buttons: {
466
+ Ok: function() {
467
+ jQuery( this ).dialog( "close" );
468
+ }
469
+ }
470
+ });
471
+ iAjaxRefresh = 0;
472
+ update_vod_import();
473
+ }
474
+
475
+ })();
476
+
477
+ </script>
478
+ <?php
479
+ }
480
+
481
+ static function uploadPopup( $token, $oFolder, $bResult=false ){
482
+ ?>
483
+ <script type="text/javascript" charset="iso-8859-1" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js" ></script>
484
+ <script type="text/javascript" charset="iso-8859-1" src="http://vod.infomaniak.com/apiUpload/flashUpload.js" ></script>
485
+
486
+ <h2><?php _e("Utilitaire d'envoi de video",'vod_infomaniak'); ?></h2>
487
+ <p>
488
+ <label style="font-weight: bold"><?php _e("Dossier d'envoi",'vod_infomaniak'); ?> :</label>
489
+ <span><img src="<?php echo plugins_url('vod-infomaniak/img/ico-folder-open-16x16.png'); ?>" style="vertical-align:bottom"/> <?php echo $oFolder->sName; ?> ( '<?php echo $oFolder->sPath; ?>' )</span>
490
+ </p>
491
+ <p>
492
+ <label style="font-weight: bold"><?php _e("Limites",'vod_infomaniak'); ?> :</label>
493
+ <ul style="list-style: disc inside; margin-left: 20px;">
494
+ <li><?php _e("Le poids des fichiers envoyes via ce module est limite a 1Go",'vod_infomaniak'); ?></li>
495
+ <li><?php _e("Les formats videos supportes sont avi, flv, mov, mpeg, mp4, mkv, rm, wmv, m4v, vob, 3gp, webm, f4v, ts",'vod_infomaniak'); ?></li>
496
+ <li><?php _e("L'envoi doit etre effectue en moins de 4 heures",'vod_infomaniak'); ?></li>
497
+ </ul>
498
+ </p>
499
+ <p><label style="font-weight: bold"><?php _e("Envoi",'vod_infomaniak'); ?> :</label></p>
500
+ <div id="up"></div>
501
+
502
+ <script type="text/javascript">
503
+ jQuery('#adminmenuwrap').remove();
504
+ flashUpload('<?php echo $token; ?>');
505
+
506
+ multiUploadCallback = function(json){
507
+ oJson = eval('('+json+')');
508
+ switch (oJson.sStatus){
509
+ case "init":
510
+ document.getElementById('up').callbackInitialisation();
511
+ break;
512
+ case "complete":
513
+ document.getElementById('up').callbackProcessing(oJson.iCurrent,true);
514
+ setTimeout('CallParentWindowFunction();', 2500);
515
+ break;
516
+ case "error":
517
+ alert('upload error : '+oJson.sOriginalFileName);
518
+ break;
519
+ }
520
+ }
521
+
522
+ CallParentWindowFunction = function(){
523
+ window.opener.uploadFinish();
524
+ return false;
525
+ }
526
+ </script>
527
+ <?php
528
+ }
529
+
530
+ static function importPopup( $action_url, $oFolder, $bResult=false ){
531
+ ?>
532
+ <h2><?php _e("Utilitaire d'importation de video",'vod_infomaniak'); ?></h2>
533
+
534
+ <form name="adminForm" action="<?php echo $action_url; ?>" method="post">
535
+ <input type="hidden" name="submit" value="1"/>
536
+ <input type="hidden" name="sAction" value="popupImport"/>
537
+ <input type="hidden" name="iFolder" value="<?php echo $oFolder->iFolder; ?>"/>
538
+ <p>
539
+ <label style="font-weight: bold"><?php _e("Dossier d'envoi",'vod_infomaniak'); ?> :</label>
540
+ <span><img src="<?php echo plugins_url('vod-infomaniak/img/ico-folder-open-16x16.png'); ?>" style="vertical-align:bottom"/> <?php echo $oFolder->sName; ?> ( '<?php echo $oFolder->sPath; ?>' )</span>
541
+ </p>
542
+ <p>
543
+ <label style="font-weight: bold"><?php _e("Limites",'vod_infomaniak'); ?> :</label>
544
+ <ul style="list-style: disc inside; margin-left: 20px;">
545
+ <li><?php _e("Le poids des fichiers envoyes via ce module est limite a 1Go",'vod_infomaniak'); ?></li>
546
+ <li><?php _e("Les formats videos supportes sont avi, flv, mov, mpeg, mp4, mkv, rm, wmv, m4v, vob, 3gp, webm, f4v, ts",'vod_infomaniak'); ?></li>
547
+ </ul>
548
+ </p>
549
+ <p>
550
+ <label style="font-weight: bold"><?php _e("Adresse",'vod_infomaniak'); ?> :</label>
551
+ <select name="sProtocole" id="sProtocole">
552
+ <option value="http">http://</option>
553
+ <option value="https">https://</option>
554
+ <option value="ftp">ftp://</option>
555
+ </select>
556
+ <input type="text" onkeyup="checkURL();" showsuccess="false" style="width: 50%" value="" name="sUrl" id="sUrl">
557
+ </p>
558
+ <p>
559
+ <input type="checkbox" value="1" onclick="checkAuth();" name="bNeedAuth" id="bNeedAuth">
560
+ <?php _e("Cette adresse necessite une authentification.",'vod_infomaniak'); ?>
561
+ </p>
562
+ <p id="authLine">
563
+ <label style="font-weight: bold"><?php _e("Login",'vod_infomaniak'); ?> :</label> <input type="text" name="sLogin">
564
+ <label style="font-weight: bold"><?php _e("Password",'vod_infomaniak'); ?> :</label> <input type="password" name="sPassword">
565
+ </p>
566
+ <div class="submit"><input type="submit" name="Submit" value="<?php _e("Importer",'vod_infomaniak'); ?>" /></div>
567
+ </form>
568
+ <script type="text/javascript">
569
+ jQuery('#adminmenuwrap').remove();
570
+
571
+ checkURL = function(){
572
+ var url = jQuery('#sUrl').val();
573
+ if (url.indexOf("http://") !=-1) {
574
+ jQuery('#sProtocole').val('http');
575
+ jQuery('#sUrl').val( url.replace(/http:\/\//i, "") );
576
+ }else if (url.indexOf("https://") !=-1) {
577
+ jQuery('#sProtocole').val('https');
578
+ jQuery('#sUrl').val( url.replace(/https:\/\//i, "") );
579
+ }else if (url.indexOf("ftp://") !=-1) {
580
+ jQuery('#sProtocole').val('ftp');
581
+ jQuery('#sUrl').val( url.replace(/ftp:\/\//i, "") );
582
+ }
583
+ };
584
+
585
+ checkAuth = function(){
586
+ if( jQuery("#bNeedAuth").attr('checked') ){
587
+ jQuery("#authLine").show();
588
+ }else{
589
+ jQuery("#authLine").hide();
590
+ }
591
+ };
592
+ checkAuth();
593
+
594
+ CallParentWindowFunction = function(){
595
+ window.opener.uploadFinish();
596
+ return false;
597
+ }
598
+ <?php if($bResult){ echo "CallParentWindowFunction();"; } ?>
599
+ </script>
600
+ <?php
601
+ }
602
+
603
+ static function managementMenu( $action_url, $sPagination, $aOptions, $aVideos){
604
+ ?>
605
+ <h2><?php _e("Gestionnaire de videos",'vod_infomaniak'); ?></h2>
606
+
607
+ <div class="tablenav" style="padding-right: 20px;">
608
+ <div class='tablenav-pages'>
609
+ <?php echo $sPagination; ?>
610
+ </div>
611
+ </div>
612
+
613
+ <div id="dialog-confirm-vod" title="<?php _e("Supprimer une video",'vod_infomaniak'); ?>" style="display:none;">
614
+ <form id="adminFormVodDelete"name="adminForm" action="<?php echo $action_url; ?>" method="POST">
615
+ <input type="hidden" name="submitted" value="1" />
616
+ <input type="hidden" name="sAction" value="delete" />
617
+ <input type="hidden" id="dialog-confirm-id" name="dialog-confirm-id" value=""/>
618
+ <p style="padding-left: 10px;">
619
+ <?php _e("Vous etes sur le point de supprimer la video",'vod_infomaniak'); ?> '<span id="dialog-confirm-title" style="font-weight: bold;"></span>'.<br/><br/>
620
+ <span style="color: darkRed; font-style:italic;">
621
+ <span style="font-weight: bold;"><?php _e("Attention",'vod_infomaniak'); ?> :</span>
622
+ <?php _e("C'est une suppression definitive de la video, il n'y pas de corbeille ou de moyen de la recuperer une fois effacer.",'vod_infomaniak'); ?>
623
+ </span><br/><br/>
624
+ <?php _e("Etes-vous sur de vouloir continuer ?",'vod_infomaniak'); ?>
625
+ </p>
626
+ </form>
627
+ </div>
628
+
629
+ <div id="dialog-modal-vod" title="<?php _e("Previsualisation d'une video",'vod_infomaniak'); ?>" style="display:none; padding: 5px; overflow: hidden;">
630
+ <h3 id="dialog-modal-title" style="text-align:center; margin: 5px">Titre</h3>
631
+ <center>
632
+ <iframe id="dialog-modal-video" frameborder="0" width="480" height="320" src="#"></iframe>
633
+ </center>
634
+ <div style="padding-left:5px">
635
+ <h3><?php _e("Informations",'vod_infomaniak'); ?></h3>
636
+ <p>
637
+ <form name="adminForm" action="<?php echo $action_url; ?>" method="POST">
638
+ <input type="hidden" name="submitted" value="1" />
639
+ <input type="hidden" name="sAction" value="rename" />
640
+ <input type="hidden" id="dialog-modal-id" name="dialog-modal-id" value=""/>
641
+ <input type="submit" value="Modifier" style="float:right; margin-right:25px;"/>
642
+ <input id="dialog-modal-name" name="dialog-modal-name" text="" style="float:right; width: 350px; border: 1px solid #CCCCCC; color: #444444; border-radius: 3px; padding: 4px"/>
643
+ </form>
644
+ <label><?php _e("Nom",'vod_infomaniak'); ?> :</label>
645
+ </p>
646
+ <p id="dialog-modal-access-block" style="padding-top: 2px;">
647
+ <label><?php _e("Restriction d'acces",'vod_infomaniak'); ?> :</label>
648
+ <span id="dialog-modal-access" style="font-weight: bold; padding-left: 45px;"></span>
649
+ </p>
650
+ <h3><?php _e("Integration",'vod_infomaniak'); ?></h3>
651
+ <p>
652
+ <a id="dialog-modal-url-href" href="#" target="_blank">
653
+ <img src="<?php echo plugins_url('vod-infomaniak/img/ico-redo.png'); ?>" style="float:right; margin-right:25px; vertical-align:bottom;" alt="<?php _e("Visualiser la video",'vod_infomaniak'); ?>"/>
654
+ </a>
655
+ <input id="dialog-modal-url" text="" style="float:right; width: 393px; margin-right: 5px; border 1px solid #CCC; border-radius: 3px; background-color: #FFF; margin-top:0; padding: 4px; border: 1px solid #CCCCCC; color: #444444;" readonly="value" onfocus="this.select();"/>
656
+ <label><?php _e("Url de la video",'vod_infomaniak'); ?> :</label>
657
+ </p>
658
+ <p>
659
+ <a id="dialog-modal-url-img-href" href="#" target="_blank">
660
+ <img src="<?php echo plugins_url('vod-infomaniak/img/ico-redo.png'); ?>" style="float:right; margin-right:25px; vertical-align:bottom;" alt="Visualiser l'image"/>
661
+ </a>
662
+ <input id="dialog-modal-url-img" text="" style="float:right; width: 393px; margin-right: 5px; border 1px solid #CCC; border-radius: 3px; background-color: #FFF; margin-top:0; padding: 4px; border: 1px solid #CCCCCC; color: #444444;" readonly="value" onfocus="this.select();"/>
663
+ <label><?php _e("Url de l'image",'vod_infomaniak'); ?> :</label>
664
+ </p>
665
+ <p>
666
+ <input id="dialog-modal-balise" text="" style="float:right; margin-right:25px; width: 414px; border 1px solid #CCC; border-radius: 3px; background-color: #FFF; margin-top:0; padding: 4px; border: 1px solid #CCCCCC; color: #444444;" readonly="value" onfocus="this.select();"/>
667
+ <label><?php _e("Code d'integration",'vod_infomaniak'); ?> :</label>
668
+ </p>
669
+ </div>
670
+ <div style="padding-top: 15px; text-align:center;">
671
+ <ul style="display:inline; ">
672
+ <li style="display:inline">
673
+ <a id="dialog-modal-admin" href="#" target="_blank" style="text-decoration: none; color:#444444; font-weight: bold;">
674
+ <img src="<?php echo plugins_url('vod-infomaniak/img/ico-video.png'); ?>" alt="<?php _e("Administrer cette video",'vod_infomaniak'); ?>" style="vertical-align:bottom"/> <?php _e("Administrer cette video",'vod_infomaniak'); ?>
675
+ </a>
676
+ </li>
677
+ <li style="display:inline; padding-left: 20px">
678
+ <a id="dialog-modal-admin2" href="#" target="_blank" style="text-decoration: none; color:#444444; font-weight: bold;">
679
+ <img src="<?php echo plugins_url('vod-infomaniak/img/ico-statistics.png'); ?>" alt="<?php _e("Voir les statistiques de cette video",'vod_infomaniak'); ?>" style="vertical-align:bottom"/> <?php _e("Voir les statistiques",'vod_infomaniak'); ?>
680
+ </a>
681
+ </li>
682
+ <li style="display:inline; padding-left: 20px">
683
+ <form id="adminFormPost" name="adminFormPost" action="<?php echo $action_url; ?>" method="POST" style="display:none">
684
+ <input type="hidden" name="submitted" value="1" />
685
+ <input type="hidden" name="sAction" value="post" />
686
+ <input type="hidden" id="dialog-post-id" name="dialog-post-id" value=""/>
687
+ </form>
688
+ <a id="dialog-modal-admin3" href="javascript:;" onclick="jQuery('#adminFormPost').submit();" style="text-decoration: none; color:#444444; font-weight: bold;">
689
+ <img src="<?php echo plugins_url('vod-infomaniak/img/ico-edit.png'); ?>" alt="<?php _e("Creer un article",'vod_infomaniak'); ?>" style="vertical-align:bottom"/> <?php _e("Creer un article",'vod_infomaniak'); ?>
690
+ </a>
691
+ </li>
692
+ </ul>
693
+ </div>
694
+ </div>
695
+
696
+ <table class="widefat" style="width: 99%">
697
+ <thead>
698
+ <tr>
699
+ <th width="50%"><?php _e("Video",'vod_infomaniak'); ?></th>
700
+ <th><?php _e("Dossier",'vod_infomaniak'); ?></th>
701
+ <th><?php _e("Date d'upload",'vod_infomaniak'); ?></th>
702
+ <th width="80"><?php _e("Action",'vod_infomaniak'); ?></th>
703
+ </tr>
704
+ </thead>
705
+ <tbody>
706
+ <?php
707
+ if( empty($aVideos) ) {
708
+ echo "<option value='0'>". __("Aucune video disponible",'vod_infomaniak') ."</option>";
709
+ } else {
710
+ foreach( $aVideos as $oVideo ){
711
+ ?>
712
+ <tr>
713
+ <td>
714
+ <img src="<?php echo plugins_url('vod-infomaniak/img/videofile.png'); ?>" style="vertical-align:bottom"/>
715
+ <a href="javascript:; return false;" onclick="openVodPopup('<?php echo $oVideo->iVideo; ?>', '<?php echo addslashes($oVideo->sName); ?>','<?php echo $oVideo->sPath.$oVideo->sServerCode; ?>', '<?php echo strtolower($oVideo->sExtension);?>', '<?php echo strtolower($oVideo->sAccess);?>', '<?php echo $oVideo->sToken;?>', '<?php echo $oVideo->iFolder;?>'); return false;"><?php echo ucfirst(stripslashes($oVideo->sName)); ?></a>
716
+ </td>
717
+ <td><img src="<?php echo plugins_url('vod-infomaniak/img/ico-folder-open-16x16.png'); ?>" style="vertical-align:bottom"/> <?php echo $oVideo->sPath; ?></td>
718
+ <td><?php echo $oVideo->dUpload; ?></td>
719
+ <td>
720
+ <a href="javascript:; return false;" onclick="openVodPopup('<?php echo $oVideo->iVideo; ?>', '<?php echo addslashes($oVideo->sName); ?>','<?php echo $oVideo->sPath.$oVideo->sServerCode."', '".strtolower($oVideo->sExtension);?>', '<?php echo strtolower($oVideo->sAccess);?>', '<?php echo $oVideo->sToken;?>', '<?php echo $oVideo->iFolder;?>'); return false;"><img src="<?php echo plugins_url('vod-infomaniak/img/ico-information.png'); ?>" alt="<?php _e("Information sur cette video",'vod_infomaniak'); ?>"/></a>
721
+ <a href="https://statslive.infomaniak.com/vod/videoDetail.php?iVodCode=<?php echo $aOptions['vod_api_icodeservice'];?>&iFileCode=<?php echo $oVideo->iVideo; ?>" target="_blank"><img src="<?php echo plugins_url('vod-infomaniak/img/ico-video.png'); ?>" alt="<?php _e("Administrer cette video",'vod_infomaniak'); ?>"/></a>
722
+ <a href="https://statslive.infomaniak.com/vod/videoDetail.php?iVodCode=<?php echo $aOptions['vod_api_icodeservice'];?>&iFileCode=<?php echo $oVideo->iVideo; ?>&tab=2" target="_blank"><img src="<?php echo plugins_url('vod-infomaniak/img/ico-statistics.png'); ?>" alt="<?php _e("Voir les statistiques de cette video",'vod_infomaniak'); ?>"/></a>
723
+ <a href="javascript:; return false;" onclick="confirmVodDelete('<?php echo $oVideo->iVideo; ?>', '<?php echo addslashes($oVideo->sName); ?>');"><img src="<?php echo plugins_url('vod-infomaniak/img/ico-delete.png'); ?>" alt="<?php _e("Supprimer cette video",'vod_infomaniak'); ?>"/></a>
724
+ </td>
725
+ </tr>
726
+ <?php
727
+ }
728
+ }
729
+ ?>
730
+ </tbody>
731
+ <script>
732
+ confirmVodDelete = function( iVideo, sTitle ){
733
+ jQuery("#dialog-confirm-id").val( iVideo );
734
+ jQuery("#dialog-confirm-title").text( sTitle );
735
+ jQuery("#dialog-confirm-vod").dialog({
736
+ resizable: false,
737
+ width: 600,
738
+ height:210,
739
+ modal: true,
740
+ buttons: {
741
+ "<?php _e("Supprimer definitivement la video",'vod_infomaniak'); ?>": function() {
742
+ jQuery('#adminFormVodDelete').submit();
743
+ },
744
+ "<?php _e("Annuler",'vod_infomaniak'); ?>": function() {
745
+ jQuery( this ).dialog( "close" );
746
+ }
747
+ }
748
+ });
749
+ }
750
+ openVodPopup = function( iVideo, title, url, sExtension, sAccess, sToken, iFolder ){
751
+ var urlComplete = "<?php echo $aOptions['vod_api_id'];?>"+url;
752
+ var sParam = "";
753
+ if( sToken != "" ){
754
+ sParam = "?sKey="+sToken;
755
+ sBalise = "vod tokenfolder='"+iFolder+"'";
756
+ }else{
757
+ sBalise = 'vod';
758
+ }
759
+ jQuery("#dialog-modal-id").val( iVideo );
760
+ jQuery("#dialog-post-id").val( iVideo );
761
+ jQuery("#dialog-modal-title").text( title );
762
+ jQuery("#dialog-modal-name").val( title );
763
+ jQuery("#dialog-modal-url").val( "http://vod.infomaniak.com/redirect/"+urlComplete+"."+sExtension );
764
+ jQuery("#dialog-modal-url-href").attr( "href", "http://vod.infomaniak.com/redirect/"+urlComplete+"."+sExtension+sParam );
765
+ jQuery("#dialog-modal-url-img").val( "http://vod.infomaniak.com/redirect/"+urlComplete+".jpg" );
766
+ jQuery("#dialog-modal-url-img-href").attr( "href", "http://vod.infomaniak.com/redirect/"+urlComplete+".jpg" );
767
+ jQuery("#dialog-modal-balise").val( "["+sBalise+"]"+url+"."+sExtension+"[/vod]" );
768
+ jQuery("#dialog-modal-admin").attr( "href", "https://statslive.infomaniak.com/vod/videoDetail.php?iVodCode=<?php echo $aOptions['vod_api_icodeservice'];?>&iFileCode="+iVideo );
769
+ jQuery("#dialog-modal-admin2").attr( "href", "https://statslive.infomaniak.com/vod/videoDetail.php?iVodCode=<?php echo $aOptions['vod_api_icodeservice'];?>&iFileCode="+iVideo+"&tab=2" );
770
+ jQuery("#dialog-modal-video").attr( "src", "http://vod.infomaniak.com/iframe.php?url="+urlComplete+"."+sExtension+sParam+"&player=576&vod=214&preloadImage="+urlComplete+".jpg" );
771
+
772
+ textAccess = "";
773
+ if( sAccess != '' && sAccess != 'all' ){
774
+ textAccess += "<?php _e("Video Geolocalise",'vod_infomaniak'); ?>";
775
+ }
776
+ if( sToken != "" ){
777
+ if( textAccess != "" ) textAccess += ", ";
778
+ textAccess += "<?php _e("Securise avec un token",'vod_infomaniak'); ?>";
779
+ }
780
+ if( textAccess != "" ){
781
+ jQuery("#dialog-modal-access").text( textAccess );
782
+ jQuery("#dialog-modal-access-block").show();
783
+ }else{
784
+ jQuery("#dialog-modal-access-block").hide();
785
+ }
786
+
787
+ jQuery("#dialog-modal-vod").dialog({
788
+ width: 620,
789
+ height: 655,
790
+ resizable: false,
791
+ beforeClose: function(event, ui) {
792
+ jQuery( "#dialog-modal-video").attr( "src", "#");
793
+ }
794
+ });
795
+ return false;
796
+ }
797
+ </script>
798
+ </table>
799
+
800
+ <div class="tablenav" style="padding-right: 20px;">
801
+ <div class='tablenav-pages'>
802
+ <?php echo $sPagination; ?>
803
+ </div>
804
+ </div>
805
+ <?php
806
+ }
807
+
808
+ static function playlistMenu($actionurl, $options, $aPlaylist){
809
+ ?>
810
+ <h2><?php _e("Playlists",'vod_infomaniak'); ?></h2>
811
+ <p><?php printf( __("Si vous desirez ajouter ou modifier les playlist ci-dessous, veuillez vous rendre dans <a href='https://statslive.infomaniak.com/vod/playlists.php?iVodCode=%s' target='_blank'>la console d'administration</a>",'vod_infomaniak'), $options['vod_api_icodeservice']); ?></p>
812
+
813
+ <h2><?php _e("Precedents Envois",'vod_infomaniak'); ?></h2>
814
+ <table class='widefat' style='width: 99%'>
815
+ <thead>
816
+ <tr>
817
+ <th width="20%"><?php _e("Nom",'vod_infomaniak'); ?></th>
818
+ <th width="30%"><?php _e("Description",'vod_infomaniak'); ?></th>
819
+ <th><?php _e("Nombre videos",'vod_infomaniak'); ?></th>
820
+ <th><?php _e("Duree",'vod_infomaniak'); ?></th>
821
+ <th><?php _e("Mode de lecture",'vod_infomaniak'); ?></th>
822
+ <th><?php _e("Date",'vod_infomaniak'); ?></th>
823
+ <th width="80px"><?php _e("Action",'vod_infomaniak'); ?></th>
824
+ </tr>
825
+ </thead>
826
+ <tbody>
827
+ <?php
828
+ if( empty($aPlaylist) ) {
829
+ echo "<h3>". __("Aucune playlist disponible",'vod_infomaniak') ."</h3>";
830
+ } else {
831
+
832
+ foreach( $aPlaylist as $oPlaylist ){ ?>
833
+ <tr>
834
+ <td><img src="<?php echo plugins_url('vod-infomaniak/img/ico-display-list.png'); ?>" style="vertical-align:bottom; padding: 0px 5px;"/> <?php echo ucfirst($oPlaylist->sPlaylistName); ?></td>
835
+ <td><?php echo !empty($oPlaylist->sPlaylistDescription) ? ucfirst($oPlaylist->sPlaylistDescription) : "&nbsp;"; ?> </td>
836
+ <td><?php echo $oPlaylist->iTotal; ?></td>
837
+ <?php
838
+ $duration = intval($oPlaylist->iTotalDuration/100);
839
+ $hour = intval($duration/3600);
840
+ $min = intval($duration/60)%60;
841
+ $sec = intval($duration)%60;
842
+
843
+ $str = "";
844
+ $str .= $hour>0 ? $hour."h. " : '';
845
+ $str .= $min>0 ? $min."m. " : '';
846
+ $str .= $sec>0 ? $sec."s." : '';
847
+ ?>
848
+ <td><?php echo !empty($str) ? $str : "&nbsp;"; ?> </td>
849
+ <td><?php echo $oPlaylist->sMode; ?></td>
850
+ <td><?php echo $oPlaylist->dCreated; ?></td>
851
+ <td>
852
+ <a href="https://statslive.infomaniak.com/vod/playlists.php?iVodCode=<?php echo $options['vod_api_icodeservice'];?>&sAction=showPlaylist&iPlaylistCode=<?php echo $oPlaylist->iPlaylistCode; ?>" target="_blank"><img src="<?php echo plugins_url('vod-infomaniak/img/ico-information.png'); ?>" alt="<?php _e("Administrer cette playlist",'vod_infomaniak'); ?>"/></a>
853
+ </td>
854
+ </tr>
855
+ <?php
856
+ }
857
+ }
858
+ ?>
859
+ </tbody>
860
+ </table>
861
+ <?php
862
+ }
863
+
864
+ static function implementationMenu( $actionurl, $options, $aPlayers ){
865
+ ?>
866
+ <h2><?php _e("Integration par defaut des videos",'vod_infomaniak'); ?></h2>
867
+ <form name="adminForm" action="<?php echo $action_url; ?>" method="post">
868
+ <input type="hidden" name="submitted" value="1" />
869
+ <table>
870
+ <tr>
871
+ <td style="vertical-align: top">
872
+ <label><?php _e("Selection du player par defaut",'vod_infomaniak'); ?> :</label><br/>
873
+ <select id="selectPlayer" name="selectPlayer" onchange="PlayerInfo();" onkeyup="PlayerInfo();">
874
+ <?php
875
+ if( empty($aPlayers) ) {
876
+ echo "<option value='0'>". __("Aucun player disponible",'vod_infomaniak') ."</option>";
877
+ } else {
878
+ foreach( $aPlayers as $player ){
879
+ $selected = "";
880
+ if( $options['player'] == $player->iPlayer ){
881
+ $selected = 'selected="selected"';
882
+ }
883
+ echo "<option value='".$player->iPlayer."' $selected>".ucfirst($player->sName)."</option>";
884
+ }
885
+ }
886
+ ?>
887
+ </select> <input type="submit" name="Submit" value="<?php _e("Choisir ce player",'vod_infomaniak'); ?>" />
888
+
889
+ <p><?php _e("Informations sur ce Player",'vod_infomaniak'); ?> :</p>
890
+ <?php
891
+ if( empty($aPlayers) ) {
892
+ echo "<h3>". __("Aucun player disponible",'vod_infomaniak') ."</h3>";
893
+ } else {
894
+ foreach( $aPlayers as $player ){ ?>
895
+ <div id="player-info-<?php echo $player->iPlayer; ?>" class="player-info" style="padding: 5px 15px; border: 1px solid #EEE; display:none; width: 500px;">
896
+
897
+ <ul>
898
+ <li><b><?php _e("Nom",'vod_infomaniak'); ?> :</b> <?php echo ucfirst($player->sName); ?></li>
899
+ <li><b><?php _e("Date",'vod_infomaniak'); ?> :</b> <?php echo date("d M Y H:i", strtotime($player->dEdit)); ?></li>
900
+ <li><b><?php _e("Resolution",'vod_infomaniak'); ?> :</b> <?php echo $player->iWidth; ?>x<?php echo $player->iHeight; ?></li>
901
+ <li><b><?php _e("Demarrage automatique",'vod_infomaniak'); ?> :</b> <?php echo $player->bAutoPlay==0? 'Non': 'Oui'; ?></li>
902
+ <li><b><?php _e("Lecture en boucle",'vod_infomaniak'); ?> :</b> <?php echo $player->bLoop==0? 'Non': 'Oui'; ?></li>
903
+ <li><b><?php _e("Switch de qualite",'vod_infomaniak'); ?> :</b> <?php echo $player->bSwitchQuality==0? 'Non': 'Oui'; ?></li>
904
+ </ul>
905
+ <div style="text-align:center; width: 100%">
906
+ <a id="dialog-modal-admin" href="https://statslive.infomaniak.com/vod/players/playerConfig.php?iVodCode=<?php echo $options['vod_api_icodeservice'];?>&iPlayerCode=<?php echo $player->iPlayer; ?>" target="_blank" style="text-decoration: none; color:#444444; font-weight: bold;"><img src="<?php echo plugins_url('vod-infomaniak/img/ico-edit.png'); ?>" alt="<?php _e("Modifier ce Player",'vod_infomaniak'); ?>" style="vertical-align:bottom"/> <?php _e("Modifier ce Player",'vod_infomaniak'); ?></a>
907
+ </div>
908
+ </div>
909
+ <?php
910
+ }
911
+ }
912
+ ?>
913
+ </td>
914
+ <td style="vertical-align: top; padding-left: 25px;">
915
+ <iframe id="player-demo-video" frameborder="0" width="480" height="360" src="#"></iframe>
916
+ </td>
917
+ </tr>
918
+ </table>
919
+ </form>
920
+
921
+ <h2><?php _e("Creation ou modification de players",'vod_infomaniak'); ?></h2>
922
+ <p><?php printf( __("Afin de modifier ou creer de nouveaux players flash, nous vous invitons a vous rendre dans votre administration vod : <a href='https://statslive.infomaniak.com/vod/player.php?iVodCode=%d' target='_blank'>Acceder a la configuration des players</a>",'vod_infomaniak'), $options['vod_api_icodeservice']); ?></p>
923
+ <h2><?php _e("Plus d'options",'vod_infomaniak'); ?></h2>
924
+ <p>
925
+ <?php _e("Il est possible de personnaliser votre player video afin qu'ils s'integre parfaitement a votre site. Voici quelques fonctionnalites avancees qu'il propose :",'vod_infomaniak'); ?>
926
+ <ul style="margin-left: 15px; list-style: disc inside;">
927
+ <?php _e("<li>Fonction de seek permettant de se deplacer dans une video meme longue quasi instantanement.</li>
928
+ <li>Bouton permettant de changer a la vole entre les differentes qualites d'une video.</li>
929
+ <li>Bouton d'export sur certains reseau sociaux (facebook, twitter) afin que votre video soit plus visible.</li>
930
+ <li>Player exportable afin de permettre aux visiteurs de recuperer le code d'integration.</li>
931
+ <li>Facilite de personnalisation du player via de rapides modifications (couleurs de la barre, taille de la barre, logo) ou l'utilisation d'une barre entierement personnaliser.</li>
932
+ <li>Compatibilite avec adswizz afin d'ajouter facilement des publicites avant ou apres les videos.</li>
933
+ <li>Et encore d'autres options a decouvrir ...</li>",'vod_infomaniak'); ?>
934
+ </ul>
935
+ </p>
936
+ <script>
937
+ PlayerInfo = function(){
938
+ jQuery('.player-info').hide();
939
+ value = jQuery('#selectPlayer').val();
940
+ console.log(value);
941
+ jQuery('#player-info-'+value).show();
942
+ jQuery("#player-demo-video").attr( "src", "http://vod.infomaniak.com/iframe.php?url=infomaniak_11_vod/demo-2362/mp4-226/big_buck_bunny_720p_h264.mp4&player="+value+"&vod=<?php echo $options['vod_api_icodeservice'];?>&preloadImage=infomaniak_11_vod/demo-2362/mp4-226/big_buck_bunny_720p_h264.jpg" );
943
+ }
944
+ PlayerInfo();
945
+ </script>
946
+ <?php
947
+ }
948
+
949
+ static function buildPagination( $iCurrentPage, $iLimit, $iTotal ){
950
+ $iTotalPage = $iTotal;
951
+ $iPageTotal = floor(($iTotal-1) / $iLimit) + 1;
952
+ $page_list = "";
953
+
954
+ if (($iCurrentPage != 1) && ($iCurrentPage)) {
955
+ $page_list .= " <a href=\" ".$_SERVER['PHP_SELF']."?page=vod-infomaniak/vod.class.php&p=1\" title=\"First Page\">«</a> ";
956
+ }
957
+
958
+ if (($iCurrentPage-1) > 0) {
959
+ $page_list .= "<a href=\" ".$_SERVER['PHP_SELF']."?page=vod-infomaniak/vod.class.php&p=".($iCurrentPage-1)."\" title=\"Previous Page\"><</a> ";
960
+ }
961
+
962
+ for ($i=1; $i<=$iPageTotal; $i++) {
963
+ if( $i <= 2 || $i > $iPageTotal-2 || ($i>=$iCurrentPage -2 && $i<=$iCurrentPage+2 ) ){
964
+ if ($i == $iCurrentPage) {
965
+ $page_list .= "<b>".$i."</b>";
966
+ } else {
967
+ $page_list .= "<a href=\" ".$_SERVER['PHP_SELF']."?page=vod-infomaniak/vod.class.php&p=".$i."\" title=\"Page ".$i."\">".$i."</a>";
968
+ }
969
+ $page_list .= " ";
970
+ }else if ( $i == 3 || $i == $iPageTotal-2 ){
971
+ $page_list .= "... ";
972
+ }
973
+ }
974
+
975
+ if (($iCurrentPage+1) <= $iPageTotal) {
976
+ $page_list .= "<a href=\"".$_SERVER['PHP_SELF']."?page=vod-infomaniak/vod.class.php&p=".($iCurrentPage+1)."\" title=\"Next Page\">></a> ";
977
+ }
978
+
979
+ if (($iCurrentPage != $iPageTotal) && ($iPageTotal != 0)) {
980
+ $page_list .= "<a href=\"".$_SERVER['PHP_SELF']."?page=vod-infomaniak/vod.class.php&p=".$iPageTotal."\" title=\"Last Page\">»</a> ";
981
+ }
982
+ $page_list .= "</td>\n";
983
+
984
+ return $page_list;
985
+ }
986
+ }
987
+ ?>
vod_callback.php ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Fichier de callback utilisé comme interface du daemon VOD.
4
+ * Cela permet d'avoir immediatement accès aux vidéos qui viennent d'etre envoyés sur l'espace VOD.
5
+ * En cas de problemes ou de questions, veuillez contacter streaming@infomaniak.ch
6
+ *
7
+ * @author Destrem Kevin
8
+ * @link http://statslive.infomaniak.ch/vod/api/
9
+ * @version 1.0
10
+ * @copyright infomaniak.ch
11
+ *
12
+ */
13
+
14
+ $response = $_POST;
15
+ $aOptions = get_option('vod_infomaniak');
16
+
17
+ if( $aOptions['vod_api_callbackKey'] == $_REQUEST['key'] ){
18
+ $db = new EasyVod_db();
19
+
20
+ $iVideo = intval($response['iFileCode']);
21
+ $iFolder = intval($response['iFolderCode']);
22
+ $sFileName = $response['sFileName'];
23
+ $sServerCode = $response['sFileServerCode'];
24
+
25
+ if( empty($iVideo) || empty($iFolder) ){
26
+ die(__("Probleme avec les parametres"));
27
+ }
28
+ $oFolder = $db->getFolder( $iFolder );
29
+ if( empty( $oFolder ) || empty( $oFolder->sName) ){
30
+ die(__("Dossier inconnu"));
31
+ }
32
+
33
+ $encodage = array_shift($response['files']);
34
+ $path_tmp = explode('/redirect/'.$aOptions['vod_api_id']."/", $encodage['sFileUrl'] );
35
+ $sPath = "/".dirname ($path_tmp[1])."/";
36
+ $sExtension = strtoupper($encodage['sExtension']);
37
+ $iDuration = intval($response['iDuration']);
38
+ $dUpload = date("Y-m-d H:i:s", strtotime($response['dDateUpload']));
39
+
40
+ $oldVideo = $db->get_videos_byCodes( $sServerCode, $iFolder );
41
+ if( !empty($oldVideo) ){
42
+ foreach($oldVideo as $video){
43
+ $db->delete_video( $video->iVideo );
44
+ }
45
+ }
46
+
47
+ $db->insert_video($iVideo, $iFolder, $sFileName, $sServerCode, $sPath, $sExtension, $iDuration, $dUpload );
48
+
49
+ if ( !empty($response['sInfo']) ){
50
+ $sParamInfo = $response['sInfo'];
51
+ if ( strpos($sParamInfo, "wp_upload_post_") !== false ) {
52
+ $sToken = str_replace("wp_upload_post_", "", $sParamInfo);
53
+ $db->update_upload( $sToken, $iVideo );
54
+ }
55
+ }
56
+ }
57
+ die();
58
+ ?>