/******************************************************************************* 
 | 
* KindEditor - WYSIWYG HTML Editor for Internet 
 | 
* Copyright (C) 2006-2011 kindsoft.net 
 | 
* 
 | 
* @author Roddy <luolonghao@gmail.com> 
 | 
* @site http://www.kindsoft.net/ 
 | 
* @licence http://www.kindsoft.net/license.php 
 | 
*******************************************************************************/ 
 | 
  
 | 
KindEditor.plugin('flash', function(K) { 
 | 
    var self = this, name = 'flash', lang = self.lang(name + '.'), 
 | 
        allowFlashUpload = K.undef(self.allowFlashUpload, true), 
 | 
        allowFileManager = K.undef(self.allowFileManager, false), 
 | 
        formatUploadUrl = K.undef(self.formatUploadUrl, true), 
 | 
        extraParams = K.undef(self.extraFileUploadParams, {}), 
 | 
        filePostName = K.undef(self.filePostName, 'imgFile'), 
 | 
        uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'); 
 | 
    self.plugin.flash = { 
 | 
        edit : function() { 
 | 
            var html = [ 
 | 
                '<div style="padding:20px;">', 
 | 
                //url 
 | 
                '<div class="ke-dialog-row">', 
 | 
                '<label for="keUrl" style="width:60px;">' + lang.url + '</label>', 
 | 
                '<input  class="ke-input-text" type="text" id="keUrl" name="url" value="" style="width:160px;" />  ', 
 | 
                '<input  type="button" class="ke-upload-button" value="' + lang.upload + '" />  ', 
 | 
                '<span class="ke-button-common ke-button-outer">', 
 | 
                '<input  type="button" class="ke-button-common ke-button" name="viewServer" value="' + lang.viewServer + '" />', 
 | 
                '</span>', 
 | 
                '</div>', 
 | 
                //width 
 | 
                '<div class="ke-dialog-row">', 
 | 
                '<label for="keWidth" style="width:60px;">' + lang.width + '</label>', 
 | 
                '<input  type="text" id="keWidth" class="ke-input-text ke-input-number" name="width" value="550" maxlength="4" /> ', 
 | 
                '</div>', 
 | 
                //height 
 | 
                '<div class="ke-dialog-row">', 
 | 
                '<label for="keHeight" style="width:60px;">' + lang.height + '</label>', 
 | 
                '<input  type="text" id="keHeight" class="ke-input-text ke-input-number" name="height" value="400" maxlength="4" /> ', 
 | 
                '</div>', 
 | 
                '</div>' 
 | 
            ].join(''); 
 | 
            var dialog = self.createDialog({ 
 | 
                name : name, 
 | 
                width : 450, 
 | 
                title : self.lang(name), 
 | 
                body : html, 
 | 
                yesBtn : { 
 | 
                    name : self.lang('yes'), 
 | 
                    click : function(e) { 
 | 
                        var url = K.trim(urlBox.val()), 
 | 
                            width = widthBox.val(), 
 | 
                            height = heightBox.val(); 
 | 
                        if (url == 'http://' || K.invalidUrl(url)) { 
 | 
                            alert(self.lang('invalidUrl')); 
 | 
                            urlBox[0].focus(); 
 | 
                            return; 
 | 
                        } 
 | 
                        if (!/^\d*$/.test(width)) { 
 | 
                            alert(self.lang('invalidWidth')); 
 | 
                            widthBox[0].focus(); 
 | 
                            return; 
 | 
                        } 
 | 
                        if (!/^\d*$/.test(height)) { 
 | 
                            alert(self.lang('invalidHeight')); 
 | 
                            heightBox[0].focus(); 
 | 
                            return; 
 | 
                        } 
 | 
                        var html = K.mediaImg(self.themesPath + 'common/blank.gif', { 
 | 
                                src : url, 
 | 
                                type : K.mediaType('.swf'), 
 | 
                                width : width, 
 | 
                                height : height, 
 | 
                                quality : 'high' 
 | 
                            }); 
 | 
                        self.insertHtml(html).hideDialog().focus(); 
 | 
                    } 
 | 
                } 
 | 
            }), 
 | 
            div = dialog.div, 
 | 
            urlBox = K('[name="url"]', div), 
 | 
            viewServerBtn = K('[name="viewServer"]', div), 
 | 
            widthBox = K('[name="width"]', div), 
 | 
            heightBox = K('[name="height"]', div); 
 | 
            urlBox.val('http://'); 
 | 
  
 | 
            if (allowFlashUpload) { 
 | 
                var uploadbutton = K.uploadbutton({ 
 | 
                    button : K('.ke-upload-button', div)[0], 
 | 
                    fieldName : filePostName, 
 | 
                    extraParams : extraParams, 
 | 
                    url : K.addParam(uploadJson, 'dir=flash'), 
 | 
                    afterUpload : function(data) { 
 | 
                        dialog.hideLoading(); 
 | 
                        if (data.error === 0) { 
 | 
                            var url = data.url; 
 | 
                            if (formatUploadUrl) { 
 | 
                                url = K.formatUrl(url, 'absolute'); 
 | 
                            } 
 | 
                            urlBox.val(url); 
 | 
                            if (self.afterUpload) { 
 | 
                                self.afterUpload.call(self, url, data, name); 
 | 
                            } 
 | 
                            alert(self.lang('uploadSuccess')); 
 | 
                        } else { 
 | 
                            alert(data.message); 
 | 
                        } 
 | 
                    }, 
 | 
                    afterError : function(html) { 
 | 
                        dialog.hideLoading(); 
 | 
                        self.errorDialog(html); 
 | 
                    } 
 | 
                }); 
 | 
                uploadbutton.fileBox.change(function(e) { 
 | 
                    dialog.showLoading(self.lang('uploadLoading')); 
 | 
                    uploadbutton.submit(); 
 | 
                }); 
 | 
            } else { 
 | 
                K('.ke-upload-button', div).hide(); 
 | 
            } 
 | 
  
 | 
            if (allowFileManager) { 
 | 
                viewServerBtn.click(function(e) { 
 | 
                    self.loadPlugin('filemanager', function() { 
 | 
                        self.plugin.filemanagerDialog({ 
 | 
                            viewType : 'LIST', 
 | 
                            dirName : 'flash', 
 | 
                            clickFn : function(url, title) { 
 | 
                                if (self.dialogs.length > 1) { 
 | 
                                    K('[name="url"]', div).val(url); 
 | 
                                    if (self.afterSelectFile) { 
 | 
                                        self.afterSelectFile.call(self, url); 
 | 
                                    } 
 | 
                                    self.hideDialog(); 
 | 
                                } 
 | 
                            } 
 | 
                        }); 
 | 
                    }); 
 | 
                }); 
 | 
            } else { 
 | 
                viewServerBtn.hide(); 
 | 
            } 
 | 
  
 | 
            var img = self.plugin.getSelectedFlash(); 
 | 
            if (img) { 
 | 
                var attrs = K.mediaAttrs(img.attr('data-ke-tag')); 
 | 
                urlBox.val(attrs.src); 
 | 
                widthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0); 
 | 
                heightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0); 
 | 
            } 
 | 
            urlBox[0].focus(); 
 | 
            urlBox[0].select(); 
 | 
        }, 
 | 
        'delete' : function() { 
 | 
            self.plugin.getSelectedFlash().remove(); 
 | 
            // [IE] 删除图片后立即点击图片按钮出错 
 | 
            self.addBookmark(); 
 | 
        } 
 | 
    }; 
 | 
    self.clickToolbar(name, self.plugin.flash.edit); 
 | 
}); 
 |