cis notified web server of a job completion; upload form interface and validation...
[living-lab-site.git] / application / views / video / watch_view.php
1 <?php //Javascript initializations, globals ?>
2 <script type="text/javascript">
3         siteUrl = '<?php echo site_url() ?>';
4 </script>
5
6 <div id="main">
7 <?php // Invalid name in URL ?>
8 <?php if (isset($video['err'])):
9         if ($video['err'] == 'INVALID_NAME'):
10                 $suggestion = site_url(sprintf("video/watch/%d/%s", $video['id'], 
11                         $video['name']))
12                 ?>
13                 <p>Invalid URL <em><?php echo current_url() ?></em> .</p>
14                 <p>Did you mean <a href="<?php echo $suggestion ?>">
15                         <?php echo $suggestion ?></a> ?</p>
16         <?php elseif($video['err'] == 'INVALID_ID'): ?>
17                 <p>Invalid ID in URL.</p>
18         <?php endif ?>
19         
20 <?php // Correct URL ?>
21 <?php else: ?>
22         <h1><a href="<?php echo site_url('catalog/category/'. $video['category_name']) ?>"><?php echo $video['category_title'] ?></a> &rsaquo; <?php echo $video['title'] ?></h1>
23         
24         <div id="video-widget-tabs">
25                 <ul>
26                         <li>
27                                 <a id="switch-to-ns-html5" href="#video-widget">HTML5</a>
28                         </li>
29                         <li>
30                                 <a id="switch-to-ns-vlc" href="#video-widget">VLC</a>
31                         </li>
32                 </ul>
33                 
34                 <div id="video-widget"></div>
35         </div>
36         
37         <div style="clear: both"></div>
38         
39         <div id="video-footer">
40                 <div id="video-info" style="clear: both">
41                         <div id="video-upload-info">
42                                 <?php echo $this->lang->line('ui_uploaded_by') ?>
43                                         <span id="video-user"><a href="<?php echo site_url("user/profile/{$video['username']}") ?>"><?php echo $video['username'] ?></a></span>
44                                         <?php echo $this->lang->line('ui_on_date') ?>
45                                         <span id="video-date"><?php echo $video['date'] ?></span>
46                         </div>
47                         
48                         <div id="video-popularity">
49                                 <div id="video-views">
50                                         <?php echo $video['views'] . ' '
51                                                 . ($video['views'] == 1 ? 
52                                                         $this->lang->line('ui_view') : 
53                                                         $this->lang->line('ui_views') );
54                                         ?>
55                                 </div>
56                                 
57                                 <div><a class="link-vote" data-action="like" href="#"><?php echo $this->lang->line('video_like') ?></a>
58                                         <a class="link-vote" data-action="dislike" href="#"><?php echo $this->lang->line('video_dislike') ?></a>
59                                         <span id="video-likes"><?php echo $video['likes'] ?></span> <?php
60                                                 echo $this->lang->line('ui_likes') ?>,
61                                         <span id="video-dislikes"><?php echo $video['dislikes'] ?></span> <?php
62                                                 echo $this->lang->line('ui_dislikes'); ?>
63                                 </div>
64                         </div>
65                         
66                         <div id="video-shorted-description" class="video-description"><?php echo $video['shorted_description'] ?></div>
67                         
68                         <div id="video-info-details">
69                                 <div id="video-description" class="video-description"><?php echo $video['description'] ?></div>
70
71                                 <dl id="video-category">
72                                         <dt><?php echo ucwords($this->lang->line('ui_category'))
73                                                 . ': ' ?></dt>
74                                         <dd><?php echo $video['category_title'] ?></dd>
75                                 </dl>
76
77                                 <dl id="video-tags">
78                                         <dt><?php echo ucwords($this->lang->line('ui_tags')). ': ' ?></dt>
79                                         <dd><?php if (isset($video['tags'])): 
80                                         foreach ($video['tags'] as $tag => $score): ?>
81                                         <a href="<?php echo site_url('catalog/search/'. $tag) ?>" class="video-tag">
82                                                 <?php echo "$tag " // TODO print score in future ?>
83                                         </a>
84                                         <?php endforeach; endif ?></dd>
85                                 </dl>
86
87                                 <dl id="video-torrents">
88                                         <dt><?php echo $this->lang->line('ui_download_torrents') ?>: </dt>
89                                   <?php foreach ($video['assets'] as $asset): ?>
90                                         <dd><a href="<?php echo $asset['src'] ?>"><?php echo $asset['def'] ?></a></dd>
91                                   <?php endforeach ?>
92                                 </dl>
93
94                                 <dl id="video-license">
95                                         <dt><?php echo ucwords($this->lang->line('ui_license')).': ' ?></dt>
96                                         <dd><?php echo $video['license'] ?></dd>
97                                 </dl>
98                         </div>
99                         
100                         <a id="a-show-info-details" data-val="more" href="#"><?php echo $this->lang->line('video_show_more') ?></a>
101                 </div>
102         
103                 <div id="video-comments"><?php echo $comments ?></div>
104         </div>
105
106 <?php endif // if (isset($video['err'])): ?>
107 </div>
108
109 <?php // Javascript bindings when document is ready ?>
110 <script type="text/javascript">
111         $(function() {
112                 // TODO remove this 2 bindings
113                 $('#a_ns-vlc').click(function() {
114                         //retrieveNsVlcPlugin('<? //echo $video['url'][0] ?>');
115                 });             
116                 $('#a_ns-html5').click(function() {
117                         //retrieveNsHtml5Plugin('<?php //echo $video['url'][0] ?>')
118                 });
119                 
120                 // Switch video plugin facilities
121                 $('#video-widget-tabs')
122                         .tabs();
123                 $('#switch-to-ns-html5')
124                         .click(function() {
125                                 $('#video-widget')
126                                         .nsvideo('type', 'ns-html5');
127                         });
128                 $('#switch-to-ns-vlc')
129                         .click(function() {
130                                 $('#video-widget')
131                                         .nsvideo('type', 'ns-vlc');
132                         });
133                 
134                 // Video widget
135                 $('#video-widget')
136                         .nsvideo({
137                                 type: "<?php echo $plugin_type ?>",
138                                 src: <?php echo json_encode($video['assets']) ?>,
139
140                                 showState: false,
141                                 
142                                 minWidth: 640,
143                                 maxWidth: 1024,
144                                 initialDuration: "<?php echo $video['duration'] ?>",
145                                 
146                                 resize: function() {
147                                         $('#video-widget-tabs')
148                                                 .css('width', $('#video-widget').css('width'));
149                                 }
150                         });
151                 
152                 $('.link-vote')
153                         .click(function(event) {
154                                 var user_id = "<?php echo $user_id ?>";
155                                 var action, idOutput;
156                                 if ($(this).data('action') == 'like')
157                                 {
158                                         var action = 'like';
159                                         var idOutput = '#video-likes';
160                                 }
161                                 else
162                                 {
163                                         var action = 'dislike';
164                                         var idOutput = '#video-dislikes';
165                                 }
166                                 //alert(action + " " + user_id);
167                                 
168                                 event.preventDefault();
169                                 
170                                 if (user_id.length != 0)
171                                 {
172                                         $.ajax({
173                                                 type: "GET",
174                                                 url: "<?php echo site_url("video/ajax_vote") ?>/"
175                                                         + action
176                                                         + "<?php echo "/{$video['id']}" ?>",
177                                                 data: {t: ""+Math.random()},
178                                                 dataType: "text",
179                                                 success: function(text) {
180                                                         if (text)
181                                                                 $(idOutput).html(text);
182                                                         else
183                                                                 alert('<?php echo $this->lang->line('ui_msg_repeated_action_restriction') ?>');
184                                                 }
185                                         });
186                                 }
187                                 else
188                                         alert('<?php echo $this->lang->line('ui_msg_login_restriction') ?>');
189                         })
190                         .button();
191                 
192                 $('#link-like')
193                         .click(function() {
194                                 user_id = "<?php echo $user_id ?>";
195                                 
196                                 if (user_id)
197                                 {
198                                         $.ajax({
199                                                 type: "GET",
200                                                 url: "<?php echo site_url("video/ajax_vote/like/{$video['id']}") ?>",
201                                                 dataType: "text",
202                                                 success: function(text) {
203                                                         if (text)
204                                                                 $('#video-likes').html(text);
205                                                         else
206                                                                 alert('<?php echo $this->lang->line('ui_msg_repeated_action_restriction') ?>');
207                                                 }
208                                         });
209                                 }
210                                 else
211                                         alert('<?php echo $this->lang->line('ui_msg_login_restriction') ?>');
212                         })
213                         .button();
214                 $('#link-dislike')
215                         .click(function() {
216                                 user_id = "<?php echo $user_id ?>";
217                                 
218                                 if (user_id)
219                                 {
220                                         $.ajax({
221                                                 type: "GET",
222                                                 url: "<?php echo site_url("video/ajax_vote/dislike/{$video['id']}/$user_id") ?>",
223                                                 data: {t: ""+Math.random()},
224                                                 dataType: "text",
225                                                 success: function(text) {
226                                                         $('#video-dislikes').html(text);
227                                                 }
228                                         });
229                                 }
230                                 else
231                                         alert('<?php echo $this->lang->line('ui_msg_login_restriction') ?>');
232                         })
233                         .button();
234                         
235                 $('#video-info-details').hide();
236                 
237                 $('#a-show-info-details')
238 //                      .button({
239 //                              icons: {
240 //                                      primary: 'ui-icon-triangle-1-s'
241 //                              },
242 //                              text: false
243 //                      })
244                         .click(function(event) {
245                                 event.preventDefault(true);
246                                 $('#video-shorted-description').toggle();
247                                 $('#video-info-details').fadeToggle();
248                                 
249                                 //console.log($(this).button('option', 'icons'));
250                                 if ($(this).data('val') == 'more')
251                                 {
252                                         $(this).data('val', 'less');
253                                         $(this).html('<?php echo $this->lang->line('video_show_less') ?>');
254                                 }
255                                 else
256                                 {
257                                         $(this).data('val', 'more');
258                                         $(this).html('<?php echo $this->lang->line('video_show_more') ?>');
259                                 }
260                         });
261         });
262 </script>