Files
meanTorrent/modules/torrents/client/views/view-torrent.client.view.html

1101 lines
69 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<section ng-controller="TorrentsInfoController as vm" ng-init="vm.getTorrentInfo();">
<div class="backdrop" ng-show="vm.torrentLocalInfo">
<div class="filter">
<div class="container">
<div class="topone row">
<div class="col-md-3 text-center">
<div class="topone-logo" ng-class="{'img-thumbnail center-block torrent-logo': vm.torrentLocalInfo.torrent_type!='music'}">
<img torrent-logo="vm.torrentLocalInfo"
ng-src="{{vm.TGI.getTorrentTopOneImage(vm.torrentLocalInfo)}}"
alt="{{vm.TGI.getTorrentTitle(vm.torrentLocalInfo)}}">
</div>
<div class="down-torrent">
<button class="btn btn-success btn-block" ng-click="vm.DLS.downloadTorrent(vm.torrentLocalInfo._id)"
translate="DOWNLOAD_TORRENT"></button>
</div>
<div class="margin-top-20 margin-bottom-20 rating"
ng-if="vm.torrentLocalInfo.torrent_type!='movie' && vm.torrentLocalInfo.torrent_type!='tvserial'">
<span uib-rating ng-model="vm.rating_vote" max="10"
state-on="'fa fa-star'"
state-off="'fa fa-star-o'"
titles="['1','2','3','4','5','6','7','8','9','10']"
enable-reset="false"
ng-click="vm.ratingTorrent(vm.torrentLocalInfo);"
aria-labelledby="rating-torrent">
</span>
<div class="torrent-votes margin-top-10">
<kbd>{{vm.torrentLocalInfo.resource_detail_info.vote_average}}</kbd>
</div>
</div>
</div>
<div class="col-md-9 torrent-detail">
<dl class="dl-horizontal">
<div ng-if="vm.TGI.getTorrentTitle(vm.torrentLocalInfo)">
<dt class="h-line">{{ 'TMDB_FIELDS.TITLE' | translate}}</dt>
<dd class="h-line">{{vm.TGI.getTorrentTitle(vm.torrentLocalInfo)}}</dd>
</div>
<div ng-if="vm.TGI.getTorrentOriginalTitle(vm.torrentLocalInfo)">
<dt class="h-line">{{ 'TMDB_FIELDS.ORIGINAL_TITLE' | translate}}</dt>
<dd class="h-line">{{vm.TGI.getTorrentOriginalTitle(vm.torrentLocalInfo)}}</dd>
</div>
<div ng-if="vm.torrentLocalInfo.resource_detail_info.subtitle">
<dt class="h-line">{{ 'TMDB_FIELDS.SUB_TITLE' | translate}}</dt>
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.subtitle}}</dd>
</div>
<div ng-if="vm.torrentLocalInfo.resource_detail_info.artist">
<dt class="h-line">{{ 'TMDB_FIELDS.ARTIST' | translate}}</dt>
<dd class="h-line">{{vm.torrentLocalInfo.resource_detail_info.artist}}</dd>
</div>
<div ng-if="vm.TGI.getMovieDirector(vm.torrentLocalInfo)">
<dt class="h-line">{{ 'TMDB_FIELDS.DIRECTOR' | translate}}</dt>
<dd class="h-line">{{vm.TGI.getMovieDirector(vm.torrentLocalInfo)}}</dd>
</div>
<div ng-if="vm.torrentLocalInfo.resource_detail_info.networks.length > 0">
<dt class="h-line">{{ 'TMDB_FIELDS.NETWORK' | translate}}</dt>
<dd class="h-line list-all-network">
<span class="network-item"
ng-repeat="item in vm.torrentLocalInfo.resource_detail_info.networks">{{item.name}}</span>
</dd>
</div>
<div ng-if="vm.TGI.getTorrentLanguage(vm.torrentLocalInfo)">
<dt class="h-line">{{ 'TMDB_FIELDS.ORIGINAL_LANGUAGE' | translate}}</dt>
<dd class="h-line">{{vm.TGI.getTorrentLanguage(vm.torrentLocalInfo)}}</dd>
</div>
<div ng-if="vm.torrentLocalInfo.resource_detail_info.genres.length > 0">
<dt class="h-line">{{ 'TMDB_FIELDS.GENRES' | translate}}</dt>
<dd class="h-line list-all-genres">
<span class="genres-item" ng-repeat="item in vm.torrentLocalInfo.resource_detail_info.genres">{{item.name}}</span>
</dd>
</div>
<div ng-if="vm.torrentLocalInfo.resource_detail_info.production_companies.length > 0">
<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.torrentLocalInfo.resource_detail_info.production_companies">{{item.name}}</span>
</dd>
</div>
<div ng-if="vm.torrentLocalInfo.resource_detail_info.production_countries.length > 0">
<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>
</dd>
</div>
<div ng-if="vm.torrentLocalInfo.resource_detail_info.origin_country.length > 0">
<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-if="vm.torrentLocalInfo.resource_detail_info.origin_country.length ==0">-</span>
</dd>
</div>
<div ng-if="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-if="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-if="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-if="vm.torrentLocalInfo.resource_detail_info.number_of_seasons">
<dt class="h-line">{{ 'TMDB_FIELDS.TOTAL_SE' | translate}}</dt>
<dd class="h-line">
{{vm.torrentLocalInfo.resource_detail_info.number_of_episodes}} {{ 'TMDB_FIELDS.UNIT_EPISODES' | translate}} /
{{vm.torrentLocalInfo.resource_detail_info.number_of_seasons}} {{ 'TMDB_FIELDS.UNIT_SEASONS' | translate}}
</dd>
<div ng-if="vm.torrentLocalInfo.resource_detail_info.number_of_seasons">
<dt class="h-line">{{ 'TMDB_FIELDS.THIS_SE' | translate}}</dt>
<dd class="h-line">
<span class="se-info">S{{vm.torrentLocalInfo.torrent_seasons}}E{{vm.torrentLocalInfo.torrent_episodes}}</span>
</dd>
</div>
</div>
<div ng-if="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-if="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-if="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>
<div>
<dt class="h-line">{{ 'TMDB_FIELDS.VOTE_AVERAGE' | translate}}</dt>
<dd class="h-line">
<span ng-if="vm.torrentLocalInfo">
<span class="torrent-votes">
<kbd>{{vm.TGI.getVoteTitle(vm.torrentLocalInfo)}}</kbd>
</span> {{vm.torrentLocalInfo.resource_detail_info.vote_average}} / {{vm.torrentLocalInfo.resource_detail_info.vote_count}} {{ 'TMDB_FIELDS.VOTE_UNIT' | translate}}
</span>
</dd>
</div>
<div ng-if="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.imdbLinkUrl}}{{vm.torrentLocalInfo.resource_detail_info.imdb_id}}"
target="_blank">{{vm.imdbConfig.imdbLinkUrl}}{{vm.torrentLocalInfo.resource_detail_info.imdb_id}}</a>
</dd>
</div>
<div ng-if="vm.torrentLocalInfo.resource_detail_info.id">
<dt class="h-line">{{ 'TMDB_FIELDS.TMDB_LINK' | translate}}</dt>
<dd class="h-line">
<a href="{{vm.torrentLocalInfo.torrent_type=='movie' ? vm.tmdbConfig.tmdbMovieLinkUrl : vm.tmdbConfig.tmdbTvserialLinkUrl}}{{vm.torrentLocalInfo.resource_detail_info.id}}"
target="_blank">{{vm.torrentLocalInfo.torrent_type=='movie' ? vm.tmdbConfig.tmdbMovieLinkUrl : vm.tmdbConfig.tmdbTvserialLinkUrl}}{{vm.torrentLocalInfo.resource_detail_info.id}}</a>
</dd>
</div>
<div id="top_of_overview" ng-if="vm.TGI.getTorrentOverview(vm.torrentLocalInfo)">
<dt class="h-line">{{ 'TMDB_FIELDS.OVERVIEW' | translate}}</dt>
<dd class="h-line">
<div ng-if="vm.torrentLocalInfo.torrent_type=='movie' || vm.torrentLocalInfo.torrent_type=='tvserial'">
{{vm.TGI.getTorrentOverview(vm.torrentLocalInfo)}}
</div>
<div ng-if="vm.torrentLocalInfo.torrent_type!='movie' && vm.torrentLocalInfo.torrent_type!='tvserial'">
<div torrent-image-list="true"
img-container="img_container_{{vm.torrentLocalInfo._id}}"
img-click-event="vm.onImageClick(event)">
<div id="{{vm.torrentLocalInfo._id}}" class="torrent-long-overview" data-provide="markdown"
ng-bind-html="vm.getOverviewMarkedContent(vm.TGI.getTorrentOverview(vm.torrentLocalInfo))">
</div>
</div>
<button class="btn btn-xs btn-mt-o margin-top-15" mouse-enter-toggle-class="btn-mt-o-light" base-class="btn-mt-o-primary"
ng-if="vm.isOwner(vm.torrentLocalInfo) || vm.user.isOper"
ng-click="vm.beginEditOverview(vm.torrentLocalInfo)">
{{'EDIT_THIS_OVERVIEW' | translate}}
</button>
</div>
</dd>
</div>
</dl>
<div id="img_container_{{vm.torrentLocalInfo._id}}" class="img-container">
<legend class="xsmall-legend strong-legend" translate="TMDB_FIELDS.IMAGE_OVERVIEW"></legend>
</div>
<div class="cast-list" ng-if="vm.torrentLocalInfo.resource_detail_info.credits.cast.length > 0">
<legend class="xsmall-legend strong-legend" translate="TMDB_FIELDS.CAST"></legend>
<div class="row">
<div ng-repeat="cast in vm.torrentLocalInfo.resource_detail_info.credits.cast | limitTo: 6">
<div data-ng-if="$index != 0 && $index % 3 == 0" class="clearfix visible-xs-block 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-4 col-md-2 text-center">
<img ng-src="{{vm.tmdbConfig.castImgBaseUrl}}{{cast.profile_path}}"
on-error-src="/modules/core/client/img/default_face.jpg"
class="img-circle img-thumbnail img-responsive center-block">
<span class="cast-xs-info"><strong>{{cast.name}}</strong></span>
<p class="cast-xs-info character">{{cast.character}}</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="torrent-info-tabs" ng-if="vm.torrentLocalInfo">
<div class="info-tabs-top">
</div>
<div class="container">
<uib-tabset class="mt-responsive-tabs-sm">
<uib-tab index="$index" ng-repeat="tab in vm.torrentTabs" disabled="tab.disabled" ng-if="tab.ng_show" title="{{tab.title}}">
<uib-tab-heading>
<i class="fa {{tab.icon}} fa-2x" aria-hidden="true"></i><span class="tab-title">{{tab.title}}</span>
<span class="badge {{b.class}}" ng-repeat="b in tab.badges">{{b.value}}</span>
</uib-tab-heading>
<div class="tab-border-view" ng-include="tab.templateUrl">
</div>
</uib-tab>
</uib-tabset>
</div>
</div>
<div class="padding-top-30" id="top_of_comments" ng-if="vm.torrentLocalInfo">
<div class="container">
<div class="panel panel-default panel-comment">
<div class="panel-heading text-center"><strong>{{ 'USER_COMMENT_LIST' | translate}}</strong> <span
class="badge badge_info">{{vm.torrentLocalInfo._replies.length}}</span></div>
<div class="panel-body">
<ul uib-pagination boundary-links="true" max-size="8" items-per-page="vm.commentItemsPerPage" total-items="vm.commentFilterLength"
ng-model="vm.commentCurrentPage" ng-change="vm.commentPageChanged(true)"
ng-if="vm.torrentLocalInfo._replies.length > 0"
first-text="{{ 'PAGE_TEXT_FIRST' | translate}}" previous-text="{{ 'PAGE_TEXT_PREVIOUS' | translate}}"
next-text="{{ 'PAGE_TEXT_NEXT' | translate}}" last-text="{{ 'PAGE_TEXT_LAST' | translate}}">
</ul>
<div id="comment-list-div">
<div class="comment-list" id="{{item._id}}" scroll-if="item._id==vm.scrollToId" offset-top="-60"
ng-repeat="item in vm.commentPagedItems">
<div class="timeline-comment-wrapper">
<a class="timeline-comment-avatar" ng-click="vm.replyComment(item);">
<img title="{{item.user.displayName}}" ng-src="{{item.user.profileImageURL}}">
</a>
<div class="timeline-comment">
<div class="timeline-comment-header">
<div class="timeline-comment-header-text">
<span user-info="item.user" info-name></span>
<span vip-flag="item.user"></span>
<!--<span message-to="item.user" to-class="message-to-icon"></span>-->
<span class="user-ud-text">
(<span class="glyphicon glyphicon-arrow-up torrent-up"></span>{{item.user.uploaded | bytes}}
<span class="glyphicon glyphicon-arrow-down torrent-down"></span>{{item.user.downloaded | bytes}}
)
</span>
</div>
<span class="timeline-comment-header-time-text">{{item.createdat | date:'yyyy-MM-dd HH:mm:ss'}}</span>
</div>
<div class="timeline-comment-body">
<div class="timeline-comment-body-text" ng-bind-html="vm.getCommentMarked(item);"></div>
<div class="row text-right" ng-if="item.editedat">
<p class="timeline-comment-body-edited-text">[ {{item.editedby}} {{ 'COMMENT_EDITED_INFO' | translate}} {{item.editedat | date:'yyyy-MM-dd HH:mm:ss'}} ]</p>
</div>
<div class="row" ng-if="item._replies.length>0">
<div class="col-sm-10 col-sm-offset-2 timeline-comment-sub-list">
<div class="timeline-comment-sub-item" ng-repeat="sitem in item._replies">
<a class="timeline-comment-sub-avatar" ng-click="vm.replySubComment(item, sitem);">
<img title="{{sitem.user.displayName}}" ng-src="{{sitem.user.profileImageURL}}">
</a>
<div class="timeline-comment-sub-body">
<span ng-bind-html="vm.getReplyMarked(sitem);"></span>
<p class="reply-by">
<span style="font-size: 12px;"> -
<a ng-click="vm.markLinkClick($event, item);"
ng-href="#">@{{sitem.user.displayName}}</a>
</span>
<span style="font-size: 12px; color: #999999;">{{sitem.createdat | date: 'yyyy-MM-dd HH:mm:ss'}}</span>
<span class="glyphicon glyphicon-edit edit-button"
title="{{ 'COMMENT_EDIT_ICON_TITLE' | translate}}"
ng-if="sitem.user._id.toString()==vm.user._id || vm.user.roles[0] == 'admin'"
ng-click="vm.editSubComment(item,sitem);">
</span>
<span class="glyphicon glyphicon-remove-circle delete-button"
title="{{ 'COMMENT_DELETE_ICON_TITLE' | translate}}"
ng-if="sitem.user._id.toString()==vm.user._id || vm.user.roles[0] == 'admin'"
ng-click="vm.deleteSubComment(item,sitem);">
</span>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="timeline-comment-footer">
<div class="timeline-comment-footer-button text-right">
<button class="btn btn-default btn-xs"
ng-if="item.user._id.toString()==vm.user._id || vm.user.roles[0] == 'admin'"
translate="COMMENT_REPLY_EDIT" ng-click="vm.editComment(item);"></button>
<button class="btn btn-default btn-xs"
ng-if="item.user._id.toString()==vm.user._id || vm.user.roles[0] == 'admin'"
translate="COMMENT_REPLY_DELETE" ng-click="vm.deleteComment(item);"></button>
<button class="btn btn-default btn-xs"
ng-if="vm.user"
translate="COMMENT_REPLY_BUTTON" ng-click="vm.replyComment(item);"></button>
</div>
</div>
</div>
</div>
</div>
</div>
<ul uib-pagination boundary-links="true" max-size="8" items-per-page="vm.commentItemsPerPage" total-items="vm.commentFilterLength"
ng-model="vm.commentCurrentPage" ng-change="vm.commentPageChanged(true)"
ng-if="vm.torrentLocalInfo._replies.length > 0"
first-text="{{ 'PAGE_TEXT_FIRST' | translate}}" previous-text="{{ 'PAGE_TEXT_PREVIOUS' | translate}}"
next-text="{{ 'PAGE_TEXT_NEXT' | translate}}" last-text="{{ 'PAGE_TEXT_LAST' | translate}}">
</ul>
<div class="padding-top-20"></div>
<div class="comment-new" ng-if="vm.user">
<div class="timeline-comment-wrapper">
<a href="#" class="timeline-comment-avatar">
<img title="{{vm.user.displayName}}" ng-src="{{vm.user.profileImageURL}}">
</a>
<div class="timeline-comment timeline-new-comment">
<div class="timeline-comment-header">
<div class="timeline-comment-header-text">{{ vm.reply_action == 'edit' ? 'EDIT_COMMENT' : (vm.reply_action == 'reply' ? 'REPLY_COMMENT' : 'POST_NEW_COMMENT') | translate}}</div>
</div>
<div class="timeline-comment-body">
<textarea id="commentContent" name="commentContent" ng-model="vm.new_comment_content"
mt-markdown-editor="commentContent"
maxlength="{{vm.inputLengthConfig.torrentCommentLength}}"></textarea>
<div class="row margin-top-10">
<div class="col-sm-6" style="display: table;">
<a class="tabnav-extra" href="https://guides.github.com/features/mastering-markdown/" target="_blank"
data-ga-click="Markdown Toolbar, click, help">
<svg aria-hidden="true" height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z"/>
</svg>
{{ 'MARKDOWN_LINK' | translate }}
</a>
</div>
<div class="col-sm-6 text-right">
<button class="btn btn-warning" translate="SUBMIT_CANCEL" ng-click="vm.submitInit();"></button>
<button class="btn btn-success"
translate="{{vm.reply_action == 'reply' ? 'SUBMIT_REPLY' : 'SUBMIT_COMMENT'}}"
ng-click="vm.submitComment();"
ng-disabled="!vm.new_comment_content"></button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="up_to_top_div" up-to-top="top_of_comments" offset="-30"></div>
<div id="popup_img_preview" class="popup_well">
<div class="img_item center-block">
<img class="img-thumbnail img-responsive" src="">
<i class="fa fa-2x fa-times-circle-o popup_img_preview_close" mt-scale-by-mouse="{scale: 1.5, duration: '.5s'}" aria-hidden="true"></i>
</div>
<div class="img_nav text-center">
<span class="img_page_info"></span>
<button class="btn btn-bold btn-width-120 btn-mt-o popup_img_preview_close" mouse-enter-toggle-class="btn-mt-o-light"
base-class="btn-mt-o-success">
{{'BUTTON_MESSAGE_CLOSE' | translate}}
</button>
<button class="btn btn-bold btn-width-120 btn-mt-o" mouse-enter-toggle-class="btn-mt-o-light" base-class="btn-mt-o-primary"
ng-click="vm.previousImage()">
{{'PAGE_TEXT_PREVIOUS' | translate}}
</button>
<button class="btn btn-bold btn-width-120 btn-mt-o" mouse-enter-toggle-class="btn-mt-o-light" base-class="btn-mt-o-primary"
ng-click="vm.nextImage()">
{{'PAGE_TEXT_NEXT' | translate}}
</button>
</div>
</div>
<!-- =================================================================
side-overlay tags
================================================================== -->
<div id="tagsPopupSlide" side-overlay="top" side-class="tags-side-overlay" side-modal side-close-on-esc>
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-10 col-md-offset-1">
<div class="page-header"><h3>{{ 'ATTRIBUTE_TAGS' | translate}}</h3></div>
<dl class="dl-horizontal">
<div ng-repeat="item in vm.resourcesTags.radio | filter:vm.torrentLocalInfo.torrent_type">
<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-tag" value="{{sitem.name}}"
ng-class="vm.searchTags.indexOf(sitem.name) !== -1 ? 'btn-success' : 'btn-default'"
ng-click="vm.onRadioTagClicked($event, sitem.name)">
{{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name.toUpperCase() | translate}}
</button>
</span>
</div>
</dd>
</div>
<div style="margin-top: 20px;"></div>
<div ng-repeat="item in vm.resourcesTags.checkbox | filter:vm.torrentLocalInfo.torrent_type">
<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-tag" value="{{sitem.name}}"
ng-class="vm.searchTags.indexOf(sitem.name) !== -1 ? 'btn-success' : 'btn-default'"
ng-click="vm.onCheckboxTagClicked($event, sitem.name)"
toggle-class="btn-success" base-class="btn-default" onclick="this.blur();">
{{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name.toUpperCase() | translate}}
</button>
</div>
</dd>
</div>
<div style="margin-top: 20px;">
<dt class="h-line"></dt>
<dd class="h-line">
<button class="btn btn-success btn-width-100" ng-click="vm.setTorrentTags();">
{{ 'BUTTON_SAVE' | translate }}
</button>
<button class="btn btn-default btn-width-100" ng-click="vm.hideTagsPopup();">
{{ 'BUTTON_CANCEL' | translate }}
</button>
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
<!-- =================================================================
side-overlay collections create
================================================================== -->
<div id="collectionsCreateSlide" side-overlay="right" side-class="collections-side-overlay" side-opened="vm.onPopupMessageOpen();"
side-close-on-esc side-modal>
<div class="collection-popup">
<legend class="h4"
translate="COLLECTIONS.FORM_FOR" translate-values="{cid: vm.torrentLocalInfo.resource_detail_info.belongs_to_collection.id}">
</legend>
<div class="collection-form">
<input type="text" class="form-control margin-bottom-10" id="coll-name" placeholder="{{'COLLECTIONS.FORM_NAME' | translate}}"
ng-model="vm.collection.name" autofocus>
<textarea class="form-control" id="overview-textarea" name="overview-textarea"
ng-model="vm.collection.overview" data-hidden-buttons="cmdPreview" ng-keydown="vm.onOverviewKeyDown($event);"
placeholder="{{'COLLECTIONS.FORM_DESC' | translate}}" maxlength="{{vm.inputLengthConfig.collectionsOverviewLength}}"
mt-markdown-editor="overview-textarea"></textarea>
<div class="margin-top-10" style="display: table;">
<a class="message-extra" href="https://guides.github.com/features/mastering-markdown/" target="_blank"
data-ga-click="Markdown Toolbar, click, help">
<svg aria-hidden="true" height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z"/>
</svg>
{{ 'MARKDOWN_LINK' | translate }}
</a>
</div>
<img class="img-thumbnail" ng-if="vm.collection.backdrop_path"
ng-src="{{vm.tmdbConfig.backdropImgBaseUrl_780 + vm.collection.backdrop_path}}"
on-error-src="https://image.tmdb.org/t/p/w1280/5pAGnkFYSsFJ99ZxDIYnhQbQFXs.jpg">
<div class="margin-top-20 h5" ng-class="vm.collection.status == 'loading' ? 'text-success' : 'text-danger'"
ng-if="vm.collection.status != 'ok'">{{vm.collection.status_msg | translate}}
</div>
</div>
</div>
<div class="bottom-control">
<button class="btn btn-success btn-width-100"
ng-disabled="!vm.collection.name || !vm.collection.overview"
ng-click="vm.saveCollection();">{{ 'BUTTON_SAVE' | translate }}
</button>
<button class="btn btn-default btn-width-100" ng-click="vm.hideCollectionPopup();">{{ 'BUTTON_CANCEL' | translate }}</button>
</div>
</div>
<!-- =================================================================
side-overlay collections insert
================================================================== -->
<div id="collectionsInsertSlide" side-overlay="right" side-class="collections-side-overlay" side-close-on-esc side-modal>
<div class="collection-popup">
<legend class="h4"
translate="COLLECTIONS.INSERT_INTO" translate-values="{cid: vm.torrentLocalInfo.resource_detail_info.belongs_to_collection.id}">
</legend>
<div class="collection-form">
<div class="h5 margin-bottom-5">{{'COLLECTIONS.TORRENT_INTO' | translate}}:</div>
<input type="text" class="form-control margin-top-10" id="tid"
ng-model="vm.collectionTorrent.id" autofocus>
<input type="text" class="form-control margin-top-10" id="ttitle"
ng-model="vm.collectionTorrent.title" autofocus>
<input type="text" class="form-control margin-top-10" id="tfile"
ng-model="vm.collectionTorrent.file" autofocus>
<div ng-if="vm.collectionsItems.length<=0">
<div class="h5 text-danger margin-top-40 margin-bottom-5">{{'COLLECTIONS.NO_COLLECTION' | translate}}</div>
</div>
<div ng-if="vm.collectionsItems.length>0">
<div class="h5 margin-top-40 margin-bottom-5">{{'COLLECTIONS.SELECT_INFO' | translate}}:</div>
<div class="radio margin-left-10" ng-repeat="c in vm.collectionsItems">
<label ng-class="{'text-muted': vm.isAlreadyIn(c)}">
<input type="radio" name="n_{{c._id}}" id="i_{{c._id}}" value="{{c._id}}"
ng-model="vm.collectionTorrent.cid" ng-disabled="vm.isAlreadyIn(c)">
{{c.name}} <span ng-if="vm.isAlreadyIn(c)">{{'COLLECTIONS.ALREADY_IN' | translate}}</span>
</label>
</div>
</div>
<div class="margin-top-20 h5" ng-class="vm.collectionTorrent.status == 'loading' ? 'text-success' : 'text-danger'"
ng-if="vm.collectionTorrent.status != 'ok'">{{vm.collectionTorrent.status_msg | translate}}
</div>
</div>
</div>
<div class="bottom-control">
<button class="btn btn-success btn-width-100"
ng-disabled="!vm.collectionTorrent.cid"
ng-click="vm.saveInsertCollection();">{{ 'BUTTON_SAVE' | translate }}
</button>
<button class="btn btn-default btn-width-100" ng-click="vm.hideCollectionInsertPopup();">{{ 'BUTTON_CANCEL' | translate }}</button>
</div>
</div>
<!-- =================================================================
torrentInfo.html
================================================================== -->
<script type="text/ng-template" id="torrentInfo.html">
<div>
<span class="xs-show sm-show">
<h4 class="margin-bottom-30">
{{'TAB_TORRENT_INFO' | translate}}:
</h4>
</span>
<dl class="dl-horizontal" style="margin-bottom: 0;">
<dt class="h-line">{{ 'TABLE_FIELDS.PUBLISHER' | translate}}</dt>
<dd class="h-line">
<span ng-if="!vm.torrentLocalInfo.isAnonymous" user-info="vm.torrentLocalInfo.user" info-name></span>
<span ng-if="vm.torrentLocalInfo.isAnonymous">{{ 'ANONYMOUS' | translate }}</span>
<span maker-info="vm.torrentLocalInfo.maker"></span>
<!--<span message-to="vm.torrentLocalInfo.user" to-class="message-to-icon"></span>-->
</dd>
<dt class="h-line">{{ 'TORRENT_FILENAME' | translate}}</dt>
<dd class="h-line">{{vm.torrentLocalInfo.torrent_filename}}</dd>
<dt class="h-line">{{ 'ANNOUNCE_URL' | translate}}</dt>
<dd class="h-line">{{vm.torrentLocalInfo.torrent_announce}}</dd>
<dt class="h-line">{{ 'TABLE_FIELDS.SEEDED' | translate}}</dt>
<dd class="h-line"><span class="glyphicon glyphicon-arrow-up torrent-up"></span> {{vm.torrentLocalInfo.torrent_seeds}}</dd>
<dt class="h-line">{{ 'TABLE_FIELDS.LEECHED' | translate}}</dt>
<dd class="h-line"><span class="glyphicon glyphicon-arrow-down torrent-down"></span> {{vm.torrentLocalInfo.torrent_leechers}}</dd>
<dt class="h-line">{{ 'TABLE_FIELDS.DOWNLOAD' | translate}}</dt>
<dd class="h-line"><span class="glyphicon glyphicon-ok torrent-finished"></span> {{vm.torrentLocalInfo.torrent_finished}}</dd>
<div ng-if="vm.torrentLocalInfo.torrent_type == 'tvserial'">
<dt class="h-line">{{ 'TMDB_FIELDS.THIS_SE' | translate}}</dt>
<dd class="h-line">
<span class="se-info">S{{vm.torrentLocalInfo.torrent_seasons}}E{{vm.torrentLocalInfo.torrent_episodes}}</span>
</dd>
</div>
<dt class="h-line">{{ 'VIDEO_SIZE' | translate}}</dt>
<dd class="h-line">{{vm.torrentLocalInfo.torrent_size | bytes:2}}</dd>
<dt class="h-line">{{ 'UPLOAD_TIME' | translate}}</dt>
<dd class="h-line">{{vm.torrentLocalInfo.createdat | date: 'yyyy-MM-dd HH:mm:ss'}}</dd>
<dt class="h-line">{{ 'ATTRIBUTE_TAGS' | translate}}</dt>
<dd class="h-line">
<div class="list-all-tags">
<span class="label label-release label-warning">{{ vm.torrentLocalInfo.resource_detail_info.release_date}}</span>
<span class="label label-hnr-info" ng-if="vm.torrentLocalInfo.torrent_hnr">H&R</span>
<span class="label label-se-info" ng-if="vm.torrentLocalInfo.torrent_type == 'tvserial'">
S{{vm.torrentLocalInfo.torrent_seasons}}E{{vm.torrentLocalInfo.torrent_episodes}}
</span>
<span ng-repeat="t in vm.torrentLocalInfo.torrent_tags">
<span class="label label-tag" ng-if="vm.RTS.tagInList(t);">
{{ 'RESOURCESTAGS.' + vm.RTS.getTagTitle(t) + '.' + t.toUpperCase() | translate}}
</span>
</span>
</div>
</dd>
<dt class="h-line">{{ 'VIDEO_SALE_INFO' | translate}}</dt>
<dd class="h-line">
<span class="label label-sale"
title="{{vm.TGI.getTorrentSaleTypeDesc(vm.torrentLocalInfo);}} | {{ 'SALE_EXPIRES_TIME' | translate}}: {{vm.torrentLocalInfo.isSaling ? (vm.torrentLocalInfo.torrent_sale_expires | date: 'MM-dd HH:mm') : 'NO'}}"
ng-class="{'label-default': !vm.torrentLocalInfo.isSaling, 'label-success': vm.torrentLocalInfo.isSaling}">
{{vm.torrentLocalInfo.torrent_sale_status}} {{vm.torrentLocalInfo.isSaling ? (vm.torrentLocalInfo.torrent_sale_expires | unlife) : ''}}
</span>
<!--<span ng-if="vm.torrentLocalInfo.isSaling">-->
<!--[{{ 'SALE_EXPIRES_TIME' | translate}}: {{vm.torrentLocalInfo.torrent_sale_expires | unlife}}]-->
<!--</span>-->
</dd>
<div ng-if="vm.torrentLocalInfo.torrent_recommended != 'level0'">
<dt class="h-line">{{ 'ADMIN_BASIC_RLEVEL_SET' | translate}}</dt>
<dd class="h-line">
<span class="label label-rlevel label-info">
{{ 'TORRENT_RECOMMEND_LEVEL_ITEM.' + vm.torrentLocalInfo.torrent_recommended.toUpperCase() | translate}}
</span>
</dd>
</div>
<dt class="h-line">{{ 'ALL_FILES_LIST' | translate}}</dt>
<dd class="h-line">
<div class="row">
<div class="col-md-10 all-files">
<json-tree root-name="vm.torrentLocalInfo._all_files.length + ' files'"
object="vm.torrentLocalInfo._all_files"></json-tree>
</div>
</div>
</dd>
<dt class="h-line" ng-if="vm.torrentLocalInfo.torrent_nfo.length>0">{{ 'VIDEO_NFO' | translate}}</dt>
<dd class="h-line" ng-if="vm.torrentLocalInfo.torrent_nfo.length>0">
<div class="row">
<div class="col-md-10">
<textarea class="form-control video-nfo margin-top-10" rows="15" ng-bind="vm.torrentLocalInfo.torrent_nfo"
readonly></textarea>
</div>
</div>
</dd>
<dt class="h-line"></dt>
<dd class="h-line">
<div class="down-torrent">
<button class="btn btn-success" ng-click="vm.DLS.downloadTorrent(vm.torrentLocalInfo._id)"
translate="DOWNLOAD_TORRENT"></button>
</div>
</dd>
</dl>
</div>
</script>
<!-- =================================================================
subtitleInfo.html
================================================================== -->
<script type="text/ng-template" id="subtitleInfo.html">
<div>
<span class="xs-show sm-show">
<h4 class="margin-bottom-30">
{{'TAB_USER_SUBTITLE' | translate}}:
</h4>
</span>
<ul class="margin-bottom-30">
<li class="h-line" translate="SUBTITLE_RULES.0"></li>
<li class="h-line" translate="SUBTITLE_RULES.1"></li>
</ul>
<dl class="dl-horizontal" ng-if="vm.user">
<dt class="h-line">{{ 'UPLOAD_SUBTITLE' | translate}}</dt>
<dd class="h-line">
<div class="row">
<div class="col-md-7">
<div class="input-group">
<input type="text" class="form-control" ng-model="vm.sFile.name" disabled>
<div class="input-group-btn">
<button class="btn btn-primary btn-file"
ngf-select="vm.fileSelected = true; vm.progress = 0;"
ng-model="vm.sFile"
accept=".srt,.ass,.zip,.rar,.7z">
{{ 'SELECT_FILE' | translate}}
</button>
</div>
</div>
</div>
<div class="col-md-4">
<button class="btn btn-success inline-block"
ng-click="vm.upload(vm.sFile)">{{ 'DO_UPLOAD' | translate}} ({{vm.progress}}%)
</button>
</div>
</div>
</dd>
</dl>
<div class="row margin-top-50">
<div class="col-md-10 col-md-offset-1">
<ol class="subtitle-list">
<li class="h-line" ng-repeat="s in vm.torrentLocalInfo._subtitles">
<div>
<a ng-href="#" ng-click="vm.DLS.downloadSubtitle(vm.torrentLocalInfo._id, s._id);">{{s.subtitle_filename}}</a>
<span style="font-size: 12px;"> - {{s.subtitle_filesize | bytes: 2}}</span>
<span style="font-size: 12px; color: #999999;"> - {{s.createdat | date: 'yyyy-MM-dd HH:mm:ss'}} By </span>
<span style="font-size: 12px;">
<a ng-click="vm.markLinkClick($event, item);" ng-href="#">{{s.user.displayName}}</a>
</span>
<span class="glyphicon glyphicon-remove-circle delete-button"
title="{{ 'SUBTITLE_DELETE_ICON_TITLE' | translate}}"
ng-if="s.user._id.toString()==vm.user._id || vm.user.roles[0] == 'admin'"
ng-click="vm.deleteSubtitle(s);">
</span>
</div>
</li>
</ol>
</div>
</div>
</div>
</script>
<!-- =================================================================
userInfo.html
================================================================== -->
<script type="text/ng-template" id="userInfo.html">
<div class="peer-dlist">
<span class="xs-show sm-show">
<h4 class="margin-bottom-30">
{{'TAB_USER_INFO' | translate}}:
</h4>
</span>
<dl class="dl-horizontal">
<dt class="h-line text-left">{{ 'TORRENT_FINISHED_USERS' | translate}}{{vm.torrentLocalInfo.torrent_finished}}</dt>
<dd class="h-line"></dd>
</dl>
<dl class="dl-horizontal" id="top_of_seeder_list">
<dt class="h-line">{{ 'TORRENT_SEED_USERS' | translate}}{{vm.torrentLocalInfo.torrent_seeds}}</dt>
<dd class="h-line"></dd>
</dl>
<div class="table-responsive">
<table class="table table-hover table-bordered table-condensed tb-peers">
<thead>
<tr>
<th class="text-center">{{ 'TABLE_FIELDS.USERNAME' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.UPLOADED' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.DOWNLOADED' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.RATIO' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.FINISHED' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.STARTED' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.ACTIVE' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.CLIENT' | translate}}</th>
<!--<th class="text-center">{{ 'TABLE_FIELDS.CONNECTABLE' | translate}}</th>-->
</tr>
</thead>
<tbody>
<tr class="torrent-list-info" ng-repeat="item in vm.seederPagedItems"
ng-if="item.peer_status == 'seeder'">
<td class="text-center">
<span user-info="item.user" info-name></span>
<!--<span vip-flag="item.user"></span>-->
<!--<span message-to="item.user" to-class="message-to-icon"></span>-->
</td>
<td class="text-center">{{item.peer_uploaded | bytes:2}} | {{item.peer_uspeed | bytes:2}}/s</td>
<td class="text-center">{{item.peer_downloaded | bytes:2}} | {{item.peer_dspeed | bytes:2}}/s</td>
<td class="text-center">{{item.peer_ratio | ratio}}</td>
<td class="text-center">{{item.peer_percent}}%</td>
<td class="text-center">{{item.startedat | life}}</td>
<td class="text-center">{{item.last_announce_at | life}}</td>
<td class="text-center">{{item.user_agent}}</td>
<!--<td class="text-center">{{item.peer_connectable}}</td>-->
</tr>
</tbody>
</table>
</div>
<ul uib-pagination boundary-links="true" max-size="8" items-per-page="vm.peerItemsPerPage" total-items="vm.seederFilterLength"
ng-model="vm.currentSeederPage"
ng-change="vm.seederPageChanged()"
first-text="{{ 'PAGE_TEXT_FIRST' | translate}}" previous-text="{{ 'PAGE_TEXT_PREVIOUS' | translate}}"
next-text="{{ 'PAGE_TEXT_NEXT' | translate}}" last-text="{{ 'PAGE_TEXT_LAST' | translate}}">
</ul>
<dl class="dl-horizontal" id="top_of_leecher_list">
<dt class="h-line">{{ 'TORRENT_LEECHER_USERS' | translate}}{{vm.torrentLocalInfo.torrent_leechers}}</dt>
<dd class="h-line"></dd>
</dl>
<div class="table-responsive">
<table class="table table-hover table-bordered table-condensed tb-peers">
<thead>
<tr>
<th class="text-center">{{ 'TABLE_FIELDS.USERNAME' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.UPLOADED' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.DOWNLOADED' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.RATIO' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.FINISHED' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.STARTED' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.ACTIVE' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.CLIENT' | translate}}</th>
<!--<th class="text-center">{{ 'TABLE_FIELDS.CONNECTABLE' | translate}}</th>-->
</tr>
</thead>
<tbody>
<tr class="torrent-list-info" ng-repeat="item in vm.leecherPagedItems"
ng-if="item.peer_status == 'leecher'">
<td class="text-center">
<span user-info="item.user" info-name></span>
<!--<span vip-flag="item.user"></span>-->
<!--<span message-to="item.user" to-class="message-to-icon"></span>-->
</td>
<td class="text-center">{{item.peer_uploaded | bytes:2}} | {{item.peer_uspeed | bytes:2}}/s</td>
<td class="text-center">{{item.peer_downloaded | bytes:2}} | {{item.peer_dspeed | bytes:2}}/s</td>
<td class="text-center">{{item.peer_ratio | ratio}}</td>
<td class="text-center">{{item.peer_percent}}%</td>
<td class="text-center">{{item.startedat | life}}</td>
<td class="text-center">{{item.last_announce_at | life}}</td>
<td class="text-center">{{item.user_agent}}</td>
<!--<td class="text-center">{{item.peer_connectable}}</td>-->
</tr>
</tbody>
</table>
</div>
<ul uib-pagination boundary-links="true" max-size="8" items-per-page="vm.peerItemsPerPage" total-items="vm.leecherFilterLength"
ng-model="vm.currentLeecherPage"
ng-change="vm.leecherPageChanged()"
first-text="{{ 'PAGE_TEXT_FIRST' | translate}}" previous-text="{{ 'PAGE_TEXT_PREVIOUS' | translate}}"
next-text="{{ 'PAGE_TEXT_NEXT' | translate}}" last-text="{{ 'PAGE_TEXT_LAST' | translate}}">
</ul>
</div>
</script>
<!-- =================================================================
otherTorrents.html
================================================================== -->
<script type="text/ng-template" id="otherTorrents.html">
<div>
<span class="xs-show sm-show">
<h4 class="margin-bottom-30">
{{'TAB_USER_INFO' | translate}}:
</h4>
</span>
<p><strong translate="OTHER_TORRENT_LIST_TITLE" translate-values="{x: vm.torrentLocalInfo._other_torrents.length}"></strong></p>
<div class="table-responsive">
<table class="table table-hover tb-v-middle table-bordered tb-other-torrents">
<thead>
<tr>
<th>{{ 'TABLE_FIELDS.INFO' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.LIFETIME' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.SIZE' | translate}}</th>
<th>
<abbr title="{{ 'TABLE_FIELDS.ABBR_SEEDS_LEECHERS_FINISHED' | translate}}" class="initialism">
{{ 'TABLE_FIELDS.SEEDS_LEECHERS_FINISHED' | translate}}
</abbr>
</th>
<th class="text-center">{{ 'TABLE_FIELDS.PUBLISHER' | translate}}</th>
</tr>
</thead>
<tbody>
<tr class="torrent-list-info" ng-repeat="item in vm.torrentLocalInfo._other_torrents"
ng-click="vm.TGI.openTorrentDetailInfo(item._id);">
<td class="col-md-8 td-v-middle td-text-overflow">
<div class="other-torrent-info">
<div class="torrent-filename text-long"><a
ui-sref="torrents.view({torrentId: item._id})">{{item.torrent_filename}}</a></div>
<div class="list-all-tags margin-top-10">
<span ng-if="vm.torrentLocalInfo.resource_detail_info.release_date">
<span class="label label-warning" ng-click="$event.stopPropagation();">
{{ vm.torrentLocalInfo.resource_detail_info.release_date}}
</span>
</span>
<span class="label label-sale" ng-if="item.isSaling"
title="{{vm.TGI.getTorrentSaleTypeDesc(item);}} | {{ 'SALE_EXPIRES_TIME' | translate}}: {{item.torrent_sale_expires | date: 'MM-dd HH:mm'}}"
ng-click="$event.stopPropagation();"
ng-class="{'label-default': !item.isSaling, 'label-success': item.isSaling}">
{{item.torrent_sale_status}} {{item.torrent_sale_expires | unlife}}
</span>
<span class="label label-se-info" ng-if="item.torrent_type == 'tvserial'"
ng-click="$event.stopPropagation();">S{{item.torrent_seasons}}E{{item.torrent_episodes}}</span>
<span class="label label-hnr-info" ng-if="item.torrent_hnr"
ng-click="$event.stopPropagation();">H&R</span>
<span ng-repeat="t in item.torrent_tags">
<span class="label label-tag" ng-if="vm.RTS.tagInList(t);" ng-click="$event.stopPropagation();">
{{ 'RESOURCESTAGS.' + vm.RTS.getTagTitle(t) + '.' + t.toUpperCase() | translate}}
</span>
</span>
<span class="label label-download text-uppercase"
title="{{ 'TITLE_ALT.DOWNLOAD_TORRENT' | translate}}"
ng-click="vm.DLS.downloadTorrent(item._id); $event.stopPropagation();">
<i class="glyphicon glyphicon-arrow-down"></i>
</span>
</div>
</div>
</td>
<td class="col-md-1 td-v-middle text-center td-life">{{item.createdat | life}}</td>
<td class="col-md-1 td-v-middle text-center td-size">{{item.torrent_size | bytes:2}}</td>
<td class="col-md-1 td-v-middle list-user-info td-user-info">
<p class="no-margin-p" title="{{ 'TITLE_ALT.SEEDS' | translate}}">
<span class="glyphicon glyphicon-arrow-up torrent-up"></span>
{{item.torrent_seeds}}
</p>
<p class="no-margin-p" title="{{ 'TITLE_ALT.LEECHERS' | translate}}">
<span class="glyphicon glyphicon-arrow-down torrent-down"></span>
{{item.torrent_leechers}}
</p>
<p class="no-margin-p" title="{{ 'TITLE_ALT.FINISHED' | translate}}">
<span class="glyphicon glyphicon-ok torrent-finished"></span>
{{item.torrent_finished}}
</p>
</td>
<td class="col-md-1 td-v-middle text-center td-uploader">
<span ng-if="!item.isAnonymous" user-info="item.user" info-name></span>
<span ng-if="item.isAnonymous">{{ 'ANONYMOUS' | translate }}</span>
<div maker-info="item.maker"></div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</script>
<!-- =================================================================
thumbsInfo.html
================================================================== -->
<script type="text/ng-template" id="thumbsInfo.html">
<div>
<span class="xs-show sm-show">
<h4 class="margin-bottom-30">
{{'TAB_THUMBS_LIST' | translate}}:
</h4>
</span>
<div class="text-center"><h4><a href="#"
ng-click="vm.beginThumbsUp(vm.torrentLocalInfo);">{{'THUMBS_UP_TORRENT' | translate: ({number: vm.scoreConfig.action.thumbsUpScoreOfTorrentTo.value}) }}</a>
</h4></div>
</div>
<div class="padding-top-20">
<div class="thumbs-up-list" ng-if="vm.torrentLocalInfo._thumbs.length">
<div class="thumbs-header" translate="FORUMS.THUMBS_LIST_HEADER"
translate-values="{number: vm.torrentLocalInfo._thumbs.length}"></div>
<div class="thumbs-users panel-collapsed" id="thumbs-{{rep._id}}">
<span class="thumbs-item"
ng-repeat="sl in vm.torrentLocalInfo._thumbs track by $index">
<span user-info="sl.user" info-name></span>
<!--<span vip-flag="sl.user"></span>-->
<!--<span message-to="sl.user" to-class="message-to-icon"></span>-->
</span>
</div>
</div>
</div>
</script>
<!-- =================================================================
myPanel.html
================================================================== -->
<script type="text/ng-template" id="myPanel.html">
<div>
<span class="xs-show sm-show">
<h4 class="margin-bottom-30">
{{'TAB_MY_PANEL' | translate}}:
</h4>
</span>
<dl class="dl-horizontal">
<dt class="h-line"></dt>
<dd class="h-line margin-bottom-30">
<ul>
<li translate="MY_TORRENT_RULES.0"></li>
<li translate="MY_TORRENT_RULES.1"
translate-values='{sMail: vm.supportConfig.supportMailAddress, sNameDesc: vm.supportConfig.supportGroupNameDesc, sName: vm.supportConfig.supportGroupName}'></li>
</ul>
</dd>
<dt class="h-line"></dt>
<dd class="h-line">
</dd>
</dl>
</div>
</script>
<!-- =================================================================
adminPanel.html
================================================================== -->
<script type="text/ng-template" id="adminPanel.html">
<div>
<span class="xs-show sm-show">
<h4 class="margin-bottom-30">
{{'TAB_ADMIN_PANEL' | translate}}:
</h4>
</span>
<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-if="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>
<button class="btn btn-default btn-sm"
ng-click="vm.toggleHnR();">{{ (vm.torrentLocalInfo.torrent_hnr ? 'ADMIN_BASIC_UNSET_HNR' : 'ADMIN_BASIC_SET_HNR') | translate}}
</button>
<button class="btn btn-default btn-sm"
ng-click="vm.toggleVIP();">{{ (vm.torrentLocalInfo.torrent_vip ? 'ADMIN_BASIC_UNSET_VIP' : 'ADMIN_BASIC_SET_VIP') | translate}}
</button>
<button class="btn btn-default btn-sm"
ng-click="vm.editTags($event);">{{ 'ADMIN_BASIC_EDIT_TAGS' | translate}}
</button>
</dd>
<div class="margin-top-10" ng-if="vm.torrentLocalInfo.torrent_type=='movie' && vm.showCollectionCommand()">
<dt class="h-line">{{ 'ADMIN_COLLECTION_COMMAND' | translate}}:</dt>
<dd class="h-line">
<button class="btn btn-default btn-sm"
ng-click="vm.createCollection($event);">{{ 'ADMIN_COLLECTION_CREATE' | translate}}
</button>
<button class="btn btn-default btn-sm"
ng-click="vm.insertIntoCollection($event);">{{ 'ADMIN_COLLECTION_ADDINTO' | translate}}
</button>
</dd>
</div>
<dt class="h-line">{{ 'ADMIN_SALE_TYPE_SET' | translate}}:</dt>
<dd class="h-line">
<mark>{{vm.TGI.getTorrentSaleTypeDesc(vm.torrentLocalInfo);}}</mark>
</dd>
<div class="padding-top-10 margin-left-50">
<div class="btn-group sales-btn-group text-center">
<label ng-repeat="st in vm.torrentSalesType.value"
class="btn btn-sm" ng-model="vm.model_salestype" uib-btn-radio="'{{st.name}}'" uncheckable
ng-class="{'btn-default':vm.torrentLocalInfo.torrent_sale_status != st.name, 'btn-success':vm.torrentLocalInfo.torrent_sale_status == st.name}"
ng-click="vm.setSaleType();">
<small>{{st.name}}</small>
</label>
</div>
</div>
<div class="margin-top-20"></div>
<dt class="h-line">{{ 'ADMIN_RLEVEL_SET' | translate}}:</dt>
<dd class="h-line">
</dd>
<div class="padding-top-10 margin-left-50">
<div class="btn-group sales-btn-group text-center">
<label ng-repeat="litem in vm.torrentRLevels.value"
class="btn btn-sm" ng-model="vm.model_rlevel"
uib-btn-radio="'{{litem.value}}'" uncheckable
ng-class="{'btn-default':vm.torrentLocalInfo.torrent_recommended != litem.value, 'btn-success':vm.torrentLocalInfo.torrent_recommended == litem.value}"
ng-click="vm.setRecommendLevel();">
<small>{{ 'TORRENT_RECOMMEND_LEVEL_ITEM.' + litem.name | translate}}</small>
</label>
</div>
</div>
</dl>
</div>
</script>
</section>