1
0
Fork 0
mirror of https://github.com/DanielnetoDotCom/YouPHPTube synced 2025-10-03 17:59:55 +02:00

Improve add view

This commit is contained in:
DanieL 2022-10-03 12:50:23 -03:00
parent 6fe8b6a64f
commit d9a3c9a9bf
3 changed files with 185 additions and 192 deletions

View file

@ -151,7 +151,7 @@ if (!class_exists('Video')) {
return false; return false;
} }
$lastStatistic = self::getLastStatistics($this->id, User::getId()); $lastStatistic = VideoStatistic::getLastStatistics($this->id, User::getId());
if(!empty($lastStatistic)){ if(!empty($lastStatistic)){
return false; return false;
} }

View file

@ -48,6 +48,12 @@ time.duration {
.thumbsImageContainer .thumbsImage{ .thumbsImageContainer .thumbsImage{
border: none; border: none;
} }
.thumbsImageContainer .progress{
height: 4px;
z-index: 1;
top: -4px;
}
}
.videoLink .glyphicon-play-circle { .videoLink .glyphicon-play-circle {
transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
top: 50%; top: 50%;

View file

@ -480,37 +480,45 @@ var last_videos_id = 0;
var last_currentTime = -1; var last_currentTime = -1;
var videoViewAdded = false; var videoViewAdded = false;
var addViewBeaconTimeout; var addViewBeaconTimeout;
var _addViewCheck = false;
function addView(videos_id, currentTime) { function addView(videos_id, currentTime) {
addViewSetCookie(PHPSESSID, videos_id, currentTime, seconds_watching_video); addViewSetCookie(PHPSESSID, videos_id, currentTime, seconds_watching_video);
if(_addViewCheck){
return false;
}
if (last_videos_id == videos_id && last_currentTime == currentTime) { if (last_videos_id == videos_id && last_currentTime == currentTime) {
return false; return false;
} }
if (currentTime > 5 && currentTime % 5 !== 0) { // only update each 5 seconds if (currentTime > 5 && currentTime % 30 !== 0) { // only update each 30 seconds
return false; return false;
} }
_addViewCheck = true;
if (!videoViewAdded || videoViewAdded !== videos_id) {
videoViewAdded = videos_id;
last_videos_id = videos_id; last_videos_id = videos_id;
last_currentTime = currentTime; last_currentTime = currentTime;
_addView(videos_id, currentTime); _addView(videos_id, currentTime, seconds_watching_video);
} setTimeout(function () {
_addViewCheck = false
}, 1000);
return true; return true;
} }
function _addView(videos_id, currentTime) { function _addView(videos_id, currentTime, seconds_watching_video) {
if (typeof PHPSESSID == 'undefined') { if (typeof PHPSESSID == 'undefined') {
PHPSESSID = ''; PHPSESSID = '';
} }
var url = webSiteRootURL + 'objects/videoAddViewCount.json.php'; var url = webSiteRootURL + 'objects/videoAddViewCount.json.php';
if(empty(PHPSESSID)){
return false;
}
url = addGetParam(url, 'PHPSESSID', PHPSESSID); url = addGetParam(url, 'PHPSESSID', PHPSESSID);
//console.log('_addView', videos_id, currentTime); //console.log('_addView', videos_id, currentTime);
$.ajax({ $.ajax({
url: url, url: url,
method: 'POST', method: 'POST',
data: { data: {
'id': videos_id, id: videos_id,
'currentTime': currentTime currentTime: currentTime,
seconds_watching_video: seconds_watching_video
}, },
success: function (response) { success: function (response) {
$('.view-count' + videos_id).text(response.countHTML); $('.view-count' + videos_id).text(response.countHTML);
@ -530,23 +538,11 @@ function _addViewAsync() {
var url = webSiteRootURL + 'objects/videoAddViewCount.json.php'; var url = webSiteRootURL + 'objects/videoAddViewCount.json.php';
url = addGetParam(url, 'PHPSESSID', PHPSESSID); url = addGetParam(url, 'PHPSESSID', PHPSESSID);
_addViewAsyncSent = true; _addViewAsyncSent = true;
$.ajax({ _addView(mediaId, playerCurrentTime, seconds_watching_video);
url: url,
method: 'POST',
data: {
'id': mediaId,
'currentTime': playerCurrentTime,
'seconds_watching_video': seconds_watching_video
},
async: false,
success: function (response) {
//console.log('_addViewAsync', response);
setTimeout(function () { setTimeout(function () {
_addViewAsyncSent = false; _addViewAsyncSent = false;
}, 2000); }, 2000);
} }
});
}
var _addViewFromCookie_addingtime = false; var _addViewFromCookie_addingtime = false;
async function addViewFromCookie() { async function addViewFromCookie() {
@ -575,21 +571,12 @@ async function addViewFromCookie() {
forceCurrentTime = addView_playerCurrentTime; forceCurrentTime = addView_playerCurrentTime;
} }
$.ajax({ _addView(addView_videos_id, addView_playerCurrentTime, addView_seconds_watching_video)
url: url, setTimeout(function () {
method: 'POST',
data: {
'id': addView_videos_id,
'currentTime': addView_playerCurrentTime,
'seconds_watching_video': addView_seconds_watching_video
},
async: false,
success: function (response) {
_addViewFromCookie_addingtime = false; _addViewFromCookie_addingtime = false;
//console.log('addViewFromCookie', response); }, 2000);
addViewSetCookie(false, false, false, false); addViewSetCookie(false, false, false, false);
}
});
} }
async function addViewSetCookie(PHPSESSID, videos_id, playerCurrentTime, seconds_watching_video) { async function addViewSetCookie(PHPSESSID, videos_id, playerCurrentTime, seconds_watching_video) {