/*投稿系*/ //投稿 function sec() { var mode = localStorage.getItem('sec') var acct_id = $('#post-acct-sel').val() var domain = localStorage.getItem('domain_' + acct_id) if (~domain.indexOf('kirishima.cloud') >= 0 && mode == 'local') { mode = 'unlisted' } post(null, mode) } function post(mode, postvis) { if ($('#toot-post-btn').prop('disabled')) { return false } var str = $('#textarea').val() var acct_id = $('#post-acct-sel').val() localStorage.setItem('last-use', acct_id) var domain = localStorage.getItem('domain_' + acct_id) if ($('#ideKey').val() != '') { var ideKey = $('#ideKey').val() } else { var user = localStorage.getItem('user_' + acct_id) var ideKey = Math.floor(Date.now() / 1000) + '/TheDesk/' + user + '@' + domain $('#ideKey').val(ideKey) } if (!localStorage.getItem('cw_sentence')) { var cw_sent = 500 } else { var cw_sent = localStorage.getItem('cw_sentence') } if (!localStorage.getItem('cw_letters')) { var cw_ltres = 7000 } else { var cw_ltres = localStorage.getItem('cw_letters') } if (domain != 'kirishima.cloud') { if ( mode != 'pass' && !$('#cw').hasClass('cw-avail') && (str.length > cw_sent || str.split('\n').length - 1 > cw_ltres) ) { var plus = str.replace(/\n/g, '').slice(0, 10) + '...' Swal.fire({ title: lang.lang_post_cwtitle, text: lang.lang_post_cwtxt + plus, type: 'info', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#3085d6', confirmButtonText: lang.lang_post_btn2, cancelButtonText: lang.lang_post_btn3, showCloseButton: true, focusConfirm: false }).then(result => { if (result.dismiss == 'cancel') { //btn3:sonomama post('pass') } else if (result.value) { //btn2:auto-CW $('#cw-text').show() $('#cw').addClass('yellow-text') $('#cw').addClass('cw-avail') $('#cw-text').val(plus) post('pass') } }) return false } } if (localStorage.getItem('mode_' + domain) == 'misskey') { misskeyPost() return } $('.toot-btn-group').prop('disabled', true) todo('Posting') var at = localStorage.getItem('acct_' + acct_id + '_at') var start = 'https://' + domain + '/api/v1/statuses' var reply = $('#reply').val() if (str.indexOf(localStorage.getItem('stable')) == -1) { str + ' #' + localStorage.getItem('stable') } var toot = { status: str } if (reply) { toot.in_reply_to_id = reply } var media = $('#media').val() if (media) { toot.media_ids = media.split(',') } var quote = $('#quote').val() if (quote) { toot.quote_id = quote } if ($('#nsfw').hasClass('nsfw-avail')) { var nsfw = 'true' toot.sensitive = nsfw } else { var nsfw = 'false' } if (postvis) { var vis = postvis } else { var vis = $('#vis').text() } if (vis != 'inherit' && vis != 'local') { toot.visibility = vis } else if (vis == 'local') { toot.status = str + '👁️' } if ($('#cw').hasClass('cw-avail')) { var spo = $('#cw-text').val() cw() toot.spoiler_text = spo } else { var spo = '' } if ($('#sch-box').hasClass('sch-avail')) { var scheduled = formattimeutc(new Date(Date.parse($('#sch-date').val()))) console.log('This toot will be posted at:' + scheduled) schedule() toot.scheduled_at = scheduled if($('#sch-box').hasClass('expire')) { toot.scheduled_at = null toot.expires_at = scheduled } } else { var scheduled = '' } if (!$('#poll').hasClass('hide')) { var options = [] $('.mastodon-choice').map(function() { var choice = $(this).val() if (choice != '') { options.push(choice) } }) if ($('#poll-multiple:checked').val() == '1') { var mul = true } else { var mul = false } if ($('#poll-until:checked').val() == '1') { var htt = true } else { var htt = false } var exin = pollCalc() if (!exin) { todc('Error: Poll expires_in param') } toot.poll = { options: options, expires_in: exin, multiple: mul, hide_totals: htt } } console.table(toot) var httpreq = new XMLHttpRequest() httpreq.open('POST', start, true) httpreq.setRequestHeader('Content-Type', 'application/json') httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Idempotency-Key', ideKey) httpreq.responseType = 'json' httpreq.send(JSON.stringify(toot)) httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response if (this.status !== 200) { if(media && this.status == 422) { $('#ideKey').val('') $('.toot-btn-group').prop('disabled', false) alertProcessUnfinished() } else { setLog(start, this.status, json) var box = localStorage.getItem('box') if (box == 'yes' || !box) { $('#textarea').blur() hide() } $('.toot-btn-group').prop('disabled', false) todc() clear() } } else { $('#ideKey').val('') var box = localStorage.getItem('box') if (box == 'yes' || !box) { $('#textarea').blur() hide() } $('.toot-btn-group').prop('disabled', false) todc() clear() } } } } function expPostMode() { $('#sch-box').toggleClass('expire') if($('#sch-box').hasClass('expire')) { Swal.fire({ type: 'info', title: 'Expiring toot On' }) } else { Swal.fire({ type: 'info', title: 'Expireing toot Off' }) } } function misskeyPost() { var str = $('#textarea').val() var acct_id = $('#post-acct-sel').val() localStorage.setItem('last-use', acct_id) var domain = localStorage.getItem('domain_' + acct_id) $('.toot-btn-group').prop('disabled', true) todo('Posting') var at = localStorage.getItem('acct_' + acct_id + '_at') var start = 'https://' + domain + '/api/notes/create' var reply = $('#reply').val() var toot = { text: str } if (reply) { if (reply.indexOf('renote') !== -1) { toot.renoteId = reply.replace('renote_', '') } else { toot.replyId = reply } } var media = $('#media').val() if (media) { toot.mediaIds = media.split(',') } if ($('#nsfw').hasClass('nsfw-avail')) { var nsfw = 'true' toot.sensitive = nsfw } else { var nsfw = 'false' } var vis = $('#vis').text() if (vis == 'unlisted') { vis = 'home' } else if (vis == 'direct') { vis = 'specified' toot.visibleUserIds = str .match(/@([a-zA-Z0-9_@.-]+)(\s|$)/g) .join('') .split('@') } if (vis != 'inherit') { toot.visibility = vis } if ($('#cw').hasClass('cw-avail')) { var spo = $('#cw-text').val() cw() toot.cw = spo } else { var spo = '' } toot.i = at var httpreq = new XMLHttpRequest() httpreq.open('POST', start, true) httpreq.setRequestHeader('Content-Type', 'application/json') httpreq.responseType = 'json' httpreq.send(JSON.stringify(toot)) httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { if (str.indexOf(localStorage.getItem('stable')) == -1) { localStorage.removeItem('stable') } var json = httpreq.response if (this.status !== 200) { setLog(start, this.status, json) } console.log(['Success: toot', json]) var box = localStorage.getItem('box') if (box == 'yes') { hide() } else if (box == 'hide') { $('body').addClass('mini-post') $('.mini-btn').text('expand_less') } $('.toot-btn-group').prop('disabled', false) todc() clear() } } } //クリア(Shift+C) function clear() { $('#textarea').val('') $('#ideKey').val('') if (localStorage.getItem('stable')) { $('#textarea').val('#' + localStorage.getItem('stable') + ' ') } $('#textarea').attr('placeholder', lang.lang_toot) $('#reply').val('') $('#quote').val('') $('#media').val('') var cwt = localStorage.getItem('cw-text') if (cwt) { $('#cw-text').val(cwt) } else { $('#cw-text').val('') } var acw = localStorage.getItem('always-cw') if (acw != 'yes') { $('#cw').removeClass('yellow-text') $('#cw').removeClass('cw-avail') $('#cw-text').hide() } else { $('#cw').addClass('yellow-text') $('#cw').addClass('cw-avail') $('#cw-text').show() } $('#rec').text(lang.lang_no) $('#mec').text(lang.lang_nothing) loadVis() $('#nsfw').removeClass('yellow-text') $('#nsfw').html('visibility_off') $('#nsfw').removeClass('nsfw-avail') $('#stamp').html('Off') $('#stamp').removeClass('stamp-avail') $('#nsc').text(lang.lang_nothing) $('#drag').css('background-color', '#e0e0e0') $('#preview').html('') $('.toot-btn-group').prop('disabled', false) $('#post-acct-sel').prop('disabled', false) $('#days_poll').val(0) $('#hours_poll').val(0) $('#mins_poll').val(6) $('#poll').addClass('hide') $('#pollsta').text(lang.lang_no) $('.mastodon-choice').map(function() { $(this).val('') }) if (localStorage.getItem('mainuse') == 'main') { $('#post-acct-sel').val(localStorage.getItem('main')) } $('#emoji').addClass('hide') $('select').formSelect() $('#default-emoji').show() $('#unreact').show() $('#addreact').addClass('hide') $('#right-side').hide() $('#right-side').css('width', '300px') $('#left-side').css('width', '100%') var width = localStorage.getItem('postbox-width') if (width) { width = width.replace('px', '') * 1 } else { width = 300 } $('#post-box').css('width', width) mdCheck() }