Ext.onReady(function () { var store = new Ext.data.JsonStore({ proxy: new Ext.data.HttpProxy({ url: '../adminProxy/getListImage', method: 'POST' }), root: 'images', fields: [ 'name', 'url', {name: 'size', type: 'float'}, {name: 'lastmod', type: 'date', dateFormat: 'timestamp'}, 'thumb_url' ] }); store.load(); var tpl = new Ext.XTemplate( '' ); var tplDetail = new Ext.XTemplate( '
', '', '
', 'Image Name:', '{name}', 'view original
', '
', '
' ); var tbar = new Ext.Toolbar(); tbar.add({ text: _('ID_APPLY'), icon: '/images/ext/default/accept.png', id: 'tbarAply', disabled: true, handler: function () { var records = datav.getSelectedRecords(); if (records.length != 0) { if (records.length == 1) { var myMask = new Ext.LoadMask(Ext.getBody(), {msg: _('ID_LOADING')}); myMask.show(); var imageName = records[0].data.name; Ext.Ajax.request({ url: '../adminProxy/replacementLogo', method: 'post', params: {nameFunction: 'replacementLogo', NAMELOGO: imageName}, success: function () { if (typeof parent.parent.Ext != 'undefined') { parent.parent.location.href = '../main?st=admin'; } else { window.parent.window.parent.location.href = window.parent.window.parent.window.location.href } } }); } else { PMExt.notify(_('ID_NOTICE'), _('ID_YOU_ARE_NOT_CAN_SELECT_PHOTO')); } } else { PMExt.notify(_('ID_NOTICE'), _('ID_SELECT_AN_IMAGE')); } } }); tbar.add({ text: _('ID_DELETE'), icon: '/images/delete-16x16.gif', id: 'tbarDelete', disabled: true, handler: function () { var records = datav.getSelectedRecords(); var isCurrentLogo = false; if (records.length != 0) { if (records.length == 1) { var imgName = ''; for (var i = 0; i < records.length; i++) { imgName = imgName + records[i].data.name + ';'; } Ext.Ajax.request({ url: '../adminProxy/isCurrentLogo', method: 'post', params: {selectLogo: imgName}, success: function (response) { store.load(); oResponse = Ext.decode(response.responseText); if (oResponse.success == true) { Ext.Msg.alert(_('ID_LOGO'), _('ID_SELECTED_IMAGE_IS_LOGO')); isCurrentLogo = true; } } }); if (isCurrentLogo == false) { Ext.Msg.show({ title: _('ID_LOGO'), msg: _('ID_DELETE_SELECTED_LOGO'), buttons: Ext.Msg.YESNO, fn: function (btn) { if (btn == 'yes') { Ext.Ajax.request({ url: '../adminProxy/deleteImage', method: 'post', params: {images: imgName}, success: function (response) { store.load(); oResponse = Ext.decode(response.responseText); if (oResponse.success == true) { PMExt.notify(_('ID_NOTICE'), _('ID_SELECTED_IMAGE_DELETED')); } else { PMExt.notify(_('ID_NOTICE'), _('ID_SELECTED_IMAGE_IS_LOGO')); } } }); } }, animEl: 'elId', icon: Ext.MessageBox.QUESTION }); } } else { PMExt.notify(_('ID_NOTICE'), _('ID_YOU_ARE_NOT_CAN_SELECT_PHOTO')); } } else { PMExt.notify(_('ID_NOTICE'), _('ID_SELECT_AN_IMAGE')); } } }); tbar.add({ text: _('ID_RESTORE_DEFAULT'), icon: '/images/icon-pmlogo-15x15.png', handler: function () { var records = datav.getSelectedRecords(); var myMask = new Ext.LoadMask(Ext.getBody(), {msg: _('ID_LOADING')}); myMask.show(); var imageName = 'name'; Ext.Ajax.request({ url: '../adminProxy/replacementLogo', method: 'post', params: {nameFunction: 'restoreLogo', NAMELOGO: imageName}, success: function () { if (typeof parent.parent.Ext != 'undefined') { parent.parent.location.href = '../main?st=admin'; } else { window.parent.window.parent.location.href = window.parent.window.parent.window.location.href } } }); } }); tbar.add('-', { text: _('ID_UPLOAD'), iconCls: 'silk-add', icon: '/images/import.gif', handler: function () { uploadWin.show(); } }) var datav = new Ext.DataView({ autoScroll: true, store: store, tpl: tpl, autoHeight: false, height: 800, multiSelect: true, autoScroll: true, overClass: 'x-view-over', itemSelector: 'div.thumb-wrap', emptyText: _('ID_NO_IMAGES_TO_DISPLAY'), listeners: { selectionchange: { fn: function (dv, nodes) { var l = nodes.length; var s = l != 1 ? 's' : ''; panelLeft.setTitle(_('PHOTO_GALLERY') + '(' + l + ' ' + _('ID_IMAGE') + s + ' ' + _('ID_SELECTED') + ')'); if (nodes.length > 0) { Ext.getCmp('tbarAply').enable(); Ext.getCmp('tbarDelete').enable(); } else { Ext.getCmp('tbarAply').disable(); Ext.getCmp('tbarDelete').disable(); } } } // , // click : { // fn : function() { // } // } } }) var panelLeft = new Ext.Panel({ region: 'center', id: 'images-view', frame: true, width: 520, autoHeight: true, layout: 'auto', title: _('PHOTO_GALLERY') + '(0 ' + _('ID_IMAGES_SELECTED') + ')', items: [tbar, datav] }); var panelRightTop = new Ext.FormPanel({ title: _('ID_UPLOAD_IMAGE'), width: 270, labelAlign: 'right', fileUpload: true, frame: true, defaults: { anchor: '90%', allowBlank: false, msgTarget: 'side' }, items: [ { xtype: 'fileuploadfield', emptyText: '', fieldLabel: _('ID_IMAGE'), buttonText: _('ID_SELECT_FILE'), name: 'img', validator: function (filePath) { if (uploadWin.isVisible() === false) { return true; } var flag, btn; btn = Ext.getCmp('btnUpload'); btn.disable(); filePath = filePath.replace(/^\s|\s$/g, ""); //trims string if (filePath.match(/([^\/\\]+)\.(gif|png|jpg|jpeg|pjpeg|x-png)$/i)) { flag = true; btn.enable(); } else { messageError = _('ID_ERROR_UPLOADING_IMAGE_TYPE'); PMExt.notify(_('ID_ERROR'), messageError); flag = false; } return flag; } } ], buttons: [ { text: _('ID_UPLOAD'), id: 'btnUpload', disabled: true, handler: function () { panelRightTop.getForm().submit({ url: '../adminProxy/uploadImage', waitMsg: _('ID_LOADING'), waitTitle: " ", success: function (form, o) { obj = Ext.util.JSON.decode(o.response.responseText); if ((obj.failed == '' || obj.failed == '0') && obj.uploaded != '0') { PMExt.notify(_('ID_SUCCESS'), _('ID_YOUR_IMAGE_HAS_BEEN_SUCCESSFULLY')); } else { var messageError = ""; if (obj.failed == "1") { //| 1-> Fail in the type of the image messageError = _('ID_ERROR_UPLOADING_IMAGE_TYPE'); } else if (obj.failed == "2") { //| 2-> Fail in the size of the image messageError = _('ID_UPLOADING_IMAGE_WRONG_SIZE'); } else if (obj.failed == "3") { //| 3-> fail in de mime of the image messageError = _('ID_ERROR_UPLOADING_IMAGE_TYPE'); } PMExt.notify(_('ID_SUCCESS'), messageError); } uploadWin.hide(); panelRightTop.getForm().reset(); store.load(); } }); } }, { text: _('ID_CANCEL'), handler: function () { uploadWin.hide(); } } ] }); uploadWin = new Ext.Window({ title: '', id: 'uploadWin', layout: 'fit', width: 420, height: 140, modal: false, autoScroll: true, closeAction: 'hide', maximizable: false, resizable: false, draggable: false, items: [panelRightTop] }); var panelRightBottom = new Ext.Panel({ region: 'east', title: _('IMAGE_DETAIL'), frame: true, width: 200, height: 255, split: true, collapsible: true, collapseMode: 'mini', margins: '0 0 0 0', id: 'panelDetail', tpl: tplDetail }); var viewport = new Ext.Viewport({ layout: 'border', autoScroll: false, items: [panelLeft] }); });