Вход Регистрация
Файл: js/editor/jscripts/tiny_mce/plugins/media/js/media.js
Строк: 482
<?php
tinyMCEPopup
.requireLangPack();

var 
oldWidtholdHeightedurl;

if (
url tinyMCEPopup.getParam("media_external_list_url"))
    
document.write('<script language="javascript" type="text/javascript" src="' tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');

function 
init() {
    var 
pl ""fval;
    var 
type "flash"fei;

    
ed tinyMCEPopup.editor;

    
tinyMCEPopup.resizeToInnerSize();
    
document.forms[0]

    
fe ed.selection.getNode();
    if (/
mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe'class'))) {
        
pl fe.title;

        switch (
ed.dom.getAttrib(fe'class')) {
            case 
'mceItemFlash':
                
type 'flash';
                break;

            case 
'mceItemFlashVideo':
                
type 'flv';
                break;

            case 
'mceItemShockWave':
                
type 'shockwave';
                break;

            case 
'mceItemWindowsMedia':
                
type 'wmp';
                break;

            case 
'mceItemQuickTime':
                
type 'qt';
                break;

            case 
'mceItemRealMedia':
                
type 'rmp';
                break;
        }

        
document.forms[0].insert.value ed.getLang('update''Insert'true); 
    }

    
document.getElementById('filebrowsercontainer').innerHTML getBrowserHTML('filebrowser','src','media','media');
    
document.getElementById('qtsrcfilebrowsercontainer').innerHTML getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media');
    
document.getElementById('bgcolor_pickcontainer').innerHTML getColorPickerHTML('bgcolor_pick','bgcolor');

    var 
html getMediaListHTML('medialist','src','media','media');
    if (
html == "")
        
document.getElementById("linklistrow").style.display 'none';
    else
        
document.getElementById("linklistcontainer").innerHTML html;

    
// Resize some elements
    
if (isVisible('filebrowser'))
        
document.getElementById('src').style.width '230px';

    
// Setup form
    
if (pl != "") {
        
pl tinyMCEPopup.editor.plugins.media._parse(pl);

        switch (
type) {
            case 
"flash":
                
setBool(pl'flash''play');
                
setBool(pl'flash''loop');
                
setBool(pl'flash''menu');
                
setBool(pl'flash''swliveconnect');
                
setStr(pl'flash''quality');
                
setStr(pl'flash''scale');
                
setStr(pl'flash''salign');
                
setStr(pl'flash''wmode');
                
setStr(pl'flash''base');
                
setStr(pl'flash''flashvars');
            break;

            case 
"qt":
                
setBool(pl'qt''loop');
                
setBool(pl'qt''autoplay');
                
setBool(pl'qt''cache');
                
setBool(pl'qt''controller');
                
setBool(pl'qt''correction');
                
setBool(pl'qt''enablejavascript');
                
setBool(pl'qt''kioskmode');
                
setBool(pl'qt''autohref');
                
setBool(pl'qt''playeveryframe');
                
setBool(pl'qt''tarsetcache');
                
setStr(pl'qt''scale');
                
setStr(pl'qt''starttime');
                
setStr(pl'qt''endtime');
                
setStr(pl'qt''tarset');
                
setStr(pl'qt''qtsrcchokespeed');
                
setStr(pl'qt''volume');
                
setStr(pl'qt''qtsrc');
            break;

            case 
"shockwave":
                
setBool(pl'shockwave''sound');
                
setBool(pl'shockwave''progress');
                
setBool(pl'shockwave''autostart');
                
setBool(pl'shockwave''swliveconnect');
                
setStr(pl'shockwave''swvolume');
                
setStr(pl'shockwave''swstretchstyle');
                
setStr(pl'shockwave''swstretchhalign');
                
setStr(pl'shockwave''swstretchvalign');
            break;

            case 
"wmp":
                
setBool(pl'wmp''autostart');
                
setBool(pl'wmp''enabled');
                
setBool(pl'wmp''enablecontextmenu');
                
setBool(pl'wmp''fullscreen');
                
setBool(pl'wmp''invokeurls');
                
setBool(pl'wmp''mute');
                
setBool(pl'wmp''stretchtofit');
                
setBool(pl'wmp''windowlessvideo');
                
setStr(pl'wmp''balance');
                
setStr(pl'wmp''baseurl');
                
setStr(pl'wmp''captioningid');
                
setStr(pl'wmp''currentmarker');
                
setStr(pl'wmp''currentposition');
                
setStr(pl'wmp''defaultframe');
                
setStr(pl'wmp''playcount');
                
setStr(pl'wmp''rate');
                
setStr(pl'wmp''uimode');
                
setStr(pl'wmp''volume');
            break;

            case 
"rmp":
                
setBool(pl'rmp''autostart');
                
setBool(pl'rmp''loop');
                
setBool(pl'rmp''autogotourl');
                
setBool(pl'rmp''center');
                
setBool(pl'rmp''imagestatus');
                
setBool(pl'rmp''maintainaspect');
                
setBool(pl'rmp''nojava');
                
setBool(pl'rmp''prefetch');
                
setBool(pl'rmp''shuffle');
                
setStr(pl'rmp''console');
                
setStr(pl'rmp''controls');
                
setStr(pl'rmp''numloop');
                
setStr(pl'rmp''scriptcallbacks');
            break;
        }

        
setStr(plnull'src');
        
setStr(plnull'id');
        
setStr(plnull'name');
        
setStr(plnull'vspace');
        
setStr(plnull'hspace');
        
setStr(plnull'bgcolor');
        
setStr(plnull'align');
        
setStr(plnull'width');
        
setStr(plnull'height');

        if ((
val ed.dom.getAttrib(fe"width")) != "")
            
pl.width f.width.value val;

        if ((
val ed.dom.getAttrib(fe"height")) != "")
            
pl.height f.height.value val;

        
oldWidth pl.width parseInt(pl.width) : 0;
        
oldHeight pl.height parseInt(pl.height) : 0;
    } else
        
oldWidth oldHeight 0;

    
selectByValue(f'media_type'type);
    
changedType(type);
    
updateColor('bgcolor_pick''bgcolor');

    
TinyMCE_EditableSelects.init();
    
generatePreview();
}

function 
insertMedia() {
    var 
fedocument.forms[0], h;

    
tinyMCEPopup.restoreSelection();

    if (!
AutoValidator.validate(f)) {
        
tinyMCEPopup.alert(ed.getLang('invalid_data'));
        return 
false;
    }

    
f.width.value f.width.value == "" 100 f.width.value;
    
f.height.value f.height.value == "" 100 f.height.value;

    
fe ed.selection.getNode();
    if (
fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe'class'))) {
        switch (
f.media_type.options[f.media_type.selectedIndex].value) {
            case 
"flash":
                
fe.className "mceItemFlash";
                break;

            case 
"flv":
                
fe.className "mceItemFlashVideo";
                break;

            case 
"shockwave":
                
fe.className "mceItemShockWave";
                break;

            case 
"qt":
                
fe.className "mceItemQuickTime";
                break;

            case 
"wmp":
                
fe.className "mceItemWindowsMedia";
                break;

            case 
"rmp":
                
fe.className "mceItemRealMedia";
                break;
        }

        if (
fe.width != f.width.value || fe.height != f.height.value)
            
ed.execCommand('mceRepaint');

        
fe.title serializeParameters();
        
fe.width f.width.value;
        
fe.height f.height.value;
        
fe.style.width f.width.value + (f.width.value.indexOf('%') == -'px' '');
        
fe.style.height f.height.value + (f.height.value.indexOf('%') == -'px' '');
        
fe.align f.align.options[f.align.selectedIndex].value;
    } else {
        
'<img src="' tinyMCEPopup.getWindowArg("plugin_url") + '/img/trans.gif"' ;

        switch (
f.media_type.options[f.media_type.selectedIndex].value) {
            case 
"flash":
                
+= ' class="mceItemFlash"';
                break;

            case 
"flv":
                
+= ' class="mceItemFlashVideo"';
                break;

            case 
"shockwave":
                
+= ' class="mceItemShockWave"';
                break;

            case 
"qt":
                
+= ' class="mceItemQuickTime"';
                break;

            case 
"wmp":
                
+= ' class="mceItemWindowsMedia"';
                break;

            case 
"rmp":
                
+= ' class="mceItemRealMedia"';
                break;
        }

        
+= ' title="' serializeParameters() + '"';
        
+= ' width="' f.width.value '"';
        
+= ' height="' f.height.value '"';
        
+= ' align="' f.align.options[f.align.selectedIndex].value '"';

        
+= ' />';

        
ed.execCommand('mceInsertContent'falseh);
    }

    
tinyMCEPopup.close();
}

function 
updatePreview() {
    var 
document.forms[0], type;

    
f.width.value f.width.value || '320';
    
f.height.value f.height.value || '240';

    
type getType(f.src.value);
    
selectByValue(f'media_type'type);
    
changedType(type);
    
generatePreview();
}

function 
getMediaListHTML() {
    if (
typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length 0) {
        var 
html "";

        
html += '<select id="linklist" name="linklist" style="width: 250px" onchange="this.form.src.value=this.options[this.selectedIndex].value;updatePreview();">';
        
html += '<option value="">---</option>';

        for (var 
i=0i<tinyMCEMediaList.lengthi++)
            
html += '<option value="' tinyMCEMediaList[i][1] + '">' tinyMCEMediaList[i][0] + '</option>';

        
html += '</select>';

        return 
html;
    }

    return 
"";
}

function 
getType(v) {
    var 
foicelxdocument.forms[0];

    
fo ed.getParam("media_types""flash=swf;flv=flv;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';');

    
// YouTube
    
if (v.match(/watch?v=(.+)(.*)/)) {
        
f.width.value '425';
        
f.height.value '350';
        
f.src.value 'http://www.youtube.com/v/' v.match(/v=(.*)(.*)/)[0].split('=')[1];
        return 
'flash';
    }

    
// Google video
    
if (v.indexOf('http://video.google.com/videoplay?docid=') == 0) {
        
f.width.value '425';
        
f.height.value '326';
        
f.src.value 'http://video.google.com/googleplayer.swf?docId=' v.substring('http://video.google.com/videoplay?docid='.length) + '&hl=en';
        return 
'flash';
    }

    for (
i=0i<fo.lengthi++) {
        
fo[i].split('=');

        
el c[1].split(',');
        for (
x=0x<el.lengthx++)
        if (
v.indexOf('.' el[x]) != -1)
            return 
c[0];
    }

    return 
null;
}

function 
switchType(v) {
    var 
getType(v), documentd.forms[0];

    if (!
t)
        return;

    
selectByValue(d.forms[0], 'media_type't);
    
changedType(t);

    
// Update qtsrc also
    
if (== 'qt' && f.src.value.toLowerCase().indexOf('rtsp://') != -1) {
        
alert(ed.getLang("media_qt_stream_warn"));

        if (
f.qt_qtsrc.value == '')
            
f.qt_qtsrc.value f.src.value;
    }
}

function 
changedType(t) {
    var 
document;

    
d.getElementById('flash_options').style.display 'none';
    
d.getElementById('flv_options').style.display 'none';
    
d.getElementById('qt_options').style.display 'none';
    
d.getElementById('shockwave_options').style.display 'none';
    
d.getElementById('wmp_options').style.display 'none';
    
d.getElementById('rmp_options').style.display 'none';

    if (
t)
        
d.getElementById('_options').style.display 'block';
}

function 
serializeParameters() {
    var 
documentd.forms[0], '';

    switch (
f.media_type.options[f.media_type.selectedIndex].value) {
        case 
"flash":
            
+= getBool('flash''play'true);
            
+= getBool('flash''loop'true);
            
+= getBool('flash''menu'true);
            
+= getBool('flash''swliveconnect'false);
            
+= getStr('flash''quality');
            
+= getStr('flash''scale');
            
+= getStr('flash''salign');
            
+= getStr('flash''wmode');
            
+= getStr('flash''base');
            
+= getStr('flash''flashvars');
        break;

        case 
"qt":
            
+= getBool('qt''loop'false);
            
+= getBool('qt''autoplay'true);
            
+= getBool('qt''cache'false);
            
+= getBool('qt''controller'true);
            
+= getBool('qt''correction'false'none''full');
            
+= getBool('qt''enablejavascript'false);
            
+= getBool('qt''kioskmode'false);
            
+= getBool('qt''autohref'false);
            
+= getBool('qt''playeveryframe'false);
            
+= getBool('qt''targetcache'false);
            
+= getStr('qt''scale');
            
+= getStr('qt''starttime');
            
+= getStr('qt''endtime');
            
+= getStr('qt''target');
            
+= getStr('qt''qtsrcchokespeed');
            
+= getStr('qt''volume');
            
+= getStr('qt''qtsrc');
        break;

        case 
"shockwave":
            
+= getBool('shockwave''sound');
            
+= getBool('shockwave''progress');
            
+= getBool('shockwave''autostart');
            
+= getBool('shockwave''swliveconnect');
            
+= getStr('shockwave''swvolume');
            
+= getStr('shockwave''swstretchstyle');
            
+= getStr('shockwave''swstretchhalign');
            
+= getStr('shockwave''swstretchvalign');
        break;

        case 
"wmp":
            
+= getBool('wmp''autostart'true);
            
+= getBool('wmp''enabled'false);
            
+= getBool('wmp''enablecontextmenu'true);
            
+= getBool('wmp''fullscreen'false);
            
+= getBool('wmp''invokeurls'true);
            
+= getBool('wmp''mute'false);
            
+= getBool('wmp''stretchtofit'false);
            
+= getBool('wmp''windowlessvideo'false);
            
+= getStr('wmp''balance');
            
+= getStr('wmp''baseurl');
            
+= getStr('wmp''captioningid');
            
+= getStr('wmp''currentmarker');
            
+= getStr('wmp''currentposition');
            
+= getStr('wmp''defaultframe');
            
+= getStr('wmp''playcount');
            
+= getStr('wmp''rate');
            
+= getStr('wmp''uimode');
            
+= getStr('wmp''volume');
        break;

        case 
"rmp":
            
+= getBool('rmp''autostart'false);
            
+= getBool('rmp''loop'false);
            
+= getBool('rmp''autogotourl'true);
            
+= getBool('rmp''center'false);
            
+= getBool('rmp''imagestatus'true);
            
+= getBool('rmp''maintainaspect'false);
            
+= getBool('rmp''nojava'false);
            
+= getBool('rmp''prefetch'false);
            
+= getBool('rmp''shuffle'false);
            
+= getStr('rmp''console');
            
+= getStr('rmp''controls');
            
+= getStr('rmp''numloop');
            
+= getStr('rmp''scriptcallbacks');
        break;
    }

    
+= getStr(null'id');
    
+= getStr(null'name');
    
+= getStr(null'src');
    
+= getStr(null'align');
    
+= getStr(null'bgcolor');
    
+= getInt(null'vspace');
    
+= getInt(null'hspace');
    
+= getStr(null'width');
    
+= getStr(null'height');

    
s.length s.substring(0s.length 1) : s;

    return 
s;
}

function 
setBool(plpn) {
    if (
typeof(pl[n]) == "undefined")
        return;

    
document.forms[0].elements["_" n].checked pl[n] != 'false';
}

function 
setStr(plpn) {
    var 
document.forms[0], f.elements[(!= null "_" '') + n];

    if (
typeof(pl[n]) == "undefined")
        return;

    if (
e.type == "text")
        
e.value pl[n];
    else
        
selectByValue(f, (!= null "_" '') + npl[n]);
}

function 
getBool(pndtvfv) {
    var 
document.forms[0].elements["_" n].checked;

    
tv typeof(tv) == 'undefined' 'true' "'" jsEncode(tv) + "'";
    
fv typeof(fv) == 'undefined' 'false' "'" jsEncode(fv) + "'";

    return (
== d) ? '' + (':' tv ',' ":'" fv "',");
}

function 
getStr(pnd) {
    var 
document.forms[0].elements[(!= null "_" "") + n];
    var 
e.type == "text" e.value e.options[e.selectedIndex].value;

    if (
== 'src')
        
tinyMCEPopup.editor.convertURL(v'src'null);

    return ((
== || == '') ? '' ":'" jsEncode(v) + "',");
}

function 
getInt(pnd) {
    var 
document.forms[0].elements[(!= null "_" "") + n];
    var 
e.type == "text" e.value e.options[e.selectedIndex].value;

    return ((
== || == '') ? '' ":" v.replace(/[^0-9]+/g'') + ",");
}

function 
jsEncode(s) {
    
s.replace(new RegExp('\\''g'), '\\');
    
s.replace(new RegExp('"''g'), '\"');
    
s.replace(new RegExp("'"'g'), "\'");

    return 
s;
}

function 
generatePreview(c) {
    var 
document.forms[0], document.getElementById('prev'), ''clsplntypecodebasewphpnwnh;

    
p.innerHTML '<!-- x --->';

    
nw parseInt(f.width.value);
    
nh parseInt(f.height.value);

    if (
f.width.value != "" && f.height.value != "") {
        if (
f.constrain.checked) {
            if (
== 'width' && oldWidth != 0) {
                
wp nw oldWidth;
                
nh Math.round(wp nh);
                
f.height.value nh;
            } else if (
== 'height' && oldHeight != 0) {
                
hp nh oldHeight;
                
nw Math.round(hp nw);
                
f.width.value nw;
            }
        }
    }

    if (
f.width.value != "")
        
oldWidth nw;

    if (
f.height.value != "")
        
oldHeight nh;

    
// After constrain
    
pl serializeParameters();

    switch (
f.media_type.options[f.media_type.selectedIndex].value) {
        case 
"flash":
            
cls 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
            
codebase 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
            
type 'application/x-shockwave-flash';
            break;

        case 
"shockwave":
            
cls 'clsid:166B1BCA-3F9C-11CF-8075-444553540000';
            
codebase 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
            
type 'application/x-director';
            break;

        case 
"qt":
            
cls 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
            
codebase 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
            
type 'video/quicktime';
            break;

        case 
"wmp":
            
cls ed.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6';
            
codebase 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
            
type 'application/x-mplayer2';
            break;

        case 
"rmp":
            
cls 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
            
codebase 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
            
type 'audio/x-pn-realaudio-plugin';
            break;
    }

    if (
pl == '') {
        
p.innerHTML '';
        return;
    }

    
pl tinyMCEPopup.editor.plugins.media._parse(pl);

    if (!
pl.src) {
        
p.innerHTML '';
        return;
    }

    
pl.src tinyMCEPopup.editor.documentBaseURI.toAbsolute(pl.src);
    
pl.width = !pl.width 100 pl.width;
    
pl.height = !pl.height 100 pl.height;
    
pl.id = !pl.id 'obj' pl.id;
    
pl.name = !pl.name 'eobj' pl.name;
    
pl.align = !pl.align '' pl.align;

    
// Avoid annoying warning about insecure items
    
if (!tinymce.isIE || document.location.protocol != 'https:') {
        
+= '<object classid="' cls '" codebase="' codebase '" width="' pl.width '" height="' pl.height '" id="' pl.id '" name="' pl.name '" align="' pl.align '">';

        for (
n in pl) {
            
+= '<param name="' '" value="' pl[n] + '">';

            
// Add extra url parameter if it's an absolute URL
            
if (== 'src' && pl[n].indexOf('://') != -1)
                
+= '<param name="url" value="' pl[n] + '" />';
        }
    }

    
+= '<embed type="' type '" ';

    for (
n in pl)
        
+= '="' pl[n] + '" ';

    
+= '></embed>';

    
// Avoid annoying warning about insecure items
    
if (!tinymce.isIE || document.location.protocol != 'https:')
        
+= '</object>';

    
p.innerHTML "<!-- x --->" h;
}

tinyMCEPopup.onInit.add(init);
?>
Онлайн: 0
Реклама