diff --git a/modules/twinklecopyvio.js b/modules/twinklecopyvio.js index 673ceb92..31bb8eb0 100644 --- a/modules/twinklecopyvio.js +++ b/modules/twinklecopyvio.js @@ -114,13 +114,27 @@ Twinkle.copyvio.callbacks = { }, taggingArticle: function(pageobj) { var params = pageobj.getCallbackParameters(); - var tag = '{{subst:Copyvio/auto|url=' + params.source.replace(/http/g, 'http').replace(/\n+/g, '\n').replace(/^\s*([^*])/gm, '* $1').replace(/^\* $/m, '') + '|OldRevision=' + mw.config.get('wgRevisionId') + '}}'; + var tag = '{{safeubst:Copyvio/auto|url=' + params.source.replace(/http/g, 'http').replace(/\n+/g, '\n').replace(/^\s*([^*])/gm, '* $1').replace(/^\* $/m, '') + '|OldRevision=' + mw.config.get('wgRevisionId') + '}}'; var text = pageobj.getPageText(); var oldcsd = text.match(/\{\{\s*(db(-\w*)?|d|delete)\s*(\|(?:\{\{[^{}]*\}\}|[^{}])*)?\}\}/i); if (oldcsd && confirm(wgULS('在页面上找到快速删除模板,要保留吗?\n\n当页面同时侵犯著作权又符合快速删除标准时,应该优先走快速删除程序。\n单击“确认”以保留快速删除模板,若您认为快速删除理由不合,单击“取消”以移除快速删除模板。', '在頁面上找到快速刪除模板,要保留嗎?\n\n當頁面同時侵犯版權又符合快速刪除標準時,應該優先走快速刪除程序。\n點擊「確認」以保留快速刪除模板,若您認為快速刪除理由不合,點擊「取消」以移除快速刪除模板。'))) { tag = oldcsd[0] + '\n' + tag; } + if (mw.config.get('wgPageContentModel') === 'json') { + tag = JSON.stringify([{ + _addText: tag + }]); + } else if (mw.config.get('wgPageContentModel') === 'Scribunto') { + var equals = ''; + while (tag.indexOf(']' + equals + ']') !== -1) { + equals += '='; + } + tag = "require('Module:Module wikitext')._addText([" + equals + '[' + tag + ']' + equals + ']);'; + } else if (['javascript', 'css', 'sanitized-css'].indexOf(mw.config.get('wgPageContentModel')) > -1) { + tag = '/* _addText: ' + tag.replace(/\*\//g, '*/') + ' */'; + } + pageobj.setPageText(tag); pageobj.setEditSummary(wgULS('本页面疑似侵犯著作权', '本頁面疑似侵犯版權')); pageobj.setChangeTags(Twinkle.changeTags);