VitaliyFilippov has uploaded a new change for review. https://gerrit.wikimedia.org/r/70817
Change subject: Query user for the filename of SVGs inserted via WikiEditor button. ...................................................................... Query user for the filename of SVGs inserted via WikiEditor button. Also don't strip non-ascii chars from the filename (JS regexes don't support UTF-8 character classes), but strip '/' and ':' - only these characters yield an error in Title creation for files. Other characters will be sanitized and the corrected title will be inserted in the editbox. Change-Id: I77c2782bdf6b53ed26435b4e02100c19a7116d1d --- M SVGEdit.i18n.php M SVGEdit.php M modules/ext.svgedit.toolbar.js 3 files changed, 23 insertions(+), 17 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/SVGEdit refs/changes/17/70817/1 diff --git a/SVGEdit.i18n.php b/SVGEdit.i18n.php index 3e527a8..ea24519 100644 --- a/SVGEdit.i18n.php +++ b/SVGEdit.i18n.php @@ -15,6 +15,7 @@ 'svgedit-editbutton-edit' => 'Edit drawing', 'svgedit-summary-label' => 'Edit summary', 'svgedit-summary-default' => '/* Modified in svg-edit */', + 'svgedit-editor-new-filename' => 'Enter file name: ', 'svgedit-editor-save-close' => 'Save and close', 'svgedit-editor-close' => 'Cancel', 'svgedit-desc' => 'In-browser editing of SVG drawings with [http://code.google.com/p/svg-edit/ SVG-Edit]', @@ -740,6 +741,7 @@ 'svgedit-editbutton-edit' => 'Редактировать рисунок', 'svgedit-summary-label' => 'Описание изменений', 'svgedit-summary-default' => '/* Изменено в svg-edit */', + 'svgedit-editor-new-filename' => 'Введите имя файла: ', 'svgedit-editor-save-close' => 'Сохранить и закрыть', 'svgedit-editor-close' => 'Отмена', 'svgedit-desc' => 'Редактирование SVG-изображений в браузере с помощью [http://code.google.com/p/svg-edit/ SVG-Edit]', diff --git a/SVGEdit.php b/SVGEdit.php index 91c5764..2e8a09d 100644 --- a/SVGEdit.php +++ b/SVGEdit.php @@ -46,6 +46,7 @@ 'svgedit-summary-default', 'svgedit-editor-save-close', 'svgedit-editor-close', + 'svgedit-editor-new-filename', ), 'dependencies' => array( 'jquery.ui.resizable' diff --git a/modules/ext.svgedit.toolbar.js b/modules/ext.svgedit.toolbar.js index f08f9aa..ea847f0 100644 --- a/modules/ext.svgedit.toolbar.js +++ b/modules/ext.svgedit.toolbar.js @@ -7,7 +7,7 @@ var safeFilename = function(str) { // hack hack - return str.replace(/[^A-Za-z0-9\- ]/, '').replace(/[\s_]+/, ' '); + return str.replace(/[:\\\/]+/g, '').replace(/[\s_]+/g, ' '); }; var handyDate = function() { var now = new Date(); @@ -31,23 +31,26 @@ pad2(now.getUTCSeconds()); }; var callback = function(context) { - var filename = safeFilename(wgTitle) + ' drawing ' + handyDate() + '.svg'; - var form = context.$ui.closest('form'); - mediaWiki.svgedit.open({ - filename: filename, - replace: form[0], - onclose: function(filename) { - if (filename) { - // Saved! Insert a [[File:foo]] - context.$textarea.textSelection('encapsulateSelection', { - 'pre': '[[File:', - 'peri': filename, - 'post': ']]', - 'replace': true - }); + var filename = safeFilename(wgTitle) + ' drawing ' + handyDate(); + if (filename = prompt(mediaWiki.msg('svgedit-editor-new-filename'), filename)) { + filename = safeFilename(filename + '.svg'); + var form = context.$ui.closest('form'); + mediaWiki.svgedit.open({ + filename: filename, + replace: form[0], + onclose: function(filename) { + if (filename) { + // Saved! Insert a [[File:foo]] + context.$textarea.textSelection('encapsulateSelection', { + 'pre': '[[File:', + 'peri': filename, + 'post': ']]', + 'replace': true + }); + } } - } - }); + }); + } }; $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'advanced', -- To view, visit https://gerrit.wikimedia.org/r/70817 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I77c2782bdf6b53ed26435b4e02100c19a7116d1d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/SVGEdit Gerrit-Branch: master Gerrit-Owner: VitaliyFilippov <vita...@yourcmc.ru> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits