add permission max watch, optimize search, add search on tv_show, list movies by available date

master
root 2 years ago
parent b92e7c4831
commit 677de21bf3

@ -26,7 +26,7 @@ class Controller_Home extends Controller_Security
$server = $sessionServer ? Model_Server::find_by_pk($sessionServer->id) : Model_Server::find_one_by([ $server = $sessionServer ? Model_Server::find_by_pk($sessionServer->id) : Model_Server::find_one_by([
['online', '=', 1], ['online', '=', 1],
['disable', '=', 0], ['disable', '=', 0],
], null, null); ]);
Lang::load('menu'); Lang::load('menu');
Lang::load('settings'); Lang::load('settings');

@ -1,5 +1,6 @@
<?php <?php
use Fuel\Core\DB;
use Fuel\Core\FuelException; use Fuel\Core\FuelException;
use Fuel\Core\Input; use Fuel\Core\Input;
use Fuel\Core\Lang; use Fuel\Core\Lang;
@ -25,8 +26,6 @@ class Controller_Movie extends Controller_Home
if(!$movie) if(!$movie)
Response::redirect('/home'); Response::redirect('/home');
$movie->getTrailer();
$this->template->title = $movie->title; $this->template->title = $movie->title;
$body->set('movie', $movie); $body->set('movie', $movie);
@ -70,7 +69,8 @@ class Controller_Movie extends Controller_Home
$user_downloads = Model_User_Download::find(function ($query) use ($user_id) { $user_downloads = Model_User_Download::find(function ($query) use ($user_id) {
$startOfDay = date("Y-m-d 00:00:00"); $startOfDay = date("Y-m-d 00:00:00");
$endOfDay = date("Y-m-d 23:59:59"); $endOfDay = date("Y-m-d 23:59:59");
$query->where('user_id', $user_id) $query->select(DB::expr('count(id) as count'))
->where('user_id', $user_id)
->and_where('date', '>=', strtotime($startOfDay)) ->and_where('date', '>=', strtotime($startOfDay))
->and_where('date', '<=', strtotime($endOfDay)) ->and_where('date', '<=', strtotime($endOfDay))
; ;
@ -79,8 +79,8 @@ class Controller_Movie extends Controller_Home
if (Model_Permission::isGranted('RIGHT_DOWNLOAD_DISABLED', $movie->getLibrary())) if (Model_Permission::isGranted('RIGHT_DOWNLOAD_DISABLED', $movie->getLibrary()))
throw new FuelException('You dont have the permission to download in this library!'); throw new FuelException('You dont have the permission to download in this library!');
if (Model_Permission::isGranted('RIGHT_MAX_DOWNLOAD', $movie->getLibrary(), count($user_downloads))) if (!Model_Permission::isGranted('RIGHT_MAX_DOWNLOAD', $movie->getLibrary(), $user_downloads[0]->count))
throw new FuelException('You reach the limit of download in this library today!'); throw new FuelException('You have reach the maximum number of download in this library today!');
$url = $movie->getDownloadLink(); $url = $movie->getDownloadLink();
@ -152,9 +152,25 @@ class Controller_Movie extends Controller_Home
if (!$movie) if (!$movie)
throw new FuelException('No movie found'); throw new FuelException('No movie found');
$user_id = $this->_user->id;
$user_histories = Model_User_History::find(function ($query) use ($movie_id, $user_id) {
$startOfDay = date("Y-m-d 00:00:00");
$endOfDay = date("Y-m-d 23:59:59");
$query->select(DB::expr('count(id) as count'))
->where('user_id', $user_id)
->and_where('movie_id', '<>', $movie_id)
->and_where('date', '>=', strtotime($startOfDay))
->and_where('date', '<=', strtotime($endOfDay))
;
});
if (Model_Permission::isGranted('RIGHT_WATCH_DISABLED', $movie->getLibrary())) if (Model_Permission::isGranted('RIGHT_WATCH_DISABLED', $movie->getLibrary()))
throw new FuelException('You dont have the permission to watch in this library!'); throw new FuelException('You dont have the permission to watch in this library!');
if (!Model_Permission::isGranted('RIGHT_MAX_WATCH', $movie->getLibrary(), $user_histories[0]->count))
throw new FuelException('You have reach the maximum number of watch in this library for today!');
$url = ($movie->getServer()->https === '1' ? 'https' : 'http') . '://'; $url = ($movie->getServer()->https === '1' ? 'https' : 'http') . '://';
$url .= $movie->getServer()->url . ($movie->getServer()->port ? ':' . $movie->getServer()->port : '') . '/'; $url .= $movie->getServer()->url . ($movie->getServer()->port ? ':' . $movie->getServer()->port : '') . '/';
$url .= 'video/:/'; $url .= 'video/:/';

@ -17,7 +17,10 @@ class Controller_Rest_Library extends Controller_Rest
if ($library_id === null || $right_name === null || $checked === null) if ($library_id === null || $right_name === null || $checked === null)
throw new FuelException('Missing parameters'); throw new FuelException('Missing parameters');
$permission = Model_Permission::find_one_by('name', $right_name); $permission = Model_Permission::find_one_by([
['name', '=', $right_name],
['disable', '=', 0]
]);
$permission_id = $permission->id; $permission_id = $permission->id;

@ -1,9 +1,8 @@
<?php <?php
use Fuel\Core\Controller_Rest; use Fuel\Core\Controller_Rest;
use Fuel\Core\File; use Fuel\Core\DB;
use Fuel\Core\Input; use Fuel\Core\Input;
use Fuel\Core\Num;
use Fuel\Core\Session; use Fuel\Core\Session;
use Fuel\Core\View; use Fuel\Core\View;
use Fuel\Core\FuelException; use Fuel\Core\FuelException;
@ -19,16 +18,29 @@ class Controller_Rest_Movie extends Controller_Rest
if (!$movie_id) if (!$movie_id)
throw new FuelException('No movie id'); throw new FuelException('No movie id');
/** @var Model_Movie $movie */
$movie = Model_Movie::find_by_pk($movie_id); $movie = Model_Movie::find_by_pk($movie_id);
if (!$movie) if (!$movie)
throw new FuelException('No movie found'); throw new FuelException('No movie found');
$user_id = Session::get('user')->id;
$user_histories = Model_User_History::find(function ($query) use ($movie_id, $user_id) {
$startOfDay = date("Y-m-d 00:00:00");
$endOfDay = date("Y-m-d 23:59:59");
$query->select(DB::expr('count(id) as count'))
->where('user_id', $user_id)
->and_where('movie_id', '<>', $movie_id)
->and_where('date', '>=', strtotime($startOfDay))
->and_where('date', '<=', strtotime($endOfDay))
;
});
if (Model_Permission::isGranted('RIGHT_WATCH_DISABLED', $movie->getLibrary())) if (Model_Permission::isGranted('RIGHT_WATCH_DISABLED', $movie->getLibrary()))
throw new FuelException('You dont have the permission to watch in this library!'); throw new FuelException('You dont have the permission to watch in this library!');
if (!Model_Permission::isGranted('RIGHT_MAX_WATCH', $movie->getLibrary(), $user_histories[0]->count))
throw new FuelException('You have reach the maximum number of watch in this library for today!');
$user_settings = Model_User_Settings::find_one_by('user_id', Session::get('user')->id); $user_settings = Model_User_Settings::find_one_by('user_id', Session::get('user')->id);
@ -52,24 +64,65 @@ class Controller_Rest_Movie extends Controller_Rest
public function post_watching() public function post_watching()
{ {
try { try {
$user = Session::get('user'); $user_id = Session::get('user')->id;
$movie_id = Input::post('movie_id'); $movie_id = Input::post('movie_id');
$totaltime = Input::post('totaltime'); $totaltime = Input::post('totaltime');
$timeplay = Input::post('timeplay'); $timeplay = Input::post('timeplay');
$isFinish = Input::post('isFinish'); $is_ended = Input::post('is_ended') === 'true';
if (!$movie_id)
throw new FuelException('No movie id');
$movie = Model_Movie::find_by_pk($movie_id);
if (!$movie)
throw new FuelException('No movie found');
$user_histories = Model_User_History::find(function ($query) use ($movie_id, $user_id) {
$startOfDay = date("Y-m-d 00:00:00");
$endOfDay = date("Y-m-d 23:59:59");
$query->select(DB::expr('count(id) as count'))
->where('user_id', $user_id)
->and_where('movie_id', '<>', $movie_id)
->and_where('date', '>=', strtotime($startOfDay))
->and_where('date', '<=', strtotime($endOfDay))
;
});
if (Model_Permission::isGranted('RIGHT_WATCH_DISABLED', $movie->getLibrary()))
throw new FuelException('You dont have the permission to watch in this library!');
if (!Model_Permission::isGranted('RIGHT_MAX_WATCH', $movie->getLibrary(), $user_histories[0]->count))
throw new FuelException('You have reach the maximum number of watch in this library for today!');
$watching = Model_User_History::find_one_by([ $watching = Model_User_History::find_one_by([
['movie_id', '=', $movie_id], ['movie_id', '=', $movie_id],
['user_id', '=', $user->id] ['user_id', '=', $user_id],
]) ?: new Model_User_History(); ['is_ended', '=', 0]
]);
$watching->set([
'user_id' => $user->id, $params = [];
'movie_id' => $movie_id,
'ended_time' => $totaltime, if($watching && $watching->date + (24 * 60 * 60) < time())
'watching_time' => $timeplay, {
'isFinish' => ($isFinish === 'true' ? true : false) $watching->set(['is_ended' => $is_ended]);
]); $watching->save();
$watching = null;
}
if($watching === null){
$watching = new Model_User_History();
$params['date'] = time();
}
$params = array_merge($params, ['user_id' => $user_id,
'movie_id' => $movie_id,
'watching_time' => $timeplay,
'ended_time' => $totaltime,
'is_ended' => $is_ended]);
$watching->set($params);
$watching->save(); $watching->save();

@ -9,23 +9,50 @@ class Controller_Rest_Search extends Controller_Rest
{ {
public function get_index() public function get_index()
{ {
$search = '%'.Input::get('search').'%'; $search = '+'.implode('* +',
explode(' ',
rtrim(Input::get('search'))
)
).'*';
$query = DB::query('SELECT * FROM '.DB::table_prefix('movie'). $query = DB::query('SELECT * FROM '.DB::table_prefix('movie').'
' WHERE '.DB::table_prefix('movie').'.type = :type WHERE MATCH('.DB::table_prefix('movie').'.`title`) AGAINST(:search IN BOOLEAN MODE)
AND ('.DB::table_prefix('movie').'.`title` LIKE :search ORDER BY MATCH('.DB::table_prefix('movie').'.`title`) AGAINST(:search IN BOOLEAN MODE) DESC LIMIT 6');
OR MATCH('.DB::table_prefix('movie').'.`title`) AGAINST(:search)) $query->bind('search', $search);
ORDER BY MATCH('.DB::table_prefix('movie').'.`title`) $movies = $query->execute();
AGAINST(:search) DESC LIMIT 5');
$query = DB::query('SELECT * FROM '.DB::table_prefix('tvshow').'
WHERE MATCH('.DB::table_prefix('tvshow').'.`title`) AGAINST(:search IN BOOLEAN MODE)
ORDER BY MATCH('.DB::table_prefix('tvshow').'.`title`) AGAINST(:search IN BOOLEAN MODE) DESC LIMIT 4');
$query->bind('search', $search); $query->bind('search', $search);
$tv_shows = $query->execute();
$results = [];
foreach ($movies as $movie) {
$data = [
'id' => $movie['id'],
'type' => $movie['type'],
'title' => $movie['title'],
'year' => $movie['type'] === 'movie' ? $movie['year'] : '',
'tvshow' => $movie['tvshow'] ?? '',
];
$results[] = $data;
}
$query->param('type', 'movie'); foreach ($tv_shows as $movie) {
$search_movie = $query->execute(); $data = [
'id' => $movie['id'],
'type' => 'tvshow',
'title' => $movie['title'],
'year' => $movie['year'],
'tvshow' => $movie['tvshow'] ?? '',
];
$query->param('type', 'episode'); $results[] = $data;
$search_episode = $query->execute(); }
return $this->response(['movies' => $search_movie, 'episodes' => $search_episode]); return $this->response($results);
} }
} }

@ -3,8 +3,7 @@
use Fuel\Core\Config; use Fuel\Core\Config;
use Fuel\Core\Input; use Fuel\Core\Input;
use Fuel\Core\Lang; use Fuel\Core\Lang;
use Fuel\Core\Migrate; use Fuel\Core\Response;
use Fuel\Core\Response;
use Fuel\Core\Session; use Fuel\Core\Session;
use Fuel\Core\View; use Fuel\Core\View;

@ -35,15 +35,14 @@ class Controller_Settings_Libraries extends Controller_Settings
if($library === null) if($library === null)
Response::redirect('/settings/libraries'); Response::redirect('/settings/libraries');
$permissions = Model_Permission::find_all(); $permissions = Model_Permission::find_by('disable', 0);
$library_permissions = Model_Library_Permission::find_by('library_id', $library_id); $library_permissions = Model_Library_Permission::find_by('library_id', $library_id);
$library_permissions = $library_permissions ?: [];
$temp = []; $temp = [];
// ORDER ARRAY BY PERMISSION ID // ORDER ARRAY BY PERMISSION ID
// MORE EASY TO DISPLAY
foreach ($library_permissions as $library_permission) { foreach ($library_permissions as $library_permission) {
$temp[$library_permission->permission_id] = $library_permission; $temp[$library_permission->permission_id] = $library_permission;
} }

@ -1,5 +1,6 @@
<?php <?php
use Fuel\Core\DB;
use Fuel\Core\Format; use Fuel\Core\Format;
use Fuel\Core\Request; use Fuel\Core\Request;
use Fuel\Core\Cache; use Fuel\Core\Cache;
@ -358,9 +359,9 @@ class Model_Movie extends Model_Overwrite
//return ($this->_server->https === '1' ? 'https' : 'http') . '://' . $this->_server->url . ($this->_server->port ? ':' . $this->_server->port : '') . '/video/:/transcode/universal/session/' . $this->_session . '/base/index.m3u8'; //return ($this->_server->https === '1' ? 'https' : 'http') . '://' . $this->_server->url . ($this->_server->port ? ':' . $this->_server->port : '') . '/video/:/transcode/universal/session/' . $this->_session . '/base/index.m3u8';
} catch (Exception $exception) { } catch (Exception $exception) {
if($exception->getCode() === 403) if($exception->getCode() === 403)
throw new FuelException('Cannot connect to the server.<br/>The token must be outdated!', 200); throw new FuelException('Cannot connect to the server.<br/>The token must be outdated!', $exception->getCode());
else else
throw new FuelException($exception->getMessage(), 200); throw new FuelException($exception->getMessage(), $exception->getCode());
} }
} }
@ -478,7 +479,7 @@ class Model_Movie extends Model_Overwrite
->select('*') ->select('*')
->where('type', 'movie') ->where('type', 'movie')
->group_by('originalTitle', 'title', 'year') ->group_by('originalTitle', 'title', 'year')
->order_by('title', 'ASC') ->order_by(DB::expr("str_to_date(`originallyAvailableAt`, '%Y-%m-%d')"), 'DESC')
; ;
}); });
} }

@ -74,11 +74,11 @@ class Model_Permission extends Model_Overwrite
* RETURN TRUE * RETURN TRUE
*/ */
if($library_permission === NULL) if($library_permission === NULL)
return false; return true;
else if((int)$library_permission->value > $data) else if((int)$library_permission->value > $data)
return false;
else
return true; return true;
else
return false;
} }
if ($permission->name === 'RIGHT_MAX_DOWNLOAD_SPEED') { if ($permission->name === 'RIGHT_MAX_DOWNLOAD_SPEED') {
@ -91,12 +91,17 @@ class Model_Permission extends Model_Overwrite
} }
if ($permission->name === 'RIGHT_MAX_WATCH') { if ($permission->name === 'RIGHT_MAX_WATCH') {
/** @TODO IF (NUMBER_WATCH <= MAX_WATCH) // in last 24h /** @TODO IF (MAX_WATCH > NUMBER_WATCH) // in last 24h
* RETURN TRUE
* ELSE
* RETURN FALSE * RETURN FALSE
* ELSE
* RETURN TRUE
*/ */
return true; if($library_permission === NULL)
return true;
else if((int)$library_permission->value > $data)
return true;
else
return false;
} }
if ($permission->name === 'RIGHT_MAX_QUALITY') { if ($permission->name === 'RIGHT_MAX_QUALITY') {

@ -12,7 +12,8 @@ class Model_User_History extends Model_Overwrite
'movie_id', 'movie_id',
'watching_time', 'watching_time',
'ended_time', 'ended_time',
'is_ended' 'is_ended',
'date'
); );
private $_movie = null; private $_movie = null;

@ -9,9 +9,9 @@ return array(
'season/:season_id' => 'season/index', 'season/:season_id' => 'season/index',
'episode/:movie_id/download' => 'movie/download', 'episode/:movie_id/download' => 'movie/download',
'episode/:episode_id' => 'episode/index', 'episode/:episode_id' => 'episode/index',
'movie/list' => 'movie/list',
'movie/:movie_id/video/\:/transcode/:transcode/session/:session/:index/:base' => 'movie/stream', 'movie/:movie_id/video/\:/transcode/:transcode/session/:session/:index/:base' => 'movie/stream',
'movie/:movie_id/download' => 'movie/download', 'movie/:movie_id/download' => 'movie/download',
'movie/:movie_id' => 'movie/index', 'movie/:movie_id' => 'movie/index',
'movie/list' => 'movie/list',
'settings/libraries/premissions/:library_id' => 'settings/libraries/permissions' 'settings/libraries/premissions/:library_id' => 'settings/libraries/permissions'
); );

@ -30,14 +30,14 @@ class Create_movie
\DB::query('CREATE INDEX constraintMovieLibrary ON ' . \DB::table_prefix('movie') . '(`library_id`)')->execute(); \DB::query('CREATE INDEX constraintMovieLibrary ON ' . \DB::table_prefix('movie') . '(`library_id`)')->execute();
\DB::query('CREATE INDEX constraintMovieSeason ON ' . \DB::table_prefix('movie') . '(`season_id`)')->execute(); \DB::query('CREATE INDEX constraintMovieSeason ON ' . \DB::table_prefix('movie') . '(`season_id`)')->execute();
\DB::query('CREATE INDEX searchTitle ON ' . \DB::table_prefix('movie') . '(`title` DESC)')->execute(); \DB::query('CREATE FULLTEXT searchTitle ON ' . \DB::table_prefix('movie') . '(`title` DESC)')->execute();
} }
public function down() public function down()
{ {
\DB::query('DROP INDEX constraintMovieLibrary ON ' . \DB::table_prefix('movie'))->execute(); \DB::query('DROP INDEX constraintMovieLibrary ON ' . \DB::table_prefix('movie'))->execute();
\DB::query('DROP INDEX constraintMovieSeason ON ' . \DB::table_prefix('movie'))->execute(); \DB::query('DROP INDEX constraintMovieSeason ON ' . \DB::table_prefix('movie'))->execute();
\DB::query('DROP INDEX searchTitle ON ' . \DB::table_prefix('movie'))->execute(); \DB::query('DROP FULLTEXT searchTitle ON ' . \DB::table_prefix('movie'))->execute();
\DBUtil::drop_table('movie'); \DBUtil::drop_table('movie');
} }

@ -13,6 +13,7 @@ class Create_user_history
'watching_time' => array('type' => 'int', 'null' => false, 'constraint' => 11), 'watching_time' => array('type' => 'int', 'null' => false, 'constraint' => 11),
'ended_time' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 11), 'ended_time' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 11),
'is_ended' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1), 'is_ended' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
'date' => array('default' => '0', 'type' => 'int', 'null' => false, 'constraint' => 1),
), array('id')); ), array('id'));
\DB::query('CREATE INDEX constraintUserUserHistory ON ' . \DB::table_prefix('user_history') . '(`user_id`)')->execute(); \DB::query('CREATE INDEX constraintUserUserHistory ON ' . \DB::table_prefix('user_history') . '(`user_id`)')->execute();

@ -105,36 +105,44 @@ $(function() {
method: 'GET', method: 'GET',
data: {search: $(this).val()}, data: {search: $(this).val()},
dataType: 'json' dataType: 'json'
}).done(function (data) { }).done(function (datas) {
$('._search').remove(); $('._search').remove();
if(data.movies.length === 0 && data.episodes.length === 0) if(datas.length === 0)
return; return;
$('#search_result').removeClass('hidden'); $('#search_result').removeClass('hidden');
data.movies.forEach(function (movie, index) { datas.forEach(function (data, index) {
let template = $('#film_template').clone(); if(!data.type)
return;
let template = $('#search_template').clone();
template.removeClass('hidden'); template.removeClass('hidden');
template.addClass('_search'); template.addClass('_search');
template.html(template.html().replace(/{\$TITLE\$}/g, movie.title));
template.html(template.html().replace(/{\$YEAR\$}/g, movie.year));
template.html(template.html().replace(/{\$MOVIEID\$}/g, movie.id));
$('#film_template').after(template); if(data.type === 'movie') {
}); template.html(template.html().replace(/{\$HREF_SEARCH\$}/g, '/movie/' + data.id));
template.html(template.html().replace(/{\$URL_COVER\$}/g, '/cover/movie?movie_id=' + data.id));
}
data.episodes.forEach(function (episode, index) { if(data.type === 'episode') {
let template = $('#episode_template').clone(); template.html(template.html().replace(/{\$HREF_SEARCH\$}/g, '/episode/' + data.id));
template.html(template.html().replace(/{\$URL_COVER\$}/g, '/cover/movie?movie_id=' + data.id));
}
template.removeClass('hidden'); if(data.type === 'tvshow') {
template.addClass('_search'); template.html(template.html().replace(/{\$HREF_SEARCH\$}/g, '/tvshow/' + data.id));
template.html(template.html().replace(/{\$TITLE\$}/g, episode.title)); template.html(template.html().replace(/{\$URL_COVER\$}/g, '/cover/tvshow?tvshow_id=' + data.id));
template.html(template.html().replace(/{\$YEAR\$}/g, episode.year)); }
template.html(template.html().replace(/{\$MOVIEID\$}/g, episode.id));
template.html(template.html().replace(/{\$TITLE\$}/g, data.title));
template.html(template.html().replace(/{\$YEAR\$}/g, data.year));
template.html(template.html().replace(/{\$TYPE\$}/g, data.type));
template.html(template.html().replace(/{\$TVSHOW\$}/g, data.tvshow));
$('#episode_template').after(template); $('#search_template').after(template);
}); });
}).fail(function (data) { }).fail(function (data) {
console.error(data.responseText); console.error(data.responseText);

@ -4,18 +4,18 @@
de résultats...</a> de résultats...</a>
<div> <div>
<div> <div>
<div class="QuickSearchProvider-title-1DX5M" aria-label="heading" aria-level="4">Library</div> <div class="QuickSearchProvider-title-1DX5M" aria-label="heading" aria-level="4"></div>
<div> <div>
<div> <div>
<h5 class="QuickSearchHubContainer-hubTitle-2B0GD">Films</h5> <?php //<h5 class="QuickSearchHubContainer-hubTitle-2B0GD">Films</h5> ?>
<div id="film_template" role="button" class="hidden QuickSearchResult-button-1ZHpO Link-link-2XYrU Link-default-32xSO"> <div id="search_template" role="button" class="hidden QuickSearchResult-button-1ZHpO Link-link-2XYrU Link-default-32xSO">
<a tabindex="1" title="{$TITLE$}" href="/movie/{$MOVIEID$}" role="link" class="QuickSearchResult-underlay-QgyJt Link-link-2XYrU Link-default-32xSO"></a> <a tabindex="1" title="{$TITLE$}" href="{$HREF_SEARCH$}" role="link" class="QuickSearchResult-underlay-QgyJt Link-link-2XYrU Link-default-32xSO"></a>
<div class="QuickSearchResult-overlay-38WrL"> <div class="QuickSearchResult-overlay-38WrL">
<div class="QuickSearchResult-imageContainer-DvFlp"> <div class="QuickSearchResult-imageContainer-DvFlp">
<div class="QuickSearchMetadataPosterCard-card-3_XFi MetadataPosterButtonCard-card-2T8TR" <div class="QuickSearchMetadataPosterCard-card-3_XFi MetadataPosterButtonCard-card-2T8TR"
style="width: 28px; height: 42px;"> style="width: 28px; height: 42px;">
<div class="PosterCardImg-imageContainer-1Ar4M"> <div class="PosterCardImg-imageContainer-1Ar4M">
<div style="background-image: url('/cover/movie?movie_id={$MOVIEID$}&width=42&height=63'); background-size: cover; background-position: center center; background-repeat: no-repeat; width: 100%; height: 100%; position: absolute; z-index: 2;"></div> <div style="background-image: url('{$URL_COVER$}&width=42&height=63'); background-size: cover; background-position: center center; background-repeat: no-repeat; width: 100%; height: 100%; position: absolute; z-index: 2;"></div>
</div> </div>
<button aria-label="Lire {$TITLE$}" tabindex="-1" role="button" class="MetadataPosterButtonCard-playButton-aOV1E PlayButton-playButton-3WX8X Link-link-2XYrU Link-default-32xSO" type="button"> <button aria-label="Lire {$TITLE$}" tabindex="-1" role="button" class="MetadataPosterButtonCard-playButton-aOV1E PlayButton-playButton-3WX8X Link-link-2XYrU Link-default-32xSO" type="button">
<div class="MetadataPosterButtonCard-playCircle-366hc PlayButton-playCircle-3Evfd"> <div class="MetadataPosterButtonCard-playCircle-366hc PlayButton-playCircle-3Evfd">
@ -29,7 +29,10 @@
<span title="{$TITLE$}">{$TITLE$}</span> <span title="{$TITLE$}">{$TITLE$}</span>
</div> </div>
<div class=" QuickSearchTitle-title-2ApAO QuickSearchTitle-isSecondary-mxETF"> <div class=" QuickSearchTitle-title-2ApAO QuickSearchTitle-isSecondary-mxETF">
<span data-qa-id="metadataYear">{$YEAR$}</span></div> <span>{$TYPE$}</span>
<span>{$YEAR$}</span>
<span>{$TVSHOW$}</span>
</div>
</div> </div>
<button id="id-1341" tabindex="-1" aria-label="Plus d'actions" aria-haspopup="true" role="button" <button id="id-1341" tabindex="-1" aria-label="Plus d'actions" aria-haspopup="true" role="button"
class="QuickSearchResult-moreButton-2Agbk Link-link-2XYrU Link-default-32xSO" type="button"> class="QuickSearchResult-moreButton-2Agbk Link-link-2XYrU Link-default-32xSO" type="button">
@ -38,10 +41,11 @@
</div> </div>
</div> </div>
</div> </div>
<div> <?php
/*<div>
<h5 class="QuickSearchHubContainer-hubTitle-2B0GD">Épisodes</h5> <h5 class="QuickSearchHubContainer-hubTitle-2B0GD">Épisodes</h5>
<div id="episode_template" role="button" class="hidden QuickSearchResult-button-1ZHpO Link-link-2XYrU Link-default-32xSO"> <div id="episode_template" role="button" class="hidden QuickSearchResult-button-1ZHpO Link-link-2XYrU Link-default-32xSO">
<a tabindex="1" title="{$TITLE$}" href="/movie/{$MOVIEID$}" role="link" class="QuickSearchResult-underlay-QgyJt Link-link-2XYrU Link-default-32xSO"></a> <a tabindex="1" title="{$TITLE$}" href="/episode/{$MOVIEID$}" role="link" class="QuickSearchResult-underlay-QgyJt Link-link-2XYrU Link-default-32xSO"></a>
<div class="QuickSearchResult-overlay-38WrL"> <div class="QuickSearchResult-overlay-38WrL">
<div class="QuickSearchResult-imageContainer-DvFlp"> <div class="QuickSearchResult-imageContainer-DvFlp">
<div class="QuickSearchMetadataPosterCard-card-3_XFi MetadataPosterButtonCard-card-2T8TR" <div class="QuickSearchMetadataPosterCard-card-3_XFi MetadataPosterButtonCard-card-2T8TR"
@ -70,7 +74,8 @@
</button> </button>
</div> </div>
</div> </div>
</div> </div>*/
?>
</div> </div>
</div> </div>
</div> </div>

@ -94,11 +94,11 @@
<div class="col-sm-4 text-center" title="Dolby Digital" data-placement="bottom" data-toggle="tooltip" style="font-size: 35px;"><i class="glyphicon sound-dolby"></i></div> <div class="col-sm-4 text-center" title="Dolby Digital" data-placement="bottom" data-toggle="tooltip" style="font-size: 35px;"><i class="glyphicon sound-dolby"></i></div>
<?php endif; ?> <?php endif; ?>
<?php if(isset($movie->getMetaData()['Stream']['Audio'][0]) && preg_match('/7\.1(\([a-z]*\))?/',$movie->getMetaData()['Stream']['Audio'][0]['audioChannelLayout'])) : ?> <?php if(isset($movie->getMetaData()['Stream']['Audio'][0]) && preg_match('/7\.1(\([a-z]*\))?/',$movie->getMetaData()['Stream']['Audio'][0]['displayTitle'])) : ?>
<div class="col-sm-4 text-center" style="font-size: 35px;"><i class="glyphicon sound-7-1"></i></div> <div class="col-sm-4 text-center" style="font-size: 35px;"><i class="glyphicon sound-7-1"></i></div>
<?php elseif (isset($movie->getMetaData()['Stream']['Audio'][0]) && preg_match('/5\.1(\([a-z]*\))?/',$movie->getMetaData()['Stream']['Audio'][0]['audioChannelLayout'])) : ?> <?php elseif (isset($movie->getMetaData()['Stream']['Audio'][0]) && preg_match('/5\.1(\([a-z]*\))?/',$movie->getMetaData()['Stream']['Audio'][0]['displayTitle'])) : ?>
<div class="col-sm-4 text-center" style="font-size: 35px;"><i class="glyphicon sound-5-1"></i></div> <div class="col-sm-4 text-center" style="font-size: 35px;"><i class="glyphicon sound-5-1"></i></div>
<?php elseif (isset($movie->getMetaData()['Stream']['Audio'][0]) && preg_match('/stereo/',$movie->getMetaData()['Stream']['Audio'][0]['audioChannelLayout'])) : ?> <?php elseif (isset($movie->getMetaData()['Stream']['Audio'][0]) && preg_match('/Stereo/',$movie->getMetaData()['Stream']['Audio'][0]['displayTitle'])) : ?>
<div class="col-sm-4 text-center" title="Stereo" data-placement="bottom" data-toggle="tooltip" style="font-size: 35px;"><i class="glyphicon sound-stereo"></i></div> <div class="col-sm-4 text-center" title="Stereo" data-placement="bottom" data-toggle="tooltip" style="font-size: 35px;"><i class="glyphicon sound-stereo"></i></div>
<?php endif; ?> <?php endif; ?>
</div> </div>

@ -12,7 +12,7 @@
</button> </button>
<button aria-haspopup="true" data-qa-id="typeDropdownButton" id="id-14" role="button" <button aria-haspopup="true" data-qa-id="typeDropdownButton" id="id-14" role="button"
class="PageHeaderBreadcrumbButton-button-1uaPj DisclosureArrowButton-disclosureArrowButton-3tbYZ DisclosureArrowButton-medium-3-Y37 Link-link-2XYrU Link-default-32xSO" class="PageHeaderBreadcrumbButton-button-1uaPj DisclosureArrowButton-disclosureArrowButton-3tbYZ DisclosureArrowButton-medium-3-Y37 Link-link-2XYrU Link-default-32xSO"
type="button">Par Titre type="button">Date de sortie
<div class="DisclosureArrowButton-disclosureArrow-34Wg3 DisclosureArrow-disclosureArrow-1sBFv DisclosureArrowButton-down-bd2wx DisclosureArrowButton-medium-3-Y37 DisclosureArrow-down-1U7WW DisclosureArrow-up-rjGpc DisclosureArrow-default-3_FCW DisclosureArrow-medium-3VjTd "></div> <div class="DisclosureArrowButton-disclosureArrow-34Wg3 DisclosureArrow-disclosureArrow-1sBFv DisclosureArrowButton-down-bd2wx DisclosureArrowButton-medium-3-Y37 DisclosureArrow-down-1U7WW DisclosureArrow-up-rjGpc DisclosureArrow-default-3_FCW DisclosureArrow-medium-3VjTd "></div>
</button> </button>
<span class="PageHeaderBadge-badge-sOmD- Badge-badge-1VCQ1 Badge-default-1XnzT"><?php echo count($movies); ?></span> <span class="PageHeaderBadge-badge-sOmD- Badge-badge-1VCQ1 Badge-default-1XnzT"><?php echo count($movies); ?></span>
@ -217,88 +217,72 @@
<div data-reactroot="" id="id-1865"> <div data-reactroot="" id="id-1865">
<div role="menu" class="MenuContainer-menu-3Gtlw MenuContainer-medium-2XOYJ"> <div role="menu" class="MenuContainer-menu-3Gtlw MenuContainer-medium-2XOYJ">
<div class="Menu-menuScroller-E0NwY Scroller-vertical-1bgGS Scroller-scroller-d5-b- Scroller-vertical-1bgGS Scroller-auto-3t4gM" <div class="Menu-menuScroller-E0NwY Scroller-vertical-1bgGS Scroller-scroller-d5-b- Scroller-vertical-1bgGS Scroller-auto-3t4gM"
style="max-height: 591px;"><a data-qa-id="dropdownItem" role="menuitem" style="max-height: 591px;">
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=titleSort%3Adesc&amp;save=1" <a data-qa-id="dropdownItem" role="menuitem"
class=" SelectedMenuItem-isSelected-3zuEi MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO"> href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=titleSort%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ"> <div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Titre</div> <div class="SelectedMenuItem-menuLabel-1tKeW">Titre</div>
<div class="SelectedMenuItem-selectedIcon-3S2cy"><i class="plex-icon-sort-ascending-560"
aria-hidden="false"
aria-label="Croissant"></i></div>
</div> </div>
</a><a data-qa-id="dropdownItem" role="menuitem" </a>
<a data-qa-id="dropdownItem" role="menuitem"
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=year%3Adesc&amp;save=1" href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=year%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO"> class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ"> <div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Année</div> <div class="SelectedMenuItem-menuLabel-1tKeW">Année</div>
</div> </div>
</a><a data-qa-id="dropdownItem" role="menuitem" </a>
<a data-qa-id="dropdownItem" role="menuitem"
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=originallyAvailableAt%3Adesc&amp;save=1" href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=originallyAvailableAt%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO"> class=" SelectedMenuItem-isSelected-3zuEi MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ"> <div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Date de sortie</div> <div class="SelectedMenuItem-menuLabel-1tKeW">Date de sortie</div>
<div class="SelectedMenuItem-selectedIcon-3S2cy"><i class="plex-icon-sort-descending-560"></i></div>
</div> </div>
</a><a data-qa-id="dropdownItem" role="menuitem" </a>
<a data-qa-id="dropdownItem" role="menuitem"
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=rating%3Adesc&amp;save=1" href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=rating%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO"> class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ"> <div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Note Critique</div> <div class="SelectedMenuItem-menuLabel-1tKeW">Note Critique</div>
</div> </div>
</a><a data-qa-id="dropdownItem" role="menuitem" </a>
<a data-qa-id="dropdownItem" role="menuitem"
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=userRating%3Adesc&amp;save=1" href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=userRating%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO"> class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ"> <div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Évaluation</div> <div class="SelectedMenuItem-menuLabel-1tKeW">Évaluation</div>
</div> </div>
</a><a data-qa-id="dropdownItem" role="menuitem" </a>
<a data-qa-id="dropdownItem" role="menuitem"
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=contentRating%3Adesc&amp;save=1" href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=contentRating%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO"> class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ"> <div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Évaluation du contenu</div> <div class="SelectedMenuItem-menuLabel-1tKeW">Évaluation du contenu</div>
</div> </div>
</a><a data-qa-id="dropdownItem" role="menuitem" </a>
<a data-qa-id="dropdownItem" role="menuitem"
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=duration%3Adesc&amp;save=1" href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=duration%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO"> class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ"> <div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Durée</div> <div class="SelectedMenuItem-menuLabel-1tKeW">Durée</div>
</div> </div>
</a><a data-qa-id="dropdownItem" role="menuitem" </a>
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=viewOffset%3Adesc&amp;save=1" <a data-qa-id="dropdownItem" role="menuitem"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">En cours</div>
</div>
</a><a data-qa-id="dropdownItem" role="menuitem"
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=viewCount%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Lectures</div>
</div>
</a><a data-qa-id="dropdownItem" role="menuitem"
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=addedAt%3Adesc&amp;save=1" href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=addedAt%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO"> class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ"> <div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Date d'ajout</div> <div class="SelectedMenuItem-menuLabel-1tKeW">Date d'ajout</div>
</div> </div>
</a><a data-qa-id="dropdownItem" role="menuitem" </a>
<a data-qa-id="dropdownItem" role="menuitem"
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=lastViewedAt%3Adesc&amp;save=1" href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=lastViewedAt%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO"> class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ"> <div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Date du visionnage</div> <div class="SelectedMenuItem-menuLabel-1tKeW">Date du visionnage</div>
</div> </div>
</a><a data-qa-id="dropdownItem" role="menuitem" </a>
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=mediaHeight&amp;save=1" </div>
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Résolution</div>
</div>
</a><a data-qa-id="dropdownItem" role="menuitem"
href="#!/server/df1de861fbaba243c18ed9275fd42e3248d19336?key=%2Flibrary%2Fsections%2F1&amp;typeKey=%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1&amp;limit=&amp;sort=mediaBitrate%3Adesc&amp;save=1"
class=" MenuItem-menuItem-25266 MenuItem-default-tX5Cl Link-link-2XYrU Link-default-32xSO">
<div class="SelectedMenuItem-menuItemContainer-7SpJZ">
<div class="SelectedMenuItem-menuLabel-1tKeW">Débit</div>
</div>
</a></div>
</div> </div>
</div> </div>
</div> </div>

@ -93,10 +93,10 @@
}).done(function (data) { }).done(function (data) {
show_alert('success', 'Server save succesfully!'); show_alert('success', 'Server save succesfully!');
$('.media-server-modal button.close').click(); $('.media-server-modal button.close').click();
setTimeout(function(){location.reload()}, 200);
}).fail(function (data) { }).fail(function (data) {
data = JSON.parse(data.responseText); data = JSON.parse(data.responseText);
show_alert('error', data.message); show_alert('error', data.message);
setTimeout(function(){location.reload()}, 200);
}); });
}); });
<?php if ($countServers > 0) : ?> <?php if ($countServers > 0) : ?>

@ -13,7 +13,7 @@ function toHHMMSS(num) {
return times + minutes + ':' + seconds; return times + minutes + ':' + seconds;
} }
async function updateWatching(movie_id, totaltime, timeplay, isFinish = false){ async function updateWatching(movie_id, totaltime, timeplay, is_ended = false){
$.ajax({ $.ajax({
url: '/rest/movie/watching', url: '/rest/movie/watching',
method: 'POST', method: 'POST',
@ -21,7 +21,7 @@ async function updateWatching(movie_id, totaltime, timeplay, isFinish = false){
movie_id: movie_id, movie_id: movie_id,
totaltime: totaltime, totaltime: totaltime,
timeplay: timeplay, timeplay: timeplay,
isFinish: isFinish is_ended: is_ended
}, },
dataType: 'json' dataType: 'json'
}).done(function (data) { }).done(function (data) {
@ -116,7 +116,7 @@ function launchPlayer(view) {
let now = Date.now(); let now = Date.now();
if(totaltime !== null && timeplay !== 0 && (lastUpdateTime === 0 || (lastUpdateTime + 10*1000) < now)) { if(totaltime !== null && timeplay !== 0 && (lastUpdateTime === 0 || (lastUpdateTime + 5*1000) < now)) {
lastUpdateTime = now; lastUpdateTime = now;
updateWatching(movie_id, totaltime, timeplay, (percent > 97)); updateWatching(movie_id, totaltime, timeplay, (percent > 97));
} }

Loading…
Cancel
Save