Вход Регистрация
Файл: wysiwyg/markitup/image_upload.js
Строк: 104
<?php
var InlineUpload = {
    
dialog: null,
    
block: '',
    
offset: {},
    
options: {
        
container_class: 'markItUpInlineUpload',
        
form_id: 'inline_upload_form',
        
action: '',
        
inputs: {
            
file: {
                
id: 'inline_upload_file',
                
name: 'inline_upload_file'
            
}
        },
        
submit: {
            
id: 'inline_upload_submit',
            
value: ''
        
},
        
close: 'inline_upload_close',
        
iframe: 'inline_upload_iframe'
    
},
    
display: function(hash){

        if ($(
'.markItUpInlineUpload').length) { this.cleanUp(); return false; }

        var 
self = this;

        
this.offset = $(hash.textarea).prev('.markItUpHeader').offset();

        
this.options.action = hash.moptions.data.upload_url;
        
this.options.submit.value = hash.moptions.data.upload_title;

        
this.dialog = $([
            
'<div class="',
            
this.options.container_class,
            
'"><div><form id="',
            
this.options.form_id,
            
'" action="',
            
this.options.action,
            
'" target="',
            
this.options.iframe,
            
'" method="post" enctype="multipart/form-data">',
            
'<input name="',
            
this.options.inputs.file.name,
            
'" id="',
            
this.options.inputs.file.id,
            
'" type="file" /><input id="',
            
this.options.submit.id,
            
'" type="button" value="',
            
this.options.submit.value,
            
'" /></form><div id="',
            
this.options.close,
            
'"></div><iframe id="',
            
this.options.iframe,
            
'" name="',
            
this.options.iframe,
            
'" src="about:blank"></iframe></div></div>',
            ].
join(''))
        .
appendTo(document.body)
        .
hide()
        .
css('top', this.offset.top)
        .
css('left', this.offset.left);

        $(
'#'+this.options.submit.id).click(function(){
            $(
'#'+self.options.form_id).submit().fadeTo('fast', 0.2);
        });

        $(
'#'+this.options.close).click(function() { self.cleanUp() });

        $(
'#'+this.options.iframe).bind('load', function(){

            var 
json = $(this).contents().find('pre').text();

            if (!
json){ json = $(this).contents().text(); }
            if (!
json){ return false; }

            var 
response = JSON.parse(json);

            if (
response.success) {

                
this.block = [ '<img src="', response.image.url, '" />' ];
                
self.cleanUp();
                $.
markItUp({
                    
replaceWith: this.block.join('')
                } );

            } else {
                
alert(response.error);
                
self.cleanUp();
            }
        });

        
this.dialog.fadeIn('fast');
    },
    
cleanUp: function(){
        $(
'.markItUpInlineUpload').fadeOut('fast', function(){ $('.markItUpInlineUpload').remove(); });
    }
};
?>
Онлайн: 2
Реклама