diff --git a/gulliver/js/ext/locale/ext-lang-af.js b/gulliver/js/ext/locale/ext-lang-af.js index f4abac34c..4f8eea2e3 100644 --- a/gulliver/js/ext/locale/ext-lang-af.js +++ b/gulliver/js/ext/locale/ext-lang-af.js @@ -177,6 +177,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Slaan"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Kanselleer"; + Ext.ux.grid.RowEditor.prototype.saveText = "Slaan"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Kanselleer"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Trek om grootte aan te pas.", diff --git a/gulliver/js/ext/locale/ext-lang-am.js b/gulliver/js/ext/locale/ext-lang-am.js index 195d8278a..11f9f7641 100644 --- a/gulliver/js/ext/locale/ext-lang-am.js +++ b/gulliver/js/ext/locale/ext-lang-am.js @@ -72,7 +72,7 @@ Date.monthNumbers = { "ሚያዚያ" : 7, "ግንቦት" : 8, "ሰኔ" : 9, - "ሐምሌ" : 10, + "ሐምሌ" : 10, "ነሃሴ" : 11, "ጷግሜ" : 12 }; @@ -309,6 +309,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "አዳነ"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "አፈረሰ"; + Ext.ux.grid.RowEditor.prototype.saveText = "አዳነ"; + Ext.ux.grid.RowEditor.prototype.cancelText = "አፈረሰ"; +} + if(Ext.grid.BooleanColumn){ Ext.apply(Ext.grid.BooleanColumn.prototype, { trueText : "እሙን", diff --git a/gulliver/js/ext/locale/ext-lang-bg.js b/gulliver/js/ext/locale/ext-lang-bg.js index 521eb05c0..2df4817af 100644 --- a/gulliver/js/ext/locale/ext-lang-bg.js +++ b/gulliver/js/ext/locale/ext-lang-bg.js @@ -9,7 +9,7 @@ * * By Георги Костадинов, Калгари, Канада * 10 October 2007 - * By Nedko Penev + * By Nedko Penev * 26 October 2007 * * (utf-8 encoding) @@ -271,6 +271,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Запази"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Отказ"; + Ext.ux.grid.RowEditor.prototype.saveText = "Запази"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Отказ"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Влачете с мишката за да промените размера.", diff --git a/gulliver/js/ext/locale/ext-lang-ca.js b/gulliver/js/ext/locale/ext-lang-ca.js index 27a4babe8..07959126e 100644 --- a/gulliver/js/ext/locale/ext-lang-ca.js +++ b/gulliver/js/ext/locale/ext-lang-ca.js @@ -8,7 +8,7 @@ * Catalonian Translation by halkon_polako 6-12-2007 * December correction halkon_polako 11-12-2007 * - * Synchronized with 2.2 version of ext-lang-en.js (provided by Condor 8 aug 2008) + * Synchronized with 2.2 version of ext-lang-en.js (provided by Condor 8 aug 2008) * by halkon_polako 14-aug-2008 */ @@ -286,6 +286,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Guarda"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Cancel"; + Ext.ux.grid.RowEditor.prototype.saveText = "Guarda"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Cancel"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Cliqueu i arrossegueu per canviar el tamany del panell.", diff --git a/gulliver/js/ext/locale/ext-lang-cs.js b/gulliver/js/ext/locale/ext-lang-cs.js index 557b6b570..b5e44c02e 100644 --- a/gulliver/js/ext/locale/ext-lang-cs.js +++ b/gulliver/js/ext/locale/ext-lang-cs.js @@ -303,6 +303,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Uložit"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Zrušit"; + Ext.ux.grid.RowEditor.prototype.saveText = "Uložit"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Zrušit"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Tahem změnit velikost.", diff --git a/gulliver/js/ext/locale/ext-lang-da.js b/gulliver/js/ext/locale/ext-lang-da.js index 9f9df632d..427a85c16 100644 --- a/gulliver/js/ext/locale/ext-lang-da.js +++ b/gulliver/js/ext/locale/ext-lang-da.js @@ -8,8 +8,8 @@ * Danish translation * By JohnF * 04-09-2007, 05:28 AM - * - * Extended and modified by Karl Krukow, + * + * Extended and modified by Karl Krukow, * December, 2007. */ @@ -112,7 +112,7 @@ if(Ext.DatePicker){ disabledDaysText : "", disabledDatesText : "", monthNames : Date.monthNames, - dayNames : Date.dayNames, + dayNames : Date.dayNames, nextText : 'Næste måned (Ctrl + højre piltast)', prevText : 'Forrige måned (Ctrl + venstre piltast)', monthYearText : 'Vælg en måned (Ctrl + op/ned pil for at ændre årstal)', @@ -289,6 +289,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Gem"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Annuller"; + Ext.ux.grid.RowEditor.prototype.saveText = "Gem"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Annuller"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Træk for at ændre størrelsen.", diff --git a/gulliver/js/ext/locale/ext-lang-de.js b/gulliver/js/ext/locale/ext-lang-de.js index ceb843e52..5c1159d70 100644 --- a/gulliver/js/ext/locale/ext-lang-de.js +++ b/gulliver/js/ext/locale/ext-lang-de.js @@ -298,6 +298,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Speichern"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Abbrechen"; + Ext.ux.grid.RowEditor.prototype.saveText = "Speichern"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Abbrechen"; +} + if(Ext.grid.BooleanColumn){ Ext.apply(Ext.grid.BooleanColumn.prototype, { trueText : "wahr", diff --git a/gulliver/js/ext/locale/ext-lang-el_GR.js b/gulliver/js/ext/locale/ext-lang-el_GR.js index 98abf6053..4b6ef5515 100644 --- a/gulliver/js/ext/locale/ext-lang-el_GR.js +++ b/gulliver/js/ext/locale/ext-lang-el_GR.js @@ -10,8 +10,8 @@ * 27 Apr 2008 * * Changes since previous (second) Version: - * + added Date.shortMonthNames - * + added Date.getShortMonthName + * + added Date.shortMonthNames + * + added Date.getShortMonthName * + added Date.monthNumbers * + added Ext.grid.GroupingView */ @@ -231,7 +231,7 @@ if(Ext.form.HtmlEditor){ }, forecolor : { title: 'Χρώμα Γραμματοσειράς', - text: 'Αλλάζετε το χρώμα στη γραμματοσειρά του προεπιλεγμένου κειμένου.', + text: 'Αλλάζετε το χρώμα στη γραμματοσειρά του προεπιλεγμένου κειμένου.', cls: 'x-html-editor-tip' }, justifyleft : { @@ -300,6 +300,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Αποθήκευση"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Ακύρωση"; + Ext.ux.grid.RowEditor.prototype.saveText = "Αποθήκευση"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Ακύρωση"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Σύρετε για αλλαγή μεγέθους.", diff --git a/gulliver/js/ext/locale/ext-lang-es.js b/gulliver/js/ext/locale/ext-lang-es.js index 46879a3a4..fad2af05c 100644 --- a/gulliver/js/ext/locale/ext-lang-es.js +++ b/gulliver/js/ext/locale/ext-lang-es.js @@ -9,7 +9,7 @@ * Revised by efege, 2007-04-15. * Revised by Rafaga2k 10-01-2007 (mm/dd/yyyy) * Revised by FeDe 12-13-2007 (mm/dd/yyyy) - * Synchronized with 2.2 version of ext-lang-en.js (provided by Condor 8 aug 2008) + * Synchronized with 2.2 version of ext-lang-en.js (provided by Condor 8 aug 2008) * by halkon_polako 14-aug-2008 */ @@ -289,6 +289,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Guardar"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Cancelar"; + Ext.ux.grid.RowEditor.prototype.saveText = "Guardar"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Cancelar"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Arrastre para redimensionar.", diff --git a/gulliver/js/ext/locale/ext-lang-fa.js b/gulliver/js/ext/locale/ext-lang-fa.js index 9be4e9588..fce0fdf1b 100644 --- a/gulliver/js/ext/locale/ext-lang-fa.js +++ b/gulliver/js/ext/locale/ext-lang-fa.js @@ -265,6 +265,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "ذخیره"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "لغو کردن"; + Ext.ux.grid.RowEditor.prototype.saveText = "ذخیره"; + Ext.ux.grid.RowEditor.prototype.cancelText = "لغو کردن"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "درگ برای تغییر اندازه.", diff --git a/gulliver/js/ext/locale/ext-lang-fi.js b/gulliver/js/ext/locale/ext-lang-fi.js index 75bb760a3..698c7f874 100644 --- a/gulliver/js/ext/locale/ext-lang-fi.js +++ b/gulliver/js/ext/locale/ext-lang-fi.js @@ -295,6 +295,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Tallenna"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Peruuta"; + Ext.ux.grid.RowEditor.prototype.saveText = "Tallenna"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Peruuta"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Muuta kokoa vetämällä.", diff --git a/gulliver/js/ext/locale/ext-lang-fr.js b/gulliver/js/ext/locale/ext-lang-fr.js index c9c9d9d29..239407220 100644 --- a/gulliver/js/ext/locale/ext-lang-fr.js +++ b/gulliver/js/ext/locale/ext-lang-fr.js @@ -316,6 +316,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Enregistrer"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Annuler"; + Ext.ux.grid.RowEditor.prototype.saveText = "Enregistrer"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Annuler"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Cliquer et glisser pour redimensionner le panneau.", diff --git a/gulliver/js/ext/locale/ext-lang-fr_CA.js b/gulliver/js/ext/locale/ext-lang-fr_CA.js index 04eddeee8..74bf0fa05 100644 --- a/gulliver/js/ext/locale/ext-lang-fr_CA.js +++ b/gulliver/js/ext/locale/ext-lang-fr_CA.js @@ -210,6 +210,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Enregistrer"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Annuler"; + Ext.ux.grid.RowEditor.prototype.saveText = "Enregistrer"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Annuler"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Cliquer et glisser pour redimensionner le panneau.", diff --git a/gulliver/js/ext/locale/ext-lang-gr.js b/gulliver/js/ext/locale/ext-lang-gr.js index 0e9cc8cbc..4adde6693 100644 --- a/gulliver/js/ext/locale/ext-lang-gr.js +++ b/gulliver/js/ext/locale/ext-lang-gr.js @@ -167,6 +167,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Αποθήκευση"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Ακύρωση"; + Ext.ux.grid.RowEditor.prototype.saveText = "Αποθήκευση"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Ακύρωση"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Óýñåôå ãéá áëëáãÞ ìåãÝèïõò.", diff --git a/gulliver/js/ext/locale/ext-lang-he.js b/gulliver/js/ext/locale/ext-lang-he.js index b426f3dd4..a1322d49e 100644 --- a/gulliver/js/ext/locale/ext-lang-he.js +++ b/gulliver/js/ext/locale/ext-lang-he.js @@ -285,6 +285,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "להציל"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "לבטל"; + Ext.ux.grid.RowEditor.prototype.saveText = "להציל"; + Ext.ux.grid.RowEditor.prototype.cancelText = "לבטל"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : ".���� ������ ����", diff --git a/gulliver/js/ext/locale/ext-lang-hr.js b/gulliver/js/ext/locale/ext-lang-hr.js index 24f793c5d..736eb3b50 100644 --- a/gulliver/js/ext/locale/ext-lang-hr.js +++ b/gulliver/js/ext/locale/ext-lang-hr.js @@ -12,7 +12,7 @@ * By Stjepan at gmail dot com (utf8 encoding) * 17 May 2008 */ - + Ext.UpdateManager.defaults.indicatorText = '
Učitavanje...
'; if(Ext.View){ @@ -119,7 +119,7 @@ if(Ext.DatePicker){ todayTip : "{0} (Razmaknica)", format : "d.m.y", okText : " U redu ", - cancelText : "Odustani", + cancelText : "Odustani", startDay : 1 }); } @@ -288,6 +288,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Spasiti"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Otkazati"; + Ext.ux.grid.RowEditor.prototype.saveText = "Spasiti"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Otkazati"; +} + if(Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Povuci za promjenu veličine.", diff --git a/gulliver/js/ext/locale/ext-lang-hu.js b/gulliver/js/ext/locale/ext-lang-hu.js index 6606357d3..06aed73d7 100644 --- a/gulliver/js/ext/locale/ext-lang-hu.js +++ b/gulliver/js/ext/locale/ext-lang-hu.js @@ -289,6 +289,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Kivéve"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Töröl"; + Ext.ux.grid.RowEditor.prototype.saveText = "Kivéve"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Töröl"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Átméretezés húzásra.", diff --git a/gulliver/js/ext/locale/ext-lang-id.js b/gulliver/js/ext/locale/ext-lang-id.js index 29eacd7d8..4b3629343 100644 --- a/gulliver/js/ext/locale/ext-lang-id.js +++ b/gulliver/js/ext/locale/ext-lang-id.js @@ -112,15 +112,15 @@ if(Ext.util.Format){ if(Ext.DatePicker){ Ext.apply(Ext.DatePicker.prototype, { todayText : "Hari ini", - minText : "Tanggal ini sebelum batas tanggal minimal", - maxText : "Tanggal ini setelah batas tanggal maksimal", + minText : "Tanggal ini sebelum batas tanggal minimal", + maxText : "Tanggal ini setelah batas tanggal maksimal", disabledDaysText : "", disabledDatesText : "", monthNames : Date.monthNames, dayNames : Date.dayNames, - nextText : 'Bulan Berikut (Kontrol+Kanan)', - prevText : 'Bulan Sebelum (Kontrol+Kiri)', - monthYearText : 'Pilih bulan (Kontrol+Atas/Bawah untuk pindah tahun)', + nextText : 'Bulan Berikut (Kontrol+Kanan)', + prevText : 'Bulan Sebelum (Kontrol+Kiri)', + monthYearText : 'Pilih bulan (Kontrol+Atas/Bawah untuk pindah tahun)', todayTip : "{0} (Spacebar)", format : "d/m/y", okText : " OK ", @@ -137,17 +137,17 @@ if(Ext.PagingToolbar){ prevText : "Hal. Sebelum", nextText : "Hal. Berikut", lastText : "Hal. Akhir", - refreshText : "Segarkan", + refreshText : "Segarkan", displayMsg : "Menampilkan {0} - {1} dari {2}", - emptyMsg : 'Data tidak ditemukan' + emptyMsg : 'Data tidak ditemukan' }); } if(Ext.form.TextField){ Ext.apply(Ext.form.TextField.prototype, { - minLengthText : "Panjang minimal untuk field ini adalah {0}", - maxLengthText : "Panjang maksimal untuk field ini adalah {0}", - blankText : "Field ini wajib diisi", + minLengthText : "Panjang minimal untuk field ini adalah {0}", + maxLengthText : "Panjang maksimal untuk field ini adalah {0}", + blankText : "Field ini wajib diisi", regexText : "", emptyText : null }); @@ -155,20 +155,20 @@ if(Ext.form.TextField){ if(Ext.form.NumberField){ Ext.apply(Ext.form.NumberField.prototype, { - minText : "Nilai minimal untuk field ini adalah {0}", - maxText : "Nilai maksimal untuk field ini adalah {0}", - nanText : "{0} bukan angka" + minText : "Nilai minimal untuk field ini adalah {0}", + maxText : "Nilai maksimal untuk field ini adalah {0}", + nanText : "{0} bukan angka" }); } if(Ext.form.DateField){ Ext.apply(Ext.form.DateField.prototype, { - disabledDaysText : "Disfungsi", - disabledDatesText : "Disfungsi", - minText : "Tanggal dalam field ini harus setelah {0}", - maxText : "Tanggal dalam field ini harus sebelum {0}", - invalidText : "{0} tanggal salah - Harus dalam format {1}", - format : "d/m/y", + disabledDaysText : "Disfungsi", + disabledDatesText : "Disfungsi", + minText : "Tanggal dalam field ini harus setelah {0}", + maxText : "Tanggal dalam field ini harus sebelum {0}", + invalidText : "{0} tanggal salah - Harus dalam format {1}", + format : "d/m/y", //altFormats : "m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d" altFormats : "d/m/Y|d-m-y|d-m-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d", startDay : 1 @@ -177,92 +177,92 @@ if(Ext.form.DateField){ if(Ext.form.ComboBox){ Ext.apply(Ext.form.ComboBox.prototype, { - loadingText : "Pemuatan...", + loadingText : "Pemuatan...", valueNotFoundText : undefined }); } if(Ext.form.VTypes){ Ext.apply(Ext.form.VTypes, { - emailText : 'Field ini harus dalam format email seperti "user@example.com"', - urlText : 'Field ini harus dalam format URL seperti "http:/'+'/www.example.com"', - alphaText : 'Field ini harus terdiri dari huruf dan _', - alphanumText : 'Field ini haris terdiri dari huruf, angka dan _' + emailText : 'Field ini harus dalam format email seperti "user@example.com"', + urlText : 'Field ini harus dalam format URL seperti "http:/'+'/www.example.com"', + alphaText : 'Field ini harus terdiri dari huruf dan _', + alphanumText : 'Field ini haris terdiri dari huruf, angka dan _' }); } if(Ext.form.HtmlEditor){ Ext.apply(Ext.form.HtmlEditor.prototype, { - createLinkText : 'Silakan masukkan URL untuk tautan:', + createLinkText : 'Silakan masukkan URL untuk tautan:', buttonTips : { bold : { - title: 'Tebal (Ctrl+B)', - text: 'Buat tebal teks terpilih', + title: 'Tebal (Ctrl+B)', + text: 'Buat tebal teks terpilih', cls: 'x-html-editor-tip' }, italic : { - title: 'Miring (CTRL+I)', - text: 'Buat miring teks terpilih', + title: 'Miring (CTRL+I)', + text: 'Buat miring teks terpilih', cls: 'x-html-editor-tip' }, underline : { - title: 'Garisbawah (CTRl+U)', - text: 'Garisbawahi teks terpilih', + title: 'Garisbawah (CTRl+U)', + text: 'Garisbawahi teks terpilih', cls: 'x-html-editor-tip' }, increasefontsize : { - title: 'Perbesar teks', - text: 'Perbesar ukuran fonta', + title: 'Perbesar teks', + text: 'Perbesar ukuran fonta', cls: 'x-html-editor-tip' }, decreasefontsize : { - title: 'Perkecil teks', - text: 'Perkecil ukuran fonta', + title: 'Perkecil teks', + text: 'Perkecil ukuran fonta', cls: 'x-html-editor-tip' }, backcolor : { - title: 'Sorot Warna Teks', - text: 'Ubah warna latar teks terpilih', + title: 'Sorot Warna Teks', + text: 'Ubah warna latar teks terpilih', cls: 'x-html-editor-tip' }, forecolor : { - title: 'Warna Fonta', - text: 'Ubah warna teks terpilih', + title: 'Warna Fonta', + text: 'Ubah warna teks terpilih', cls: 'x-html-editor-tip' }, justifyleft : { - title: 'Rata Kiri', - text: 'Ratakan teks ke kiri', + title: 'Rata Kiri', + text: 'Ratakan teks ke kiri', cls: 'x-html-editor-tip' }, justifycenter : { - title: 'Rata Tengah', - text: 'Ratakan teks ke tengah editor', + title: 'Rata Tengah', + text: 'Ratakan teks ke tengah editor', cls: 'x-html-editor-tip' }, justifyright : { - title: 'Rata Kanan', - text: 'Ratakan teks ke kanan', + title: 'Rata Kanan', + text: 'Ratakan teks ke kanan', cls: 'x-html-editor-tip' }, insertunorderedlist : { - title: 'Daftar Bulet', - text: 'Membuat daftar berbasis bulet', + title: 'Daftar Bulet', + text: 'Membuat daftar berbasis bulet', cls: 'x-html-editor-tip' }, insertorderedlist : { - title: 'Daftar Angka', - text: 'Membuat daftar berbasis angka', + title: 'Daftar Angka', + text: 'Membuat daftar berbasis angka', cls: 'x-html-editor-tip' }, createlink : { - title: 'Hipertaut', - text: 'Buat teks terpilih sebagai Hipertaut', + title: 'Hipertaut', + text: 'Buat teks terpilih sebagai Hipertaut', cls: 'x-html-editor-tip' }, sourceedit : { - title: 'Edit Kode Sumber', - text: 'Pindah dalam mode kode sumber', + title: 'Edit Kode Sumber', + text: 'Pindah dalam mode kode sumber', cls: 'x-html-editor-tip' } } @@ -271,33 +271,40 @@ if(Ext.form.HtmlEditor){ if(Ext.grid.GridView){ Ext.apply(Ext.grid.GridView.prototype, { - sortAscText : "Urut Naik", - sortDescText : "Urut Turun", - lockText : "Kancing Kolom", - unlockText : "Lepas Kunci Kolom", + sortAscText : "Urut Naik", + sortDescText : "Urut Turun", + lockText : "Kancing Kolom", + unlockText : "Lepas Kunci Kolom", columnsText : "Kolom" }); } if(Ext.grid.GroupingView){ Ext.apply(Ext.grid.GroupingView.prototype, { - emptyGroupText : '(Kosong)', - groupByText : 'Kelompokkan Berdasar Field Ini', - showGroupsText : 'Tampil Dalam Kelompok' + emptyGroupText : '(Kosong)', + groupByText : 'Kelompokkan Berdasar Field Ini', + showGroupsText : 'Tampil Dalam Kelompok' }); } if(Ext.grid.PropertyColumnModel){ Ext.apply(Ext.grid.PropertyColumnModel.prototype, { - nameText : "Nama", - valueText : "Nilai", - dateFormat : "d/m/Y" + nameText : "Nama", + valueText : "Nilai", + dateFormat : "d/m/Y" }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Menyimpan"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Membatalkan"; + Ext.ux.grid.RowEditor.prototype.saveText = "Menyimpan"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Membatalkan"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { - splitTip : "Seret untuk ubah ukuran.", - collapsibleSplitTip : "Seret untuk ubah ukuran, Dobel klik untuk sembunyikan." + splitTip : "Seret untuk ubah ukuran.", + collapsibleSplitTip : "Seret untuk ubah ukuran, Dobel klik untuk sembunyikan." }); } diff --git a/gulliver/js/ext/locale/ext-lang-it.js b/gulliver/js/ext/locale/ext-lang-it.js index 9ab342fd7..16156013b 100644 --- a/gulliver/js/ext/locale/ext-lang-it.js +++ b/gulliver/js/ext/locale/ext-lang-it.js @@ -8,7 +8,7 @@ * Italian translation * By eric_void * 04-10-2007, 11:25 AM - * Updated by Federico Grilli 21/12/2007 + * Updated by Federico Grilli 21/12/2007 */ Ext.UpdateManager.defaults.indicatorText = '
Caricamento in corso...
'; @@ -289,6 +289,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Salvare"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Annullare"; + Ext.ux.grid.RowEditor.prototype.saveText = "Salvare"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Annullare"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Trascina per cambiare dimensioni.", diff --git a/gulliver/js/ext/locale/ext-lang-ja.js b/gulliver/js/ext/locale/ext-lang-ja.js index f3798fe21..cf598626a 100644 --- a/gulliver/js/ext/locale/ext-lang-ja.js +++ b/gulliver/js/ext/locale/ext-lang-ja.js @@ -289,6 +289,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "保存"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "キャンセル"; + Ext.ux.grid.RowEditor.prototype.saveText = "保存"; + Ext.ux.grid.RowEditor.prototype.cancelText = "キャンセル"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "ドラッグするとリサイズできます。", diff --git a/gulliver/js/ext/locale/ext-lang-ko.js b/gulliver/js/ext/locale/ext-lang-ko.js index e0a476065..acede9925 100644 --- a/gulliver/js/ext/locale/ext-lang-ko.js +++ b/gulliver/js/ext/locale/ext-lang-ko.js @@ -259,6 +259,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "저장"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "취소"; + Ext.ux.grid.RowEditor.prototype.saveText = "저장"; + Ext.ux.grid.RowEditor.prototype.cancelText = "취소"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "크기변경을 위해 드래그하세요.", diff --git a/gulliver/js/ext/locale/ext-lang-lt.js b/gulliver/js/ext/locale/ext-lang-lt.js index bbbbdc8b1..628c1c40a 100644 --- a/gulliver/js/ext/locale/ext-lang-lt.js +++ b/gulliver/js/ext/locale/ext-lang-lt.js @@ -277,7 +277,7 @@ if(Ext.form.HtmlEditor){ if(Ext.form.BasicForm){ Ext.form.BasicForm.prototype.waitTitle = "Palaukite..."; } - + if(Ext.grid.GridView){ Ext.apply(Ext.grid.GridView.prototype, { sortAscText : "Rūšiuoti didėjančia tvarka", @@ -304,6 +304,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Išgelbėti"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Atšaukti"; + Ext.ux.grid.RowEditor.prototype.saveText = "Išgelbėti"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Atšaukti"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Patraukite juostelę.", @@ -320,13 +327,13 @@ if(Ext.form.TimeField){ altFormats : "g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H" }); } - + if(Ext.form.CheckboxGroup){ Ext.apply(Ext.form.CheckboxGroup.prototype, { blankText : "Jūs turite padaryti bent vieną pasirinkimą šioje grupėje" }); } - + if(Ext.form.RadioGroup){ Ext.apply(Ext.form.RadioGroup.prototype, { blankText : "Jūs turite padaryti bent vieną pasirinkimą šioje grupėje" diff --git a/gulliver/js/ext/locale/ext-lang-lv.js b/gulliver/js/ext/locale/ext-lang-lv.js index bbdb15091..8c714ba81 100644 --- a/gulliver/js/ext/locale/ext-lang-lv.js +++ b/gulliver/js/ext/locale/ext-lang-lv.js @@ -169,6 +169,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Glābt"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Atsaukt"; + Ext.ux.grid.RowEditor.prototype.saveText = "Glābt"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Atsaukt"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Velc, lai mainītu izmēru.", diff --git a/gulliver/js/ext/locale/ext-lang-mk.js b/gulliver/js/ext/locale/ext-lang-mk.js index 35ccdb8e8..f7d55b61f 100644 --- a/gulliver/js/ext/locale/ext-lang-mk.js +++ b/gulliver/js/ext/locale/ext-lang-mk.js @@ -168,6 +168,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Зачувај"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Откажи"; + Ext.ux.grid.RowEditor.prototype.saveText = "Зачувај"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Откажи"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Повлечете за менување на големината.", diff --git a/gulliver/js/ext/locale/ext-lang-nl.js b/gulliver/js/ext/locale/ext-lang-nl.js index 1f1dc775c..f8c55d667 100644 --- a/gulliver/js/ext/locale/ext-lang-nl.js +++ b/gulliver/js/ext/locale/ext-lang-nl.js @@ -294,6 +294,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Besparen"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Annuleren"; + Ext.ux.grid.RowEditor.prototype.saveText = "Besparen"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Annuleren"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip: 'Sleep om grootte aan te passen.', diff --git a/gulliver/js/ext/locale/ext-lang-no_NB.js b/gulliver/js/ext/locale/ext-lang-no_NB.js index 7fd204a46..575666cc9 100644 --- a/gulliver/js/ext/locale/ext-lang-no_NB.js +++ b/gulliver/js/ext/locale/ext-lang-no_NB.js @@ -8,7 +8,7 @@ * * Norwegian translation (Bokmål: no-NB) * By Tore Kjørsvik 21-January-2008 - * + * */ Ext.UpdateManager.defaults.indicatorText = '
Laster...
'; @@ -287,6 +287,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Lagre"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Avbryt"; + Ext.ux.grid.RowEditor.prototype.saveText = "Lagre"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Avbryt"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Dra for å endre størrelse.", diff --git a/gulliver/js/ext/locale/ext-lang-no_NN.js b/gulliver/js/ext/locale/ext-lang-no_NN.js index 1d19b6ef1..c999484f4 100644 --- a/gulliver/js/ext/locale/ext-lang-no_NN.js +++ b/gulliver/js/ext/locale/ext-lang-no_NN.js @@ -8,7 +8,7 @@ * * Norwegian translation (Nynorsk: no-NN) * By Tore Kjørsvik 21-January-2008 - * + * */ Ext.UpdateManager.defaults.indicatorText = '
Lastar...
'; @@ -287,6 +287,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Lagre"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Avbryt"; + Ext.ux.grid.RowEditor.prototype.saveText = "Lagre"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Avbryt"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Dra for å endre storleik.", diff --git a/gulliver/js/ext/locale/ext-lang-pl.js b/gulliver/js/ext/locale/ext-lang-pl.js index dc53c1c06..7802d925f 100644 --- a/gulliver/js/ext/locale/ext-lang-pl.js +++ b/gulliver/js/ext/locale/ext-lang-pl.js @@ -88,7 +88,7 @@ Date.getShortDayName = function(day) { case 2: return 'wt'; case 3: return 'śr'; case 4: return 'czw'; - case 5: return 'pt'; + case 5: return 'pt'; case 6: return 'sob'; default: return ''; } @@ -296,6 +296,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Uratować"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Anulować"; + Ext.ux.grid.RowEditor.prototype.saveText = "Uratować"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Anulować"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Przeciągnij aby zmienić rozmiar.", diff --git a/gulliver/js/ext/locale/ext-lang-pt.js b/gulliver/js/ext/locale/ext-lang-pt.js index 952cbb4b5..cec535d73 100644 --- a/gulliver/js/ext/locale/ext-lang-pt.js +++ b/gulliver/js/ext/locale/ext-lang-pt.js @@ -253,6 +253,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Salvar"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Cancelar"; + Ext.ux.grid.RowEditor.prototype.saveText = "Salvar"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Cancelar"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Arraste para redimensionar.", diff --git a/gulliver/js/ext/locale/ext-lang-pt_BR.js b/gulliver/js/ext/locale/ext-lang-pt_BR.js index 17687cf47..03c6b1553 100644 --- a/gulliver/js/ext/locale/ext-lang-pt_BR.js +++ b/gulliver/js/ext/locale/ext-lang-pt_BR.js @@ -295,6 +295,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Salvar"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Cancelar"; + Ext.ux.grid.RowEditor.prototype.saveText = "Salvar"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Cancelar"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Arraste para redimensionar.", diff --git a/gulliver/js/ext/locale/ext-lang-pt_PT.js b/gulliver/js/ext/locale/ext-lang-pt_PT.js index 14cedf9d8..b9676cb4b 100644 --- a/gulliver/js/ext/locale/ext-lang-pt_PT.js +++ b/gulliver/js/ext/locale/ext-lang-pt_PT.js @@ -290,6 +290,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Salvar"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Cancelar"; + Ext.ux.grid.RowEditor.prototype.saveText = "Salvar"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Cancelar"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Arastar para redimensionar.", diff --git a/gulliver/js/ext/locale/ext-lang-ro.js b/gulliver/js/ext/locale/ext-lang-ro.js index 2edb5cf63..be5716ce9 100644 --- a/gulliver/js/ext/locale/ext-lang-ro.js +++ b/gulliver/js/ext/locale/ext-lang-ro.js @@ -288,6 +288,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Salva"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Anula"; + Ext.ux.grid.RowEditor.prototype.saveText = "Salva"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Anula"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Trage pentru redimensionare.", diff --git a/gulliver/js/ext/locale/ext-lang-ru.js b/gulliver/js/ext/locale/ext-lang-ru.js index 20d5c7758..ba6b4bf87 100644 --- a/gulliver/js/ext/locale/ext-lang-ru.js +++ b/gulliver/js/ext/locale/ext-lang-ru.js @@ -305,6 +305,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "экономить"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "отменить"; + Ext.ux.grid.RowEditor.prototype.saveText = "экономить"; + Ext.ux.grid.RowEditor.prototype.cancelText = "отменить"; +} + if(Ext.SplitLayoutRegion){ Ext.apply(Ext.SplitLayoutRegion.prototype, { splitTip : "Тяните для изменения размера.", diff --git a/gulliver/js/ext/locale/ext-lang-sk.js b/gulliver/js/ext/locale/ext-lang-sk.js index 92043f70b..b39d58da6 100644 --- a/gulliver/js/ext/locale/ext-lang-sk.js +++ b/gulliver/js/ext/locale/ext-lang-sk.js @@ -8,7 +8,7 @@ * List compiled by mystix on the extjs.com forums. * Thank you Mystix! */ - + /* Slovak Translation by Michal Thomka * 14 April 2007 */ @@ -174,6 +174,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Ustriehnuť"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Odhlásiť"; + Ext.ux.grid.RowEditor.prototype.saveText = "Ustriehnuť"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Odhlásiť"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Potiahnite pre zmenu rozmeru", diff --git a/gulliver/js/ext/locale/ext-lang-sl.js b/gulliver/js/ext/locale/ext-lang-sl.js index 66dbb1ee6..83221f64b 100644 --- a/gulliver/js/ext/locale/ext-lang-sl.js +++ b/gulliver/js/ext/locale/ext-lang-sl.js @@ -169,6 +169,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Shrani"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Nadoknaditi"; + Ext.ux.grid.RowEditor.prototype.saveText = "Shrani"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Nadoknaditi"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Potegni za razširitev.", diff --git a/gulliver/js/ext/locale/ext-lang-sr.js b/gulliver/js/ext/locale/ext-lang-sr.js index a92d34017..9535a11cd 100644 --- a/gulliver/js/ext/locale/ext-lang-sr.js +++ b/gulliver/js/ext/locale/ext-lang-sr.js @@ -172,6 +172,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "уштедети"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "отказати"; + Ext.ux.grid.RowEditor.prototype.saveText = "уштедети"; + Ext.ux.grid.RowEditor.prototype.cancelText = "отказати"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Povući za izmenu veličine.", diff --git a/gulliver/js/ext/locale/ext-lang-sr_RS.js b/gulliver/js/ext/locale/ext-lang-sr_RS.js index 3effc7790..39c31a468 100644 --- a/gulliver/js/ext/locale/ext-lang-sr_RS.js +++ b/gulliver/js/ext/locale/ext-lang-sr_RS.js @@ -171,6 +171,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "уштедети"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "отказати"; + Ext.ux.grid.RowEditor.prototype.saveText = "уштедети"; + Ext.ux.grid.RowEditor.prototype.cancelText = "отказати"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Повући за измену величине.", diff --git a/gulliver/js/ext/locale/ext-lang-sv_SE.js b/gulliver/js/ext/locale/ext-lang-sv_SE.js index 802113071..7bc79952c 100644 --- a/gulliver/js/ext/locale/ext-lang-sv_SE.js +++ b/gulliver/js/ext/locale/ext-lang-sv_SE.js @@ -171,6 +171,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Spara"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Avbryt"; + Ext.ux.grid.RowEditor.prototype.saveText = "Spara"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Avbryt"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Dra för att ändra storleken.", diff --git a/gulliver/js/ext/locale/ext-lang-th.js b/gulliver/js/ext/locale/ext-lang-th.js index 6b1e4b5cb..38ce3365c 100644 --- a/gulliver/js/ext/locale/ext-lang-th.js +++ b/gulliver/js/ext/locale/ext-lang-th.js @@ -287,6 +287,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "ประหยัด"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "ยกเลิก"; + Ext.ux.grid.RowEditor.prototype.saveText = "ประหยัด"; + Ext.ux.grid.RowEditor.prototype.cancelText = "ยกเลิก"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Drag to resize.", diff --git a/gulliver/js/ext/locale/ext-lang-tr.js b/gulliver/js/ext/locale/ext-lang-tr.js index a48a187fe..82378952e 100644 --- a/gulliver/js/ext/locale/ext-lang-tr.js +++ b/gulliver/js/ext/locale/ext-lang-tr.js @@ -9,8 +9,8 @@ * Thank you Mystix! * * Turkish translation by Alper YAZGAN - * 2008-01-24, 10:29 AM - * + * 2008-01-24, 10:29 AM + * * Updated to 2.2 by YargicX * 2008-10-05, 06:22 PM */ @@ -172,7 +172,7 @@ if(Ext.form.DateField){ Ext.apply(Ext.form.DateField.prototype, { disabledDaysText : "Disabled", disabledDatesText : "Disabled", - minText : "Bu tarih, {0} tarihinden daha sonra olmalýdýr", + minText : "Bu tarih, {0} tarihinden daha sonra olmalýdýr", maxText : "Bu tarih, {0} tarihinden daha önce olmalýdýr", invalidText : "{0} geçersiz bir tarihdir - tarih formatý {1} þŸeklinde olmalýdýr", format : "d/m/Y", @@ -299,6 +299,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "Kurtarmak"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Iptal"; + Ext.ux.grid.RowEditor.prototype.saveText = "Kurtarmak"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Iptal"; +} + if(Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Yeniden boyutlandýrmak için sürükle.", diff --git a/gulliver/js/ext/locale/ext-lang-ukr.js b/gulliver/js/ext/locale/ext-lang-ukr.js index 9cd41dc40..8eebe1c83 100644 --- a/gulliver/js/ext/locale/ext-lang-ukr.js +++ b/gulliver/js/ext/locale/ext-lang-ukr.js @@ -254,6 +254,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "економити"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "Скасувати"; + Ext.ux.grid.RowEditor.prototype.saveText = "економити"; + Ext.ux.grid.RowEditor.prototype.cancelText = "Скасувати"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Тягніть для зміни розміру.", diff --git a/gulliver/js/ext/locale/ext-lang-vn.js b/gulliver/js/ext/locale/ext-lang-vn.js index 861e2f669..eb45a7db9 100644 --- a/gulliver/js/ext/locale/ext-lang-vn.js +++ b/gulliver/js/ext/locale/ext-lang-vn.js @@ -173,6 +173,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "lưu"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "hủy bỏ"; + Ext.ux.grid.RowEditor.prototype.saveText = "lưu"; + Ext.ux.grid.RowEditor.prototype.cancelText = "hủy bỏ"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "Kéo giữ chuột để thay đổi kích thước.", diff --git a/gulliver/js/ext/locale/ext-lang-zh_CN.js b/gulliver/js/ext/locale/ext-lang-zh_CN.js index b70e6227d..0eea39bb5 100644 --- a/gulliver/js/ext/locale/ext-lang-zh_CN.js +++ b/gulliver/js/ext/locale/ext-lang-zh_CN.js @@ -8,7 +8,7 @@ * Simplified Chinese translation * By DavidHu * 09 April 2007 - * + * * update by andy_ghg * 2009-10-22 15:00:57 */ @@ -255,6 +255,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "保存"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "取消"; + Ext.ux.grid.RowEditor.prototype.saveText = "保存"; + Ext.ux.grid.RowEditor.prototype.cancelText = "取消"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "拖动来改变尺寸.", diff --git a/gulliver/js/ext/locale/ext-lang-zh_TW.js b/gulliver/js/ext/locale/ext-lang-zh_TW.js index 7675d095e..3911ee209 100644 --- a/gulliver/js/ext/locale/ext-lang-zh_TW.js +++ b/gulliver/js/ext/locale/ext-lang-zh_TW.js @@ -170,6 +170,13 @@ if(Ext.grid.PropertyColumnModel){ }); } +if (Ext.ux.grid.RowEditor) { + Ext.ux.grid.RowEditor.prototype.saveBtnText = "保存"; + Ext.ux.grid.RowEditor.prototype.cancelBtnText = "取消"; + Ext.ux.grid.RowEditor.prototype.saveText = "保存"; + Ext.ux.grid.RowEditor.prototype.cancelText = "取消"; +} + if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { splitTip : "拖曳縮放大小.", diff --git a/gulliver/js/form/core/form.js b/gulliver/js/form/core/form.js index 138ff32e3..49451c0ca 100755 --- a/gulliver/js/form/core/form.js +++ b/gulliver/js/form/core/form.js @@ -1021,7 +1021,7 @@ function G_Text(form, element, name) break; case 45: if (me.mType == 'currency') { - newValue = currentValue.substring(0, currentValue.length); + newValue = currentValue.substring(0, currentValue.length).split(''); for (var numI = 0; newValue.length > numI; numI++) { var campVal = newValue[numI]; if ((typeof(campVal) === 'number' || typeof(campVal) === 'string') && (campVal !== '') && (!isNaN(campVal))) { @@ -1038,6 +1038,9 @@ function G_Text(form, element, name) } } } + if (newValue.join) { + newValue = newValue.join(''); + } } break; default: diff --git a/gulliver/js/maborak/core/maborak.js b/gulliver/js/maborak/core/maborak.js index 9bf6112ec..bcdabaad5 100755 --- a/gulliver/js/maborak/core/maborak.js +++ b/gulliver/js/maborak/core/maborak.js @@ -72,7 +72,7 @@ var maborak = function(forceCssLoad){ /* create Stylesheet BEGIN */ //erik: Now the core css is available just by demand if (this.forceCssLoad === true) { - console.log('cargo css'); + //console.log('cargo css'); var st =$dce('link'); st.rel ='stylesheet'; st.type ='text/css'; @@ -756,7 +756,7 @@ var maborak = function(forceCssLoad){ this.serializeToString=function(xml){ return xml.xml || xml.outerHTML || "Error XMLSerializer"; }; - }; + }; } }; /** @@ -1114,11 +1114,11 @@ var maborak = function(forceCssLoad){ { this.options = { zip:false - }.concat(options || {}); + }.concat(options || {}); if(arguments.length<2 || !this.check()){return false;} this.toLoad = ((this.options.Absolute===true)?this.options.Path:file).split(","); if(this.type === 'module' && (this.options.zip===true || this.parent.options.zip===true)) - { + { var tl = []; for (var i = this.toLoad.length; i > 0; i--) { @@ -1618,7 +1618,7 @@ var maborak = function(forceCssLoad){ }; if(!DOM){return position;} //var m = parseInt(this.parent.dom.getStyle(DOM,"margin"),10) || 0; - + position.x=parseInt(DOM.offsetLeft,10); position.y=parseInt(DOM.offsetTop,10); //alert(DOM.offsetParent); @@ -1884,9 +1884,9 @@ var maborak = function(forceCssLoad){ return [window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop]; }; this.getPageSize = function() - { - var xScroll, yScroll; - if (window.innerHeight && window.scrollMaxY) { + { + var xScroll, yScroll; + if (window.innerHeight && window.scrollMaxY) { xScroll = window.innerWidth + window.scrollMaxX; yScroll = window.innerHeight + window.scrollMaxY; } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac @@ -1896,12 +1896,12 @@ var maborak = function(forceCssLoad){ xScroll = document.body.offsetWidth; yScroll = document.body.offsetHeight; } - + var windowWidth, windowHeight; - + if (self.innerHeight) { // all except Explorer if(document.documentElement.clientWidth){ - windowWidth = document.documentElement.clientWidth; + windowWidth = document.documentElement.clientWidth; } else { windowWidth = self.innerWidth; } @@ -1913,21 +1913,21 @@ var maborak = function(forceCssLoad){ } else if (document.body) { // other Explorers windowWidth = document.body.clientWidth; windowHeight = document.body.clientHeight; - } - + } + // for small pages with total height less then height of the viewport if(yScroll < windowHeight){ pageHeight = windowHeight; - } else { + } else { pageHeight = yScroll; } - + // for small pages with total width less then width of the viewport - if(xScroll < windowWidth){ - pageWidth = xScroll; + if(xScroll < windowWidth){ + pageWidth = xScroll; } else { pageWidth = windowWidth; - } + } return [pageWidth,pageHeight]; }; this.serializer = this.parent.factory(function(DOM,obj) @@ -2000,7 +2000,7 @@ var maborak = function(forceCssLoad){ } } return this.serialized; - }; + }; this.select = function() { for(var i=0;i<','>\n<'); - + this.options.window.textarea.value=this.xmlform.serialize().sReplace('><','>\n<'); + this.options.buttons.xml.dv='1'; this.options.buttons.template.dv='0'; this.options.buttons.xml.className="dbo"; @@ -241,11 +241,11 @@ leimnud.Package.Public({ this.tplSetPoints({ html:t }); - + this.tplSetDropables(); - - - + + + this.menu_root = new this.parent.module.app.menuRight(); this.options.observers['menu'].register(this.menu_root.remove,this.menu_root); this.menu_root.make({ @@ -468,12 +468,12 @@ leimnud.Package.Public({ //alert(this.tmp.t.value+":"+this.tmp.n.value+":"+this.tmp.v.value) }.extend(this); this.options.panel.add.elements.statusBarButtons[1].onmouseup=this.options.panel.add.remove; - + /*g = window.event?evt:g; this.add_element(this.unique_name(),true,{group:g,type:"other",ufo:7676});*/ - - - + + + }.extend(this,this.isPoint(dom))}, {text:'New section',launch:this.add_section.args(dom)}, {separator:true}, @@ -487,13 +487,13 @@ leimnud.Package.Public({ */ principal:function(dom) { - + } }.expand(this); this.group={ elements:[ {text:'New Element',launch:function(){ - console.log(this) + //console.log(this) }.extend(this)}, ] }; @@ -603,7 +603,7 @@ leimnud.Package.Public({ { this.tmp.pr[i].passed(); s.push(v); - } + } } if(r) { @@ -644,7 +644,7 @@ leimnud.Package.Public({ //alert(this.tmp.p.length); this.add_element(this.tmp.n.value.trim(),true,{group:this.tmp.g,type:this.tmp.t.value}.concat(a)); this.options.panel.add.remove();*/ - + //alert(this.tmp.t.value+":"+this.tmp.n.value+":"+this.tmp.v.value) }.extend(this); }; @@ -721,7 +721,7 @@ leimnud.Package.Public({ } } catch(e){ - + } this.xmlform.tag_edit(t,db_uid,this.sync_xml_node.args(db_uid)); return false; @@ -787,7 +787,7 @@ leimnud.Package.Public({ this.options.drag.phantom.make(); this.options.drag.phantom.onInit(event,0); //return false; - return false; + return false; }; this.reorder_element=function(event,db_uid) { @@ -827,7 +827,7 @@ leimnud.Package.Public({ this.options.drag.phantom.make(); this.options.drag.phantom.onInit(event,0); //return false; - + return false; }; this.sync_xml_node=function(data,db_uid) @@ -838,11 +838,11 @@ leimnud.Package.Public({ }; this.sync_dom=function(db_uid,obj) { - + }; this.register_groups_drop=function(group) { - + }; this.register_elements_drop=function(group) { @@ -914,7 +914,7 @@ leimnud.Package.Public({ } else { - + } } @@ -955,10 +955,10 @@ leimnud.Package.Public({ else { insertRowIn = drop.selected; - begin = true; + begin = true; } var t = this.db[drop.elements[insertRowIn].value]; -// t.parentNode.insertBefore(new DOM('input').replace(this.db[db_uid])); +// t.parentNode.insertBefore(new DOM('input').replace(this.db[db_uid])); var n = t.before(new DOM('div')).replace(this.db[db_uid]); drag.flush(); new this.parent.module.fx.move().make({ @@ -995,7 +995,7 @@ leimnud.Package.Public({ this.phantom_static.remove(); delete this.phantom_static; } - + }; /* Contar elementos en grupo */ @@ -1092,7 +1092,7 @@ leimnud.Package.Public({ { if(get){return ['size','maxlength','defaultvalue','required','dependentfields','linkfield','other_attribute'];} options={ - + }.concat(options || {}); var pd; this.options.points[options.group].append( @@ -1108,7 +1108,7 @@ leimnud.Package.Public({ { if(get){return ['other1','other2','other_attribute'];} options={ - + }.concat(options || {}); var pd; this.options.points[options.group].append( @@ -1124,7 +1124,7 @@ leimnud.Package.Public({ { if(get){return ['other_attribute'];} options={ - + }.concat(options || {}); var pd; this.options.points[options.group].append( diff --git a/gulliver/system/class.g.php b/gulliver/system/class.g.php index 0edb3d581..94ea227aa 100755 --- a/gulliver/system/class.g.php +++ b/gulliver/system/class.g.php @@ -1442,8 +1442,8 @@ $output = $outputHeader.$output; case 'maborak.js' : $oHeadPublisher =& headPublisher::getSingleton(); foreach ( $oHeadPublisher->maborakFiles as $fileJS ) { - //$output .= JSMin::minify ( file_get_contents ( $fileJS ) ); - $output .= G::trimSourceCodeFile ($fileJS ); + $output .= JSMin::minify ( file_get_contents ( $fileJS ) ); + //$output .= G::trimSourceCodeFile ($fileJS ); } break; case 'maborak.loader.js': @@ -1454,8 +1454,8 @@ $output = $outputHeader.$output; } break; default : - $output = file_get_contents ( $filename ) ; - //$output = JSMin::minify ( file_get_contents ( $filename ) ); + //$output = file_get_contents ( $filename ) ; + $output = JSMin::minify ( file_get_contents ( $filename ) ); //$output = G::trimSourceCodeFile ($filename ); } print $output; diff --git a/gulliver/system/class.headPublisher.php b/gulliver/system/class.headPublisher.php index 48ea9cd42..699fc2fae 100755 --- a/gulliver/system/class.headPublisher.php +++ b/gulliver/system/class.headPublisher.php @@ -203,7 +203,6 @@ class headPublisher { $this->addScriptFile ( "/js/widgets/js-calendar/unicode-letter.js" ); $this->addScriptFile ( "/js/widgets/js-calendar/lang/".$sysLang.".js" ); - $this->addScriptFile ( "/js/widgets/js-calendar/lang/en.js" ); $head = ''; $head .= '' . $this->title . "\n"; diff --git a/gulliver/thirdparty/jsmin/jsmin.php b/gulliver/thirdparty/jsmin/jsmin.php index 2e01ce467..5e4e9b81f 100755 --- a/gulliver/thirdparty/jsmin/jsmin.php +++ b/gulliver/thirdparty/jsmin/jsmin.php @@ -1,6 +1,6 @@ * @copyright 2002 Douglas Crockford (jsmin.c) * @copyright 2008 Ryan Grove (PHP port) + * @copyright 2012 Adam Goforth (Updates) * @license http://opensource.org/licenses/mit-license.php MIT License - * @version 1.1.1 (2008-03-02) - * @link http://code.google.com/p/jsmin-php/ + * @version 1.1.2 (2012-05-01) + * @link https://github.com/rgrove/jsmin-php */ class JSMin { - const ORD_LF = 10; - const ORD_SPACE = 32; + const ORD_LF = 10; + const ORD_SPACE = 32; + const ACTION_KEEP_A = 1; + const ACTION_DELETE_A = 2; + const ACTION_DELETE_A_B = 3; protected $a = ''; protected $b = ''; @@ -59,6 +63,14 @@ class JSMin { // -- Public Static Methods -------------------------------------------------- + /** + * Minify Javascript + * + * @uses __construct() + * @uses min() + * @param string $js Javascript to be minified + * @return string + */ public static function minify($js) { $jsmin = new JSMin($js); return $jsmin->min(); @@ -66,20 +78,41 @@ class JSMin { // -- Public Instance Methods ------------------------------------------------ + /** + * Constructor + * + * @param string $input Javascript to be minified + */ public function __construct($input) { $this->input = str_replace("\r\n", "\n", $input); -// $this->input = str_replace("\n", "", $this->input); $this->inputLength = strlen($this->input); } // -- Protected Instance Methods --------------------------------------------- - protected function action($d) { - switch($d) { - case 1: + /** + * Action -- do something! What to do is determined by the $command argument. + * + * action treats a string as a single character. Wow! + * action recognizes a regular expression if it is preceded by ( or , or =. + * + * @uses next() + * @uses get() + * @throws JSMinException If parser errors are found: + * - Unterminated string literal + * - Unterminated regular expression set in regex literal + * - Unterminated regular expression literal + * @param int $command One of class constants: + * ACTION_KEEP_A Output A. Copy B to A. Get the next B. + * ACTION_DELETE_A Copy B to A. Get the next B. (Delete A). + * ACTION_DELETE_A_B Get the next B. (Delete B). + */ + protected function action($command) { + switch($command) { + case self::ACTION_KEEP_A: $this->output .= $this->a; - case 2: + case self::ACTION_DELETE_A: $this->a = $this->b; if ($this->a === "'" || $this->a === '"') { @@ -102,27 +135,46 @@ class JSMin { } } - case 3: + case self::ACTION_DELETE_A_B: $this->b = $this->next(); if ($this->b === '/' && ( $this->a === '(' || $this->a === ',' || $this->a === '=' || $this->a === ':' || $this->a === '[' || $this->a === '!' || - $this->a === '&' || $this->a === '|' || $this->a === '?')) { + $this->a === '&' || $this->a === '|' || $this->a === '?' || + $this->a === '{' || $this->a === '}' || $this->a === ';' || + $this->a === "\n" )) { $this->output .= $this->a . $this->b; for (;;) { $this->a = $this->get(); - if ($this->a === '/') { + if ($this->a === '[') { + /* + inside a regex [...] set, which MAY contain a '/' itself. Example: mootools Form.Validator near line 460: + return Form.Validator.getValidator('IsEmpty').test(element) || (/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]\.?){0,63}[a-z0-9!#$%&'*+/=?^_`{|}~-]@(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\])$/i).test(element.get('value')); + */ + for (;;) { + $this->output .= $this->a; + $this->a = $this->get(); + + if ($this->a === ']') { + break; + } elseif ($this->a === '\\') { + $this->output .= $this->a; + $this->a = $this->get(); + } elseif (ord($this->a) <= self::ORD_LF) { + throw new JSMinException('Unterminated regular expression set in regex literal.'); + } + } + } elseif ($this->a === '/') { break; } elseif ($this->a === '\\') { $this->output .= $this->a; $this->a = $this->get(); } elseif (ord($this->a) <= self::ORD_LF) { - throw new JSMinException('Unterminated regular expression '. - 'literal.'); + throw new JSMinException('Unterminated regular expression literal.'); } $this->output .= $this->a; @@ -133,13 +185,18 @@ class JSMin { } } + /** + * Get next char. Convert ctrl char to space. + * + * @return string|null + */ protected function get() { $c = $this->lookAhead; $this->lookAhead = null; if ($c === null) { if ($this->inputIndex < $this->inputLength) { - $c = $this->input[$this->inputIndex]; + $c = substr($this->input, $this->inputIndex, 1); $this->inputIndex += 1; } else { $c = null; @@ -157,21 +214,41 @@ class JSMin { return ' '; } + /** + * Is $c a letter, digit, underscore, dollar sign, or non-ASCII character. + * + * @return bool + */ protected function isAlphaNum($c) { return ord($c) > 126 || $c === '\\' || preg_match('/^[\w\$]$/', $c) === 1; } + /** + * Perform minification, return result + * + * @uses action() + * @uses isAlphaNum() + * @uses get() + * @uses peek() + * @return string + */ protected function min() { + if (0 == strncmp($this->peek(), "\xef", 1)) { + $this->get(); + $this->get(); + $this->get(); + } + $this->a = "\n"; - $this->action(3); + $this->action(self::ACTION_DELETE_A_B); while ($this->a !== null) { switch ($this->a) { case ' ': if ($this->isAlphaNum($this->b)) { - $this->action(1); + $this->action(self::ACTION_KEEP_A); } else { - $this->action(2); + $this->action(self::ACTION_DELETE_A); } break; @@ -182,19 +259,21 @@ class JSMin { case '(': case '+': case '-': - $this->action(1); + case '!': + case '~': + $this->action(self::ACTION_KEEP_A); break; case ' ': - $this->action(3); + $this->action(self::ACTION_DELETE_A_B); break; default: if ($this->isAlphaNum($this->b)) { - $this->action(1); + $this->action(self::ACTION_KEEP_A); } else { - $this->action(2); + $this->action(self::ACTION_DELETE_A); } } break; @@ -203,11 +282,11 @@ class JSMin { switch ($this->b) { case ' ': if ($this->isAlphaNum($this->a)) { - $this->action(1); + $this->action(self::ACTION_KEEP_A); break; } - $this->action(3); + $this->action(self::ACTION_DELETE_A_B); break; case "\n": @@ -219,21 +298,21 @@ class JSMin { case '-': case '"': case "'": - $this->action(1); + $this->action(self::ACTION_KEEP_A); break; default: if ($this->isAlphaNum($this->a)) { - $this->action(1); + $this->action(self::ACTION_KEEP_A); } else { - $this->action(3); + $this->action(self::ACTION_DELETE_A_B); } } break; default: - $this->action(1); + $this->action(self::ACTION_KEEP_A); break; } } @@ -242,6 +321,15 @@ class JSMin { return $this->output; } + /** + * Get the next character, skipping over comments. peek() is used to see + * if a '/' is followed by a '/' or '*'. + * + * @uses get() + * @uses peek() + * @throws JSMinException On unterminated comment. + * @return string + */ protected function next() { $c = $this->get(); @@ -281,6 +369,12 @@ class JSMin { return $c; } + /** + * Get next char. If is ctrl character, translate to a space or newline. + * + * @uses get() + * @return string|null + */ protected function peek() { $this->lookAhead = $this->get(); return $this->lookAhead; diff --git a/workflow/engine/classes/class.applications.php b/workflow/engine/classes/class.applications.php index 745e3d29c..22a898018 100644 --- a/workflow/engine/classes/class.applications.php +++ b/workflow/engine/classes/class.applications.php @@ -3,7 +3,7 @@ class Applications { - public function getAll($userUid, $start=null, $limit=null, $action=null, $filter=null, $search=null, $process=null, $user=null, $status=null, $type=null, $dateFrom=null, $dateTo=null, $callback=null, $dir=null, $sort='APP_CACHE_VIEW.APP_NUMBER') + public function getAll($userUid, $start=null, $limit=null, $action=null, $filter=null, $search=null, $process=null, $user=null, $status=null, $type=null, $dateFrom=null, $dateTo=null, $callback=null, $dir=null, $sort='APP_CACHE_VIEW.APP_NUMBER', $category=null) { $callback = isset($callback) ? $callback : 'stcCallback1001'; $dir = isset($dir) ? $dir : 'DESC'; @@ -13,6 +13,7 @@ class Applications $filter = isset($filter) ? $filter : ''; $search = isset($search) ? $search : ''; $process = isset($process)? $process : ''; + $category = isset($category)? $category : ''; $user = isset($user) ? $user : ''; $status = isset($status) ? strtoupper($status) : ''; $action = isset($action) ? $action : 'todo'; @@ -28,6 +29,7 @@ class Applications require_once ( "classes/model/AppDelay.php" ); require_once ( "classes/model/Fields.php" ); require_once ( "classes/model/Users.php" ); + require_once ( "classes/model/Process.php" ); //$userUid = ( isset($_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] != '' ) ? $_SESSION['USER_LOGGED'] : null; <-- passed by param $oAppCache = new AppCacheView(); @@ -125,14 +127,22 @@ class Applications $CriteriaCount->add (AppCacheViewPeer::PRO_UID, $process, Criteria::EQUAL ); } + // add the category filter + if ($category != '') { + $Criteria->addAlias('CP', 'PROCESS'); + $Criteria->add('CP.PRO_CATEGORY', $category, Criteria::EQUAL ); + $Criteria->addJoin(AppCacheViewPeer::PRO_UID, 'CP.PRO_UID', Criteria::LEFT_JOIN); + $Criteria->addAsColumn('CATEGORY_UID', 'CP.PRO_CATEGORY'); + } + // add the user filter if ( $user != '' ) { - $Criteria->add (AppCacheViewPeer::USR_UID, $user, Criteria::EQUAL ); + $Criteria->add(AppCacheViewPeer::USR_UID, $user, Criteria::EQUAL ); $CriteriaCount->add (AppCacheViewPeer::USR_UID, $user, Criteria::EQUAL ); } if ( $status != '' ) { - $Criteria->add (AppCacheViewPeer::APP_STATUS, $status, Criteria::EQUAL ); + $Criteria->add(AppCacheViewPeer::APP_STATUS, $status, Criteria::EQUAL ); $CriteriaCount->add (AppCacheViewPeer::APP_STATUS, $status, Criteria::EQUAL ); } @@ -258,10 +268,14 @@ class Applications //case 1. when the SEARCH action is selected and none filter, search criteria is defined, //we need to count using the table APPLICATION, because APP_CACHE_VIEW takes 3 seconds - if ( $action == 'search' && $filter == '' && $search == '' && $process == '' && $status == '' && $dateFrom == '' && $dateTo == '') { + if ( $action == 'search' && $filter == '' && $search == '' && $process == '' && $status == '' && $dateFrom == '' && $dateTo == '' && $category == '') { $totalCount = $oAppCache->getSearchAllCount(); $doCountAlreadyExecuted = true; } + if ( $category != '' ) { + $totalCount = $oAppCache->getSearchCountCriteria(); + $doCountAlreadyExecuted = true; + } if ( $doCountAlreadyExecuted == false ) { // in the case of reassign the distinct attribute shows a diferent count result comparing to the @@ -289,7 +303,6 @@ class Applications } } $totalCount = AppCacheViewPeer::doCount( $CriteriaCount, $distinct ); - } //add sortable options @@ -312,6 +325,7 @@ class Applications $oDatasetIndex = AppCacheViewPeer::doSelectRS( $Criteria ); $oDatasetIndex->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDatasetIndex->next(); + $maxDelIndexList = array(); // a list of MAX_DEL_INDEXES is required in order to validate the right row while($aRow = $oDatasetIndex->getRow()){ $maxDelIndexList[] = $aRow['MAX_DEL_INDEX']; diff --git a/workflow/engine/classes/class.pmFunctions.php b/workflow/engine/classes/class.pmFunctions.php index 14fdd35cc..dd2b7e8d8 100755 --- a/workflow/engine/classes/class.pmFunctions.php +++ b/workflow/engine/classes/class.pmFunctions.php @@ -216,42 +216,6 @@ function literalDate($date, $lang='en') throw $oException; } } -/** - * @method - * - * Pauses a specified case. - * - * @name pauseCase - * @label Pause Case - * @link http://wiki.processmaker.com/index.php/ProcessMaker_Functions#pauseCase.28.29 - * - * @param string(32) | $sApplicationUID= "" | ID of the case | The unique ID of the case. The UID of the current case can be found in the system variable @@APPLICATION. - * @param string(32) | $iDelegation = 0| Delegation index of the case | The delegation index of the current task in the case. - * @param string(32) | $sUserUID = ""| ID user | The unique ID of the user who will pause the case. - * @param string(32) | $sUnpauseDate = null | Date | Optional parameter. The date in the format 'yyyy-mm-dd' indicating when to unpause the case. - * @return None | $none | None | None - * - */ -function pauseCase($sApplicationUID='', $iDelegation=0, $sUserUID='', $sUnpauseDate=null) -{ - //var_dump($sApplicationUID, $iDelegation, $sUserUID, $sUnpauseDate);die(':|'); - try { - if ($sApplicationUID == '') { - throw new Exception('The application UID cannot be empty!'); - } - if ($iDelegation == 0) { - throw new Exception('The delegation index cannot be 0!'); - } - if ($sUserUID == '') { - throw new Exception('The user UID cannot be empty!'); - } - G::LoadClass('case'); - $oCase = new Cases(); - $oCase->pauseCase($sApplicationUID, $iDelegation, $sUserUID, $sUnpauseDate); - } catch (Exception $oException) { - throw $oException; - } -} /** * @method * @@ -1232,6 +1196,84 @@ function WSCancelCase($caseUid, $delIndex, $userUid) return $response; } +/** + * @method + * + * Pauses a specified case. + * + * @name WSPauseCase + * @label WS Pause Case + * @link http://wiki.processmaker.com/index.php/ProcessMaker_Functions#WSPauseCase.28.29 + * + * @param string(32) | $caseUid | ID of the case | The unique ID of the case. + * @param int | $delIndex | Delegation index of the case | The delegation index of the current task in the case. + * @param string(32) | $userUid | ID user | The unique ID of the user who will pause the case. + * @param string(32) | $unpauseDate=null | Date | Optional parameter. The date in the format "yyyy-mm-dd" indicating when to unpause the case. + * @return array | $response | WS array | A WS Response associative array. + * + */ +function WSPauseCase($caseUid, $delIndex, $userUid, $unpauseDate=null) +{ + $client = WSOpen(); + + $sessionId = $_SESSION["WS_SESSION_ID"]; + + $params = array( + "sessionId" => $sessionId, + "caseUid" => $caseUid, + "delIndex" => $delIndex, + "userUid" => $userUid, + "unpauseDate" => $unpauseDate + ); + + $result = $client->__soapCall("pauseCase", array($params)); + + $response = array(); + $response["status_code"] = $result->status_code; + $response["message"] = $result->message; + $response["time_stamp"] = $result->timestamp; + + return $response; +} + +/** + * @method + * + * Unpause a specified case. + * + * @name WSUnpauseCase + * @label WS Unpause Case + * @link http://wiki.processmaker.com/index.php/ProcessMaker_Functions#WSUnpauseCase.28.29 + * + * @param string(32) | $caseUid | ID of the case | The unique ID of the case. + * @param int | $delIndex | Delegation index of the case | The delegation index of the current task in the case. + * @param string(32) | $userUid | ID user | The unique ID of the user who will unpause the case. + * @return array | $response | WS array | A WS Response associative array. + * + */ +function WSUnpauseCase($caseUid, $delIndex, $userUid) +{ + $client = WSOpen(); + + $sessionId = $_SESSION["WS_SESSION_ID"]; + + $params = array( + "sessionId" => $sessionId, + "caseUid" => $caseUid, + "delIndex" => $delIndex, + "userUid" => $userUid + ); + + $result = $client->__soapCall("unpauseCase", array($params)); + + $response = array(); + $response["status_code"] = $result->status_code; + $response["message"] = $result->message; + $response["time_stamp"] = $result->timestamp; + + return $response; +} + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** Local Services Functions **/ @@ -2345,3 +2387,60 @@ function PMFCancelCase($caseUid, $delIndex, $userUid) } } +/** + * @method + * + * Pauses a specified case. + * + * @name PMFPauseCase + * @label PMF Pauses a specified case. + * + * @param string(32) | $caseUid | ID of the case | The unique ID of the case. + * @param int | $delIndex | Delegation index of the case | The delegation index of the current task in the case. + * @param string(32) | $userUid | ID user | The unique ID of the user who will pause the case. + * @param string(32) | $unpauseDate=null | Date | Optional parameter. The date in the format "yyyy-mm-dd" indicating when to unpause the case. + * @return int | $result | Result of the pause | Returns 1 if the case is paused successfully; otherwise, returns 0 if an error occurred. + * + */ +function PMFPauseCase($caseUid, $delIndex, $userUid, $unpauseDate=null) +{ + G::LoadClass("wsBase"); + + $ws = new wsBase(); + $result = $ws->pauseCase($caseUid, $delIndex, $userUid, $unpauseDate); + + if ($result->status_code == 0) { + return 1; + } else { + return 0; + } +} + +/** + * @method + * + * Unpause a specified case. + * + * @name PMFUnpauseCase + * @label PMF Unpause a specified case. + * + * @param string(32) | $caseUid | ID of the case | The unique ID of the case. + * @param int | $delIndex | Delegation index of the case | The delegation index of the current task in the case. + * @param string(32) | $userUid | ID user | The unique ID of the user who will unpause the case. + * @return int | $result | Result of the unpause | Returns 1 if the case is unpause successfully; otherwise, returns 0 if an error occurred. + * + */ +function PMFUnpauseCase($caseUid, $delIndex, $userUid) +{ + G::LoadClass("wsBase"); + + $ws = new wsBase(); + $result = $ws->unpauseCase($caseUid, $delIndex, $userUid); + + if ($result->status_code == 0) { + return 1; + } else { + return 0; + } +} + diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index da7ec55cc..c737bf338 100755 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -371,8 +371,6 @@ class processMap { $oPM->taskOptions[]=$taskOption; } - $_SESSION['PROCESS'] = $sProcessUID; - $oJSON = new Services_JSON(); return $oJSON->encode($oPM); } catch (Exception $oError) { diff --git a/workflow/engine/classes/class.wsBase.php b/workflow/engine/classes/class.wsBase.php index 2f6fba4fb..e4b85478e 100755 --- a/workflow/engine/classes/class.wsBase.php +++ b/workflow/engine/classes/class.wsBase.php @@ -2897,5 +2897,111 @@ class wsBase return $result; } } + + /** + * Pause case + * @param string caseUid : ID of the case. + * @param int delIndex : Delegation index of the case. + * @param string userUid : The unique ID of the user who will pause the case. + * @param string unpauseDate : Optional parameter. The date in the format "yyyy-mm-dd" indicating when to unpause + * the case. + * @return $result will return an object + */ + public function pauseCase($caseUid, $delIndex, $userUid, $unpauseDate=null) + { + try { + if (empty($caseUid)) { + $result = new wsResponse(100, G::LoadTranslation("ID_REQUIRED_FIELD") . " caseUid"); + + return $result; + } + + if (empty($delIndex)) { + $result = new wsResponse(100, G::LoadTranslation("ID_REQUIRED_FIELD") . " delIndex"); + + return $result; + } + + if (empty($userUid)) { + $result = new wsResponse(100, G::LoadTranslation("ID_REQUIRED_FIELD") . " userUid"); + + return $result; + } + + if (!empty($unpauseDate)) { + if (!preg_match("/^\d{4}-\d{2}-\d{2}$/", $unpauseDate)) { + $result = new wsResponse(100, G::LoadTranslation("ID_INVALID_DATA") . " $unpauseDate"); + + return $result; + } + } + + $case = new Cases(); + $case->pauseCase($caseUid, $delIndex, $userUid, $unpauseDate); + + //Response + $res = new wsResponse(0, G::LoadTranslation("ID_COMMAND_EXECUTED_SUCCESSFULLY")); + + $result = array( + "status_code" => $res->status_code, + "message" => $res->message, + "timestamp" => $res->timestamp + ); + + return $result; + } catch (Exception $e) { + $result = wsResponse(100, $e->getMessage()); + + return $result; + } + } + + /** + * Unpause case + * @param string caseUid : ID of the case. + * @param int delIndex : Delegation index of the case. + * @param string userUid : The unique ID of the user who will unpause the case. + * @return $result will return an object + */ + public function unpauseCase($caseUid, $delIndex, $userUid) + { + try { + if (empty($caseUid)) { + $result = new wsResponse(100, G::LoadTranslation("ID_REQUIRED_FIELD") . " caseUid"); + + return $result; + } + + if (empty($delIndex)) { + $result = new wsResponse(100, G::LoadTranslation("ID_REQUIRED_FIELD") . " delIndex"); + + return $result; + } + + if (empty($userUid)) { + $result = new wsResponse(100, G::LoadTranslation("ID_REQUIRED_FIELD") . " userUid"); + + return $result; + } + + $case = new Cases(); + $case->unpauseCase($caseUid, $delIndex, $userUid); + + //Response + $res = new wsResponse(0, G::LoadTranslation("ID_COMMAND_EXECUTED_SUCCESSFULLY")); + + $result = array( + "status_code" => $res->status_code, + "message" => $res->message, + "timestamp" => $res->timestamp + ); + + return $result; + } catch (Exception $e) { + $result = wsResponse(100, $e->getMessage()); + + return $result; + } + } } diff --git a/workflow/engine/classes/model/Users.php b/workflow/engine/classes/model/Users.php index 7f9e3a6e1..1e573390c 100755 --- a/workflow/engine/classes/model/Users.php +++ b/workflow/engine/classes/model/Users.php @@ -228,13 +228,11 @@ public function userExists($UsrUid) } function loadByUsernameInArray($sUsername){ - echo $sUsername; $c = $this->loadByUsername($sUsername); $rs = UsersPeer::doSelectRS($c); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rs->next(); $row = $rs->getRow(); - print_r($row); return $row; } diff --git a/workflow/engine/classes/model/UsersProperties.php b/workflow/engine/classes/model/UsersProperties.php index 343baf8ec..3fef46c7f 100755 --- a/workflow/engine/classes/model/UsersProperties.php +++ b/workflow/engine/classes/model/UsersProperties.php @@ -217,7 +217,7 @@ class UsersProperties extends BaseUsersProperties $urlUx = $this->_getUXSkinVariant(); if (empty($url) && !empty($urlUx)) { $_SESSION['_defaultUserLocation'] = $url; - $url = $urlUx; + $url = $urlUx; } if (empty($url)) { @@ -261,9 +261,45 @@ class UsersProperties extends BaseUsersProperties $url = ''; if (substr(SYS_SKIN, 0, 2) == 'ux' && SYS_SKIN != 'uxs') { - $url = '/sys' . SYS_SYS . '/' . $this->lang . '/' . SYS_SKIN . '/main'; + $url = '/sys' . SYS_SYS . '/' . $this->lang . '/' . SYS_SKIN . '/main'; + global $RBAC; + G::loadClass('configuration'); + $oConf = new Configurations; + $oConf->loadConfig($x, 'USER_PREFERENCES','','',$_SESSION['USER_LOGGED'],''); + if ( sizeof($oConf->aConfig) > 0) { + if ($oConf->aConfig['DEFAULT_MENU'] == 'PM_USERS') { + $oConf->aConfig['DEFAULT_MENU'] = 'PM_SETUP'; + } + switch ($oConf->aConfig['DEFAULT_MENU']) { + case 'PM_SETUP': + if ($RBAC->userCanAccess('PM_SETUP') == 1) { + $getUrl = 'admin'; + } + break; + case 'PM_FACTORY': + if ($RBAC->userCanAccess('PM_FACTORY') == 1) { + $getUrl = 'designer'; + } + break; + case 'PM_CASES': + if ($RBAC->userCanAccess('PM_CASES') == 1) { + $getUrl = 'home'; + } + break; + case 'PM_USERS': + if ($RBAC->userCanAccess('PM_USERS') == 1) { + $getUrl = 'admin'; + } + break; + case 'PM_DASHBOARD': + if ($RBAC->userCanAccess('PM_DASHBOARD') == 1) { + $getUrl = 'dashboard'; + } + break; + } + $url = $url."?st=".$getUrl; + } } - return $url; } @@ -351,39 +387,37 @@ class UsersProperties extends BaseUsersProperties if( sizeof($oConf->aConfig) > 0) { // this user has a configuration record // backward compatibility, because now, we don't have user and dashboard menu. - if ($oConf->aConfig['DEFAULT_MENU'] == 'PM_USERS') - $oConf->aConfig['DEFAULT_MENU'] = 'PM_SETUP'; - - if ($oConf->aConfig['DEFAULT_MENU'] == 'PM_DASHBOARD') - $oConf->aConfig['DEFAULT_MENU'] = 'PM_SETUP'; - - switch($oConf->aConfig['DEFAULT_MENU']) { - case 'PM_SETUP': - if ($RBAC->userCanAccess('PM_SETUP') == 1) { - $url = 'setup/main'; - } - break; - case 'PM_FACTORY': - if ($RBAC->userCanAccess('PM_FACTORY') == 1) { - $url = 'processes/main'; - } - break; - case 'PM_CASES': - if ($RBAC->userCanAccess('PM_CASES') == 1) { - $url = 'cases/main'; - } - break; - case 'PM_USERS': - if ($RBAC->userCanAccess('PM_USERS') == 1) { - $url = 'setup/main'; - } - break; - case 'PM_DASHBOARD': - if ($RBAC->userCanAccess('PM_DASHBOARD') == 1) { - $url = 'dashboard/dashboard'; - } - break; - } + if ($oConf->aConfig['DEFAULT_MENU'] == 'PM_USERS') { + $oConf->aConfig['DEFAULT_MENU'] = 'PM_SETUP'; + } + + switch ($oConf->aConfig['DEFAULT_MENU']) { + case 'PM_SETUP': + if ($RBAC->userCanAccess('PM_SETUP') == 1) { + $url = 'setup/main'; + } + break; + case 'PM_FACTORY': + if ($RBAC->userCanAccess('PM_FACTORY') == 1) { + $url = 'processes/main'; + } + break; + case 'PM_CASES': + if ($RBAC->userCanAccess('PM_CASES') == 1) { + $url = 'cases/main'; + } + break; + case 'PM_USERS': + if ($RBAC->userCanAccess('PM_USERS') == 1) { + $url = 'setup/main'; + } + break; + case 'PM_DASHBOARD': + if ($RBAC->userCanAccess('PM_DASHBOARD') == 1) { + $url = 'dashboard/main'; + } + break; + } } if (empty($url)) { diff --git a/workflow/engine/controllers/main.php b/workflow/engine/controllers/main.php index 9e34509bb..12c80f1c4 100644 --- a/workflow/engine/controllers/main.php +++ b/workflow/engine/controllers/main.php @@ -201,9 +201,11 @@ class Main extends Controller //get date of next beat $nextBeatDate = $oServerConf->getHeartbeatProperty('HB_NEXT_BEAT_DATE','HEART_BEAT_CONF'); $this->memcache->set('nextBeatDate', $nextBeatDate, 1*3600); + } else { + $sflag = '1'; } - if (($sflag == 1) && ((strtotime("now") > $nextBeatDate) || is_null($nextBeatDate))) { + if (($sflag == '1') && ((strtotime("now") > $nextBeatDate) || is_null($nextBeatDate))) { //To do: we need to change to ExtJs $this->setJSVar('flagHeartBeat', 1); } else { diff --git a/workflow/engine/methods/appFolder/appFolderAjax.php b/workflow/engine/methods/appFolder/appFolderAjax.php index 77dec527b..d958040e9 100755 --- a/workflow/engine/methods/appFolder/appFolderAjax.php +++ b/workflow/engine/methods/appFolder/appFolderAjax.php @@ -909,13 +909,29 @@ function documentVersionHistory() G::RenderPage ('publish', 'raw'); } +function overwriteFile ($node, $fileName) { + global $RBAC; + require_once ("classes/model/AppFolder.php"); + require_once ("classes/model/AppDocument.php"); + $appDocument = new AppDocument(); + $pMFolder = new AppFolder(); + $user = ($RBAC->userCanAccess('PM_ALLCASES') == 1) ? '' : $_SESSION['USER_LOGGED']; + $folderContentObj = $pMFolder->getFolderContent ($node, array(), null, null, '', '', $user); + foreach ($folderContentObj['documents'] as $key => $value) { + if ($folderContentObj['documents'][$key]['APP_DOC_FILENAME'] == $fileName) { + $appDocument->remove(trim($folderContentObj['documents'][$key]['APP_DOC_UID']), $folderContentObj['documents'][$key]['DOC_VERSION']); + } + } +} + function uploadExternalDocument() { $response['action']=$_POST['action']. " - ".$_POST['option']; $response['error']="error"; $response['message']="error"; $response['success']=false; - if (isset($_POST["confirm"]) && $_POST["confirm"]=="true") { + $overwrite = (isset($_REQUEST['overwrite_files'])) ? $_REQUEST['overwrite_files'] : false; + if (isset($_POST["confirm"]) && $_POST["confirm"] == "true") { //G::pr($_FILES); if (isset($_FILES['uploadedFile'])) { $uploadedInstances=count($_FILES['uploadedFile']['name']); @@ -923,6 +939,12 @@ function uploadExternalDocument() $sw_error_exists=isset($_FILES['uploadedFile']['error']); $emptyInstances=0; $quequeUpload=array(); + //overwrite files + if ($overwrite) { + for ($i=0; $i<$uploadedInstances; $i++) { + overwriteFile($_REQUEST['dir'], stripslashes($_FILES['uploadedFile']['name'][$i])); + } + } // upload files & check for errors for ($i=0; $i<$uploadedInstances; $i++) { $errors[$i] = null; diff --git a/workflow/engine/methods/cases/casesListExtJs.php b/workflow/engine/methods/cases/casesListExtJs.php index a9ea381dd..0606eebc9 100755 --- a/workflow/engine/methods/cases/casesListExtJs.php +++ b/workflow/engine/methods/cases/casesListExtJs.php @@ -79,23 +79,26 @@ $oAppCache->confCasesList = $confCasesList; //get values for the comboBoxes - $processes = getProcessArray($action, $userUid ); + $processes[] = array ( '', G::LoadTranslation('ID_ALL_PROCESS')); $status = getStatusArray($action, $userUid ); + $category = getCategoryArray(); $users = getUserArray($action, $userUid ); $allUsers = getAllUsersArray($action); - $oHeadPublisher->assign( 'reassignReaderFields', $reassignReaderFields ); //sending the fields to get from proxy - $oHeadPublisher->addExtJsScript('cases/reassignList', false ); - $oHeadPublisher->assign( 'pageSize', $pageSize ); //sending the page size - $oHeadPublisher->assign( 'columns', $columns ); //sending the columns to display in grid - $oHeadPublisher->assign( 'readerFields', $readerFields ); //sending the fields to get from proxy - $oHeadPublisher->assign( 'reassignColumns', $reassignColumns ); //sending the columns to display in grid - $oHeadPublisher->assign( 'action', $action ); //sending the fields to get from proxy - $oHeadPublisher->assign( 'PMDateFormat', $dateFormat ); //sending the fields to get from proxy - $oHeadPublisher->assign( 'statusValues', $status ); //sending the columns to display in grid - $oHeadPublisher->assign( 'processValues', $processes); //sending the columns to display in grid - $oHeadPublisher->assign( 'userValues', $users); //sending the columns to display in grid - $oHeadPublisher->assign( 'allUsersValues',$allUsers); //sending the columns to display in grid + $oHeadPublisher->assign('reassignReaderFields', $reassignReaderFields ); //sending the fields to get from proxy + $oHeadPublisher->addExtJsScript('cases/reassignList', false); + $oHeadPublisher->assign('pageSize', $pageSize); //sending the page size + $oHeadPublisher->assign('columns', $columns); //sending the columns to display in grid + $oHeadPublisher->assign('readerFields', $readerFields); //sending the fields to get from proxy + $oHeadPublisher->assign('reassignColumns', $reassignColumns); //sending the columns to display in grid + $oHeadPublisher->assign('action', $action); //sending the action to make + $oHeadPublisher->assign('PMDateFormat', $dateFormat); //sending the fields to get from proxy + $oHeadPublisher->assign('statusValues', $status); //Sending the listing of status + $oHeadPublisher->assign('processValues', $processes); //Sending the listing of processes + $oHeadPublisher->assign('solrConf', System::solrEnv()); //Sending the status of solar + $oHeadPublisher->assign('categoryValues', $category); //Sending the listing of categories + $oHeadPublisher->assign('userValues', $users); //Sending the listing of users + $oHeadPublisher->assign('allUsersValues',$allUsers); //Sending the listing of all users @@ -122,95 +125,6 @@ $oHeadPublisher->assign('FORMATS',$c->getFormats()); G::RenderPage('publish', 'extJs'); - //functions to fill the comboboxes in the case list page - function getProcessArray ( $action, $userUid ) { - global $oAppCache; - $processes = Array(); - $processes[] = array ( '', G::LoadTranslation('ID_ALL_PROCESS') ); - -//get the list based in the action provided - - // G::pr($action);die; - switch ( $action ) { - case 'draft' : - $cProcess = $oAppCache->getDraftListCriteria($userUid); //fast enough - break; - case 'sent' : - $cProcess = $oAppCache->getSentListProcessCriteria ($userUid); // fast enough - break; - case 'simple_search': - case 'search' : - //in search action, the query to obtain all process is too slow, so we need to query directly to - //process and content tables, and for that reason we need the current language in AppCacheView. - G::loadClass('configuration'); - $oConf = new Configurations; - $oConf->loadConfig($x, 'APP_CACHE_VIEW_ENGINE','','','',''); - $appCacheViewEngine = $oConf->aConfig; - $lang = isset($appCacheViewEngine['LANG']) ? $appCacheViewEngine['LANG'] : 'en'; - - $cProcess = new Criteria('workflow'); - $cProcess->clearSelectColumns ( ); - $cProcess->addSelectColumn ( ProcessPeer::PRO_UID ); - $cProcess->addSelectColumn ( ContentPeer::CON_VALUE ); - $del = DBAdapter::getStringDelimiter(); - $conds = array(); - $conds[] = array(ProcessPeer::PRO_UID, ContentPeer::CON_ID ); - $conds[] = array(ContentPeer::CON_CATEGORY, $del . 'PRO_TITLE' . $del); - $conds[] = array(ContentPeer::CON_LANG, $del . $lang . $del); - $cProcess->addJoinMC($conds, Criteria::LEFT_JOIN); - $cProcess->add(ProcessPeer::PRO_STATUS, 'ACTIVE'); - $oDataset = ProcessPeer::doSelectRS($cProcess); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - - while($aRow = $oDataset->getRow()){ - $processes[] = array ( $aRow['PRO_UID'], $aRow['CON_VALUE'] ); - $oDataset->next(); - } - - return $processes; - break; - case 'unassigned' : - $cProcess = $oAppCache->getUnassignedListCriteria($userUid); - break; - case 'paused' : - $cProcess = $oAppCache->getPausedListCriteria($userUid); - break; - case 'to_revise' : - $cProcess = $oAppCache->getToReviseListCriteria($userUid); - break; - case 'to_reassign' : - $cProcess = $oAppCache->getToReassignListCriteria(); - $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE); - break; - case 'gral' : - $cProcess = $oAppCache->getGeneralListCriteria(); - $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE); - break; - case 'todo' : - default: - $cProcess = $oAppCache->getToDoListCriteria($userUid); //fast enough - break; - } - - //get the processes for this user in this action - $cProcess->clearSelectColumns(); - $cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID); - $cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE); - $cProcess->setDistinct(AppCacheViewPeer::PRO_UID); - - $oDataset = AppCacheViewPeer::doSelectRS($cProcess); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - - while($aRow = $oDataset->getRow()){ - $processes[] = array ( $aRow['PRO_UID'], $aRow['APP_PRO_TITLE'] ); - $oDataset->next(); - } - - return $processes; - } - function getUserArray ( $action, $userUid ) { global $oAppCache; $status = array(); @@ -241,6 +155,25 @@ return $users; } + function getCategoryArray () { + global $oAppCache; + require_once 'classes/model/ProcessCategory.php'; + $category[] = array("", G::LoadTranslation("ID_ALL_CATEGORIES")); + + $criteria = new Criteria('workflow'); + $criteria->addSelectColumn(ProcessCategoryPeer::CATEGORY_UID); + $criteria->addSelectColumn(ProcessCategoryPeer::CATEGORY_NAME); + $dataset = ProcessCategoryPeer::doSelectRS($criteria); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $dataset->next(); + + while ($row = $dataset->getRow()) { + $category[] = array( $row['CATEGORY_UID'], $row['CATEGORY_NAME']); + $dataset->next(); + } + return $category; + } + function getAllUsersArray ( $action ) { global $oAppCache; $status = array(); diff --git a/workflow/engine/methods/cases/casesList_Ajax.php b/workflow/engine/methods/cases/casesList_Ajax.php index a9b235674..6dc041f8e 100755 --- a/workflow/engine/methods/cases/casesList_Ajax.php +++ b/workflow/engine/methods/cases/casesList_Ajax.php @@ -28,20 +28,118 @@ require_once 'classes/model/AppDelay.php'; require_once 'classes/model/Process.php'; require_once 'classes/model/Task.php'; + + require_once ( "classes/model/AppCacheView.php" ); + require_once ( "classes/model/AppDelegation.php" ); + require_once ( "classes/model/AdditionalTables.php" ); + require_once ( "classes/model/AppDelay.php" ); G::LoadClass('case'); $actionAjax = isset($_REQUEST['actionAjax'])?$_REQUEST['actionAjax']: null; - - if($actionAjax=="getUsersToReassign"){ - - $_SESSION['TASK'] = $_REQUEST['TAS_UID']; - $case = new Cases(); - $result->data = $case->getUsersToReassign($_SESSION['TASK'], $_SESSION['USER_LOGGED']); - - print G::json_encode($result); + if ($actionAjax == "processListExtJs") { + $action = isset($_REQUEST['action']) ? $_REQUEST['action']: null; + $categoryUid = isset($_REQUEST['CATEGORY_UID']) ? $_REQUEST['CATEGORY_UID'] : null; + $userUid = ( isset($_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] != '' ) ? $_SESSION['USER_LOGGED'] : null; + + global $oAppCache; + $oAppCache = new AppCacheView(); + $processes = Array(); + $processes[] = array ( '', G::LoadTranslation('ID_ALL_PROCESS') ); + + //get the list based in the action provided + switch ( $action ) { + case 'draft': + $cProcess = $oAppCache->getDraftListCriteria($userUid); //fast enough + break; + case 'sent': + $cProcess = $oAppCache->getSentListProcessCriteria ($userUid); // fast enough + break; + case 'simple_search': + case 'search': + //in search action, the query to obtain all process is too slow, so we need to query directly to + //process and content tables, and for that reason we need the current language in AppCacheView. + G::loadClass('configuration'); + $oConf = new Configurations; + $oConf->loadConfig($x, 'APP_CACHE_VIEW_ENGINE','','','',''); + $appCacheViewEngine = $oConf->aConfig; + $lang = isset($appCacheViewEngine['LANG']) ? $appCacheViewEngine['LANG'] : 'en'; + + $cProcess = new Criteria('workflow'); + $cProcess->clearSelectColumns ( ); + $cProcess->addSelectColumn ( ProcessPeer::PRO_UID ); + $cProcess->addSelectColumn ( ContentPeer::CON_VALUE ); + if ($categoryUid) { + $cProcess->add (ProcessPeer::PRO_CATEGORY, $categoryUid); + } + $del = DBAdapter::getStringDelimiter(); + $conds = array(); + $conds[] = array(ProcessPeer::PRO_UID, ContentPeer::CON_ID ); + $conds[] = array(ContentPeer::CON_CATEGORY, $del . 'PRO_TITLE' . $del); + $conds[] = array(ContentPeer::CON_LANG, $del . $lang . $del); + $cProcess->addJoinMC($conds, Criteria::LEFT_JOIN); + $cProcess->add(ProcessPeer::PRO_STATUS, 'ACTIVE'); + $oDataset = ProcessPeer::doSelectRS($cProcess); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + + while ($aRow = $oDataset->getRow()) { + $processes[] = array ( $aRow['PRO_UID'], $aRow['CON_VALUE'] ); + $oDataset->next(); + } + return print G::json_encode($processes); + break; + case 'unassigned': + $cProcess = $oAppCache->getUnassignedListCriteria($userUid); + break; + case 'paused': + $cProcess = $oAppCache->getPausedListCriteria($userUid); + break; + case 'to_revise': + $cProcess = $oAppCache->getToReviseListCriteria($userUid); + break; + case 'to_reassign': + $cProcess = $oAppCache->getToReassignListCriteria(); + $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE); + break; + case 'gral': + $cProcess = $oAppCache->getGeneralListCriteria(); + $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE); + break; + case 'todo': + default: + $cProcess = $oAppCache->getToDoListCriteria($userUid); //fast enough + break; + } + //get the processes for this user in this action + $cProcess->clearSelectColumns(); + $cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID); + $cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE); + $cProcess->setDistinct(AppCacheViewPeer::PRO_UID); + if ($categoryUid) { + $cProcess->addAlias('CP', 'PROCESS'); + $cProcess->add('CP.PRO_CATEGORY', $categoryUid, Criteria::EQUAL ); + $cProcess->addJoin(AppCacheViewPeer::PRO_UID, 'CP.PRO_UID', Criteria::LEFT_JOIN); + $cProcess->addAsColumn('CATEGORY_UID', 'CP.PRO_CATEGORY'); + } + $oDataset = AppCacheViewPeer::doSelectRS($cProcess); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + + while ($aRow = $oDataset->getRow()) { + $processes[] = array ( $aRow['PRO_UID'], $aRow['APP_PRO_TITLE'] ); + $oDataset->next(); + } + return print G::json_encode($processes); } - if($actionAjax=='reassignCase'){ + + if ($actionAjax=="getUsersToReassign") { + $_SESSION['TASK'] = $_REQUEST['TAS_UID']; + $case = new Cases(); + $result->data = $case->getUsersToReassign($_SESSION['TASK'], $_SESSION['USER_LOGGED']); + print G::json_encode($result); + } + if ($actionAjax=='reassignCase') { $APP_UID = $_REQUEST["APP_UID"]; $DEL_INDEX = $_REQUEST["DEL_INDEX"]; diff --git a/workflow/engine/methods/cases/proxyCasesList.php b/workflow/engine/methods/cases/proxyCasesList.php index 1d0ec5fb9..501828b13 100755 --- a/workflow/engine/methods/cases/proxyCasesList.php +++ b/workflow/engine/methods/cases/proxyCasesList.php @@ -7,6 +7,7 @@ $start = isset($_POST["start"])? $_POST["start"] : "0"; $limit = isset($_POST["limit"])? $_POST["limit"] : "25"; $filter = isset($_POST ["filter"])? $_POST["filter"] : ""; $process = isset($_POST["process"])? $_POST["process"] : ""; +$category = isset($_POST["category"])? $_POST["category"] : ""; $status = isset($_POST["status"])? strtoupper($_POST["status"]) : ""; $user = isset($_POST["user"])? $_POST["user"] : ""; $search = isset($_POST["search"])? $_POST["search"] : ""; @@ -74,7 +75,8 @@ try { $dateTo, $callback, $dir, - $sort + $sort, + $category ); $result = G::json_encode($data); diff --git a/workflow/engine/methods/login/authentication.php b/workflow/engine/methods/login/authentication.php index d4f4a28d9..21756666a 100755 --- a/workflow/engine/methods/login/authentication.php +++ b/workflow/engine/methods/login/authentication.php @@ -60,12 +60,15 @@ try { //The user is inactive case -3: require_once 'classes/model/Users.php'; - $user = new Users; + $user = new Users(); $aUser = $user->loadByUsernameInArray($usr); switch ($aUser['USR_STATUS']) { case 'VACATION': - $errLabel = 'ID_USER_ONVACATION'; + $uid = $aUser['USR_UID']; + $RBAC->changeUserStatus($uid, 1); + $aUser['USR_STATUS'] = 'ACTIVE'; + $user->update($aUser); break; case 'INACTIVE': $errLabel = 'ID_USER_INACTIVE'; diff --git a/workflow/engine/methods/processes/processes_Ajax.php b/workflow/engine/methods/processes/processes_Ajax.php index f9c5091ce..f7999b4f5 100755 --- a/workflow/engine/methods/processes/processes_Ajax.php +++ b/workflow/engine/methods/processes/processes_Ajax.php @@ -49,6 +49,7 @@ try { switch($_REQUEST['action']) { case 'load': + $_SESSION['PROCESS'] = $oData->uid; if ($oData->ct) { $sOutput = $oProcessMap->load($oData->uid, true, $_SESSION['APPLICATION'], -1, $_SESSION['TASK'], $oData->ct); } @@ -58,7 +59,7 @@ try { } else { if ($_SESSION['TASK'] != -1) { - $taskUid = $_SESSION['TASK']; + $taskUid = $_SESSION['TASK']; } else { $c = new Criteria('workflow'); $c->clearSelectColumns(); @@ -100,7 +101,7 @@ try { unlink(PATH_DATA ."sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP. $form['PRO_UID']. PATH_SEP .str_replace(".php","Post",$form['FILENAME']).".php"); $oProcessMap->webEntry($_REQUEST['PRO_UID']); break; - + case 'webEntry_new': $oProcessMap->webEntry_new($oData->PRO_UID); break; @@ -119,11 +120,11 @@ try { case 'webEntry': $oProcessMap->webEntry($oData->pro_uid); break; - + case 'webEntry_Val_Assig': include(PATH_METHODS . 'processes/webEntry_Val_Assig.php'); break; - + case 'saveTitlePosition': $sOutput = $oProcessMap->saveTitlePosition($oData->pro_uid, $oData->position->x, $oData->position->y); break; @@ -453,7 +454,7 @@ try { } $fcontent = file_get_contents($sDirectory); $extion=explode(".",$_REQUEST['filename']); - + //if($extion[count($extion)-1]=='html' || $extion[count($extion)-1]=='txt'){ $aData = Array( 'pro_uid'=>$_REQUEST['pro_uid'], @@ -466,7 +467,7 @@ try { $aMessage['MESSAGE'] = G::loadTranslation( 'HTML_FILES' ); $G_PUBLISH->AddContent ( 'xmlform', 'xmlform', 'login/showMessage', '',$aMessage ); }*/ - + break; case 'saveFile': global $G_PUBLISH; @@ -474,7 +475,7 @@ try { $sDir = ""; if(isset($_REQUEST['MAIN_DIRECTORY'])) $sDir = $_REQUEST['MAIN_DIRECTORY']; - + switch($sDir){ case 'mailTemplates' : $sDirectory = PATH_DATA_MAILTEMPLATES . $_REQUEST['pro_uid'] . PATH_SEP . $_REQUEST['filename']; break; @@ -483,11 +484,11 @@ try { default : $sDirectory = PATH_DATA_MAILTEMPLATES . $_REQUEST['pro_uid'] . PATH_SEP . $_REQUEST['filename']; break; } - + $fp = fopen($sDirectory, 'w'); $content = stripslashes($_REQUEST['fcontent']); $content = str_replace("@amp@", "&", $content); - $content = base64_decode($content); + $content = base64_decode($content); fwrite($fp, $content); fclose($fp); echo 'saved: '. $sDirectory; @@ -515,20 +516,20 @@ try { $G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_FileEditCreateEmpty', ''); G::RenderPage('publish', 'raw'); break; - + case "taskCases": require_once ("classes/model/Application.php"); require_once ("classes/model/AppDelegation.php"); require_once ("classes/model/AppDelay.php"); - + $criteria = new Criteria("workflow"); $criteria->addSelectColumn("COUNT(DISTINCT APPLICATION.APP_UID)"); - + $criteria->addJoin(ApplicationPeer::APP_UID, AppDelegationPeer::APP_UID, Criteria::LEFT_JOIN); $criteria->addJoin(ApplicationPeer::APP_UID, AppDelayPeer::APP_UID, Criteria::LEFT_JOIN); - + $criteria->add(AppDelegationPeer::TAS_UID, $oData->task_uid); - + $criteria->add( $criteria->getNewCriterion(AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL)->addOr( $criteria->getNewCriterion(AppDelayPeer::APP_DELAY_UID, null, Criteria::ISNOTNULL)->addAnd( @@ -538,14 +539,14 @@ try { ) ) ); - + $rs = ApplicationPeer::doSelectRS($criteria); - + $rs->next(); $row = $rs->getRow(); - + $response->casesNumRec = intval($row[0]); - + $json = new Services_JSON(); $sOutput = $json->encode($response); break; diff --git a/workflow/engine/methods/services/pmos2.wsdl b/workflow/engine/methods/services/pmos2.wsdl index d8c65d08d..7203cb817 100755 --- a/workflow/engine/methods/services/pmos2.wsdl +++ b/workflow/engine/methods/services/pmos2.wsdl @@ -761,6 +761,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -965,6 +1004,18 @@ + + + + + + + + + + + + @@ -1111,6 +1162,14 @@ + + + + + + + + @@ -1439,6 +1498,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/workflow/engine/methods/services/soap2.php b/workflow/engine/methods/services/soap2.php index 6c82eb2c0..153687963 100755 --- a/workflow/engine/methods/services/soap2.php +++ b/workflow/engine/methods/services/soap2.php @@ -1102,6 +1102,52 @@ function cancelCase($params) return $result; } +function pauseCase($params) +{ + $result = isValidSession($params->sessionId); + + if ($result->status_code != 0) { + return $result; + } + + if (ifPermission($params->sessionId, "PM_CASES") == 0) { + $result = new wsResponse(2, "You do not have privileges"); + + return $result; + } + + $ws = new wsBase(); + + $result = $ws->pauseCase( + $params->caseUid, + $params->delIndex, + $params->userUid, + ((isset($params->unpauseDate))? $params->unpauseDate : null) + ); + + return $result; +} + +function unpauseCase($params) +{ + $result = isValidSession($params->sessionId); + + if ($result->status_code != 0) { + return $result; + } + + if (ifPermission($params->sessionId, "PM_CASES") == 0) { + $result = new wsResponse(2, "You do not have privileges"); + + return $result; + } + + $ws = new wsBase(); + $result = $ws->unpauseCase($params->caseUid, $params->delIndex, $params->userUid); + + return $result; +} + @@ -1144,5 +1190,7 @@ $server->addFunction("removeUserFromGroup"); $server->addFunction("getCaseNotes"); $server->addFunction("deleteCase"); $server->addFunction("cancelCase"); +$server->addFunction("pauseCase"); +$server->addFunction("unpauseCase"); $server->handle(); diff --git a/workflow/engine/methods/users/usersAjax.php b/workflow/engine/methods/users/usersAjax.php index ef4a285cf..f067c2de1 100644 --- a/workflow/engine/methods/users/usersAjax.php +++ b/workflow/engine/methods/users/usersAjax.php @@ -358,7 +358,7 @@ switch($_POST['action']) /* Saving preferences */ $def_lang = $form['PREF_DEFAULT_LANG']; $def_menu = $form['PREF_DEFAULT_MENUSELECTED']; - $def_cases_menu = $form['PREF_DEFAULT_CASES_MENUSELECTED']; + $def_cases_menu = isset($form['PREF_DEFAULT_CASES_MENUSELECTED']) ? $form['PREF_DEFAULT_CASES_MENUSELECTED'] : ''; G::loadClass('configuration'); @@ -406,7 +406,6 @@ switch($_POST['action']) $_SESSION['CURRENT_USER'] = $_POST['USR_UID']; $oUser = new Users(); $aFields = $oUser->loadDetailed($_POST['USR_UID']); - $aFields['USR_STATUS'] = G::LoadTranslation('ID_' . $aFields['USR_STATUS']); //Load Calendar options and falue for this user G::LoadClass ( 'calendar' ); @@ -452,24 +451,28 @@ switch($_POST['action']) $menuSelected = ''; - if ($aFields['PREF_DEFAULT_MENUSELECTED'] != ''){ - foreach ( $RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission ) { - if($aFields['PREF_DEFAULT_MENUSELECTED']==$permission['PER_CODE']){ - switch($permission['PER_CODE']){ - case 'PM_USERS' : - case 'PM_SETUP' : - $menuSelected = strtoupper(G::LoadTranslation('ID_SETUP')); - break; - case 'PM_CASES' : - $menuSelected = strtoupper(G::LoadTranslation('ID_CASES')); - break; - case 'PM_FACTORY' : - $menuSelected = strtoupper(G::LoadTranslation('ID_APPLICATIONS')); - break; - } + if ($aFields['PREF_DEFAULT_MENUSELECTED'] != '') { + foreach ( $RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission ) { + if ($aFields['PREF_DEFAULT_MENUSELECTED']==$permission['PER_CODE']) { + switch ($permission['PER_CODE']) { + case 'PM_USERS' : + case 'PM_SETUP' : + $menuSelected = strtoupper(G::LoadTranslation('ID_SETUP')); + break; + case 'PM_CASES' : + $menuSelected = strtoupper(G::LoadTranslation('ID_CASES')); + break; + case 'PM_FACTORY' : + $menuSelected = strtoupper(G::LoadTranslation('ID_APPLICATIONS')); + break; + case 'PM_DASHBOARD': + $menuSelected = strtoupper(G::LoadTranslation('ID_DASHBOARD')); + break; + } + } } - } } + $aFields['MENUSELECTED_NAME'] = $menuSelected; @@ -510,6 +513,9 @@ switch($_POST['action']) case 'PM_FACTORY': $rows[] = Array('id'=>'PM_FACTORY', 'name'=>strtoupper(G::LoadTranslation('ID_APPLICATIONS'))); break; + case 'PM_DASHBOARD': + $rows[] = Array('id'=>'PM_DASHBOARD', 'name'=>strtoupper(G::LoadTranslation('ID_DASHBOARD'))); + break; } } print(G::json_encode($rows)); diff --git a/workflow/engine/methods/users/users_Ajax.php b/workflow/engine/methods/users/users_Ajax.php index d70d3e7af..5d7affa5d 100755 --- a/workflow/engine/methods/users/users_Ajax.php +++ b/workflow/engine/methods/users/users_Ajax.php @@ -214,7 +214,7 @@ try { case 'changeUserStatus': $response = new stdclass(); if (isset($_REQUEST['USR_UID']) && isset($_REQUEST['NEW_USR_STATUS'])) { - $RBAC->changeUserStatus($_REQUEST['USR_UID'], $_REQUEST['NEW_USR_STATUS']); + $RBAC->changeUserStatus($_REQUEST['USR_UID'], ($_REQUEST['NEW_USR_STATUS'] == 'ACTIVE' ? 1 : 0)); require_once 'classes/model/Users.php'; $userInstance = new Users(); $userData = $userInstance->load($_REQUEST['USR_UID']); diff --git a/workflow/engine/skinEngine/base/layout.html b/workflow/engine/skinEngine/base/layout.html index 42b2faf43..c937d8bf9 100644 --- a/workflow/engine/skinEngine/base/layout.html +++ b/workflow/engine/skinEngine/base/layout.html @@ -19,7 +19,7 @@ {if $user_logged neq ''} {$msgVer} {if $switch_interface} - + {/if} {$logout}