Вход Регистрация
Файл: wysiwyg/redactor/js/video.js
Строк: 59
<?php
if (!RedactorPlugins) var RedactorPlugins = {};

RedactorPlugins.video = function()
{
    return {
        
reUrlYoutube: /https?://(?:[0-9A-Z-]+.)?(?:youtu.be/|youtube.comS*[^w-s])([w-]{11})(?=[^w-]|$)(?![?=&+%w.-]*(?:['"][^<>]*>|</a>))[?=&+%w.-]*/ig,
        
reUrlVimeo: /https?://(www.)?vimeo.com/(d+)($|/)/,
        
getTemplate: function()
        {
            return 
String()
            + 
'<section id="redactor-modal-video-insert">'
                
'<label>' this.lang.get('video_html_code') + '</label>'
                
'<textarea id="redactor-insert-video-area" style="height: 160px;"></textarea>'
            
'</section>';
        },
        
init: function()
        {
            var 
button this.button.addAfter('image''video'this.lang.get('video'));
            
this.button.addCallback(buttonthis.video.show);
        },
        
show: function()
        {
            
this.modal.addTemplate('video'this.video.getTemplate());

            
this.modal.load('video'this.lang.get('video'), 700);
            
this.modal.createCancelButton();

            var 
button this.modal.createActionButton(this.lang.get('insert'));
            
button.on('click'this.video.insert);

            
this.selection.save();
            
this.modal.show();

            $(
'#redactor-insert-video-area').focus();

        },
        
insert: function()
        {
            var 
data = $('#redactor-insert-video-area').val();
            
data this.clean.stripTags(data);

            
// parse if it is link on youtube & vimeo
            
var iframeStart '<iframe style="width: 500px; height: 281px;" src="',
                
iframeEnd '" frameborder="0" allowfullscreen></iframe>';

            if (
data.match(this.video.reUrlYoutube))
            {
                
data data.replace(this.video.reUrlYoutubeiframeStart '//www.youtube.com/embed/$1' iframeEnd);
            }
            else if (
data.match(this.video.reUrlVimeo))
            {
                
data data.replace(this.video.reUrlVimeoiframeStart '//player.vimeo.com/video/$2' iframeEnd);
            }

            
this.selection.restore();
            
this.modal.close();

            var 
current this.selection.getBlock() || this.selection.getCurrent();

            if (
current) $(current).after(data);
            else
            {
                
this.insert.html(data);
            }

            
this.code.sync();
        }

    };
};
?>
Онлайн: 3
Реклама