123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510 |
- function DisplayTrans() {
- if (['Softsubs','Hardsubs'].indexOf($('select[name="sub"]').raw().value) != -1) {
- $('#subber').raw().parentNode.parentNode.style.display = 'table-row'
- } else {
- $('#subber').raw().parentNode.parentNode.style.display = 'none'
- }
- }
-
- function Categories() {
- var save = {};
- var form_elements = $('#dynamic_form input[name], #dynamic_form select, #dynamic_form textarea');
- for (var i = 0; i < form_elements.length; i++) {
- if (["Preview", "---", ""].indexOf(form_elements[i].value) == -1) {
- if (form_elements[i].name.slice(-1) == '[]') {
- save[form_elements[i].name] = save[form_elements[i].name] || new Array()
- save[form_elements[i].name][form_elements[i].id.slice(form_elements[i].id.search(/[0-9]/))] = form_elements[i].value
- } else if (form_elements[i].type == 'checkbox') {
- save[form_elements[i].name] = form_elements[i].checked;
- } else {
- save[form_elements[i].name] = form_elements[i].value;
- }
- }
- }
-
- ajax.get('ajax.php?action=upload_section&categoryid=' + $('#categories').raw().value, function (response) {
- $('#dynamic_form').raw().innerHTML = response;
- initMultiButtons();
- // Evaluate the code that generates previews.
- eval($('#dynamic_form script.preview_code').html());
-
- for (i in save) {
- if (Array.isArray(save[i])) {
- for (j in save[i]) {
- if (!($('#'+i.slice(0,-2)+'_'+j).raw())) AddArtistField()
- $('#'+i.slice(0,-2)+'_'+j).raw().value = save[i][j]
- }
- } else if (typeof(save[i]) == 'boolean') {
- if ($('[name="'+i+'"]').raw()) $('[name="'+i+'"]').raw().checked = save[i]
- } else {
- if ($('[name="'+i+'"]').raw()) $('[name="'+i+'"]').raw().value = save[i]
- }
- }
- if ($('#categories').raw().value == "1") DisplayTrans()
- if ($('#ressel').raw() && $('#ressel').raw().value == "Other") {
- $('#resolution').raw().readOnly = false
- $('#resolution').gshow()
- }
- initAutocomplete()
- });
- }
-
- function Bitrate() {
- $('#other_bitrate').raw().value = '';
- if ($('#bitrate').raw().options[$('#bitrate').raw().selectedIndex].value == 'Other') {
- $('#other_bitrate_span').gshow();
- } else {
- $('#other_bitrate_span').ghide();
- }
- }
-
- function AltBitrate() {
- if ($('#other_bitrate').raw().value >= 320) {
- $('#vbr').raw().disabled = true;
- $('#vbr').raw().checked = false;
- } else {
- $('#vbr').raw().disabled = false;
- }
- }
-
- function add_tag() {
- if ($('#tags').raw().value == "") {
- $('#tags').raw().value = $('#genre_tags').raw().options[$('#genre_tags').raw().selectedIndex].value;
- } else if ($('#genre_tags').raw().options[$('#genre_tags').raw().selectedIndex].value == '---') {
- } else {
- $('#tags').raw().value = $('#tags').raw().value + ', ' + $('#genre_tags').raw().options[$('#genre_tags').raw().selectedIndex].value;
- }
- }
-
- var LogCount = 1;
-
- function AddLogField() {
- if (LogCount >= 200) {
- return;
- }
- var LogField = document.createElement("input");
- LogField.type = "file";
- LogField.id = "file";
- LogField.name = "logfiles[]";
- LogField.size = 50;
- var x = $('#logfields').raw();
- x.appendChild(document.createElement("br"));
- x.appendChild(LogField);
- LogCount++;
- }
-
- function RemoveLogField() {
- if (LogCount == 1) {
- return;
- }
- var x = $('#logfields').raw();
- for (i = 0; i < 2; i++) {
- x.removeChild(x.lastChild);
- }
- LogCount--;
- }
-
- var ExtraLogCount = 1;
-
- function AddExtraLogField(id) {
- if (LogCount >= 200) {
- return;
- }
- var LogField = document.createElement("input");
- LogField.type = "file";
- LogField.id = "file_" + id;
- LogField.name = "logfiles_" + id + "[]";
- LogField.size = 50;
- var x = $('#logfields_' + id).raw();
- x.appendChild(document.createElement("br"));
- x.appendChild(LogField);
- LogCount++;
- }
-
- function RemoveLogField() {
- if (LogCount == 1) {
- return;
- }
- var x = $('#logfields').raw();
- for (i = 0; i < 2; i++) {
- x.removeChild(x.lastChild);
- }
- LogCount--;
- }
-
- var FormatCount = 0;
-
- function AddFormat() {
- if (FormatCount >= 10) {
- return;
- }
- FormatCount++;
- $('#extras').raw().value = FormatCount;
-
- var NewRow = document.createElement("tr");
- NewRow.id = "new_torrent_row"+FormatCount;
- NewRow.setAttribute("style","border-top-width: 5px; border-left-width: 5px; border-right-width: 5px;");
-
- var NewCell1 = document.createElement("td");
- NewCell1.setAttribute("class","label");
- NewCell1.innerHTML = "Extra Torrent File";
-
- var NewCell2 = document.createElement("td");
- var TorrentField = document.createElement("input");
- TorrentField.type = "file";
- TorrentField.id = "extra_torrent_file"+FormatCount;
- TorrentField.name = "extra_torrent_files[]";
- TorrentField.size = 50;
- NewCell2.appendChild(TorrentField);
-
- NewRow.appendChild(NewCell1);
- NewRow.appendChild(NewCell2);
-
- NewRow = document.createElement("tr");
- NewRow.id = "new_format_row"+FormatCount;
- NewRow.setAttribute("style","border-left-width: 5px; border-right-width: 5px;");
- NewCell1 = document.createElement("td");
- NewCell1.setAttribute("class","label");
- NewCell1.innerHTML = "Extra Format / Bitrate";
-
- NewCell2 = document.createElement("td");
- tmp = '<select id="releasetype" name="extra_formats[]"><option value="">---</option>';
- var formats=["Saab","Volvo","BMW"];
- for (var i in formats) {
- tmp += '<option value="'+formats[i]+'">'+formats[i]+"</option>\n";
- }
- tmp += "</select>";
- var bitrates=["1","2","3"];
- tmp += '<select id="releasetype" name="extra_bitrates[]"><option value="">---</option>';
- for (var i in bitrates) {
- tmp += '<option value="'+bitrates[i]+'">'+bitrates[i]+"</option>\n";
- }
- tmp += "</select>";
-
- NewCell2.innerHTML = tmp;
- NewRow.appendChild(NewCell1);
- NewRow.appendChild(NewCell2);
-
-
- NewRow = document.createElement("tr");
- NewRow.id = "new_description_row"+FormatCount;
- NewRow.setAttribute("style","border-bottom-width: 5px; border-left-width: 5px; border-right-width: 5px;");
- NewCell1 = document.createElement("td");
- NewCell1.setAttribute("class","label");
- NewCell1.innerHTML = "Extra Release Description";
-
- NewCell2 = document.createElement("td");
- NewCell2.innerHTML = '<textarea name="extra_release_desc[]" id="release_desc" cols="60" rows="4"></textarea>';
-
- NewRow.appendChild(NewCell1);
- NewRow.appendChild(NewCell2);
- }
-
- function RemoveFormat() {
- if (FormatCount == 0) {
- return;
- }
- $('#extras').raw().value = FormatCount;
-
- var x = $('#new_torrent_row'+FormatCount).raw();
- x.parentNode.removeChild(x);
-
- x = $('#new_format_row'+FormatCount).raw();
- x.parentNode.removeChild(x);
-
- x = $('#new_description_row'+FormatCount).raw();
- x.parentNode.removeChild(x);
-
- FormatCount--;
- }
-
-
- var ArtistCount = 1;
-
- function AddArtistField() {
- window.getSelection().removeAllRanges()
- ArtistCount = $('input[name="idols[]"]').length;
-
- if (ArtistCount >= 200) {
- return;
- }
- var ArtistField = document.createElement("input");
- ArtistField.type = "text";
- ArtistField.id = "idols_" + ArtistCount;
- ArtistField.name = "idols[]";
- ArtistField.size = 45;
-
- var x = $('#idolfields').raw();
- x.appendChild(document.createElement("br"));
- x.appendChild(ArtistField);
- x.appendChild(document.createTextNode('\n'));
-
- if ($("#idol").data("gazelle-autocomplete")) {
- $(ArtistField).live('focus', function() {
- $(ArtistField).autocomplete({
- serviceUrl : 'artist.php?action=autocomplete'
- });
- });
- }
-
- ArtistCount++;
- }
-
- function RemoveArtistField() {
- window.getSelection().removeAllRanges()
- ArtistCount = $('input[name="idols[]"]').length;
- if (ArtistCount == 1) {
- return;
- }
- var x = $('#idolfields').raw();
- for (i = 0; i < 3; i++) {
- x.removeChild(x.lastChild);
- }
- ArtistCount--;
- }
-
- function AddScreenshotField() {
- var sss = $('[name="screenshots[]"]')
- if (sss.length >= 10) return
- var ScreenshotField = document.createElement("input");
- ScreenshotField.type = "text";
- ScreenshotField.id = "ss_" + sss.length;
- ScreenshotField.name = "screenshots[]";
- ScreenshotField.size = 45;
-
- var a = document.createElement("a")
- a.className = "brackets"
- a.innerHTML = "−"
- a.onclick = function(){RemoveScreenshotField(this)}
-
- var x = $('#screenshots').raw()
- var y = document.createElement("div")
- y.appendChild(ScreenshotField);
- y.appendChild(document.createTextNode('\n'));
- y.appendChild(a);
- x.appendChild(y);
- }
- function RemoveScreenshotField(el) {
- var sss = $('[name="screenshots[]"]')
- el.parentElement.remove()
- }
-
- function CheckVA () {
- if ($('#artist').raw().value.toLowerCase().trim().match(/^(va|various(\sa|a)rtis(t|ts)|various)$/)) {
- $('#vawarning').gshow();
- } else {
- $('#vawarning').ghide();
- }
- }
-
- function CheckYear() {
- var media = $('#media').raw().options[$('#media').raw().selectedIndex].text;
- if (media == "---" || media == "Vinyl" || media == "Soundboard" || media == "Cassette") {
- media = "old";
- }
- var year = $('#year').val();
- var unknown = $('#unknown').prop('checked');
- if (year < 1982 && year != '' && media != "old" && !unknown) {
- $('#yearwarning').gshow();
- $('#remaster').raw().checked = true;
- $('#remaster_true').gshow();
- } else if (unknown) {
- $('#remaster').raw().checked = true;
- $('#yearwarning').ghide();
- $('#remaster_true').gshow();
- } else {
- $('#yearwarning').ghide();
- }
- }
-
- function ToggleUnknown() {
- if ($('#unknown').raw().checked) {
- $('#remaster_year').raw().value = "";
- $('#remaster_title').raw().value = "";
- $('#remaster_record_label').raw().value = "";
- $('#remaster_catalogue_number').raw().value = "";
-
- if ($('#groupremasters').raw()) {
- $('#groupremasters').raw().selectedIndex = 0;
- $('#groupremasters').raw().disabled = true;
- }
-
- $('#remaster_year').raw().disabled = true;
- $('#remaster_title').raw().disabled = true;
- $('#remaster_record_label').raw().disabled = true;
- $('#remaster_catalogue_number').raw().disabled = true;
- } else {
- $('#remaster_year').raw().disabled = false;
- $('#remaster_title').raw().disabled = false;
- $('#remaster_record_label').raw().disabled = false;
- $('#remaster_catalogue_number').raw().disabled = false;
-
- if ($('#groupremasters').raw()) {
- $('#groupremasters').raw().disabled = false;
- }
- }
- }
-
- function GroupRemaster() {
- var remasters = json.decode($('#json_remasters').raw().value);
- var index = $('#groupremasters').raw().options[$('#groupremasters').raw().selectedIndex].value;
- if (index != "") {
- $('#remaster_year').raw().value = remasters[index][1];
- $('#remaster_title').raw().value = remasters[index][2];
- $('#remaster_record_label').raw().value = remasters[index][3];
- $('#remaster_catalogue_number').raw().value = remasters[index][4];
- }
- }
-
- function AnidbAutofill() {
- var map = { artist: 'idols_0',
- title: 'title',
- title_jp: 'title_jp',
- year: 'year',
- description: 'album_desc' }
- var aid = $('#anidb').raw().value
- $.getJSON('/ajax.php?action=anidb&aid='+aid, function(data) {
- if (data.status != "success") return
- for (i in data.response) {
- if (map[i] && !($('#'+map[i]).raw().value)) {
- $('#'+map[i]).raw().value = data.response[i]
- }
- }
- })
- }
-
- function JavAutofill() {
- var map = { cn: 'javdb',
- idols: 'idols',
- title: 'title',
- title_jp: 'title_jp',
- year: 'year',
- studio: 'studio',
- image: 'image',
- tags: 'tags',
- description: 'album_desc' }
- var cn = $('#catalogue').raw().value.toUpperCase()
- $.getJSON('/ajax.php?action=javfill&cn='+cn, function(data) {
- if (data.status != "success") {
- $('#catalogue').raw().value = 'Failed'
- return
- } else {
- $('#catalogue').raw().value = data.response.cn
- }
- for (i in data.response) {
- if (Array.isArray(data.response[i])) {
- for (j in data.response[i]) {
- if (i == 'idols') {
- if (!($('#'+map[i]+'_'+j).raw())) {
- AddArtistField()
- }
- $('#'+map[i]+'_'+j).raw().value = data.response[i][j]
- }
- if (map[i] == 'tags' && !($('#'+map[i]).raw().value)) {
- $('#'+map[i]).raw().value = data.response[i].join(', ')
- }
- }
- }
- if (map[i] && $('#'+map[i]).raw() && !($('#'+map[i]).raw().value)) {
- $('#'+map[i]).raw().value = data.response[i]
- }
- }
- if (data.response.screens.length) {
- $('#album_desc').raw().value = ('[spoiler=Automatically located thumbs][img]'+data.response.screens.join('[/img][img]')+'[/img][/spoiler]\n\n') + $('#album_desc').raw().value
- }
- })
- }
-
- function DoujAutofill() {
- var map = { artists: 'idols',
- title: 'title',
- title_jp: 'title_jp',
- year: 'year',
- tags: 'tags',
- lang: 'lang',
- cover: 'image',
- circle: 'series',
- pages: 'pages',
- description: 'release_desc' }
- var nh = $('#catalogue').raw().value
- $.getJSON('/ajax.php?action=doujin&url='+nh, function(data) {
- if (data.status != "success") {
- $('#catalogue').raw().value = 'Failed'
- return
- }
- for (i in data.response) {
- if (Array.isArray(data.response[i])) {
- for (j in data.response[i]) {
- if (i == 'artists') {
- if (!($('#'+map[i]+'_'+j).raw())) {
- AddArtistField()
- }
- $('#'+map[i]+'_'+j).raw().value = data.response[i][j]
- }
- if (map[i] == 'tags' && !($('#'+map[i]).raw().value)) {
- $('#'+map[i]).raw().value = data.response[i].join(', ')
- }
- }
- }
- if (map[i] && $('#'+map[i]).raw() && (!($('#'+map[i]).raw().value) || $('#'+map[i]).raw().value == '---')) {
- $('#'+map[i]).raw().value = data.response[i]
- }
- }
- })
- }
-
- function SetResolution() {
- if ($('#ressel').raw().value != 'Other') {
- $('#resolution').raw().value = $('#ressel').raw().value
- $('#resolution').ghide()
- } else {
- $('#resolution').raw().value = ''
- $('#resolution').gshow()
- $('#resolution').raw().readOnly = false
- }
- }
-
- function MediaInfoExtract() {
- const mi = $('#mediainfo').raw().value
- function getval(mi, key) {
- var match = mi.match(new RegExp('^'+key+'\\s*:\\s*(.*)', 'mi'))
- return (match && match[1]) ? match[1] : false
- }
- ['container', 'codec', 'resolution', 'audioformat', 'lang'].forEach((sel) => {
- if (sel == 'resolution') {
- var width = getval(mi, 'Width')
- var height = getval(mi, 'Height')
- if (!(width && height)) { return }
- width = width.match(/[0-9 ]+/)[0].replace(/ /g, '')
- height = height.match(/[0-9 ]+/)[0].replace(/ /g, '')
- var ressel = $('[name=ressel]').raw()
- if (width == '680' && height == '480') { ressel.value = 'SD' }
- else if (height == '480') { ressel.value = '480p' }
- else if (height == '720') { ressel.value = '720p' }
- else if (height == '1080' && getval(mi, 'Scan type' == 'Interlaced')) { ressel.value = '1080i' }
- else if (height == '1080') { ressel.value = '1080p' }
- else if (width == '3840') { ressel.value = '4K' }
- else {
- ressel.value = 'Other'
- $('[name=resolution]').raw().value = width+'x'+height
- }
- } else if (sel == 'lang') {
- var val1 = getval(mi.slice(mi.search(/^Audio$/m)), 'Language')
- var val2 = getval(mi.slice(mi.search(/^Audio\nID.*[^1]/m)), 'Language')
- var val = (val2 && val2 != val1 && (val1+val2 == 'EnglishJapanese' || val1+val2 == 'JapaneseEnglish')) ? 'Dual Language' : val1
- if (val) { $('[name=lang]').raw().value = val }
- } else if (sel == 'container') {
- var cont = getval(mi, 'Format')
- var contel = $('[name=container]').raw()
- if (cont == 'Matroska') { contel.value = 'MKV' }
- }
- })
- }
-
- $(function() {
- document.querySelectorAll('[autofill]').forEach(function(el) {
- el.addEventListener('click', function(event) {
- ({'douj':DoujAutofill, 'anime':AnidbAutofill, 'jav':JavAutofill})[el.attributes['autofill'].value]()
- })
- })
- })
|