users can comment videos and can like and dislike comments => a new production version
[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-description"><?php echo $video['description'] ?></div>
67                         
68                         <dl id="video-category">
69                                 <dt><?php echo ucwords($this->lang->line('ui_category'))
70                                         . ': ' ?></dt>
71                                 <dd><?php echo $video['category_title'] ?></dd>
72                         </dl>
73                         
74                         <dl id="video-tags">
75                                 <dt><?php echo ucwords($this->lang->line('ui_tags')). ': ' ?></dt>
76                                 <dd><?php if (isset($video['tags'])): 
77                                 foreach ($video['tags'] as $tag => $score): ?>
78                                 <a href="<?php echo site_url('catalog/search/'. $tag) ?>" class="video-tag">
79                                         <?php echo "$tag " // TODO print score in future ?>
80                                 </a>
81                                 <?php endforeach; endif ?></dd>
82                         </dl>
83                         
84                         <dl id="video-torrents">
85                                 <dt><?php echo $this->lang->line('ui_download_torrents') ?>: </dt>
86                           <?php foreach ($video['assets'] as $asset): ?>
87                                 <dd><a href="<?php echo $asset['src'] ?>"><?php echo $asset['def'] ?></a></dd>
88                           <?php endforeach ?>
89                         </dl>
90                         
91                         <dl id="video-license">
92                                 <dt><?php echo ucwords($this->lang->line('ui_license')).': ' ?></dt>
93                                 <dd><?php echo $video['license'] ?></dd>
94                         </dl>
95                 </div>
96         
97                 <div id="video-comments"><?php echo $comments ?></div>
98         </div>
99
100 <?php endif // if (isset($video['err'])): ?>
101 </div>
102
103 <?php // Javascript bindings when document is ready ?>
104 <script type="text/javascript">
105         $(function() {
106                 // TODO remove this 2 bindings
107                 $('#a_ns-vlc').click(function() {
108                         //retrieveNsVlcPlugin('<? //echo $video['url'][0] ?>');
109                 });             
110                 $('#a_ns-html5').click(function() {
111                         //retrieveNsHtml5Plugin('<?php //echo $video['url'][0] ?>')
112                 });
113                 
114                 // Switch video plugin facilities
115                 $('#video-widget-tabs')
116                         .tabs();
117                 $('#switch-to-ns-html5')
118                         .click(function() {
119                                 $('#video-widget')
120                                         .nsvideo('type', 'ns-html5');
121                         });
122                 $('#switch-to-ns-vlc')
123                         .click(function() {
124                                 $('#video-widget')
125                                         .nsvideo('type', 'ns-vlc');
126                         });
127                 
128                 // Video widget
129                 $('#video-widget')
130                         .nsvideo({
131                                 type: "<?php echo $plugin_type ?>",
132                                 src: <?php echo json_encode($video['assets']) ?>,
133
134                                 showState: false,
135                                 
136                                 minWidth: 640,
137                                 maxWidth: 1024,
138                                 initialDuration: "<?php echo $video['duration'] ?>",
139                                 
140                                 resize: function() {
141                                         $('#video-widget-tabs')
142                                                 .css('width', $('#video-widget').css('width'));
143                                 }
144                         });
145                 
146                 $('.link-vote')
147                         .click(function(event) {
148                                 var user_id = "<?php echo $user_id ?>";
149                                 var action, idOutput;
150                                 if ($(this).data('action') == 'like')
151                                 {
152                                         var action = 'like';
153                                         var idOutput = '#video-likes';
154                                 }
155                                 else
156                                 {
157                                         var action = 'dislike';
158                                         var idOutput = '#video-dislikes';
159                                 }
160                                 //alert(action + " " + user_id);
161                                 
162                                 event.preventDefault();
163                                 
164                                 if (user_id.length != 0)
165                                 {
166                                         $.ajax({
167                                                 type: "GET",
168                                                 url: "<?php echo site_url("video/ajax_vote") ?>/"
169                                                         + action
170                                                         + "<?php echo "/{$video['id']}" ?>",
171                                                 data: {t: ""+Math.random()},
172                                                 dataType: "text",
173                                                 success: function(text) {
174                                                         if (text)
175                                                                 $(idOutput).html(text);
176                                                         else
177                                                                 alert('<?php echo $this->lang->line('ui_msg_repeated_action_restriction') ?>');
178                                                 }
179                                         });
180                                 }
181                                 else
182                                         alert('<?php echo $this->lang->line('ui_msg_login_restriction') ?>');
183                         })
184                         .button();
185                 
186                 $('#link-like')
187                         .click(function() {
188                                 user_id = "<?php echo $user_id ?>";
189                                 
190                                 if (user_id)
191                                 {
192                                         $.ajax({
193                                                 type: "GET",
194                                                 url: "<?php echo site_url("video/ajax_vote/like/{$video['id']}") ?>",
195                                                 dataType: "text",
196                                                 success: function(text) {
197                                                         if (text)
198                                                                 $('#video-likes').html(text);
199                                                         else
200                                                                 alert('<?php echo $this->lang->line('ui_msg_repeated_action_restriction') ?>');
201                                                 }
202                                         });
203                                 }
204                                 else
205                                         alert('<?php echo $this->lang->line('ui_msg_login_restriction') ?>');
206                         })
207                         .button();
208                 $('#link-dislike')
209                         .click(function() {
210                                 user_id = "<?php echo $user_id ?>";
211                                 
212                                 if (user_id)
213                                 {
214                                         $.ajax({
215                                                 type: "GET",
216                                                 url: "<?php echo site_url("video/ajax_vote/dislike/{$video['id']}/$user_id") ?>",
217                                                 data: {t: ""+Math.random()},
218                                                 dataType: "text",
219                                                 success: function(text) {
220                                                         $('#video-dislikes').html(text);
221                                                 }
222                                         });
223                                 }
224                                 else
225                                         alert('<?php echo $this->lang->line('ui_msg_login_restriction') ?>');
226                         })
227                         .button();
228         });
229 </script>