mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-07-01 00:29:03 +02:00
feat(TVseries): load TVSeries data in list page/detail page
This commit is contained in:
@@ -52,6 +52,7 @@
|
||||
LOADING_TOP: 'Loading recommended info, please waiting...',
|
||||
TOP_MOVIE_INFO_ERROR: 'Get movie top info failed',
|
||||
NEWEST_MOVIE_LIST: 'Newest Movie Torrents',
|
||||
NEWEST_TV_LIST: 'Newest TV Series Torrents',
|
||||
|
||||
//element title/alt
|
||||
TITLE_ALT: {
|
||||
@@ -99,6 +100,9 @@
|
||||
PAGETITLE: {
|
||||
UPLOAD: 'Upload',
|
||||
MOVIE_LIST: 'Movie List',
|
||||
TV_LIST: 'TV List',
|
||||
MUSIC_LIST: 'Music List',
|
||||
OTHER_LIST: 'Other List',
|
||||
TORRENT_INFO: 'Torrent Info',
|
||||
RANKING: 'Ranking',
|
||||
RULES: 'Rules',
|
||||
@@ -113,8 +117,9 @@
|
||||
},
|
||||
|
||||
//TorrentsController & views
|
||||
MOVIE_PAGE_INFO_ERROR: 'Get movie page info failed',
|
||||
MOVIE_PAGE_INFO_EMPTY: 'No movie founded, please change some new tags to research',
|
||||
TOP_LIST_INFO_ERROR: 'Get top list info failed',
|
||||
LIST_PAGE_INFO_ERROR: 'Get resources page info failed',
|
||||
LIST_PAGE_INFO_EMPTY: 'No resources founded, please change some new tags to research',
|
||||
TAGS_SEARCH: 'Tags Search',
|
||||
CA_KEYWORD: 'Keyword',
|
||||
CA_TORRENT_STATUS: 'Torrent status',
|
||||
@@ -233,7 +238,7 @@
|
||||
SELECT_TORRENT_FILE: '2. Please select the torrent file',
|
||||
SELECT_FILE: 'Select file',
|
||||
DO_UPLOAD: 'Upload',
|
||||
ENTER_TMDB_ID: '3. Please enter theMovieDB id</span>',
|
||||
ENTER_TMDB_ID: '3. Please enter theMovieDB id',
|
||||
LOAD_TMDB_INFO: 'Load info',
|
||||
TMDB_ID: 'TMDB ID',
|
||||
TMDB_ID_OK: 'TMDB ID is ok! Get info successfully',
|
||||
|
||||
@@ -51,7 +51,8 @@
|
||||
//HomeController & home views
|
||||
LOADING_TOP: '正在推荐资源,请稍候...',
|
||||
TOP_MOVIE_INFO_ERROR: '获取电影Top列表失败',
|
||||
NEWEST_MOVIE_LIST: '最新电影种子文件',
|
||||
NEWEST_MOVIE_LIST: '最新电影种子',
|
||||
NEWEST_TV_LIST: '最新电视剧种子',
|
||||
|
||||
//element title/alt
|
||||
TITLE_ALT: {
|
||||
@@ -99,6 +100,9 @@
|
||||
PAGETITLE: {
|
||||
UPLOAD: '上传',
|
||||
MOVIE_LIST: '电影列表',
|
||||
TV_LIST: '电视剧列表',
|
||||
MUSIC_LIST: '音乐列表',
|
||||
OTHER_LIST: '其它列表',
|
||||
TORRENT_INFO: '种子信息',
|
||||
RANKING: '排行榜',
|
||||
RULES: '规则',
|
||||
@@ -113,8 +117,9 @@
|
||||
},
|
||||
|
||||
//TorrentsController & views
|
||||
MOVIE_PAGE_INFO_ERROR: '获取电影分页列表失败',
|
||||
MOVIE_PAGE_INFO_EMPTY: '没有找到信息,请更换标签重新检索',
|
||||
TOP_LIST_INFO_ERROR: '获取推荐列表失败',
|
||||
LIST_PAGE_INFO_ERROR: '获取资源分页列表失败',
|
||||
LIST_PAGE_INFO_EMPTY: '没有找到信息,请更换标签重新检索',
|
||||
TAGS_SEARCH: '标签检索',
|
||||
CA_KEYWORD: '关键字',
|
||||
CA_TORRENT_STATUS: '种子状态',
|
||||
@@ -233,7 +238,7 @@
|
||||
SELECT_TORRENT_FILE: '2. 请选择种子文件',
|
||||
SELECT_FILE: '选择文件',
|
||||
DO_UPLOAD: '上传',
|
||||
ENTER_TMDB_ID: '3. 请输入TMDB_ID</span>',
|
||||
ENTER_TMDB_ID: '3. 请输入TMDB_ID',
|
||||
LOAD_TMDB_INFO: '检索信息',
|
||||
TMDB_ID: 'TMDB ID',
|
||||
TMDB_ID_OK: 'MDB ID 正确,检索信息成功!',
|
||||
|
||||
@@ -32,11 +32,21 @@ body {
|
||||
//opacity: 0.5;
|
||||
padding-top: 30px;
|
||||
padding-bottom: 20px;
|
||||
position: relative;
|
||||
}
|
||||
.loading {
|
||||
color: #ccc;
|
||||
margin: 150px 0;
|
||||
}
|
||||
.type-flag {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: -20px;
|
||||
font-size: 100px;
|
||||
font-weight: bold;
|
||||
text-shadow: 2px 0 0 #222, -2px 0 0 #222, 0 2px 0 #222, 0 -2px 0 #222;
|
||||
filter: Glow(color=#f00, strength=100);
|
||||
}
|
||||
.topone {
|
||||
color: #ccc;
|
||||
dt {
|
||||
@@ -456,7 +466,13 @@ body {
|
||||
|
||||
.list-all-companies {
|
||||
.company-item {
|
||||
margin: 0 0 0;
|
||||
//margin: 20px 0 20px;
|
||||
&:not(:first-child) {
|
||||
&::before {
|
||||
content: ' ';
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<section ng-controller="HomeController as vm" ng-init="vm.getTopInfo();">
|
||||
<div class="backdrop movie-backdrop" ng-show="vm.movieTopOne">
|
||||
<div class="filter">
|
||||
<div class="type-flag">{{'MENU_TORRENTS_SUB.MOVIE' | translate}}</div>
|
||||
<div class="container">
|
||||
<div class="topone">
|
||||
<div class="col-md-4">
|
||||
@@ -32,12 +33,12 @@
|
||||
<span class="genres-item" ng-repeat="item in vm.movieTopOne.resource_detail_info.genres">{{item.name}}</span>
|
||||
</dd>
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.PRODUCTION_COUNTRIES' | translate}}:</dt>
|
||||
<dd class="h-line list-all-countries">
|
||||
<span class="country-item"
|
||||
ng-repeat="item in vm.movieTopOne.resource_detail_info.production_companies">{{item.name}}</span>
|
||||
<span ng-show="vm.movieTopOne.resource_detail_info.production_companies.length ==0">-</span>
|
||||
</dd>
|
||||
<!--<dt class="h-line">{{ 'TMDB_FIELDS.PRODUCTION_COMPANIES' | translate}}:</dt>-->
|
||||
<!--<dd class="h-line list-all-companies">-->
|
||||
<!--<span class="company-item"-->
|
||||
<!--ng-repeat="item in vm.movieTopOne.resource_detail_info.production_companies">{{item.name}}</span>-->
|
||||
<!--<span ng-show="vm.movieTopOne.resource_detail_info.production_companies.length ==0">-</span>-->
|
||||
<!--</dd>-->
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.RELEASE_DATE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.movieTopOne.resource_detail_info.release_date}}</dd>
|
||||
@@ -98,7 +99,8 @@
|
||||
<div data-ng-if="$index != 0 && $index % 4 == 0" class="clearfix visible-md-block visible-lg-block"></div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3 col-small-padding">
|
||||
<div class="thumbnail torrent-post-info" ng-click="vm.openTorrentInfo(item._id);">
|
||||
<img ng-src="{{vm.tmdbConfig.poster_img_base_url}}{{item.resource_detail_info.poster_path}}" alt="{{item.resource_detail_info.title}}"
|
||||
<img ng-src="{{vm.tmdbConfig.poster_img_base_url}}{{item.resource_detail_info.poster_path}}"
|
||||
alt="{{item.resource_detail_info.title}}"
|
||||
class="img-responsive">
|
||||
|
||||
<div class="torrent-user-info">
|
||||
@@ -198,6 +200,7 @@
|
||||
|
||||
<div class="backdrop tv-backdrop" ng-show="vm.TVTopOne">
|
||||
<div class="filter">
|
||||
<div class="type-flag">{{'MENU_TORRENTS_SUB.TVSERIES' | translate}}</div>
|
||||
<div class="container">
|
||||
<div class="topone">
|
||||
<div class="col-md-4">
|
||||
@@ -226,12 +229,12 @@
|
||||
<span class="genres-item" ng-repeat="item in vm.TVTopOne.resource_detail_info.genres">{{item.name}}</span>
|
||||
</dd>
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.PRODUCTION_COMPANIES' | translate}}:</dt>
|
||||
<dd class="h-line list-all-countries">
|
||||
<span class="country-item"
|
||||
ng-repeat="item in vm.TVTopOne.resource_detail_info.production_companies">{{item.name}}</span>
|
||||
<span ng-show="vm.TVTopOne.resource_detail_info.production_companies.length ==0">-</span>
|
||||
</dd>
|
||||
<!--<dt class="h-line">{{ 'TMDB_FIELDS.PRODUCTION_COMPANIES' | translate}}:</dt>-->
|
||||
<!--<dd class="h-line list-all-companies">-->
|
||||
<!--<span class="company-item"-->
|
||||
<!--ng-repeat="item in vm.TVTopOne.resource_detail_info.production_companies">{{item.name}}</span>-->
|
||||
<!--<span ng-show="vm.TVTopOne.resource_detail_info.production_companies.length ==0">-</span>-->
|
||||
<!--</dd>-->
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.PRODUCTION_COUNTRIES' | translate}}:</dt>
|
||||
<dd class="h-line list-all-countries">
|
||||
@@ -286,7 +289,8 @@
|
||||
<div data-ng-if="$index != 0 && $index % 4 == 0" class="clearfix visible-md-block visible-lg-block"></div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3 col-small-padding">
|
||||
<div class="thumbnail torrent-post-info" ng-click="vm.openTorrentInfo(item._id);">
|
||||
<img ng-src="{{vm.tmdbConfig.poster_img_base_url}}{{item.resource_detail_info.poster_path}}" alt="{{item.resource_detail_info.name}}"
|
||||
<img ng-src="{{vm.tmdbConfig.poster_img_base_url}}{{item.resource_detail_info.poster_path}}"
|
||||
alt="{{item.resource_detail_info.name}}"
|
||||
class="img-responsive">
|
||||
|
||||
<div class="torrent-user-info">
|
||||
@@ -311,7 +315,7 @@
|
||||
<div class="torrent-tmdb-info">
|
||||
<ul class="list-unstyled">
|
||||
<li>
|
||||
<!--<span class="release-date">{{item.resource_detail_info.release_date}}</span>-->
|
||||
<span class="release-date">{{item.resource_detail_info.last_air_date | date: 'yyyy'}}</span>
|
||||
<span title="{{ 'TITLE_ALT.IMDB_VOTES' | translate}}"
|
||||
class="pull-right torrent-votes"><kbd>IMDB</kbd> {{item.resource_detail_info.vote_average}}</span>
|
||||
</li>
|
||||
@@ -335,7 +339,7 @@
|
||||
<div class="fill-height-table">
|
||||
<div class="fill-height-row" style="overflow-y: auto;">
|
||||
<div class="panel panel-default panel-newest-list" ng-show="vm.TVNewList">
|
||||
<div class="panel-heading"><h5>{{'NEWEST_MOVIE_LIST' | translate}}</h5></div>
|
||||
<div class="panel-heading"><h5>{{'NEWEST_TV_LIST' | translate}}</h5></div>
|
||||
<table class="table">
|
||||
<tr ng-repeat="nt in vm.TVNewList" mouse-enter-toggle-class="show-big" base-class="hide-big"
|
||||
ng-class="[$index > 0 ? 'hide-big' : 'show-big', $index >= 12 ? 'hide-more' : '']">
|
||||
|
||||
@@ -21,7 +21,32 @@
|
||||
url: '/movie',
|
||||
templateUrl: '/modules/torrents/client/views/movie-list.client.view.html',
|
||||
data: {
|
||||
pageTitle: 'PAGETITLE.MOVIE_LIST'
|
||||
pageTitle: 'PAGETITLE.MOVIE_LIST',
|
||||
torrentType: 'movie'
|
||||
}
|
||||
})
|
||||
.state('torrents.tvseries', {
|
||||
url: '/tv',
|
||||
templateUrl: '/modules/torrents/client/views/movie-list.client.view.html',
|
||||
data: {
|
||||
pageTitle: 'PAGETITLE.TV_LIST',
|
||||
torrentType: 'tvseries'
|
||||
}
|
||||
})
|
||||
.state('torrents.music', {
|
||||
url: '/music',
|
||||
templateUrl: '/modules/torrents/client/views/movie-list.client.view.html',
|
||||
data: {
|
||||
pageTitle: 'PAGETITLE.MUSIC_LIST',
|
||||
torrentType: 'music'
|
||||
}
|
||||
})
|
||||
.state('torrents.other', {
|
||||
url: '/other',
|
||||
templateUrl: '/modules/torrents/client/views/movie-list.client.view.html',
|
||||
data: {
|
||||
pageTitle: 'PAGETITLE.OTHER_LIST',
|
||||
torrentType: 'other'
|
||||
}
|
||||
})
|
||||
.state('torrents.uploads', {
|
||||
|
||||
@@ -183,20 +183,34 @@
|
||||
};
|
||||
|
||||
/**
|
||||
* getMovieInfo
|
||||
* getResourceInfo
|
||||
*/
|
||||
vm.getMovieInfo = function (tmdb_id) {
|
||||
TorrentsService.getTMDBInfo({
|
||||
tmdbid: tmdb_id,
|
||||
language: getStorageLangService.getLang()
|
||||
}, function (res) {
|
||||
res.release_date = $filter('date')(res.release_date, 'yyyy');
|
||||
vm.doUpdateTorrentInfo(res);
|
||||
}, function (err) {
|
||||
Notification.error({
|
||||
message: '<i class="glyphicon glyphicon-remove"></i> ' + $translate.instant('TMDB_INFO_FAILED')
|
||||
vm.getResourceInfo = function (tmdb_id) {
|
||||
if (vm.torrentLocalInfo.torrent_type === 'movie') {
|
||||
TorrentsService.getTMDBMovieInfo({
|
||||
tmdbid: tmdb_id,
|
||||
language: getStorageLangService.getLang()
|
||||
}, function (res) {
|
||||
res.release_date = $filter('date')(res.release_date, 'yyyy');
|
||||
vm.doUpdateTorrentInfo(res);
|
||||
}, function (err) {
|
||||
Notification.error({
|
||||
message: '<i class="glyphicon glyphicon-remove"></i> ' + $translate.instant('TMDB_INFO_FAILED')
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
if (vm.torrentLocalInfo.torrent_type === 'tvseries') {
|
||||
TorrentsService.getTMDBTVInfo({
|
||||
tmdbid: tmdb_id,
|
||||
language: getStorageLangService.getLang()
|
||||
}, function (res) {
|
||||
vm.doUpdateTorrentInfo(res);
|
||||
}, function (err) {
|
||||
Notification.error({
|
||||
message: '<i class="glyphicon glyphicon-remove"></i> ' + $translate.instant('TMDB_INFO_FAILED')
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -722,7 +736,7 @@
|
||||
|
||||
ModalConfirmService.showModal({}, modalOptions)
|
||||
.then(function (result) {
|
||||
vm.getMovieInfo(vm.torrentLocalInfo.resource_detail_info.id);
|
||||
vm.getResourceInfo(vm.torrentLocalInfo.resource_detail_info.id);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -730,8 +744,8 @@
|
||||
* doUpdateTorrentInfo
|
||||
* @param minfo
|
||||
*/
|
||||
vm.doUpdateTorrentInfo = function (movieinfo) {
|
||||
vm.torrentLocalInfo.resource_detail_info = movieinfo;
|
||||
vm.doUpdateTorrentInfo = function (resinfo) {
|
||||
vm.torrentLocalInfo.resource_detail_info = resinfo;
|
||||
|
||||
vm.torrentLocalInfo.$update(function (response) {
|
||||
successCallback(response);
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
vm.releaseYear = undefined;
|
||||
vm.topItems = 6;
|
||||
|
||||
vm.torrentType = $state.current.data.torrentType;
|
||||
|
||||
/**
|
||||
* If user is not signed in then redirect back home
|
||||
*/
|
||||
@@ -46,7 +48,7 @@
|
||||
* @param callback
|
||||
*/
|
||||
vm.torrentFigureOutItemsToDisplay = function (callback) {
|
||||
vm.getMoviePageInfo(vm.torrentCurrentPage, function (items) {
|
||||
vm.getResourcePageInfo(vm.torrentCurrentPage, function (items) {
|
||||
vm.torrentFilterLength = items.total - vm.topItems;
|
||||
vm.torrentPagedItems = items.rows;
|
||||
|
||||
@@ -73,16 +75,18 @@
|
||||
};
|
||||
|
||||
/**
|
||||
* getMovieTopInfo
|
||||
* getResourceTopInfo
|
||||
*/
|
||||
vm.getMovieTopInfo = function () {
|
||||
vm.getResourceTopInfo = function () {
|
||||
TorrentsService.get({
|
||||
limit: vm.topItems
|
||||
limit: vm.topItems,
|
||||
torrent_status: 'reviewed',
|
||||
torrent_type: vm.torrentType
|
||||
}, function (items) {
|
||||
vm.movieTopInfo = items.rows;
|
||||
vm.listTopInfo = items.rows;
|
||||
}, function (err) {
|
||||
Notification.error({
|
||||
message: '<i class="glyphicon glyphicon-remove"></i> ' + $translate.instant('TOP_MOVIE_INFO_ERROR')
|
||||
message: '<i class="glyphicon glyphicon-remove"></i> ' + $translate.instant('TOP_LIST_INFO_ERROR')
|
||||
});
|
||||
});
|
||||
};
|
||||
@@ -139,10 +143,10 @@
|
||||
};
|
||||
|
||||
/**
|
||||
* getMoviePageInfo
|
||||
* getResourcePageInfo
|
||||
* @param p: page number
|
||||
*/
|
||||
vm.getMoviePageInfo = function (p, callback) {
|
||||
vm.getResourcePageInfo = function (p, callback) {
|
||||
//if searchKey or searchTags has value, the skip=0
|
||||
var skip = vm.topItems;
|
||||
if (vm.searchKey.trim().length > 0 || vm.searchTags.length > 0 || vm.releaseYear) {
|
||||
@@ -154,13 +158,13 @@
|
||||
limit: vm.torrentItemsPerPage,
|
||||
keys: vm.searchKey.trim(),
|
||||
torrent_status: 'reviewed',
|
||||
torrent_type: 'movie',
|
||||
torrent_type: vm.torrentType,
|
||||
torrent_release: vm.releaseYear,
|
||||
torrent_tags: vm.searchTags
|
||||
}, function (items) {
|
||||
if (items.length === 0) {
|
||||
Notification.error({
|
||||
message: '<i class="glyphicon glyphicon-remove"></i> ' + $translate.instant('MOVIE_PAGE_INFO_EMPTY')
|
||||
message: '<i class="glyphicon glyphicon-remove"></i> ' + $translate.instant('LIST_PAGE_INFO_EMPTY')
|
||||
});
|
||||
} else {
|
||||
callback(items);
|
||||
@@ -168,7 +172,7 @@
|
||||
}
|
||||
}, function (err) {
|
||||
Notification.error({
|
||||
message: '<i class="glyphicon glyphicon-remove"></i> ' + $translate.instant('MOVIE_PAGE_INFO_ERROR')
|
||||
message: '<i class="glyphicon glyphicon-remove"></i> ' + $translate.instant('LIST_PAGE_INFO_ERROR')
|
||||
});
|
||||
});
|
||||
};
|
||||
@@ -181,7 +185,24 @@
|
||||
vm.getTagTitle = function (tag) {
|
||||
var tmp = tag;
|
||||
var find = false;
|
||||
angular.forEach(vm.resourcesTags.movie.radio, function (item) {
|
||||
var r = undefined;
|
||||
|
||||
switch (vm.torrentType) {
|
||||
case 'tvseries':
|
||||
r = vm.resourcesTags.tv;
|
||||
break;
|
||||
case 'music':
|
||||
r = vm.resourcesTags.music;
|
||||
break;
|
||||
case 'other':
|
||||
r = vm.resourcesTags.other;
|
||||
break;
|
||||
default:
|
||||
r = vm.resourcesTags.movie;
|
||||
}
|
||||
|
||||
|
||||
angular.forEach(r.radio, function (item) {
|
||||
angular.forEach(item.value, function (sitem) {
|
||||
if (sitem.name === tag) {
|
||||
tmp = item.name;
|
||||
@@ -191,7 +212,7 @@
|
||||
});
|
||||
|
||||
if (!find) {
|
||||
angular.forEach(vm.resourcesTags.movie.checkbox, function (item) {
|
||||
angular.forEach(r.checkbox, function (item) {
|
||||
angular.forEach(item.value, function (sitem) {
|
||||
if (sitem.name === tag) {
|
||||
tmp = item.name;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<section class="container padding-top-10" ng-controller="TorrentsController as vm" ng-init="vm.getMovieTopInfo();vm.torrentBuildPager();">
|
||||
<section class="container padding-top-10" ng-controller="TorrentsController as vm" ng-init="vm.getResourceTopInfo();vm.torrentBuildPager();">
|
||||
<div class="row" style="padding: 0 10px;">
|
||||
<div ng-repeat="item in vm.movieTopInfo">
|
||||
<div ng-repeat="item in vm.listTopInfo">
|
||||
<div data-ng-if="$index != 0 && $index % 2 == 0" class="clearfix visible-xs-block"></div>
|
||||
<div data-ng-if="$index != 0 && $index % 3 == 0" class="clearfix visible-sm-block"></div>
|
||||
<div data-ng-if="$index != 0 && $index % 6 == 0" class="clearfix visible-md-block visible-lg-block"></div>
|
||||
<div class="col-xs-6 col-sm-4 col-md-2 col-small-padding">
|
||||
<div class="thumbnail torrent-post-info" ng-click="vm.openTorrentInfo(item._id);">
|
||||
<img ng-src="{{vm.tmdbConfig.poster_img_base_url}}{{item.resource_detail_info.poster_path}}"
|
||||
alt="{{item.resource_detail_info.title}}"
|
||||
alt="{{item.resource_detail_info.title || item.resource_detail_info.name}}"
|
||||
class="img-responsive">
|
||||
|
||||
<div class="torrent-user-info">
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="torrent-tmdb-info">
|
||||
<ul class="list-unstyled">
|
||||
<li>
|
||||
<span class="release-date">{{item.resource_detail_info.release_date}}</span>
|
||||
<span class="release-date">{{(item.resource_detail_info.release_date || item.resource_detail_info.last_air_date) | date: 'yyyy'}}</span>
|
||||
<span title="{{ 'TITLE_ALT.IMDB_VOTES' | translate}}"
|
||||
class="pull-right torrent-votes"><kbd>IMDB</kbd> {{item.resource_detail_info.vote_average}}</span>
|
||||
</li>
|
||||
@@ -42,7 +42,7 @@
|
||||
<div class="caption">
|
||||
<ul class="list-unstyled">
|
||||
<li class="text-long">
|
||||
<strong>{{item.resource_detail_info.title}}</strong>
|
||||
<strong>{{item.resource_detail_info.title || item.resource_detail_info.name}}</strong>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -82,33 +82,67 @@
|
||||
</div>
|
||||
</dd>
|
||||
|
||||
<div class="more-tags panel-collapsed" style="display: none;">
|
||||
<div ng-repeat="item in vm.resourcesTags.movie.radio">
|
||||
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}:</dt>
|
||||
<dd class="h-line">
|
||||
<div class="btn-group btn-group-xs" role="group">
|
||||
<button ng-repeat="sitem in item.value" id="tag_{{sitem.name}}"
|
||||
class="btn btn-xs btn-default btn-tag" value="{{sitem.name}}"
|
||||
ng-click="vm.onRadioTagClicked($event, sitem.name)">
|
||||
{{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
<div ng-if="vm.torrentType == 'movie'">
|
||||
<div class="more-tags panel-collapsed" style="display: none;">
|
||||
<div ng-repeat="item in vm.resourcesTags.movie.radio">
|
||||
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}:</dt>
|
||||
<dd class="h-line">
|
||||
<div class="btn-group btn-group-xs" role="group">
|
||||
<button ng-repeat="sitem in item.value" id="tag_{{sitem.name}}"
|
||||
class="btn btn-xs btn-default btn-tag" value="{{sitem.name}}"
|
||||
ng-click="vm.onRadioTagClicked($event, sitem.name)">
|
||||
{{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div ng-repeat="item in vm.resourcesTags.movie.checkbox">
|
||||
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}:</dt>
|
||||
<dd class="h-line">
|
||||
<div class="btn-group btn-group-xs" role="group">
|
||||
<button ng-repeat="sitem in item.value" id="tag_{{sitem.name}}"
|
||||
class="btn btn-xs btn-default btn-tag" value="{{sitem.name}}"
|
||||
ng-click="vm.onCheckboxTagClicked($event, sitem.name)"
|
||||
toggle-class="btn-success" base-class="btn-default" onclick="this.blur();">
|
||||
{{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</dd>
|
||||
<div ng-repeat="item in vm.resourcesTags.movie.checkbox">
|
||||
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}:</dt>
|
||||
<dd class="h-line">
|
||||
<div class="btn-group btn-group-xs" role="group">
|
||||
<button ng-repeat="sitem in item.value" id="tag_{{sitem.name}}"
|
||||
class="btn btn-xs btn-default btn-tag" value="{{sitem.name}}"
|
||||
ng-click="vm.onCheckboxTagClicked($event, sitem.name)"
|
||||
toggle-class="btn-success" base-class="btn-default" onclick="this.blur();">
|
||||
{{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="vm.torrentType == 'tvseries'">
|
||||
<div class="more-tags panel-collapsed" style="display: none;">
|
||||
<div ng-repeat="item in vm.resourcesTags.tv.radio">
|
||||
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}:</dt>
|
||||
<dd class="h-line">
|
||||
<div class="btn-group btn-group-xs" role="group">
|
||||
<button ng-repeat="sitem in item.value" id="tag_{{sitem.name}}"
|
||||
class="btn btn-xs btn-default btn-tag" value="{{sitem.name}}"
|
||||
ng-click="vm.onRadioTagClicked($event, sitem.name)">
|
||||
{{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div ng-repeat="item in vm.resourcesTags.tv.checkbox">
|
||||
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}:</dt>
|
||||
<dd class="h-line">
|
||||
<div class="btn-group btn-group-xs" role="group">
|
||||
<button ng-repeat="sitem in item.value" id="tag_{{sitem.name}}"
|
||||
class="btn btn-xs btn-default btn-tag" value="{{sitem.name}}"
|
||||
ng-click="vm.onCheckboxTagClicked($event, sitem.name)"
|
||||
toggle-class="btn-success" base-class="btn-default" onclick="this.blur();">
|
||||
{{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</dl>
|
||||
@@ -145,13 +179,23 @@
|
||||
alt="...">
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<h5 class="media-heading">{{item.resource_detail_info.original_title}}
|
||||
<h5 ng-if="vm.torrentType == 'movie'" class="media-heading">
|
||||
{{item.resource_detail_info.original_title}}
|
||||
<span ng-show="item.resource_detail_info.original_title!=item.resource_detail_info.title"> / {{item.resource_detail_info.title}}</span>
|
||||
<span class="label label-download text-uppercase"
|
||||
title="{{ 'TITLE_ALT.DOWNLOAD_TORRENT' | translate}}"
|
||||
ng-click="vm.downloadTorrent(item._id); $event.stopPropagation();">
|
||||
<i class="glyphicon glyphicon-arrow-right"></i> {{ 'CA_DOWNLOAD' | translate}}
|
||||
</span>
|
||||
<span class="label label-download text-uppercase"
|
||||
title="{{ 'TITLE_ALT.DOWNLOAD_TORRENT' | translate}}"
|
||||
ng-click="vm.downloadTorrent(item._id); $event.stopPropagation();">
|
||||
<i class="glyphicon glyphicon-arrow-right"></i> {{ 'CA_DOWNLOAD' | translate}}
|
||||
</span>
|
||||
</h5>
|
||||
<h5 ng-if="vm.torrentType == 'tvseries'" class="media-heading">
|
||||
{{item.resource_detail_info.original_name}}
|
||||
<span ng-show="item.resource_detail_info.original_name!=item.resource_detail_info.name"> / {{item.resource_detail_info.name}}</span>
|
||||
<span class="label label-download text-uppercase"
|
||||
title="{{ 'TITLE_ALT.DOWNLOAD_TORRENT' | translate}}"
|
||||
ng-click="vm.downloadTorrent(item._id); $event.stopPropagation();">
|
||||
<i class="glyphicon glyphicon-arrow-right"></i> {{ 'CA_DOWNLOAD' | translate}}
|
||||
</span>
|
||||
</h5>
|
||||
|
||||
<div class="list-all-genres">
|
||||
@@ -162,7 +206,7 @@
|
||||
|
||||
<div class="list-all-tags">
|
||||
<!--<span class="label label-success text-uppercase">{{ item.torrent_type}}</span>-->
|
||||
<span class="label label-release label-warning"
|
||||
<span class="label label-release label-warning" ng-show="item.resource_detail_info.release_date"
|
||||
ng-click="vm.onReleaseClicked(item.resource_detail_info.release_date); $event.stopPropagation();">
|
||||
{{ item.resource_detail_info.release_date}}
|
||||
</span>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="backdrop" ng-show="vm.torrentLocalInfo">
|
||||
<div class="filter">
|
||||
<div class="container">
|
||||
<div class="topone" ng-show="vm.torrentLocalInfo">
|
||||
<div class="topone">
|
||||
<div class="col-md-4">
|
||||
<img ng-src="{{vm.tmdbConfig.poster_img_base_url}}{{vm.torrentLocalInfo.resource_detail_info.poster_path}}"
|
||||
class="img-thumbnail center-block"
|
||||
@@ -15,14 +15,30 @@
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<dl class="dl-horizontal">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.ORIGINAL_TITLE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.original_title}}</dd>
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.original_title">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.ORIGINAL_TITLE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.original_title}}</dd>
|
||||
</div>
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.TITLE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.title}}</dd>
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.title">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.TITLE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.title}}</dd>
|
||||
</div>
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.DIRECTOR' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.getDirector();}}</dd>
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.original_name">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.ORIGINAL_NAME' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.original_name}}</dd>
|
||||
</div>
|
||||
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.name">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.NAME' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.name}}</dd>
|
||||
</div>
|
||||
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.title">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.DIRECTOR' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.getDirector();}}</dd>
|
||||
</div>
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.ORIGINAL_LANGUAGE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.original_language}}</dd>
|
||||
@@ -39,27 +55,50 @@
|
||||
<span ng-show="vm.torrentLocalInfo.resource_detail_info.production_companies.length ==0">-</span>
|
||||
</dd>
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.PRODUCTION_COUNTRIES' | translate}}:</dt>
|
||||
<dd class="h-line list-all-countries">
|
||||
<span class="country-item"
|
||||
ng-repeat="item in vm.torrentLocalInfo.resource_detail_info.production_countries">{{item.iso_3166_1}}</span>
|
||||
<span ng-show="vm.torrentLocalInfo.resource_detail_info.production_countries.length ==0">-</span>
|
||||
</dd>
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.production_countries">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.PRODUCTION_COUNTRIES' | translate}}:</dt>
|
||||
<dd class="h-line list-all-countries">
|
||||
<span class="country-item"
|
||||
ng-repeat="item in vm.torrentLocalInfo.resource_detail_info.production_countries">{{item.iso_3166_1}}</span>
|
||||
<span ng-show="vm.torrentLocalInfo.resource_detail_info.production_countries.length ==0">-</span>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.RELEASE_DATE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.release_date}}</dd>
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.origin_country">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.PRODUCTION_COUNTRIES' | translate}}:</dt>
|
||||
<dd class="h-line list-all-countries">
|
||||
<span class="country-item"
|
||||
ng-repeat="item in vm.torrentLocalInfo.resource_detail_info.origin_country">{{item}}</span>
|
||||
<span ng-show="vm.torrentLocalInfo.resource_detail_info.origin_country.length ==0">-</span>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<div ng-hide="vm.torrentLocalInfo.resource_detail_info.runtime == 0">
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.release_date">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.RELEASE_DATE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.release_date}}</dd>
|
||||
</div>
|
||||
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.first_air_date">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.FIRST_AIR_DATE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.first_air_date}}</dd>
|
||||
</div>
|
||||
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.last_air_date">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.LAST_AIR_DATE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.last_air_date}}</dd>
|
||||
</div>
|
||||
|
||||
<div ng-hide="!vm.torrentLocalInfo.resource_detail_info.runtime || vm.torrentLocalInfo.resource_detail_info.runtime == 0">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.RUNTIME' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.runtime | runtime}}</dd>
|
||||
</div>
|
||||
|
||||
<div ng-hide="vm.torrentLocalInfo.resource_detail_info.budget == 0">
|
||||
<div ng-hide="!vm.torrentLocalInfo.resource_detail_info.budget || vm.torrentLocalInfo.resource_detail_info.budget == 0">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.BUDGET' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.budget | dollar:2}}</dd>
|
||||
</div>
|
||||
|
||||
<div ng-hide="vm.torrentLocalInfo.resource_detail_info.revenue == 0">
|
||||
<div ng-hide="!vm.torrentLocalInfo.resource_detail_info.revenue || vm.torrentLocalInfo.resource_detail_info.revenue == 0">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.REVENUE' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.revenue | dollar:2}}</dd>
|
||||
</div>
|
||||
@@ -73,15 +112,20 @@
|
||||
</span>
|
||||
</dd>
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.IMDB_LINK' | translate}}:</dt>
|
||||
<dd class="h-line"><a href="{{vm.imdbConfig.imdb_link_url}}{{vm.torrentLocalInfo.resource_detail_info.imdb_id}}"
|
||||
target="_blank">{{vm.imdbConfig.imdb_link_url}}{{vm.torrentLocalInfo.resource_detail_info.imdb_id}}</a>
|
||||
</dd>
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.imdb_id">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.IMDB_LINK' | translate}}:</dt>
|
||||
<dd class="h-line">
|
||||
<a href="{{vm.imdbConfig.imdb_link_url}}{{vm.torrentLocalInfo.resource_detail_info.imdb_id}}"
|
||||
target="_blank">{{vm.imdbConfig.imdb_link_url}}{{vm.torrentLocalInfo.resource_detail_info.imdb_id}}</a>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.TMDB_LINK' | translate}}:</dt>
|
||||
<dd class="h-line"><a href="{{vm.tmdbConfig.tmdb_movie_link_url}}{{vm.torrentLocalInfo.resource_detail_info.id}}"
|
||||
target="_blank">{{vm.tmdbConfig.tmdb_movie_link_url}}{{vm.torrentLocalInfo.resource_detail_info.id}}</a>
|
||||
</dd>
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.id">
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.TMDB_LINK' | translate}}:</dt>
|
||||
<dd class="h-line"><a href="{{vm.tmdbConfig.tmdb_movie_link_url}}{{vm.torrentLocalInfo.resource_detail_info.id}}"
|
||||
target="_blank">{{vm.tmdbConfig.tmdb_movie_link_url}}{{vm.torrentLocalInfo.resource_detail_info.id}}</a>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
<dt class="h-line">{{ 'TMDB_FIELDS.OVERVIEW' | translate}}:</dt>
|
||||
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.overview}}</dd>
|
||||
@@ -481,9 +525,11 @@
|
||||
<div class="text-long">{{item.torrent_filename}}</div>
|
||||
|
||||
<div class="list-all-tags">
|
||||
<span class="label label-warning" ng-click="$event.stopPropagation();">
|
||||
{{ vm.torrentLocalInfo.resource_detail_info.release_date}}
|
||||
</span>
|
||||
<div ng-show="vm.torrentLocalInfo.resource_detail_info.release_date">
|
||||
<span class="label label-warning" ng-click="$event.stopPropagation();">
|
||||
{{ vm.torrentLocalInfo.resource_detail_info.release_date}}
|
||||
</span>
|
||||
</div>
|
||||
<span class="label label-sale" ng-if="item.isSaling"
|
||||
title="{{vm.getSaleTypeDesc(item);}} | {{ 'SALE_EXPIRES_TIME' | translate}}: {{item.torrent_sale_expires | date: 'MM-dd HH:mm'}}"
|
||||
ng-click="$event.stopPropagation();"
|
||||
@@ -552,7 +598,11 @@
|
||||
<dl class="dl-horizontal">
|
||||
<dt class="h-line">{{ 'ADMIN_BASIC_COMMAND' | translate}}:</dt>
|
||||
<dd class="h-line">
|
||||
<button class="btn btn-default btn-sm" ng-click="vm.updateTorrent();">{{ 'ADMIN_BASIC_UPDATE' | translate}}</button>
|
||||
<button class="btn btn-default btn-sm"
|
||||
ng-show="vm.torrentLocalInfo.resource_detail_info.id"
|
||||
ng-click="vm.updateTorrent();">
|
||||
{{ 'ADMIN_BASIC_UPDATE' | translate}}
|
||||
</button>
|
||||
<button class="btn btn-default btn-sm" ng-click="vm.deleteTorrent();">{{ 'ADMIN_BASIC_DELETE' | translate}}</button>
|
||||
</dt>
|
||||
|
||||
|
||||
@@ -633,7 +633,6 @@ exports.torrentByID = function (req, res, next, id) {
|
||||
var findOtherTorrents = function (torrent, callback) {
|
||||
var condition = {
|
||||
torrent_status: 'reviewed',
|
||||
torrent_type: 'movie',
|
||||
'resource_detail_info.id': torrent.resource_detail_info.id
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user