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

803 lines
46 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 class="container" ng-controller="TorrentsUploadController as vm" xmlns="http://www.w3.org/1999/html">
<div class="jumbotron margin-top-10" ng-init="vm.getTemplateFileContent('/modules/torrents/client/templates/upload-rules-'+vm.lang+'.md')">
<div class="row">
<div class="col-xs-12">
<h4 translate="UPLOAD_RULES"></h4>
<span ng-bind-html="vm.getTemplateMarkedContent()" style="line-height: 1.6;"></span>
</div>
</div>
</div>
<div ng-if="!vm.getAccessUploader()">
<div class="alert alert-warning text-center" role="alert" style="padding: 30px 50px 20px 50px;">
<h4 translate="UPLOAD_ACCESS_TOOLTIP" translate-values="{site: vm.appConfig.name}"></h4>
</div>
</div>
<div ng-if="vm.getAccessUploader()">
<div class="row margin-bottom-40">
<div class="col-xs-12">
<legend class="small-legend" translate="SELECT_TORRENT_FILE"></legend>
<div class="col-sm-7">
<div class="input-group">
<input type="text" class="form-control" ng-model="vm.tFile.name" disabled>
<div class="input-group-btn">
<button class="btn btn-primary btn-file"
ngf-select="vm.fileSelected = true; vm.successfully = undefined; vm.progress = 0;"
ng-model="vm.tFile"
accept="application/x-bittorrent"
ng-disabled="vm.successfully">{{ 'SELECT_FILE' | translate}}
</button>
</div>
</div>
</div>
<div ng-show="vm.fileSelected" class="col-sm-5">
<button class="btn btn-success" ng-click="vm.upload(vm.tFile)">{{ 'DO_UPLOAD' | translate}} ({{vm.progress}}%)</button>
</div>
<div ng-show="vm.successfully == true" class="col-sm-5" style="margin-top: 7px">
<label class="text-success control-label" translate="TORRENTS_UPLOAD_SUCCESSFULLY"></label>
</div>
<div ng-show="vm.successfully == false" class="col-sm-5" style="margin-top: 7px">
<label class="text-danger control-label" translate="TORRENTS_UPLOAD_FAILED"></label>
</div>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.successfully == true">
<div class="col-xs-12">
<legend class="small-legend" translate="SELECT_RESOURCE_TYPE"></legend>
<div class="col-xs-12 col-sm-6 col-md-4">
<select class="form-control" ng-model="vm.selectedType" ng-change="vm.onTorrentTypeChanged();">
<option ng-repeat="t in vm.torrentType.value | filter:{enable: true}"
ng-if="t.role=='user' || (t.role=='vip' && (vm.user.isVip || vm.user.isOper))"
value="{{t.value}}">{{'MENU_TORRENTS_SUB.'+t.name | translate}}
</option>
</select>
</div>
</div>
</div>
<div ng-show="vm.selectedType" ng-include="vm.getIncludeUploadTemplateID(vm.selectedType);"></div>
<div class="row margin-bottom-40 margin-top-50" ng-show="vm.showAgreeAndSubmit || vm.customTorrent.detail">
<div class="col-xs-12">
<legend class="small-legend" translate="SELECT_MAKER_GROUP"></legend>
<div class="col-xs-12 col-sm-6 col-md-4">
<label class="radio-inline">
<input type="radio" name="maker_NULL" ng-model="vm.maker"
id="maker_NULL"
value="NULL"> {{'MAKER_NULL' | translate}}
</label>
<label class="radio-inline" ng-repeat="m in vm.user.makers">
<input type="radio" name="maker_{{m.name}}" ng-model="vm.maker"
id="maker_{{m.name}}"
value="{{m._id}}"> {{m.name}}
</label>
</div>
<div class="col-xs-12">
<div class="checkbox">
<label>
<input type="checkbox" ng-model="vm.anonymous"> {{'UPLOADER_ANONYMOUS' | translate}}
</label>
</div>
</div>
</div>
<div class="col-md-12 col-sm-12 col-xs-12 margin-top-50">
<legend class="small-legend" translate="TORRENTS_SUBMIT_UPLOAD"></legend>
<div class="col-sm-6 col-sm-offset-3 text-center">
<label class="checkbox text-uppercase">
<input type="checkbox" id="agreeCheckbox" ng-model="vm.agreeRules">
<span translate="AGREE_RULES"></span>
</label>
</div>
<div class="col-sm-4 col-sm-offset-4">
<button class="btn btn-lg btn-block btn-success" ng-click="vm.create()"
ng-disabled="!vm.agreeRules">{{ 'SUBMIT_BUTTON' | translate}}
</button>
<button class="btn btn-lg btn-block btn-warning" ng-click="vm.cancel()">{{ 'CANCEL_BUTTON' | translate}}
</button>
</div>
<div class="col-sm-10 text-center">
<span class="error-text" ng-show="vm.error_msg">{{vm.error_msg}}</span>
</div>
</div>
</div>
</div>
<!-- =================================================================
side-overlay search movies
================================================================== -->
<div id="searchFromTMDBSlide" side-overlay="right" side-class="search-from-tmdb-side-overlay" side-opened="vm.onPopupSearchOpen()"
side-close-on-esc side-modal>
<div class="search-popup">
<legend class="h4"
translate="SEARCH_FROM_TMDB_TITLE" translate-values="{type: ('MENU_TORRENTS_SUB.'+vm.selectedType.toUpperCase() | translate)}">
</legend>
<div class="search-form">
<div class="input-group">
<input type="text" class="form-control" ng-model="vm.search.keys"
id="skey"
ng-keydown="vm.onSearchKeyDown($event);"
ng-focus="vm.onTextClick($event)"
placeholder="{{ 'PLACE_HOLDER_SEARCH' | translate}}" autofocus>
<div class="input-group-btn">
<button id="btnSearchFromTMDB" class="btn btn-primary" ng-click="vm.searchFromTMDB()"
ng-disabled="!vm.search.keys">{{ 'BTN_SEARCH' | translate}}
</button>
</div>
</div>
<div class="margin-top-20 h5" ng-class="vm.search.status == 'loading' ? 'text-success' : 'text-danger'"
ng-if="vm.search.status != 'ok'">{{vm.search.status_msg | translate}}
</div>
<div ng-if="vm.search.searchItems.length<=0">
<div class="h5 text-danger margin-top-20 margin-bottom-5">{{'SEARCH_RESULT_EMPTY' | translate}}</div>
</div>
<div ng-if="vm.search.searchItems.length>0">
<div class="h4 margin-top-20 margin-bottom-5">{{'SELECT_RESULT_ITEM' | translate}}</div>
<div class="margin-top-10 h5 text-danger"
ng-if="vm.search.totalItems > 20">{{'RESULT_TOO_MORE' | translate}}
</div>
<div class="radio margin-left-10" ng-repeat="r in vm.search.searchItems">
<label ng-dblclick="vm.onSelectResult()">
<input type="radio" name="n_{{r.id}}" id="i_{{r.id}}" value="{{r.id}}"
ng-model="vm.search.sid">
{{r.title || r.name}}
<div>
<small class="text-muted">{{r.original_title || r.original_name}} - {{r.release_date || r.first_air_date}}</small>
</div>
</label>
</div>
</div>
</div>
</div>
<div class="bottom-control">
<button class="btn btn-success btn-width-100"
ng-disabled="!vm.search.sid"
ng-click="vm.onSelectResult()">{{ 'BTN_SELECT' | translate }}
</button>
<button class="btn btn-default btn-width-100" ng-click="vm.hideSearchPopup();">{{ 'BUTTON_CANCEL' | translate }}</button>
</div>
</div>
<!-- **********************************************************************
ng-template movie.html
*********************************************************************** -->
<script type="text/ng-template" id="movie">
<div class="row margin-bottom-40">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="ENTER_TMDB_ID"></legend>
<div class="col-sm-7 col-md-6 col-lg-5">
<div class="input-group">
<div class="input-group-btn">
<button class="btn btn-default" ng-click="vm.beginSearchFromTMDB($event)">
{{ 'SEARCH_FROM_TMDB' | translate}}
</button>
</div>
<input type="number" class="form-control" ng-model="vm.tmdb_id"
id="tmdbid"
ng-change="vm.tmdb_info_ok = undefined"
ng-disabled="vm.tmdb_info_ok"
ng-focus="vm.onTextClick($event)"
ng-keydown="vm.onTMDBIDKeyDown($event);"
placeholder="{{ 'TMDB_ID' | translate}}" autofocus>
<div class="input-group-btn">
<button id="btnGetTMDBInfo" class="btn btn-primary" ng-click="vm.getMovieInfo(vm.tmdb_id)"
ng-disabled="vm.tmdb_info_ok">{{ 'LOAD_TMDB_INFO' | translate}}
</button>
</div>
</div>
</div>
<div ng-show="vm.tmdb_info_ok == true" class="col-sm-5 col-md-6 col-lg-7" style="margin-top: 7px">
<label class="text-success control-label" translate="TMDB_ID_OK"></label>
</div>
<div ng-show="vm.tmdb_info_ok == false" class="col-sm-6 col-md-6 col-lg-7" style="margin-top: 7px">
<label class="text-danger control-label" translate="TMDB_ID_ERROR"></label>
</div>
<div ng-show="vm.tmdb_isloading" class="col-sm-6 col-md-6 col-lg-7" style="margin-top: 7px">
<label class="text-danger control-label" translate="TMDB_IS_LOADING"></label>
</div>
</div>
</div>
<div ng-show="vm.tmdb_info_ok == true">
<div class="row margin-bottom-40">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="TMDB_RESOURCE_INFO"></legend>
<div class="col-md-3 col-sm-3 col-xs-12 upload-info-img">
<img ng-src="{{vm.tmdbConfig.posterImgBaseUrl}}{{vm.movieinfo.poster_path}}" class="img-thumbnail">
</div>
<div class="col-md-9 col-sm-9 col-xs-12">
<dl class="dl-horizontal">
<dt class="h-line">{{ 'TMDB_FIELDS.ORIGINAL_TITLE' | translate}}</dt>
<dd class="h-line">{{vm.movieinfo.original_title}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.TITLE' | translate}}</dt>
<dd class="h-line">{{vm.movieinfo.title}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.ORIGINAL_LANGUAGE' | translate}}</dt>
<dd class="h-line">{{vm.movieinfo.original_language}}</dd>
<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.movieinfo.genres">{{item.name}}</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.movieinfo.production_companies">{{item.name}}</span>
<span ng-show="vm.movieinfo.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.movieinfo.production_countries">{{item.iso_3166_1}}</span>
<span ng-show="vm.movieinfo.production_countries.length ==0">-</span>
</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.RELEASE_DATE' | translate}}</dt>
<dd class="h-line">{{vm.movieinfo.release_date}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.RUNTIME' | translate}}</dt>
<dd class="h-line">{{vm.movieinfo.runtime | runtime}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.BUDGET' | translate}}</dt>
<dd class="h-line">{{vm.movieinfo.budget | dollar:2}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.REVENUE' | translate}}</dt>
<dd class="h-line">{{vm.movieinfo.revenue | dollar:2}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.VOTE_AVERAGE' | translate}}</dt>
<dd class="h-line">{{vm.movieinfo.vote_average}} / {{vm.movieinfo.vote_count}} {{ 'TMDB_FIELDS.VOTE_UNIT' | translate}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.IMDB_LINK' | translate}}</dt>
<dd class="h-line"><a href="{{vm.imdbConfig.imdbLinkUrl}}{{vm.movieinfo.imdb_id}}"
target="_blank">{{vm.imdbConfig.imdbLinkUrl}}{{vm.movieinfo.imdb_id}}</a></dd>
<dt class="h-line">{{ 'TMDB_FIELDS.TMDB_LINK' | translate}}</dt>
<dd class="h-line"><a href="{{vm.tmdbConfig.tmdbMovieLinkUrl}}{{vm.movieinfo.id}}"
target="_blank">{{vm.tmdbConfig.tmdbMovieLinkUrl}}{{vm.movieinfo.id}}</a></dd>
<dt class="h-line">{{ 'TMDB_FIELDS.OVERVIEW' | translate}}</dt>
<dd class="h-line">{{vm.movieinfo.overview}}</dd>
</dl>
<legend class="xsmall-legend strong-legend" translate="TMDB_FIELDS.CAST"></legend>
<div class="row cast-list">
<div ng-repeat="cast in vm.movieinfo.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 class="row margin-bottom-40" ng-show="vm.showResourcesTag">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="SELECT_TAGS"></legend>
<dl class="dl-horizontal">
<div ng-repeat="item in vm.resourcesTags.radio | filter:vm.selectedType">
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}</dt>
<dd class="h-line">
<label class="radio-inline" ng-repeat="sitem in item.value">
<input type="radio" class="tradio" name="tag_{{item.name}}" ng-model="vm.tags['tag_'+item.name]"
id="radio_{{item.name}}{{$index}}"
value="{{sitem.name}}"> {{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
</label>
</dd>
</div>
<div style="margin-top: 30px;"></div>
<div ng-repeat="item in vm.resourcesTags.checkbox | filter:vm.selectedType">
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}</dt>
<dd class="h-line">
<label class="checkbox-inline" ng-repeat="sitem in item.value">
<input type="checkbox" class="tcheckbox" ng-model="vm.tags['tag_'+item.name+'_'+sitem.name]"
id="checkbox_{{item.name}}_{{sitem.name}}"
value="{{sitem.name}}"> {{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
</label>
</dd>
</div>
<div class="margin-top-10">
<dt class="h-line"></dt>
<dd class="h-line">
<span class="label label-tag text-uppercase" ng-click="vm.clearAllCondition();">
{{ 'CLEAR_ALL_CONDITION' | translate}}
</span>
</dd>
</div>
</dl>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.showVideoNfo">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="ENTER_VIDEO_NFO"></legend>
<div class="col-xs-12">
<textarea class="form-control" rows="10" ng-model="vm.videoNfo" style="resize: vertical"></textarea>
</div>
</div>
</div>
</script>
<!-- **********************************************************************
ng-template tvserial.html
*********************************************************************** -->
<script type="text/ng-template" id="tvserial">
<div class="row margin-bottom-40">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="ENTER_TMDB_ID"></legend>
<div class="col-sm-7 col-md-6 col-lg-5">
<div class="input-group">
<div class="input-group-btn">
<button class="btn btn-default" ng-click="vm.beginSearchFromTMDB($event)">
{{ 'SEARCH_FROM_TMDB' | translate}}
</button>
</div>
<input type="number" class="form-control" ng-model="vm.tmdb_id"
id="tmdbid"
ng-change="vm.tmdb_info_ok = undefined"
ng-disabled="vm.tmdb_info_ok"
ng-focus="vm.onTextClick($event)"
ng-keydown="vm.onTMDBIDKeyDown($event);"
placeholder="{{ 'TMDB_ID' | translate}}" autofocus>
<div class="input-group-btn">
<button id="btnGetTMDBInfo" class="btn btn-primary" ng-click="vm.getTVInfo(vm.tmdb_id)"
ng-disabled="vm.tmdb_info_ok">{{ 'LOAD_TMDB_INFO' | translate}}
</button>
</div>
</div>
</div>
<div ng-show="vm.tmdb_info_ok == true" class="col-sm-5 col-md-6 col-lg-7" style="margin-top: 7px">
<label class="text-success control-label" translate="TMDB_ID_OK"></label>
</div>
<div ng-show="vm.tmdb_info_ok == false" class="col-sm-5 col-md-6 col-lg-7" style="margin-top: 7px">
<label class="text-danger control-label" translate="TMDB_ID_ERROR"></label>
</div>
<div ng-show="vm.tmdb_isloading" class="col-sm-5 col-md-6 col-lg-7" style="margin-top: 7px">
<label class="text-danger control-label" translate="TMDB_IS_LOADING"></label>
</div>
</div>
</div>
<div ng-show="vm.tmdb_info_ok == true">
<div class="row margin-bottom-40">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="TMDB_RESOURCE_INFO"></legend>
<div class="col-md-3 col-sm-3 col-xs-12">
<img ng-src="{{vm.tmdbConfig.posterImgBaseUrl}}{{vm.tvinfo.poster_path}}" class="img-thumbnail">
</div>
<div class="col-md-9 col-sm-9 col-xs-12">
<dl class="dl-horizontal">
<dt class="h-line">{{ 'TMDB_FIELDS.ORIGINAL_NAME' | translate}}</dt>
<dd class="h-line">{{vm.tvinfo.original_name}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.NAME' | translate}}</dt>
<dd class="h-line">{{vm.tvinfo.name}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.ORIGINAL_LANGUAGE' | translate}}</dt>
<dd class="h-line">{{vm.tvinfo.original_language}}</dd>
<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.tvinfo.genres">{{item.name}}</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.tvinfo.production_companies">{{item.name}}</span>
<span ng-show="vm.tvinfo.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.tvinfo.origin_country">{{item}}</span>
<span ng-show="vm.tvinfo.origin_country.length ==0">-</span>
</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.FIRST_AIR_DATE' | translate}}</dt>
<dd class="h-line">{{vm.tvinfo.first_air_date}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.LAST_AIR_DATE' | translate}}</dt>
<dd class="h-line">{{vm.tvinfo.last_air_date}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.NUMBER_OF_SEASONS' | translate}}</dt>
<dd class="h-line">{{vm.tvinfo.number_of_seasons}} {{ 'TMDB_FIELDS.UNIT_SEASONS' | translate}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.NUMBER_OF_EPISODES' | translate}}</dt>
<dd class="h-line">{{vm.tvinfo.number_of_episodes}} {{ 'TMDB_FIELDS.UNIT_EPISODES' | translate}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.VOTE_AVERAGE' | translate}}</dt>
<dd class="h-line">{{vm.tvinfo.vote_average}} / {{vm.tvinfo.vote_count}} {{ 'TMDB_FIELDS.VOTE_UNIT' | translate}}</dd>
<dt class="h-line">{{ 'TMDB_FIELDS.TMDB_LINK' | translate}}</dt>
<dd class="h-line"><a href="{{vm.tmdbConfig.tmdbTvserialLinkUrl}}{{vm.tvinfo.id}}"
target="_blank">{{vm.tmdbConfig.tmdbTvserialLinkUrl}}{{vm.tvinfo.id}}</a></dd>
<dt class="h-line">{{ 'TMDB_FIELDS.OVERVIEW' | translate}}</dt>
<dd class="h-line">{{vm.tvinfo.overview}}</dd>
</dl>
<legend class="xsmall-legend strong-legend" translate="TMDB_FIELDS.CAST"></legend>
<div class="row cast-list">
<div class="col-xs-4 col-md-2 text-center" ng-repeat="cast in vm.tvinfo.credits.cast | limitTo: 6">
<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">{{cast.character}}</p>
</div>
</div>
</div>
</div>
</div>
<div class="row margin-bottom-20">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="SELECT_SE"></legend>
<dl class="dl-horizontal">
<dt class="h-line">{{ 'TMDB_FIELDS.UNIT_SEASONS' | translate}}</dt>
<dd class="h-line">
<div class="col-sm-4 col-md-3">
<select class="form-control" ng-model="vm.selectedSeasons">
<option ng-repeat="n in [] | mtRange:vm.tvinfo.number_of_seasons" value="{{n+1}}">{{n+1}}</option>
</select>
</div>
</dd>
<div class="margin-top-5">
<form name="vm.episodesForm" ng-submit="vm.tvContinue(vm.episodesForm.$valid)" novalidate>
<dt class="h-line">{{ 'TMDB_FIELDS.UNIT_EPISODES' | translate}}</dt>
<dd class="h-line">
<div class="form-group" show-errors>
<div class="col-sm-4 col-md-3">
<input class="form-control" id="inputedEpisodes" name="inputedEpisodes"
ng-pattern="/(^[0-9]{1,4}$)|(^[0-9]{1,2}[\-]{1}[0-9]{1,4}$)/"
ng-model="vm.inputedEpisodes" ng-disabled="vm.inputedEpisodesOK" required>
</div>
<div class="col-sm-4 col-md-3">
<button type="submit" class="btn btn-primary">continue</button>
</div>
<div class="col-xs-12" ng-messages="vm.episodesForm.inputedEpisodes.$error" role="alert">
<p class="help-block error-text"
ng-message="required">{{'TMDB_FIELDS.EPISODES_INPUT_TIP' | translate}}</p>
<p class="help-block error-text" ng-message="pattern">{{'TMDB_FIELDS.EPISODES_INPUT_TIP' | translate}}</p>
</div>
<div class="col-xs-12" ng-hide="vm.inputedEpisodesError">
<p class="episodes_input_tip">{{ 'TMDB_FIELDS.EPISODES_INPUT_TIP' | translate}}</p>
</div>
</div>
</dd>
</form>
</div>
</dl>
</div>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.showResourcesTag">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="SELECT_TAGS"></legend>
<dl class="dl-horizontal">
<div ng-repeat="item in vm.resourcesTags.radio | filter:vm.selectedType">
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}</dt>
<dd class="h-line">
<label class="radio-inline" ng-repeat="sitem in item.value">
<input type="radio" class="tradio" name="tag_{{item.name}}" ng-model="vm.tags['tag_'+item.name]"
id="radio_{{item.name}}{{$index}}"
value="{{sitem.name}}"> {{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
</label>
</dd>
</div>
<div style="margin-top: 30px;"></div>
<div ng-repeat="item in vm.resourcesTags.checkbox | filter:vm.selectedType">
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}</dt>
<dd class="h-line">
<label class="checkbox-inline" ng-repeat="sitem in item.value">
<input type="checkbox" class="tcheckbox" ng-model="vm.tags['tag_'+item.name+'_'+sitem.name]"
id="checkbox_{{item.name}}_{{sitem.name}}"
value="{{sitem.name}}"> {{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
</label>
</dd>
</div>
<div class="margin-top-10">
<dt class="h-line"></dt>
<dd class="h-line">
<span class="label label-tag text-uppercase" ng-click="vm.clearAllCondition();">
{{ 'CLEAR_ALL_CONDITION' | translate}}
</span>
</dd>
</div>
</dl>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.showVideoNfo">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="ENTER_VIDEO_NFO"></legend>
<div class="col-xs-12">
<textarea class="form-control" rows="10" ng-model="vm.videoNfo" style="resize: vertical"></textarea>
</div>
</div>
</div>
</script>
<!-- **********************************************************************
ng-template music.html
*********************************************************************** -->
<script type="text/ng-template" id="music">
<div class="row margin-bottom-40">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="ENTER_MUSIC_TITLE"></legend>
<div class="col-md-6 col-sm-8">
<input type="text" class="form-control" ng-model="vm.customTorrent.artist" placeholder="{{ 'MUSIC_ARTIST' | translate}}"
autofocus>
</div>
<div class="col-md-6 col-md-offset-2"></div>
<div class="col-md-6 col-sm-8 margin-top-10">
<input type="text" class="form-control" ng-model="vm.customTorrent.title" placeholder="{{ 'MUSIC_TITLE' | translate}}">
</div>
<div class="col-md-6 col-md-offset-2"></div>
<div class="col-md-8 col-sm-10 margin-top-10">
<input type="text" class="form-control" ng-model="vm.customTorrent.subtitle" placeholder="{{ 'MUSIC_SUB_TITLE' | translate}}">
</div>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.customTorrent.artist && vm.customTorrent.title && vm.customTorrent.subtitle">
<div class="col-xs-12">
<legend class="small-legend" translate="SELECT_MUSIC_IMAGE"></legend>
<div class="col-sm-7">
<div class="input-group">
<input type="text" class="form-control" ng-model="vm.customTorrent.coverFile.name" disabled>
<div class="input-group-btn">
<button class="btn btn-primary btn-file"
ngf-select="vm.customTorrent.fileSelected = true; vm.customTorrent.successfully = undefined; vm.customTorrent.progress = 0;"
ng-model="vm.customTorrent.coverFile"
ngf-pattern="'image/*'"
ngf-accept="'image/*'"
ngf-resize="{width: 800}"
ngf-resize-if="$width > 800 || $height > 1200"
ng-disabled="vm.customTorrent.successfully">{{ 'SELECT_FILE' | translate}}
</button>
</div>
</div>
</div>
<div ng-show="vm.customTorrent.fileSelected" class="col-sm-5">
<button class="btn btn-success"
ng-click="vm.uploadCustomTorrentCover(vm.customTorrent.coverFile)">{{ 'DO_UPLOAD' | translate}} ({{vm.customTorrent.progress}}%)
</button>
</div>
<div ng-show="vm.customTorrent.successfully == true" class="col-sm-5" style="margin-top: 7px">
<label class="text-success control-label" translate="COVER_UPLOAD_SUCCESSFULLY"></label>
</div>
<div ng-show="vm.customTorrent.successfully == false" class="col-sm-5" style="margin-top: 7px">
<label class="text-danger control-label" translate="COVER_UPLOAD_FAILED"></label>
</div>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.customTorrent.successfully">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="ENTER_MUSIC_DETAIL_INFO"></legend>
<div class="col-xs-12">
<textarea id="musicDetail" name="musicDetail" ng-model="vm.customTorrent.detail"
mt-markdown-editor="musicDetail"
upload-dir="/modules/torrents/client/uploads/temp/"
upload-only-image="true"
upload-method="vm.uploadTorrentImage(editor, ufile, progressback, callback, errback);"></textarea>
</div>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.customTorrent.detail">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="SELECT_TAGS"></legend>
<dl class="dl-horizontal">
<div ng-repeat="item in vm.resourcesTags.radio | filter:vm.selectedType">
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}</dt>
<dd class="h-line">
<label class="radio-inline" ng-repeat="sitem in item.value">
<input type="radio" class="tradio" name="tag_{{item.name}}" ng-model="vm.tags['tag_'+item.name]"
id="radio_{{item.name}}{{$index}}"
value="{{sitem.name}}"> {{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
</label>
</dd>
</div>
<div style="margin-top: 30px;"></div>
<div ng-repeat="item in vm.resourcesTags.checkbox | filter:vm.selectedType">
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}</dt>
<dd class="h-line">
<label class="checkbox-inline" ng-repeat="sitem in item.value">
<input type="checkbox" class="tcheckbox" ng-model="vm.tags['tag_'+item.name+'_'+sitem.name]"
id="checkbox_{{item.name}}_{{sitem.name}}"
value="{{sitem.name}}"> {{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
</label>
</dd>
</div>
<div class="margin-top-10">
<dt class="h-line"></dt>
<dd class="h-line">
<span class="label label-tag text-uppercase" ng-click="vm.clearAllCondition();">
{{ 'CLEAR_ALL_CONDITION' | translate}}
</span>
</dd>
</div>
</dl>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.customTorrent.detail">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="ENTER_VIDEO_NFO"></legend>
<div class="col-xs-12">
<textarea class="form-control" rows="10" ng-model="vm.videoNfo" style="resize: vertical"></textarea>
</div>
</div>
</div>
</script>
<!-- **********************************************************************
ng-template default.html
*********************************************************************** -->
<script type="text/ng-template" id="default">
<div class="row margin-bottom-40">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="ENTER_RESOURCE_TITLE"></legend>
<div class="col-md-6 col-sm-8 margin-top-10">
<input type="text" class="form-control" ng-model="vm.customTorrent.title" placeholder="{{ 'RESOURCE_TITLE' | translate}}">
</div>
<div class="col-md-6 col-md-offset-2"></div>
<div class="col-md-8 col-sm-10 margin-top-10">
<input type="text" class="form-control" ng-model="vm.customTorrent.subtitle" placeholder="{{ 'RESOURCE_SUB_TITLE' | translate}}">
</div>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.customTorrent.title && vm.customTorrent.subtitle">
<div class="col-xs-12">
<legend class="small-legend" translate="SELECT_RESOURCE_IMAGE"></legend>
<div class="col-sm-7">
<div class="input-group">
<input type="text" class="form-control" ng-model="vm.customTorrent.coverFile.name" disabled>
<div class="input-group-btn">
<button class="btn btn-primary btn-file"
ngf-select="vm.customTorrent.fileSelected = true; vm.customTorrent.successfully = undefined; vm.customTorrent.progress = 0;"
ng-model="vm.customTorrent.coverFile"
ngf-pattern="'image/*'"
ngf-accept="'image/*'"
ngf-resize="{width: 800}"
ngf-resize-if="$width > 800 || $height > 1200"
ng-disabled="vm.customTorrent.successfully">{{ 'SELECT_FILE' | translate}}
</button>
</div>
</div>
</div>
<div ng-show="vm.customTorrent.fileSelected" class="col-sm-5">
<button class="btn btn-success"
ng-click="vm.uploadCustomTorrentCover(vm.customTorrent.coverFile)">{{ 'DO_UPLOAD' | translate}} ({{vm.customTorrent.progress}}%)
</button>
</div>
<div ng-show="vm.customTorrent.successfully == true" class="col-sm-5" style="margin-top: 7px">
<label class="text-success control-label" translate="COVER_UPLOAD_SUCCESSFULLY"></label>
</div>
<div ng-show="vm.customTorrent.successfully == false" class="col-sm-5" style="margin-top: 7px">
<label class="text-danger control-label" translate="COVER_UPLOAD_FAILED"></label>
</div>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.customTorrent.successfully">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="ENTER_RESOURCE_DETAIL_INFO"></legend>
<div class="col-xs-12">
<textarea id="sportsDetail" name="sportsDetail" ng-model="vm.customTorrent.detail"
mt-markdown-editor="sportsDetail"
upload-dir="/modules/torrents/client/uploads/temp/"
upload-only-image="true"
upload-method="vm.uploadTorrentImage(editor, ufile, progressback, callback, errback);"></textarea>
</div>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.customTorrent.detail">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="SELECT_TAGS"></legend>
<dl class="dl-horizontal">
<div ng-repeat="item in vm.resourcesTags.radio | filter:vm.selectedType">
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}</dt>
<dd class="h-line">
<label class="radio-inline" ng-repeat="sitem in item.value">
<input type="radio" class="tradio" name="tag_{{item.name}}" ng-model="vm.tags['tag_'+item.name]"
id="radio_{{item.name}}{{$index}}"
value="{{sitem.name}}"> {{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
</label>
</dd>
</div>
<div style="margin-top: 30px;"></div>
<div ng-repeat="item in vm.resourcesTags.checkbox | filter:vm.selectedType">
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}</dt>
<dd class="h-line">
<label class="checkbox-inline" ng-repeat="sitem in item.value">
<input type="checkbox" class="tcheckbox" ng-model="vm.tags['tag_'+item.name+'_'+sitem.name]"
id="checkbox_{{item.name}}_{{sitem.name}}"
value="{{sitem.name}}"> {{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
</label>
</dd>
</div>
<div class="margin-top-10">
<dt class="h-line"></dt>
<dd class="h-line">
<span class="label label-tag text-uppercase" ng-click="vm.clearAllCondition();">
{{ 'CLEAR_ALL_CONDITION' | translate}}
</span>
</dd>
</div>
</dl>
</div>
</div>
<div class="row margin-bottom-40" ng-show="vm.customTorrent.detail && vm.needShowNFO(vm.selectedType)">
<div class="col-md-12 col-sm-12 col-xs-12">
<legend class="small-legend" translate="ENTER_VIDEO_NFO"></legend>
<div class="col-xs-12">
<textarea class="form-control" rows="10" ng-model="vm.videoNfo" style="resize: vertical"></textarea>
</div>
</div>
</div>
</script>
</section>
<div id="uploaded_popup" style="display: none;">
<div class="row padding-top-30 padding-bottom-30">
<div class="col-xs-10 col-xs-offset-1 col-sm-8 col-sm-offset-2">
<h4 translate="POPUP_UPLOADED_TOOLTIP"></h4>
</div>
<!--<div class="col-xs-10 col-xs-offset-1 col-sm-8 col-sm-offset-2">-->
<!--<h6 class="text-muted downloading-filename margin-left-30">{{'TORRENT_DOWNLOADING_FILENAME' | translate}} {{announceConfig.announcePrefix}}{{downloadingTorrent.torrent_filename}}</h6>-->
<!--</div>-->
<div class="col-xs-10 col-xs-offset-1 col-sm-8 col-sm-offset-2 text-center">
<div class="checkbox text-muted">
<label>
<input type="checkbox" ng-model="uploadPopupNotShowNextTime">{{'BUTTON_UNSHOW_NEXT_TIME' | translate}}
</label>
</div>
</div>
<div class="col-xs-10 col-xs-offset-1 col-sm-8 col-sm-offset-2 text-center">
<button class="uploaded_popup_close btn btn-success btn-width-100">{{'BUTTON_UPLOADED_POPUP_CLOSE' | translate}}</button>
</div>
</div>
</div>