Robert Vogel has uploaded a new change for review.
https://gerrit.wikimedia.org/r/224409
Change subject: InsertFile: Merge from master
......................................................................
InsertFile: Merge from master
This version depends on new API base classes in BlueSpiceFoundation!
Change-Id: I69a13bbcce2184a6156c2e4d5545e7fb170b2246
---
M InsertFile/InsertFile.class.php
M InsertFile/InsertFile.setup.php
A InsertFile/i18n/ba.json
M InsertFile/i18n/fy.json
M InsertFile/i18n/gl.json
A InsertFile/i18n/ksh.json
A InsertFile/i18n/ku-latn.json
M InsertFile/i18n/nl.json
A InsertFile/i18n/os.json
M InsertFile/i18n/pl.json
M InsertFile/i18n/ru.json
A InsertFile/i18n/sl.json
D InsertFile/includes/InsertFileAJAXBackend.php
M InsertFile/resources/BS.InsertFile/BaseDialog.js
M InsertFile/resources/BS.InsertFile/FileDialog.js
M InsertFile/resources/BS.InsertFile/ImageDialog.js
M InsertFile/resources/BS.InsertFile/UploadPanel.js
M InsertFile/resources/bluespice.insertFile.css
18 files changed, 373 insertions(+), 467 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceExtensions
refs/changes/09/224409/1
diff --git a/InsertFile/InsertFile.class.php b/InsertFile/InsertFile.class.php
index 90dcdd9..d269b53 100644
--- a/InsertFile/InsertFile.class.php
+++ b/InsertFile/InsertFile.class.php
@@ -117,4 +117,10 @@
return true;
}
+ //There is an api action "licences" in mw 2.24, but it is described as
+ //"Get media license dropdown HTML."
+ public static function getLicenses() {
+ $oLicenses = new JsonLicenses();
+ return $oLicenses->getJsonOutput();
+ }
}
\ No newline at end of file
diff --git a/InsertFile/InsertFile.setup.php b/InsertFile/InsertFile.setup.php
index 5a65c49..2520031 100644
--- a/InsertFile/InsertFile.setup.php
+++ b/InsertFile/InsertFile.setup.php
@@ -8,12 +8,8 @@
$GLOBALS['wgAutoloadClasses']['InsertFile'] = __DIR__ .
'/InsertFile.class.php';
$wgAutoloadClasses['JsonLicenses'] = __DIR__ .
'/includes/JsonLicenses.php';
-$wgAutoloadClasses['InsertFileAJAXBackend'] = __DIR__ .
'/includes/InsertFileAJAXBackend.php';
-$wgAjaxExportList[] = 'InsertFileAJAXBackend::getFilePage';
-$wgAjaxExportList[] = 'InsertFileAJAXBackend::getFiles';
-$wgAjaxExportList[] = 'InsertFileAJAXBackend::getLicenses';
-$wgAjaxExportList[] = 'InsertFileAJAXBackend::getExistsWarning';
+$wgAjaxExportList[] = 'InsertFile::getLicenses';
$aResourceModuleTemplate = array(
'localBasePath' => __DIR__ . '/resources',
diff --git a/InsertFile/i18n/ba.json b/InsertFile/i18n/ba.json
new file mode 100644
index 0000000..9c0eac1
--- /dev/null
+++ b/InsertFile/i18n/ba.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Рустам Нурыев"
+ ]
+ },
+ "bs-insertfile-typenone": "юҡ"
+}
diff --git a/InsertFile/i18n/fy.json b/InsertFile/i18n/fy.json
index 2b905f0..9832ea1 100644
--- a/InsertFile/i18n/fy.json
+++ b/InsertFile/i18n/fy.json
@@ -6,6 +6,8 @@
},
"bs-insertfile-filename": "Triemnamme",
"bs-insertfile-filesize": "Triemgrutte",
+ "bs-insertfile-alignnone": "gjin",
+ "bs-insertfile-typenone": "gjin",
"bs-insertfile-uploadbuttontext": "Blêdzje",
"bs-insertfile-warning": "Warskôging",
"bs-insertfile-error": "Flater",
diff --git a/InsertFile/i18n/gl.json b/InsertFile/i18n/gl.json
index ebd368d..c5ee5c1 100644
--- a/InsertFile/i18n/gl.json
+++ b/InsertFile/i18n/gl.json
@@ -10,7 +10,7 @@
"bs-insertfile-button-image-title": "Inserir ou editar imaxe",
"bs-insertfile-button-file-title": "Inserir ou editar ficheiro",
"bs-insertfile-uploadsdisabled": "A carga de ficheiros está desactivada
neste wiki.",
- "bs-insertfile-nomatch": "No hai coincidencias",
+ "bs-insertfile-nomatch": "Non hai coincidencias",
"bs-insertfile-labelsort": "Ordenar por:",
"bs-insertfile-labelfilter": "Filtro:",
"bs-insertfile-filename": "Nome de ficheiro",
diff --git a/InsertFile/i18n/ksh.json b/InsertFile/i18n/ksh.json
new file mode 100644
index 0000000..a35615a
--- /dev/null
+++ b/InsertFile/i18n/ksh.json
@@ -0,0 +1,63 @@
+{
+ "@metadata": {
+ "authors": [
+ "Purodha"
+ ]
+ },
+ "bs-insertfile-insert-image": "Donn e Belld ennföhje",
+ "bs-insertfile-insert-file": "Donn en Dattei ennföhje",
+ "bs-insertfile-button-image-title": "Donn e Belld ennföhje udder
änndere",
+ "bs-insertfile-button-file-title": "Donn en Dattei ennföhje udder
änndere",
+ "bs-insertfile-uploadsdisabled": "Et Huhlaade es en heh däm Wiki
ußjeschalldt.",
+ "bs-insertfile-nomatch": "Kein Träfer",
+ "bs-insertfile-labelsort": "Zottehr noh:",
+ "bs-insertfile-labelfilter": "Felter:",
+ "bs-insertfile-filename": "Dä Nahme vun dä Dattei",
+ "bs-insertfile-filesize": "Datteijömfang",
+ "bs-insertfile-lastmodified": "Neuste Änderonge",
+ "bs-insertfile-labelupload": "Huhlahde",
+ "bs-insertfile-details-title": "Eijnzelheite",
+ "bs-insertfile-labeldimensions": "Jrühße (Beijde x Hühde)",
+ "bs-insertfile-labellink": "Lengk",
+ "bs-insertfile-alignnone": "keine",
+ "bs-insertfile-alignleft": "lengks",
+ "bs-insertfile-aligncenter": "medde",
+ "bs-insertfile-alignright": "rääß",
+ "bs-insertfile-labeltype": "Dekkerazjuhn",
+ "bs-insertfile-typenone": "kein",
+ "bs-insertfile-typethumb": "Minni_Belldsche",
+ "bs-insertfile-typeframe": "Rahme",
+ "bs-insertfile-typeborder": "Ömrandong",
+ "bs-insertfile-uploadbuttontext": "Aanluhre",
+ "bs-insertfile-uploadimageemptytext": "Söhg e neu Belld us …",
+ "bs-insertfile-uploadimagefieldlabel": "Donn e neu Belld huhlahde",
+ "bs-insertfile-uploadfileemptytext": "Söhg e neu Belld us …",
+ "bs-insertfile-uploadfilefieldlabel": "Der Zihl_Datteijnahme",
+ "bs-insertfile-uploaddestfilelabel": "Zihl_Nahme",
+ "bs-insertfile-uploaddescfilelabel": "Zosammejefaß",
+ "bs-insertfile-uploadwatchthislabel": "Op heh di Dattei oppaßße",
+ "bs-insertfile-uploadignorewarningslabel": "Alle Warnonge övverjonn",
+ "bs-insertfile-uploadsubmitvalue": "Dateij huhlade",
+ "bs-insertfile-errorloading": "Ene Fähler es opjetrodde beim Datteihje
lahde.",
+ "bs-insertfile-warning": "Warnong",
+ "bs-insertfile-warningupload": "En Dattei es aam huh jelahde wähde.
Wells De verhaffesch heh dat Finster zoh maache?",
+ "bs-insertfile-allowedfiletypesare": "Jölltejje Zoote Datteije sin:",
+ "bs-insertfile-error": "Fähler",
+ "bs-insertfile-errornofileextensiononupload": "Di usjesöhk Datteij hät
kein file extension.",
+ "bs-insertfile-errornofileextensionondestination": "Dä ußjesöhk
Zihl_Nahme hät kein file extension.",
+ "bs-insertfile-errorWrongFileExtensionOnUpload": "Di usjesöhk Datteij
hät kein jöltejje file extension.",
+ "bs-insertfile-errorWrongImageTypeOnUpload": "Di usjesöhk Datteij hät
kein zohjelohße file extension.",
+ "bs-insertfile-errorWrongFileExtensionOnDestination": "Dä usjesöhk
Zihl_Nahme hät kein jöltejje file extension.",
+ "bs-insertfile-errorwrongfiletypeondestination": "Dä usjesöhk
Zihl_Nahme hät kein zohjelohße file extension.",
+ "bs-insertfile-titlefile": "Dattei ennföhje",
+ "bs-insertfile-titleimage": "Donn e Belld ennföhje",
+ "bs-insertfile-of": "vun",
+ "bs-insertfile-select-a-link": "Söhg en Zood udder ene Lengk uß",
+ "bs-insertfile-license": "Lėzänz",
+ "bs-insertfile-categories": "Saachjroppe",
+ "bs-insertfile-linktext": "Zeijsch dä Täx aan",
+ "bs-insertfile-no-link": "Keine Lengk",
+ "bs-insertfile-error-no-medialink": "Keine Lengk obb en
Mehdijje_Datteij ußjesöhk",
+ "bs-insertfile-error-no-imagelink": "Keine Lengk obb en Beld_Datteij
ußjesöhk",
+ "bs-insertfile-upload-waitmessage": "Et Huhlahde es em Jang …"
+}
diff --git a/InsertFile/i18n/ku-latn.json b/InsertFile/i18n/ku-latn.json
new file mode 100644
index 0000000..e28c1f9
--- /dev/null
+++ b/InsertFile/i18n/ku-latn.json
@@ -0,0 +1,24 @@
+{
+ "@metadata": {
+ "authors": [
+ "George Animal"
+ ]
+ },
+ "bs-insertfile-labelfilter": "Parzûn:",
+ "bs-insertfile-filename": "Navê dosyeyê",
+ "bs-insertfile-lastmodified": "Guherandinên dawî",
+ "bs-insertfile-labelupload": "Bar bike",
+ "bs-insertfile-labellink": "Girêdan",
+ "bs-insertfile-alignright": "rast",
+ "bs-insertfile-typenone": "tune",
+ "bs-insertfile-typethumb": "thumbnail",
+ "bs-insertfile-uploadimageemptytext": "Wêneyekî nû hilbijêre...",
+ "bs-insertfile-uploadimagefieldlabel": "Wêneyekî nû bar bike",
+ "bs-insertfile-uploadfileemptytext": "Dosyeyeka nû hilbijêre...",
+ "bs-insertfile-uploaddescfilelabel": "Kurte",
+ "bs-insertfile-uploadsubmitvalue": "Dosyeyê bar bike",
+ "bs-insertfile-select-a-link": "Girêdanekê hilbijêre an jî binivîse",
+ "bs-insertfile-license": "Destûr",
+ "bs-insertfile-categories": "Kategorî",
+ "bs-insertfile-no-link": "Girêdan tune"
+}
diff --git a/InsertFile/i18n/nl.json b/InsertFile/i18n/nl.json
index 7257c8d..55f5414 100644
--- a/InsertFile/i18n/nl.json
+++ b/InsertFile/i18n/nl.json
@@ -2,27 +2,72 @@
"@metadata": {
"authors": [
"Sjoerddebruin",
- "SPQRobin"
+ "SPQRobin",
+ "Siebrand",
+ "Esketti"
]
},
+ "bs-insertfile-desc": "Het dialoogvenster bestanden uploaden en
invoegen van een link naar een bestand",
"bs-insertfile-insert-image": "Afbeelding invoegen",
"bs-insertfile-insert-file": "Bestand invoegen",
+ "bs-insertfile-button-image-title": "Invoegen of bewerken afbeelding",
+ "bs-insertfile-button-file-title": "Invoegen of bewerken bestand",
+ "bs-insertfile-uploadsdisabled": "Uploaden is niet mogelijk in deze
wiki.",
+ "bs-insertfile-nomatch": "Geen resultaten",
"bs-insertfile-labelsort": "Sorteren op:",
"bs-insertfile-labelfilter": "Filter:",
"bs-insertfile-filename": "Bestandsnaam",
"bs-insertfile-filesize": "Bestandsgrootte",
"bs-insertfile-lastmodified": "Recente wijzigingen",
+ "bs-insertfile-labelupload": "Upload",
"bs-insertfile-details-title": "Details",
+ "bs-insertfile-labeldimensions": "Afmetingen (b x h)",
+ "bs-insertfile-labelalt": "Alternatieve tekst",
+ "bs-insertfile-labelalign": "Aanpassing",
+ "bs-insertfile-labellink": "Koppeling",
+ "bs-insertfile-alignnone": "geen",
+ "bs-insertfile-alignleft": "links",
+ "bs-insertfile-aligncenter": "gecentreerd",
+ "bs-insertfile-alignright": "rechts",
+ "bs-insertfile-labeltype": "Decoratie",
+ "bs-insertfile-typenone": "geen",
+ "bs-insertfile-typethumb": "miniatuur",
+ "bs-insertfile-typeframe": "frame",
+ "bs-insertfile-typeborder": "rand",
+ "bs-insertfile-uploadbuttontext": "Bladeren",
+ "bs-insertfile-uploadimageemptytext": "Kies een nieuwe afbeelding...",
+ "bs-insertfile-uploadimagefieldlabel": "Nieuwe afbeelding toevoegen",
+ "bs-insertfile-uploadfileemptytext": "Kies een nieuw bestand...",
+ "bs-insertfile-uploadfilefieldlabel": "Opslaan als",
+ "bs-insertfile-uploaddestfilelabel": "Doelnaam",
"bs-insertfile-uploaddescfilelabel": "Samenvatting",
"bs-insertfile-uploadwatchthislabel": "Dit bestand volgen",
"bs-insertfile-uploadignorewarningslabel": "Alle waarschuwingen
negeren",
"bs-insertfile-uploadsubmitvalue": "Bestand uploaden",
"bs-insertfile-errorloading": "Er is een fout opgetreden tijdens het
laden van bestanden.",
"bs-insertfile-warning": "Waarschuwing",
+ "bs-insertfile-warningupload": "Er is een file te wachten voor het
uploaden. Wil je echt om dit venster te sluiten?",
"bs-insertfile-allowedfiletypesare": "Geldige bestandstypen zijn:",
"bs-insertfile-error": "Fout",
"bs-insertfile-errornofileextensiononupload": "Het bestand dat u
gekozen heeft heeft geen extensie.",
+ "bs-insertfile-errornofileextensionondestination": "Het doel u gekozen
naam heeft geen extensie.",
+ "bs-insertfile-errorWrongFileExtensionOnUpload": "Het bestand dat u
hebt gekozen is niet geldig bestands extensie.",
+ "bs-insertfile-errorWrongImageTypeOnUpload": "Het bestand dat u hebt
gekozen is niet toegestaan een afbeelding van het type.",
+ "bs-insertfile-errorWrongFileTypeOnUpload": "Het bestand dat u hebt
gekozen is niet toegestaan bestandstype.",
+ "bs-insertfile-errorWrongFileExtensionOnDestination": "Het doel u
gekozen naam heeft geen geldige extensie.",
+ "bs-insertfile-errorwrongimagetypeondestination": "Het doel u gekozen
naam is niet toegestaan beeld-extensie.",
+ "bs-insertfile-errorwrongfiletypeondestination": "Het doel u gekozen
naam heeft geen geldige extensie.",
+ "bs-insertfile-uploadcomplete": "Uw bestand is opgeslagen succesvol.",
+ "bs-insertfile-titlefile": "Bestand toevoegen",
+ "bs-insertfile-titleimage": "Afbeelding invoegen",
+ "bs-insertfile-tipkeepratio": "Verhoudingen behouden",
"bs-insertfile-of": "of",
+ "bs-insertfile-select-a-link": "Selecteer of type een koppeling",
"bs-insertfile-license": "Licentie",
- "bs-insertfile-categories": "Categorieën"
+ "bs-insertfile-categories": "Categorieën",
+ "bs-insertfile-linktext": "Tekst weergeven",
+ "bs-insertfile-no-link": "Geen koppeling",
+ "bs-insertfile-error-no-medialink": "Geen media-link geselecteerd.",
+ "bs-insertfile-error-no-imagelink": "Geen afbeelding link
geselecteerd.",
+ "bs-insertfile-upload-waitmessage": "Uploaden in progress ..."
}
diff --git a/InsertFile/i18n/os.json b/InsertFile/i18n/os.json
new file mode 100644
index 0000000..39c4edb
--- /dev/null
+++ b/InsertFile/i18n/os.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amikeco"
+ ]
+ },
+ "bs-insertfile-uploaddescfilelabel": "Афыст"
+}
diff --git a/InsertFile/i18n/pl.json b/InsertFile/i18n/pl.json
index 6988b9a..a981d9c 100644
--- a/InsertFile/i18n/pl.json
+++ b/InsertFile/i18n/pl.json
@@ -4,15 +4,27 @@
"Chrumps"
]
},
+ "bs-insertfile-insert-image": "Wstaw obrazek",
+ "bs-insertfile-insert-file": "Wstaw plik",
+ "bs-insertfile-button-image-title": "Wstaw lub edytuj obrazek",
+ "bs-insertfile-button-file-title": "Wstaw lub edytuj plik",
+ "bs-insertfile-nomatch": "Brak dopasowania",
"bs-insertfile-labelsort": "Sortuj według:",
"bs-insertfile-labelfilter": "Filtr:",
"bs-insertfile-filename": "Nazwa pliku",
"bs-insertfile-filesize": "Rozmiar pliku",
"bs-insertfile-lastmodified": "Ostatnie zmiany",
+ "bs-insertfile-labelupload": "Prześlij",
"bs-insertfile-details-title": "Szczegóły",
"bs-insertfile-labeldimensions": "Rozmiar (szer. x wys.)",
"bs-insertfile-labelalt": "Tekst alternatywny",
+ "bs-insertfile-labelalign": "Wyrównanie",
"bs-insertfile-labellink": "Link",
+ "bs-insertfile-alignnone": "brak",
+ "bs-insertfile-alignleft": "do lewej",
+ "bs-insertfile-aligncenter": "na środku",
+ "bs-insertfile-alignright": "do prawej",
+ "bs-insertfile-typenone": "brak",
"bs-insertfile-typethumb": "miniatura",
"bs-insertfile-typeframe": "ramka",
"bs-insertfile-uploadimageemptytext": "Wybierz nowy obrazek ...",
@@ -36,6 +48,7 @@
"bs-insertfile-errorwrongfiletypeondestination": "Wybrana nazwa
docelowa ma niedozwolone rozszerzenie.",
"bs-insertfile-uploadcomplete": "Plik został zapisany pomyślnie.",
"bs-insertfile-titlefile": "Wstaw plik",
+ "bs-insertfile-titleimage": "Wstaw obrazek",
"bs-insertfile-tipkeepratio": "Zachowaj proporcje",
"bs-insertfile-license": "Licencja",
"bs-insertfile-categories": "Kategorie",
diff --git a/InsertFile/i18n/ru.json b/InsertFile/i18n/ru.json
index 966f132..197727b 100644
--- a/InsertFile/i18n/ru.json
+++ b/InsertFile/i18n/ru.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Okras",
- "Alexandr Efremov"
+ "Alexandr Efremov",
+ "Kaganer"
]
},
"bs-insertfile-desc": "Диалог загрузки файлов и вставки ссылки на файл",
@@ -65,7 +66,7 @@
"bs-insertfile-categories": "Категории",
"bs-insertfile-linktext": "Отображаемый текст",
"bs-insertfile-no-link": "Нет ссылки",
- "bs-insertfile-error-no-medialink": "Медиа ссылка не выбрана.",
+ "bs-insertfile-error-no-medialink": "Не выбрана ссылка на медиафайл.",
"bs-insertfile-error-no-imagelink": "Ссылка на изображение не выбрано.",
"bs-insertfile-upload-waitmessage": "Загрузка в процессе…"
}
diff --git a/InsertFile/i18n/sl.json b/InsertFile/i18n/sl.json
new file mode 100644
index 0000000..d2873a5
--- /dev/null
+++ b/InsertFile/i18n/sl.json
@@ -0,0 +1,71 @@
+{
+ "@metadata": {
+ "authors": [
+ "Alojz.tic",
+ "Skalcaa"
+ ]
+ },
+ "bs-insertfile-desc": "Pogovorno okno za nalaganje datotek in
vstavljanje povezav na datoteke",
+ "bs-insertfile-insert-image": "Vstavi sliko",
+ "bs-insertfile-insert-file": "Vstavi datoteko",
+ "bs-insertfile-button-image-title": "Vstavljanje ali urejanje slik",
+ "bs-insertfile-button-file-title": "Vstavljanje ali urejanje datotek",
+ "bs-insertfile-uploadsdisabled": "Na tem wikiju je nalaganje datotek
onemogočeno.",
+ "bs-insertfile-nomatch": "Ni ujemanj",
+ "bs-insertfile-labelsort": "Razvrsti po:",
+ "bs-insertfile-labelfilter": "Filter:",
+ "bs-insertfile-filename": "Ime datoteke",
+ "bs-insertfile-filesize": "Velikost datoteke",
+ "bs-insertfile-lastmodified": "Nedavne spremembe",
+ "bs-insertfile-labelupload": "Naloži",
+ "bs-insertfile-details-title": "Podrobnosti",
+ "bs-insertfile-labeldimensions": "Velikost (š x v)",
+ "bs-insertfile-labelalt": "Nadomestno besedilo",
+ "bs-insertfile-labelalign": "Prilagoditev",
+ "bs-insertfile-labellink": "Povezava",
+ "bs-insertfile-alignnone": "noben",
+ "bs-insertfile-alignleft": "levo",
+ "bs-insertfile-aligncenter": "sredinsko",
+ "bs-insertfile-alignright": "desno",
+ "bs-insertfile-labeltype": "Okrasitev",
+ "bs-insertfile-typenone": "noben",
+ "bs-insertfile-typethumb": "sličica",
+ "bs-insertfile-typeframe": "okvir",
+ "bs-insertfile-typeborder": "obroba",
+ "bs-insertfile-uploadbuttontext": "Prebrskaj",
+ "bs-insertfile-uploadimageemptytext": "Izberite novo sliko ...",
+ "bs-insertfile-uploadimagefieldlabel": "Naložite novo sliko",
+ "bs-insertfile-uploadfileemptytext": "Izberite novo datoteko ...",
+ "bs-insertfile-uploadfilefieldlabel": "Ime ciljne datoteke",
+ "bs-insertfile-uploaddestfilelabel": "Ciljno ime",
+ "bs-insertfile-uploaddescfilelabel": "Povzetek",
+ "bs-insertfile-uploadwatchthislabel": "Poglejte to datoteko",
+ "bs-insertfile-uploadignorewarningslabel": "Prezri vsa opozorila",
+ "bs-insertfile-uploadsubmitvalue": "Naloži datoteko",
+ "bs-insertfile-errorloading": "Med nalaganjem datotek je prišlo do
napake.",
+ "bs-insertfile-warning": "Opozorilo",
+ "bs-insertfile-warningupload": "Datoteka čaka na pošiljanje. Ali res
želite zapreti to okno?",
+ "bs-insertfile-allowedfiletypesare": "Veljavne vrste datotek so:",
+ "bs-insertfile-error": "Napaka",
+ "bs-insertfile-errornofileextensiononupload": "Datoteka, ki ste jo
izbrali nima končnice.",
+ "bs-insertfile-errornofileextensionondestination": "Ciljno ime, ki ste
ga izberali nima končnice.",
+ "bs-insertfile-errorWrongFileExtensionOnUpload": "Datoteka, ki ste jo
izbrali nima veljavne končnice.",
+ "bs-insertfile-errorWrongImageTypeOnUpload": "Datoteka, ki ste jo
izbrali, ni dovoljen tip slike.",
+ "bs-insertfile-errorWrongFileTypeOnUpload": "Datoteka, ki ste jo
izbrali, ni dovoljena vrsta datoteke.",
+ "bs-insertfile-errorWrongFileExtensionOnDestination": "Ciljno ime, ki
ste ga izberali nima veljavne končnice.",
+ "bs-insertfile-errorwrongimagetypeondestination": "Ciljno ime, ki ste
ga izberali nima veljavne končnice.",
+ "bs-insertfile-errorwrongfiletypeondestination": "Ciljno ime, ki ste ga
izberali nima dovoljene končnice.",
+ "bs-insertfile-uploadcomplete": "Vaša datoteka je uspešno shranjena.",
+ "bs-insertfile-titlefile": "Vstavi datoteko",
+ "bs-insertfile-titleimage": "Vstavi sliko",
+ "bs-insertfile-tipkeepratio": "Ohrani razmerja",
+ "bs-insertfile-of": "od",
+ "bs-insertfile-select-a-link": "Izberite ali vnesite povezavo",
+ "bs-insertfile-license": "Licenca",
+ "bs-insertfile-categories": "Kategorije",
+ "bs-insertfile-linktext": "Prikaz besedila",
+ "bs-insertfile-no-link": "Ni povezave",
+ "bs-insertfile-error-no-medialink": "Ni izbrana nobena povezava
medijskih vsebin.",
+ "bs-insertfile-error-no-imagelink": "Ni izbrana nobena povezava slike.",
+ "bs-insertfile-upload-waitmessage": "Nalaganje se izvaja ..."
+}
diff --git a/InsertFile/includes/InsertFileAJAXBackend.php
b/InsertFile/includes/InsertFileAJAXBackend.php
deleted file mode 100644
index 3f81120..0000000
--- a/InsertFile/includes/InsertFileAJAXBackend.php
+++ /dev/null
@@ -1,388 +0,0 @@
-<?php
-
-class InsertFileAJAXBackend {
-
- public static function getLicenses() {
- $oLicenses = new JsonLicenses();
- return $oLicenses->getJsonOutput();
- }
-
- /**
- * Calculate on which page an file is shown and put it to ajax output.
- * @param type $output The ajax output which have to be valid JSON.
- */
- public static function getFilePage() {
- global $wgDBtype;
- $oRequest = RequestContext::getMain()->getRequest();
- $filename = $oRequest->getVal( 'filename', false );
- $type = $oRequest->getVal( 'type', 'image' );
- $pagesize = $oRequest->getInt( 'pagesize', 12 );
-
- if ( strstr( $filename, 'index.php' ) ) {
- $token = array( );
- parse_str( $filename, $token );
- if ( isset( $token[ 'f' ] ) ) {
- $token = explode( ':', $token[ 'f' ] );
- $filename = $token[ 1 ];
- }
- }
-
- if ( !$filename ) {
- return FormatJson::encode(
- array(
- 'file' => '',
- 'page' => 0
- )
- );
- }
-
- $dbr = wfGetDB( DB_SLAVE );
-
- switch ( $type ) {
- // TODO MRG (01.07.11 12:08): see above: Tiff special
case only makes sense with PAgedTiffHandler activated.
- case 'image':
- switch ( $wgDBtype ) {
- case 'postgres':
- $sql = "SELECT
insertfile_getImagePosition('{$filename}') AS rank";
- break;
- case 'oracle':
- $sql = "SELECT
if_getImagePosition('{$filename}') AS rank FROM dual";
- break;
- case 'mysql':
- default:
- $tbl = $dbr->tableName( 'image'
);
- $sql = "SELECT tmp.rank FROM
- (SELECT
@row:=@row+1 rank, i.img_name
- FROM
{$tbl} i, (SELECT @row:=0) r
- WHERE
(i.img_major_mime = 'image' OR i.img_minor_mime = 'tiff')
- ORDER
BY i.img_name ASC) tmp
- WHERE
tmp.img_name = '{$filename}'";
- break;
- }
- break;
- case 'file':
- switch ( $wgDBtype ) {
- case 'postgres':
- $sql = "SELECT
insertfile_getFileUploadPosition('{$filename}') AS rank";
- break;
- case 'oracle':
- $sql = "SELECT
if_getFileUploadPosition('{$filename}') AS rank FROM dual";
- break;
- case 'mysql':
- default:
- $tbl = $dbr->tableName( 'image'
);
- $sql = "SELECT tmp.rank FROM
- (SELECT
@row:=@row+1 rank, i.img_name
- FROM
{$tbl} i, (SELECT @row:=0) r
- WHERE
(i.img_major_mime != 'image' AND i.img_minor_mime != 'tiff')
- ORDER
BY i.img_name ASC) tmp
- WHERE
tmp.img_name = '{$filename}'";
- break;
- }
- break;
- }
-
- $res = $dbr->query( $sql );
- if ( $res && $res->numRows() ) {
- $row = $res->fetchObject();
- $page = ceil( $row->rank / $pagesize );
- } else {
- $page = 0;
- }
- return FormatJson::encode(
- array(
- 'file' => $filename,
- 'page' => $page
- )
- );
- }
-
- /**
- * Calculate on which page an uploaded file is shown and put it to ajax
output.
- * @param type $output The ajax output which have to be valid JSON.
- */
- public static function getUploadedFilePage() {
- global $wgDBtype;
- $oRequest = RequestContext::getMain()->getRequest();
- $type = $oRequest->getVal( 'type', 'image' );
- $sort = $oRequest->getVal( 'sort', 'name' );
- $pagesize = $oRequest->getInt( 'pagesize', 12 );
-
- switch ( $sort ) {
- case 'size':
- $sql_sort = 'i.img_size DESC';
- break;
- case 'lastmod':
- $sql_sort = 'i.img_timestamp DESC';
- break;
- case 'name':
- default:
- $sql_sort = 'i.img_name ASC';
- }
-
- $dbr = wfGetDB( DB_SLAVE );
-
- if ( $wgDBtype == 'mysql' || $wgDBtype == 'sqlite' ) {
- if ( $type == 'image' ) {
- $tbl = $dbr->tableName( 'image' );
- $sql = "SELECT tmp.rank, tmp.img_name FROM
- (SELECT @row:=@row+1
rank, i.img_name, i.img_timestamp
- FROM {$tbl} i, (SELECT
@row:=0) r
- WHERE
(i.img_major_mime = 'image' OR i.img_minor_mime = 'tiff')
- ORDER BY {$sql_sort})
tmp
- ORDER BY tmp.img_timestamp DESC
- LIMIT 1";
- } else {
- $tbl = $dbr->tableName( 'image' );
- $sql = "SELECT tmp.rank, tmp.img_name FROM
- (SELECT @row:=@row+1
rank, i.img_name, i.img_timestamp
- FROM {$tbl} i, (SELECT
@row:=0) r
- WHERE
(i.img_major_mime != 'image' AND i.img_minor_mime != 'tiff')
- ORDER BY {$sql_sort})
tmp
- ORDER BY tmp.img_timestamp DESC
- LIMIT 1";
- }
-
- $filename = '';
-
- $res = $dbr->query( $sql );
- if ( $res && $res->numRows() ) {
- $row = $res->fetchObject();
- $page = ceil( $row->rank / $pagesize );
- $filename = $row->img_name;
- } else {
- $page = 0;
- }
- } else {
- if ( $type == 'image' ) {
- $tbl = $dbr->tableName( 'image' );
- $sql = "SELECT i.img_name, i.img_timestamp
- FROM {$tbl} i
- WHERE (i.img_major_mime =
'image' OR i.img_minor_mime = 'tiff')
- ORDER BY {$sql_sort}";
- } else {
- $tbl = $dbr->tableName( 'image' );
- $sql = "SELECT i.img_name, i.img_timestamp
- FROM {$tbl} i
- WHERE (i.img_major_mime !=
'image' AND i.img_minor_mime != 'tiff')
- ORDER BY {$sql_sort}";
- }
-
- $filename = '';
-
- $res = $dbr->query( $sql );
- $rows = array();
- $rank = 0;
- $newestRow = null;
- if ( $res && $res->numRows() ) {
- while($row = $res->fetchObject()) {
- $rank++;
- $rows[$rank] = array('rank' => $rank,
'filename' => $row->img_name, 'time' => $row->img_timestamp);
- if(!$newestRow || $newestRow['time'] <
$row->img_timestamp) {
- $newestRow = &$rows[$rank];
- }
- }
- $page = ceil( $newestRow['rank'] / $pagesize );
- $filename = $newestRow['filename'];
- } else {
- $page = 0;
- }
- }
-
- return FormatJson::encode(
- array(
- 'file' => $filename,
- 'page' => $page
- )
- );
- }
-
- public static function getExistsWarning( $sFilename ) {
- $oFile = wfFindFile( $sFilename );
- if( !$oFile ) {
- $oFile = wfLocalFile( $sFilename );
- }
-
- $s = ' ';
- if ( $oFile ) {
- $exists = UploadBase::getExistsWarning( $oFile );
- $warning = SpecialUpload::getExistsWarning( $exists );
- if ( $warning !== '' ) {
- if ( BsExtensionManager::getExtension(
'SecureFileStore' ) !== null ) {
- $warning =
SecureFileStore::secureStuff( $warning );
- }
- $s = "<div>$warning</div>";
- }
- }
-
- return $s;
- }
-
- /**
- * Process the dataset for the ExtJS file store and put it to ajax
output.
- */
- public static function getFiles() {
- $thumbs_width = 128;
- $thumbs_height = 128;
-
- $oStoreParams = BsExtJSStoreParams::newFromRequest();
- $sFileType = $oStoreParams->getRequest()->getVal('type',
'image');
- //$aFileExtensions =
$oStoreParams->getRequest()->getArray('type'); //TODO: For future use
-
- $sStart = $oStoreParams->getStart();
- $sLimit = $oStoreParams->getLimit();
-
- switch ( $oStoreParams->getSort() ) {
- case 'size':
- $sSort = 'i.img_size';
- break;
- case 'name':
- $sSort = 'i.img_name';
- break;
- case 'lastmod':
- default:
- $sSort = 'i.img_timestamp';
- }
- $sSort .= ' '.$oStoreParams->getDirection();
-
- $sType = '';
- switch ( $sFileType ) {
- case 'image':
- $sType = "(i.img_major_mime = 'image' OR
i.img_minor_mime = 'tiff')";
- break;
- case 'file':
- $sType = "(i.img_major_mime != 'image' AND
i.img_minor_mime != 'tiff')";
- break;
- }
-
- $aConds = array();
- $aConds[] = $sType;
-
- $aNameFilters = array();
- //We need to replace spaces, because the DB value does not have
spaces
- $aNameFilters[] = str_replace( ' ', '_',
$oStoreParams->getQuery() );
-
- $dbr = wfGetDB( DB_SLAVE );
- $sImageTable = $dbr->tableName( 'image' );
- $sCategoryLinksTable = $dbr->tableName( 'categorylinks' );
- $sPageTable = $dbr->tableName( 'page' );
-
- wfRunHooks( 'BSInsertFileGetFilesBeforeQuery', array( &$aConds,
&$aNameFilters ) );
-
- global $wgDBtype;
- $sNameFilters = self::buildNameFiltersSQL( $aNameFilters,
$wgDBtype );
- if( !empty( $sNameFilters ) ) $aConds[] = $sNameFilters;
- $sConds = implode( ' AND ', $aConds );
-
- // Searching for images/files in categories with name
$sCategoryFilter
- // TODO SW: verify that this image is found by category, may be
join in statement
- $sCategoryFilter = self::buildNameFiltersSQL( $aNameFilters,
$wgDBtype, 'cl_to' );
- $sConds .= " OR i.img_name IN (SELECT page_title FROM
$sCategoryLinksTable, $sPageTable where $sCategoryFilter and page_namespace=6
and page_id=cl_from) AND $sType";
-
- if ( $wgDBtype == 'oracle' ) {
- $sql =
- "SELECT * FROM
- (
- SELECT i.img_name, i.img_size,
i.img_width, i.img_height, i.img_timestamp,
- row_number()
over (ORDER BY {$sSort}) rnk
- FROM {$sImageTable} i
- WHERE {$sConds}
- )
- WHERE rnk BETWEEN {$sStart}+1 AND " . ( $sStart
+ $sLimit );
- } elseif ( $wgDBtype == 'postgres' ) {
- $sql = "SELECT i.img_name, i.img_size, i.img_width,
i.img_height, i.img_timestamp
- FROM {$sImageTable} i
- WHERE {$sConds}
- ORDER BY {$sSort}
- OFFSET {$sStart}
- LIMIT {$sLimit}";
- } else {
- $sql = "SELECT i.img_name, i.img_size, i.img_width,
i.img_height, i.img_timestamp
- FROM {$sImageTable} i
- WHERE {$sConds}
- ORDER BY {$sSort}
- LIMIT {$sStart}, {$sLimit}";
- }
-
- $rowTotal = $dbr->selectRow(
- array( 'i' => 'image' ),
- array( 'total' => 'COUNT(img_name)' ),
- $sConds
- );
-
- $aOutput = array(
- 'total' => $rowTotal->total,
- 'images' => array()
- );
-
- $res = $dbr->query( $sql );
-
- foreach ( $res as $row ) {
- $img = self::newFromName( $row->img_name );
-
- $url = $img->createThumb( 48, 48 );//img size for
preview in grid cell
-
- if ( BsExtensionManager::isContextActive(
'MW::SecureFileStore::Active' ) ) {
- $url = SecureFileStore::secureStuff( $url, true
);
- }
-
- $aOutput['images'][] = array(
- 'name' => $row->img_name,
- 'url' => $url,
- 'size' => $row->img_size,
- 'lastmod' => wfTimestamp(TS_UNIX,
$row->img_timestamp),
- 'width' => $row->img_width,
- 'height' => $row->img_height
- );
- }
- return FormatJson::encode( $aOutput );
- }
-
-
- /**
- * Builds filter conditions for SQL query
- * @param array $nameFilters
- * @param string $dbType
- * @return string A SQL fragment containing all filter conditions
- */
- protected static function buildNameFiltersSQL( $nameFilters, $dbType,
$sTableName = 'i.img_name' ) {
- //HINT: CONVERT is needed because field type is VARBINARY.
- //Converting to UTF8 is just a heuristics. SQL is probably
- //nonstandard.
- $sFormat = "LOWER(CONVERT($sTableName USING 'UTF8')) LIKE %s";
-
- if( $dbType == 'oracle' || $dbType == 'postgres' || $dbType ==
'sqlite') {
- $sFormat = "LOWER($sTableName) LIKE %s";
- }
- $dbr = wfGetDB( DB_SLAVE );
- $aFormattedFilters = array();
- foreach( $nameFilters as $nameFilter ) {
- //if( empty($nameFilter) ) continue;
- $aFormattedFilters[] = sprintf(
- $sFormat,
- $dbr->addQuotes('%'.strtolower($nameFilter).'%')
- );
- }
-
- $sNameFilters = implode( ' OR ', $aFormattedFilters );
-
- if( !empty($sNameFilters) ) {
- $sNameFilters = '('.$sNameFilters.')';
- }
-
- return $sNameFilters;
- }
-
- protected static function newFromName( $name ) {
- $title = Title::makeTitleSafe( NS_FILE, $name );
- if ( is_object( $title ) ) {
- $img = wfFindFile( $title );
- if ( !$img ) {
- $img = wfLocalFile( $title );
- }
- return $img;
- } else {
- return null;
- }
- }
-}
\ No newline at end of file
diff --git a/InsertFile/resources/BS.InsertFile/BaseDialog.js
b/InsertFile/resources/BS.InsertFile/BaseDialog.js
index c417299..6dab624 100644
--- a/InsertFile/resources/BS.InsertFile/BaseDialog.js
+++ b/InsertFile/resources/BS.InsertFile/BaseDialog.js
@@ -2,8 +2,14 @@
extend: 'BS.Window',
requires: [
'Ext.data.Store', 'Ext.form.TextField',
'Ext.ux.form.SearchField',
- 'BS.InsertFile.UploadDialog', 'Ext.Button',
'Ext.toolbar.Toolbar',
- 'Ext.grid.Panel', 'Ext.form.Panel'
+ 'Ext.Button', 'Ext.toolbar.Toolbar', 'Ext.grid.Panel',
'Ext.form.Panel',
+ 'Ext.ux.grid.FiltersFeature',
+ //Unfortunately 'Ext.ux.grid.FiltersFeature' only 'uses' those
classes, but not 'requires' them...
+ 'Ext.ux.grid.menu.ListMenu', 'Ext.ux.grid.menu.RangeMenu',
+ 'Ext.ux.grid.filter.BooleanFilter',
'Ext.ux.grid.filter.DateFilter',
+ 'Ext.ux.grid.filter.DateTimeFilter',
'Ext.ux.grid.filter.ListFilter',
+ 'Ext.ux.grid.filter.NumericFilter',
'Ext.ux.grid.filter.StringFilter',
+ 'BS.InsertFile.UploadDialog', 'BS.model.File'
],
modal: true,
bodyPadding: 0,
@@ -33,28 +39,33 @@
afterInitComponent: function() {
this.conf = {
columns: {
- items: [{
- dataIndex: 'url',
+ items: [
+ {
+ dataIndex: 'file_thumbnail_url',
renderer: this.renderThumb,
width: 56,
- sortable: false
+ sortable: false,
+ filterable: false
},{
text:
mw.message('bs-insertfile-filename').plain(),
- dataIndex: 'name',
+ dataIndex: 'file_display_text',
flex: 1
},{
text:
mw.message('bs-insertfile-filesize').plain(),
- dataIndex: 'size',
+ dataIndex: 'file_size',
renderer:this.renderSize,
width: 100
},{
text:
mw.message('bs-insertfile-lastmodified').plain(),
- dataIndex: 'lastmod',
+ dataIndex: 'file_timestamp',
renderer:this.renderLastModified,
- width: 150
- }],
+ width: 150,
+ filterable: false //TODO: Use
DateTimeFilter (needs to be supported by BSF)
+ }
+ ],
defaults: {
- tdCls: 'bs-if-cell'
+ tdCls: 'bs-if-cell',
+ filterable: true
}
}
};
@@ -63,29 +74,30 @@
height: 200,
buffered: true, // allow the grid to interact with the
paging scroller by buffering
pageSize: 20,
- leadingBufferZone: 60,
+ leadingBufferZone: 20,
proxy: {
type: 'ajax',
- url:
bs.util.getAjaxDispatcherUrl('InsertFileAJAXBackend::getFiles'),
+ url: mw.util.wikiScript('api'),
reader: {
type: 'json',
- root: 'images',
- idProperty: 'name'
+ root: 'results',
+ idProperty: 'file_name',
+ totalProperty: 'total'
},
extraParams: {
- type: this.storeFileType
+ format: 'json',
+ action: 'bs-filebackend-store'
}
},
remoteFilter: true,
autoLoad: true,
- fields: ['name', 'lastmod', 'url', 'size', 'width',
'height' ],
+ model: 'BS.model.File',
sortInfo: {
- field: 'lastmod',
+ field: 'file_timestamp',
direction: 'ASC'
}
});
this.stImageGrid.on( 'load', this.onStImageGridLoad, this );
-
this.sfFilter = Ext.create( 'Ext.ux.form.SearchField', {
fieldLabel:
mw.message('bs-insertfile-labelfilter').plain(),
@@ -130,12 +142,15 @@
items: toolBarItems
});
+ var filterFeature = this.makeGridFilterFeatureConfig();
+
this.gdImages = Ext.create('Ext.grid.Panel', {
region: 'center',
collapsible: false,
store: this.stImageGrid,
loadMask: true,
dockedItems: this.tbGridTools,
+ features: [ new
Ext.ux.grid.FiltersFeature(filterFeature) ],
selModel: {
pruneRemoved: false
},
@@ -147,6 +162,9 @@
});
this.gdImages.on( 'select', this.onGdImagesSelect, this );
+ this.gdImages.on( 'afterrender', function(){
+ this.gdImages.filters.createFilters(); //This is
required to have out default filters be applied on load!
+ }, this );
this.tfFileName = Ext.create('Ext.form.TextField', {
readOnly: true,
@@ -169,6 +187,7 @@
this.pnlConfig
];
+ $(document).trigger("BSInsertFileInsertBaseDialogAfterInit",
[this, this.items]);
this.callParent(arguments);
},
@@ -193,6 +212,7 @@
dlgUploadOKClick: function( dialog, upload ){
this.stImageGrid.reload();
+ this.resetFilters();
this.sfFilter.setValue( upload.filename );
},
@@ -211,6 +231,7 @@
this.tfLinkText.reset();
if( obj.title ) {
+ this.resetFilters();
this.tfFileName.setValue( obj.title );
this.sfFilter.setValue( obj.title );
this.sfFilter.onTrigger2Click();
@@ -227,16 +248,13 @@
this.callParent( arguments );
},
- renderThumb: function( url ) {
- /*return mw.html.element(
- 'img',
- {
- src: url,
- height: 48,
- width: 48
- }
- );*/
- return '<img src="'+url+'" height="48" width="48" />';
+ renderThumb: function( url, meta, record ) {
+ var attribs = {
+ class: 'bs-insertfile-icon',
+ style: 'background-image:url('+url+')'
+ };
+
+ return mw.html.element( 'div', attribs );
},
renderSize: function( size ){
@@ -244,14 +262,11 @@
},
renderLastModified: function( lastmod ){
- return Ext.Date.format(
- new Date(lastmod * 1000),
- 'd.m.Y G:i'
- );
+ return Ext.Date.format( lastmod, 'd.m.Y G:i' );
},
onGdImagesSelect: function( grid, record, index, eOpts ){
- this.tfFileName.setValue( record.get('name') );
+ this.tfFileName.setValue( record.get('file_name') );
this.pnlConfig.expand();
},
@@ -261,5 +276,26 @@
return selectedRecords[0];
}
return null;
+ },
+
+ makeGridFilterFeatureConfig: function() {
+ return {
+ ftype: 'filters',
+ encode: true,
+ autoReload: true,
+ filters: [
+ {
+ active: true,
+ dataIndex: 'file_mimetype',
+ type: 'string',
+ value: { 'nct': 'image/' }
//unfortunately there is no "not starts with"
+ }
+ ]
+ };
+ },
+
+ resetFilters: function () {
+ this.gdImages.filters.clearFilters(); //We disable all
filters...
+
this.gdImages.filters.getFilter('file_mimetype').setActive(true);//... and
reenable the mime_type filter to have normal behavior
}
});
diff --git a/InsertFile/resources/BS.InsertFile/FileDialog.js
b/InsertFile/resources/BS.InsertFile/FileDialog.js
index 741472e..2a4c579 100644
--- a/InsertFile/resources/BS.InsertFile/FileDialog.js
+++ b/InsertFile/resources/BS.InsertFile/FileDialog.js
@@ -14,7 +14,10 @@
this.configPanel.items = [];
this.callParent(arguments);
},
- onPnlConfigExpand: function(panel, eOpts){
+ afterInitComponent: function() {
this.callParent(arguments);
},
+ onPnlConfigExpand: function(panel, eOpts){
+ this.callParent(arguments);
+ }
});
\ No newline at end of file
diff --git a/InsertFile/resources/BS.InsertFile/ImageDialog.js
b/InsertFile/resources/BS.InsertFile/ImageDialog.js
index f584ae0..76cd16e 100644
--- a/InsertFile/resources/BS.InsertFile/ImageDialog.js
+++ b/InsertFile/resources/BS.InsertFile/ImageDialog.js
@@ -170,8 +170,8 @@
if( this.nbWidth.getValue() === null &&
this.nbHeight.getValue() === null ) {
var record = records[0];
this.isSetData = true;
- this.nbWidth.setValue(+record.get('width'));
- this.nbHeight.setValue(+record.get('height'));
+
this.nbWidth.setValue(+record.get('file_width'));
+
this.nbHeight.setValue(+record.get('file_height'));
this.isSetData = false;
}
}
@@ -195,8 +195,8 @@
if ((w === 0 && h === 0) || record === null ) {
return 0;
}
- var orgW = record.get('width');
- var orgH = record.get('height');
+ var orgW = record.get('file_width');
+ var orgH = record.get('file_height');
if (w === 0) {
return Math.round(orgW / (orgH / h));
@@ -271,7 +271,7 @@
var height = this.nbHeight.getValue();
var width = this.nbWidth.getValue();
- if( height != record.get('height') || width !=
record.get('width') ) {
+ if( height != record.get('file_height') || width !=
record.get('file_width') ) {
cfg.sizeheight = height;
cfg.sizewidth = width;
}
@@ -352,12 +352,12 @@
onGdImagesSelect: function( grid, record, index, eOpts ){
this.callParent(arguments);
- this.hdnUrl.setValue( record.get('url') );
+ this.hdnUrl.setValue( record.get('file_thumbnail_url') );
//This is to avoid an overriding of the dimension that may have
been
//set by this.setData()
if( grid.getStore().filters.items.length === 0 ||
grid.getStore().getCount() !== 1 ) {
- this.nbWidth.setValue( record.get('width') );
- this.nbHeight.setValue( record.get('height') );
+ this.nbWidth.setValue( record.get('file_width') );
+ this.nbHeight.setValue( record.get('file_height') );
}
$(document).trigger("BSInsertFileInsertImageDialogAfterImageSelect", [this,
grid, record, index]);
},
@@ -381,5 +381,11 @@
else {
this.tfLinkText.disable();
}
+ },
+
+ makeGridFilterFeatureConfig: function() {
+ var filtersCfg = this.callParent( arguments );
+ filtersCfg.filters[0].value = { 'sw': 'image/' }; //Set to
"starts with"; value is 'image/' defined by base class
+ return filtersCfg;
}
});
\ No newline at end of file
diff --git a/InsertFile/resources/BS.InsertFile/UploadPanel.js
b/InsertFile/resources/BS.InsertFile/UploadPanel.js
index cfa824d..6589008 100644
--- a/InsertFile/resources/BS.InsertFile/UploadPanel.js
+++ b/InsertFile/resources/BS.InsertFile/UploadPanel.js
@@ -60,7 +60,7 @@
this.storeLicenses = Ext.create( 'Ext.data.Store', {
proxy: {
type: 'ajax',
- url:
bs.util.getAjaxDispatcherUrl('InsertFileAJAXBackend::getLicenses'),
+ url:
bs.util.getAjaxDispatcherUrl('InsertFile::getLicenses'),
reader: {
type: 'json',
root: 'items',
@@ -140,8 +140,8 @@
});
this.panelItems = [
- this.tfFileName,
this.fuFile,
+ this.tfFileName,
this.fsDetails
];
var detailsItems = [
@@ -176,31 +176,36 @@
},
tfFileNameChange: function(field, value) {
- Ext.Ajax.request({
- url: bs.util.getAjaxDispatcherUrl(
'InsertFileAJAXBackend::getExistsWarning', [ value ] ),
- success: function(response, options) {
- if(!(response.responseText.trim() === ''
- || response.responseText === ' '
- || response.responseText === ' '))
{
-
- bs.util.alert(
- this.getId()+'-existswarning',
- {
- titleMsg:
'bs-extjs-title-warning',
- text:
response.responseText
- },
- {
- ok: function() {
- //User is
noticed. Now let's set the
- //ignore
warnings flag automatically
-
this.cbxWarnings.setValue(true);
- },
- scope: this
- }
- );
+ var Api = new mw.Api();
+ var me = this;
+ Api.get({
+ action: 'query',
+ format: 'json',
+ titles: 'File:' + value,
+ prop: 'imageinfo',
+ iiprop: 'uploadwarning',
+ indexpageids: ''
+ }).done( function ( response ) {
+ if( response.query.pageids[0] === "-1" ) {
+ return null;
+ }
+ bs.util.alert(
+ me.getId()+'-existswarning',
+ {
+ titleMsg: 'bs-extjs-title-warning',
+ text:
response.query.pages[response.query.pageids[0]]
+ .imageinfo[0]
+ .html
+ },
+ {
+ ok: function() {
+ //User is noticed. Now let's
set the
+ //ignore warnings flag
automatically
+ me.cbxWarnings.setValue(true);
+ },
+ scope: me
}
- },
- scope: this
+ );
});
},
diff --git a/InsertFile/resources/bluespice.insertFile.css
b/InsertFile/resources/bluespice.insertFile.css
index d13deb3..3bf1757 100644
--- a/InsertFile/resources/bluespice.insertFile.css
+++ b/InsertFile/resources/bluespice.insertFile.css
@@ -32,4 +32,11 @@
.bs-ve-image.thumb.center {
width: auto;
+}
+
+.bs-insertfile-icon {
+ width: 48px;
+ height: 48px;
+ background-position: center center;
+ background-repeat: no-repeat;
}
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/224409
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I69a13bbcce2184a6156c2e4d5545e7fb170b2246
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: REL1_23
Gerrit-Owner: Robert Vogel <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits