1var ajaxPath = getParam('sJsAjax').replace("_ajax/", ""); 2var assetsPath = getParam('sJsAjax').replace("_ajax/", "").replace("index.php/", ""); 3var storiestStream; 4 5var isMobile = false; //initiate as false 6// device detection 7if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) 8 || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.
8substr(0,4))) { 9 isMobile = true; 10} 11 12$Ready(function() { 13 14 $.each($('.storiesUsers a'),function(index,value) 15 { 16 $(value).attr('href','javascript:void(0)'); 17 }); 18 19 var m = $('#page_core_index-member .activity_feed_form_attach, #panel .activity_feed_form_attach'), 20 // p = $('#page_pages_view .activity_feed_form_attach'), 21 // g = $('#page_groups_view .activity_feed_form_attach'), 22 up = $('#page_profile_index .activity_feed_form_attach'), 23 v = $('.select-stories'), 24 b = $('#pf_upload_form_input'); 25 26 27 if (m.length && !v.length && 1 == 1) { 28 var html = '<li><a href="#" class="select-stories" rel="custom"><span class="activity-feed-form-tab">'+fxr_stories_phrases.stories+'</span></a></li>'; 29 m.append(html); 30 } 31 32 // if (p.length && !v.length && 1 == 1) { 33 // var html = '<li><a href="#" class="select-stories" rel="custom"><span class="activity-feed-form-tab">'+fxr_stories_phrases.stories+'</span></a></li>'; 34 // p.append(html); 35 // } 36 37 // if (g.length && !v.length && 1 == 1) { 38 // var html = '<li><a href="#" class="select-stories" rel="custom"><span class="activity-feed-form-tab">'+fxr_stories_phrases.stories+'</span></a></li>'; 39 // g.append(html); 40 // } 41 42 if (up.length && !v.length && 1 == 1) { 43 var html = '<li><a href="#" class="select-stories" rel="custom"><span class="activity-feed-form-tab">'+fxr_stories_phrases.stories+'</span></a></li>'; 44 up.append(html); 45 } 46 47 $('.activity_feed_form_attach a:not(.select-stories)').click(function() 48 { 49 $('.process-twitch-upload').remove(); 50 $('.activity_feed_form .upload_message_danger').remove(); 51 $('.activity_feed_form .error_message').remove(); 52 }); 53 54 $('.select-stories').click(function() { 55 56 if(typeof window.add_photo == 'undefined') 57 { 58 window.add_photo = 'Take Photo'; 59 window.add_video = 'Take Video'; 60 window.upl_photo = 'Upload Photo'; 61 window.upl_video = 'Upload Video'; 62 63 $.ajax({ 64 type: 'POST', 65 url: ajaxPath+"getstoriesphrases/", 66 data: true, 67 }).done(function(data) { 68 if(data.length) 69 { 70 var res = JSON.parse(data); 71 window.add_photo = res.photo; 72 window.add_video = res.video; 73 window.upl_photo = res.uphoto; 74 window.upl_video = res.uvideo; 75 76 $('.activity_feed_form_attach a.active').removeClass('active'); 77 $(this).addClass('active'); 78 $('#js_activity_feed_form').attr("onkeypress","return event.keyCode != 13"); 79 $('.global_attachment_holder_section').hide().removeClass('active'); 80 $('#activity_feed_submit').hide(); 81 $('.error_message').hide(); 82 83 var btn_display_check_in = $('#btn_display_check_in'); 84 if (typeof can_checkin_in_video === 'undefined') { 85 btn_display_check_in.hide(); 86 btn_display_check_in.removeClass('is_active'); 87 $('#js_add_location, #js_location_input, #js_location_feedback').hide(); 88 $('#hdn_location_name, #val_location_name ,#val_location_latlng').val(''); 89 } 90 else { 91 $('#btn_display_check_in').show(); 92 } 93 94 var m = $('<div id="global_attachment_stories" class="global_attachment_holder_section" style="display:block;padding-bottom:0px;margin-bottom:20px;"><div style="text-align:center;"><i class="fa fa-spin fa-circle-o-notch"></i></div></div>'); 95 $('.activity_feed_form_holder').prepend(m); 96 97 var a = '<div class="_block location_2" data-location="2">'; 98 a += '<div class="pf_t_video_url">'; 99 a += '<div class="table form-group">'; 100 a += '<div class="table_right">'; 101 a += '<div class="row" style="text-align: center;">'; 102 103 104 if($.browser.safari === true && isMobile == true) 105 { 106 if(stories_addvideo == "1") 107 { 108 a += '<div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" id="fpxerStoriesPhoto">'; 109 a += '<span class="btn btn-primary" onclick="showUplBl()">'+window.upl_photo+'</span></div>'; 110 a += '<div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" id="fpxerStoriesVideo">'; 111 a += '<span class="btn btn-primary" onclick="showUplBl()">'+window.upl_video+'</span></div></div></div></div></div></div>'; 112 } 113 else 114 { 115 a += '<div class="col-md-12 col-lg-12 col-sm-12 col-xs-12" id="fpxerStoriesPhoto">'; 116 a += '<span class="btn btn-primary" onclick="showUplBl()">'+window.upl_photo+'</span></div>'; 117 a += '</div></div></div></div></div>'; 118 } 119 } 120 else 121 { 122 if(stories_addvideo == "1") 123 { 124 a += '<div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" id="fpxerStoriesPhoto">'; 125 a += '<span class="btn btn-primary" onclick="foxerStoriesPhoto()">'+window.add_photo+'</span>'; 126 a += '<br><br><span class="btn btn-primary" onclick="showUplBl()">'+window.upl_photo+'</span></div>'; 127 a += '<div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" id="fpxerStoriesVideo">'; 128 a += '<span class="btn btn-primary" onclick="foxerStoriesVideo()">'+window.add_video+'</span>'; 129 a += '<br><br><span class="btn btn-primary" onclick="showUplBl()">'+window.upl_video+'</span></div></div></div></div></div></div>'; 130 } 131 else 132 { 133 a += '<div class="col-md-12 col-lg-12 col-sm-12 col-xs-12" id="fpxerStoriesPhoto">'; 134 a += '<span class="btn btn-primary" onclick="foxerStoriesPhoto()">'+window.add_photo+'</span>'; 135 a += '<br><br><span class="btn btn-primary" onclick="showUplBl()">'+window.upl_photo+'</span></div>'; 136 a += '</div></div></div></div></div>'; 137 } 138 } 139 140 141 $('#global_attachment_stories').html(a); 142 } 143 144 }); 145 } 146 else 147 { 148 $('.activity_feed_form_attach a.active').removeClass('active'); 149 $(this).addClass('active'); 150 $('#js_activity_feed_form').attr("onkeypress","return event.keyCode != 13"); 151 $('.global_attachment_holder_section').hide().removeClass('active'); 152 $('#activity_feed_submit').hide(); 153 $('.error_message').hide(); 154
155 var btn_display_check_in = $('#btn_display_check_in'); 156 if (typeof can_checkin_in_video === 'undefined') { 157 btn_display_check_in.hide(); 158 btn_display_check_in.removeClass('is_active'); 159 $('#js_add_location, #js_location_input, #js_location_feedback').hide(); 160 $('#hdn_location_name, #val_location_name ,#val_location_latlng').val(''); 161 } 162 else { 163 $('#btn_display_check_in').show(); 164 } 165 166 var m = $('<div id="global_attachment_stories" class="global_attachment_holder_section" style="display:block;padding-bottom:0px;margin-bottom:20px;"><div style="text-align:center;"><i class="fa fa-spin fa-circle-o-notch"></i></div></div>'); 167 $('.activity_feed_form_holder').prepend(m); 168 169 var a = '<div class="_block location_2" data-location="2">'; 170 a += '<div class="pf_t_video_url">'; 171 a += '<div class="table form-group">'; 172 a += '<div class="table_right">'; 173 a += '<div class="row" style="text-align: center;">'; 174 175 if($.browser.safari === true && isMobile == true) 176 { 177 if(stories_addvideo == "1") 178 { 179 a += '<div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" id="fpxerStoriesPhoto">'; 180 a += '<span class="btn btn-primary" onclick="showUplBl()">'+window.upl_photo+'</span></div>'; 181 a += '<div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" id="fpxerStoriesVideo">'; 182 a += '<span class="btn btn-primary" onclick="showUplBl()">'+window.upl_video+'</span></div></div></div></div></div></div>'; 183 } 184 else 185 { 186 a += '<div class="col-md-12 col-lg-12 col-sm-12 col-xs-12" id="fpxerStoriesPhoto">'; 187 a += '<span class="btn btn-primary" onclick="showUplBl()">'+window.upl_photo+'</span></div>'; 188 a += '</div></div></div></div></div>'; 189 } 190 } 191 else 192 { 193 if(stories_addvideo == "1") 194 { 195 a += '<div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" id="fpxerStoriesPhoto">'; 196 a += '<span class="btn btn-primary" onclick="foxerStoriesPhoto()">'+window.add_photo+'</span>'; 197 a += '<br><br><span class="btn btn-primary" onclick="showUplBl()">'+window.upl_photo+'</span></div>'; 198 a += '<div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" id="fpxerStoriesVideo">'; 199 a += '<span class="btn btn-primary" onclick="foxerStoriesVideo()">'+window.add_video+'</span>'; 200 a += '<br><br><span class="btn btn-primary" onclick="showUplBl()">'+window.upl_video+'</span></div></div></div></div></div></div>'; 201 } 202 else 203 { 204 a += '<div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" id="fpxerStoriesPhoto">'; 205 a += '<span class="btn btn-primary" onclick="foxerStoriesPhoto()">'+window.add_photo+'</span>'; 206 a += '<br><br><span class="btn btn-primary" onclick="showUplBl()">'+window.upl_photo+'</span></div>'; 207 a += '</div></div></div></div></div>'; 208 } 209 } 210 211 $('#global_attachment_stories').html(a); 212 } 213 214 215 return false; 216 }); 217}); 218 219function foxerStoriesPhoto() 220{ 221 222 if (location.protocol != 'https:') 223 { 224 tb_show('Attention ', '','','<style>.storiestspan { display:none;}</style><div>Site needs to use https protocol for the correct and safe operation of the app.</div>'); 225 $('.js_box_title').css({"display":"block"}); 226 $('.js_box_close').css({"display":"block"}); 227 return; 228 } 229 if($.browser.safari === true) 230 { 231 tb_show('Attention ', '','','<style>.storiestspan { display:none;}</style><div>Sorry, your browser doesn\'t support video recording.</div>'); 232 $('.js_box_title').css({"display":"block"}); 233 $('.js_box_close').css({"display":"block"}); 234 return; 235 } 236 237 let append = '<div class="camera"><style>.storiestspan { display:none;}</style>'; 238 append += '<video id="fxvideo">Video stream not available.</video>'; 239 append += '<button id="fxstartbutton" class="btn btn-primary" onclick="takepicture()">Take photo</button>'; 240 append += '</div>';
241 append += '<canvas id="fxcanvas">'; 242 append += '</canvas>'; 243 append += '<span onclick="savephotostories()" class="btn btn-danger showsavebtn" style="margin-left:10px;display:none !important;">Add to my story</span>'; 244 append += '<div class="output" style="display:none;">'; 245 append += '<img id="fxphoto" alt="The screen capture will appear in this box.">'; 246 append += '</div>'; 247 248 tb_show('Stories', '','',append); 249 $('.js_box_title').css({"display":"block"}); 250 $('.js_box_close').css({"display":"block"}); 251 252 253 254 video = document.getElementById('fxvideo'); 255 canvas = document.getElementById('fxcanvas'); 256 photo = document.getElementById('fxphoto'); 257 startbutton = document.getElementById('fxstartbutton'); 258 259navigator.mediaDevices.getUserMedia({ video: true, audio: false }) 260 .then(function(stream) { 261 video.srcObject = stream; 262 video.play(); 263 }) 264 .catch(function(err) { 265 $('.js_box_close a').click(); 266 tb_show('Attention ', '','','<div>Device is denied or access denied.</div>'); 267 $('.js_box_title').css({"display":"block"}); 268 $('.js_box_close').css({"display":"block"}); 269 return; 270 }); 271} 272 273function foxerStoriesVideo() 274{ 275 if (location.protocol != 'https:') 276 { 277 tb_show('Attention ', '','','<style>.storiestspan { display:none;}</style><div>Site needs to use https protocol for the correct and safe operation of the app.</div>'); 278 $('.js_box_title').css({"display":"block"}); 279 $('.js_box_close').css({"display":"block"}); 280 return; 281 } 282 if($.browser.safari === true) 283 { 284 tb_show('Attention ', '','','<style>.storiestspan { display:none;}</style><div>Sorry, your browser doesn\'t support video recording.</div>'); 285 $('.js_box_title').css({"display":"block"}); 286 $('.js_box_close').css({"display":"block"}); 287 return; 288 } 289 290 let append = '<div class="stories_video"><style>.storiestspan { display:none;}</style>'; 291 append += '<video id="storiesVideo" width="100%" height="300" autoplay muted></video>'; 292 append += '<span class="btn btn-danger" onclick="recVideoStories()" id="videostartstop">Start Recording</span>'; 293 append += '<input type="hidden" value="10" id="videotimerStories" />'; 294 append += '<div id="videotimerStoriesTimer" style="width:100%;text-align:center;color:red;font-weight:400;padding-top: 10px;font-size: 16px;"></div>'; 295 append += '</div>'; 296 297 tb_show('Stories', '','',append); 298 $('.js_box_title').css({"display":"block"}); 299 $('.js_box_close').css({"display":"block"}); 300 301 var video = document.getElementById('storiesVideo'); 302 303 if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) 304 { 305 navigator.mediaDevices.getUserMedia({ video: true , audio: true}).then(function(stream) { 306 video.srcObject = stream; 307 video.style.width = '100%'; 308 video.style.height = '300px'; 309 video.play(); 310 storiestStream = stream; 311 }). 312 catch(function(err) 313 { 314 $('.js_box_close a').click(); 315 tb_show('Attention ', '','','<div>Device is denied or access denied.</div>'); 316 $('.js_box_title').css({"display":"block"}); 317 $('.js_box_close').css({"display":"block"}); 318 return; 319 }); 320 } 321 else 322 { 323 tb_show('Attention ', '','','<div>Sorry buy you have not media devices.</div>'); 324 $('.js_box_title').css({"display":"block"}); 325 $('.js_box_close').css({"display":"block"}); 326 return; 327 } 328 329} 330 331function stopVideoStories() 332{ 333 334 $('#fxrStartRec').remove(); 335 $('#fvdo').css({"display":"none"}); 336 $("#videotimer").remove(); 337 $('#videostartstop').remove(); 338 $('#videotimerStoriesTimer').css({"display":"none"}); 339 340 window.rec.ondataavailable = e => { 341 // a.download = ['video_', (new Date() + '').slice(4, 28), '.webm'].join(''); 342 href = URL.createObjectURL(e.data); 343 var newvideo = new Blob([e.data], {type: 'video/mp4; codecs="opus,vp8,h264"'}); 344 var fd = new FormData(); 345 fd.append('fname', 'video.mp4'); 346 fd.append('data', newvideo,'video.mp4'); 347 fd.append('type', 'video'); 348 $.ajax({ 349 type: 'POST', 350 url: ajaxPath+"addtovideostories/", 351 data: fd, 352 processData: false, 353 contentType: false 354 }).done(function(data) { 355 location.reload(); 356 }); 357 358 }; 359 360 window.rec.stop(); 361 362 return; 363} 364 365function recVideoStories() 366{ 367 368 function timer(){ 369 var obj=document.getElementById('videotimerStoriesTimer'); 370 obj.innerHTML--; 371 if(obj.innerHTML==0){setTimeout(function(){},1000);} 372 else{setTimeout(timer,1000);} 373 } 374 375 var recTime = $('#videotimerStories').val() * 1000; 376 377 $('#videotimerStoriesTimer').html($('#videotimerStories').val()); 378 $('#videostartstop').html('Stop recording'); 379 $('#videostartstop').attr('onclick','stopVideoStories()'); 380 381 if($.browser.mozilla === true) 382 { 383 recorder = new MediaRecorder(storiestStream, { 384 mimeType: 'video/webm; codecs="vp8"' 385 }); 386 } 387 else 388 {
389 if(MediaRecorder.isTypeSupported('video/webm; codecs="opus,vp8,vp9,h264"')) 390 { 391 recorder = new MediaRecorder(storiestStream, { 392 mimeType: 'video/webm; codecs="opus,vp8,h264"' 393 }); 394 } 395 else 396 { 397 recorder = new MediaRecorder(storiestStream, { 398 mimeType: 'video/webm; codecs="vp8,vp9"' 399 }); 400 } 401 } 402 403 404 recorder.start(); 405 window.rec = recorder; 406 // $("#videotimer").addClass("show").hide().fadeIn("Slow"); 407 setTimeout(timer,1000); 408 409 setTimeout(function() 410 { 411 recorder.ondataavailable = e => { 412 // a.download = ['video_', (new Date() + '').slice(4, 28), '.webm'].join(''); 413 href = URL.createObjectURL(e.data); 414 var newvideo = new Blob([e.data], {type: 'video/mp4; codecs="opus,vp8,h264"'}); 415 var fd = new FormData(); 416 fd.append('fname', 'video.mp4'); 417 fd.append('data', newvideo,'video.mp4'); 418 fd.append('type', 'video'); 419 $.ajax({ 420 type: 'POST', 421 url: ajaxPath+"addtovideostories/", 422 data: fd, 423 processData: false, 424 contentType: false 425 }).done(function(data) { 426 location.reload(); 427 }); 428 429 }; 430 recorder.stop(); 431 },recTime+1000); 432 433} 434 435function takepicture() { 436 clearphoto(); 437 $('.showsavebtn').show('slow'); 438 let canvas = document.getElementById('fxcanvas'); 439 var context = canvas.getContext('2d'); 440 if (320 && 240) { 441 canvas.width = 320; 442 canvas.height = 240; 443 context.drawImage(video, 0, 0, 320, 240); 444 445 var data = canvas.toDataURL('image/png'); 446 photo.setAttribute('src', data); 447 $('#fxcanvas').css({"display":"block"}); 448 $('#fxstartbutton').html('Retake <i class="fa fa-repeat"></i>'); 449 $('#fxstartbutton').attr('onclick','clearcanvas()'); 450 } else { 451 clearphoto(); 452 } 453 } 454 455function clearcanvas() 456{ 457 $('#fxcanvas').css({"display":"none"}); 458 $('#fxstartbutton').html('Take photo'); 459 $('#fxstartbutton').attr('onclick','takepicture()'); 460} 461 462function clearphoto() { 463 let canvas = document.getElementById('fxcanvas'); 464 var context = canvas.getContext('2d'); 465 context.fillStyle = "#AAA"; 466 context.fillRect(0, 0, canvas.width, canvas.height); 467 468 var data = canvas.toDataURL('image/png'); 469 photo.setAttribute('src', data); 470 } 471 472function dataURLtoFile(dataurl, filename) { 473 var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], 474 bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); 475 while(n--){ 476 u8arr[n] = bstr.charCodeAt(n); 477 } 478 return new File([u8arr], filename, {type:mime}); 479} 480 481function savephotostories() 482{ 483 484 let file = dataURLtoFile($('#fxphoto').attr('src'), 'stories.png'); 485 var fd = new FormData(); 486 fd.append('fname', 'stories.png'); 487 fd.append('type', 'photo'); 488 fd.append('data', file,'stories.png'); 489 $.ajax({ 490 type: 'POST', 491 url: ajaxPath+"addtostories/", 492 data: fd, 493 processData: false, 494 contentType: false 495 }).done(function(data) { 496 $('.showsavebtn').hide(); 497 location.reload(); 498 }); 499} 500 501function getStories(user_id) 502{ 503 if($('.storiestspan').hasClass('active')) 504 { 505 $('.storiestspan').removeClass('active') 506 return; 507 } 508 509 $.ajax({ 510 type: 'POST', 511 url: ajaxPath+"getstories/", 512 data: {user_id:user_id}, 513 }).done(function(data) 514 { 515 if(data) 516 { 517 518 let obj = JSON.parse(data); 519 520 let div = '<script src="'+assetsPath+'PF.Site/Apps/phpfoxer_stories/assets/owl.carousel.min.js" type="text/javascript" charset="utf-8"></script>'; 521 522 div += '<style>.storiestspan { display:none;}</style>'; 523 div += '<div class="owl-carousel owl-theme">'; 524 525 $.each(obj,function(index,value) 526 { 527 var selfuser = ''; 528 if(value.selfuser) 529 { 530 selfuser = '<span class="fa fa-ellipsis-h stDelNav" onclick="showDtdNav(this)"><ul class="list-group deletedGroup"><li class="list-group-item" onclick="remThisSt(this,'+value.id+')">'+value.delete_phrase+'</li><li class="list-group-item" onclick="closeRemNav(this)">'+value.cancel_phrase+'</li></ul></span>'; 531 } 532 533 if(value.item_type == 'photo') 534 { 535 div += '<div class="item"><span class="storiesData">'+value.userphotolink+''+value.usernamelink+' <time>
535'+value.time+'</time>'+selfuser+'</span><div class="storiesPhoto" style="background-image:url(\''+value.src+'\')"></div></div>'; 536 } 537 else 538 { 539 var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 540 if(iOS || $.browser.safari === true) 541 { 542 div += '<div class="item"><span class="storiesData">'+value.userphotolink+''+value.usernamelink+' <time>'+value.time+'</time>'+selfuser+'</span><video width="100%" height="100%" playsinline controls="false" controlsList="nodownload" autoplay muted><source src="'+ajaxPath+'iovurl?vurl='+value.src+'">Please tap to play.</video></div>'; 543 } 544 else 545 { 546 div += '<div class="item"><span class="storiesData">'+value.userphotolink+''+value.usernamelink+' <time>'+value.time+'</time>'+selfuser+'</span><video width="100%" height="100%" controls="false" controlsList="nodownload"><source src="'+value.src+'" type="video/mp4"></video></div>'; 547 } 548 //WRITE CODE IF TYPE == VIDEO 549 550 } 551 }); 552 div += '</div>'; 553 554 tb_show('User Stories', '','',div); 555 $('.js_box_title').css({"display":"block"}); 556 $('.js_box_close').css({"display":"block"}); 557 const SLIDER_TIMEOUT = 10000; 558 $('.owl-carousel').owlCarousel({ 559 loop:false, 560 items: 1, 561 margin:10, 562 autoplay: true, 563 responsiveClass:true, 564 autoplayTimeout: SLIDER_TIMEOUT, 565 autoplayHoverPause: false, 566 nav: true, 567 // navText : ["",""], 568 dots: false, 569 onTranslated:(e) =>{ 570 571 if (e.relatedTarget._current == (e.relatedTarget.items().length - 1)) 572 { 573 setTimeout(function(){ $('.js_box_close a').click(); }, SLIDER_TIMEOUT); 574 } 575 576 }, 577 onInitialized: ({target}) => { 578 const animationStyle = `-webkit-animation-duration:${SLIDER_TIMEOUT}ms;animation-duration:${SLIDER_TIMEOUT}ms;animation-timing-function: linear;` 579 const progressBar = $( 580 `<div class="slider-progress-bar"><span class="progress" style="${animationStyle}"></span></div>` 581 ) 582 $(target).append(progressBar) 583 }, 584 onChanged: ({type, target}) => { 585 if (type === 'changed') { 586 const $progressBar = $(target).find('.slider-progress-bar') 587 const clonedProgressBar = $progressBar.clone(true) 588 589 $progressBar.remove() 590 $(target).append(clonedProgressBar) 591 } 592 }, 593 responsive:{ 594 0:{ 595 items:1, 596 loop:false 597 }, 598 600:{ 599 items:1, 600 loop:false 601 }, 602 1000:{ 603 items:1, 604 loop:false 605 } 606 } 607 }); 608 609 $Behavior.globalInit() 610 611 $('.owl-carousel').on('translate.owl.carousel',function(e){ 612 $('.owl-item .item video').each(function(){ 613 $(this).get(0).pause(); 614 }); 615 }); 616 617 $('.owl-carousel').on('translated.owl.carousel',function(e){ 618 if( typeof $('.owl-item.active .item video').get(0) != 'undefined') 619 { 620 621 var promise = $('.owl-item.active .item video').get(0).play(); 622 623 if (promise !== undefined) { 624 promise.catch(error => { 625 // Auto-play was prevented 626 // Show a UI element to let the user manually start playback 627 }).then(() => { 628 // Auto-play started 629 }); 630 } 631 } 632 }); 633 $('.owl-carousel').on('change.owl.carousel', function(e) { 634 if (e.namespace && e.property.name === 'position' 635 && e.relatedTarget.relative(e.property.value) === e.relatedTarget.items().length - 1) 636 { 637 setTimeout(function(){ $('.js_box_close a').click(); }, SLIDER_TIMEOUT); 638 } 639 }); 640 641 $('.list-group.deletedGroup .list-group-item').on('mouseenter',(e) => { 642 $('.owl-carousel').trigger('stop.owl.autoplay'); 643 }); 644 645 $('.list-group.deletedGroup .list-group-item').on('mouseleave',(e) => { 646 $('.owl-carousel').trigger('play.owl.autoplay'); 647 }); 648 } 649 else 650 { 651 return; 652 } 653 }); 654} 655 656function addnewspan(element) 657{ 658 if($(element).hasClass('active')) 659 { 660 $('.select-stories').click(); 661 } 662 else 663 { 664 $(element).addClass('active'); 665 $('.select-stories').click(); 666 } 667 668} 669 670function showDtdNav(el) 671{ 672 if($(el).find('ul').hasClass('open')) 673 { 674 $(el).find('ul').removeClass('open'); 675 } 676 else 677 { 678 $(el).find('ul').addClass('open') 679 } 680} 681 682function closeRemNav(el) 683{ 684 $(el).parent().click(); 685} 686 687function remThisSt(el,id) 688{ 689 $(el).parent().click(); 690 $(el).parent().parent().parent().parent().css({'filter':"grayscale(90%)"}); 691 692 $.ajax({ 693 type: 'POST', 694 url: ajaxPath+"removestorie/", 695 data: {id:id}, 696 success:function(res) 697 { 698 console.log(res); 699 } 700 }); 701} 702$Core.Stories = { 703 ssuccess: () => 704 { 705 window.location.reload(); 706 }, 707 sadded: () => 708 { 709 // console.log(this); 710 } 711} 712 713function showUplBl() 714{ 715 $('.uploaderwrapper').show(); 716 717 setTimeout(function() 718 { 719 $('.closeSUploader').click(function() 720 { 721 $('.uploaderwrapper').hide(); 722 }); 723 },2000) 724 725} 726
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.