CLICK HERE TO BUY IT TODAY! OR GET IT FREE VIA TRIALPAY  

PHP Demo Application - Source Code

/Framework/Model/Vendor/CkEditor/_source/plugins/flash/plugin.js



/*
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
(function()
{
	    var flashFilenameRegex = /\.swf(?:$|\?)/i,
	        numberRegex = /^\d+(?:\.\d+)?$/;
	    function cssifyLengthlength )
	    {
		        if ( numberRegex.testlength ) )
		            return length 'px';
		        return length;
		    }
	    function isFlashEmbedelement )
	    {
		        var attributes element.attributes;
		        return ( attributes.type == 'application/x-shockwave-flash' || flashFilenameRegex.testattributes.src || '' ) );
		    }
	    function createFakeElementeditorrealElement )
	    {
		        var fakeElement editor.createFakeParserElementrealElement'cke_flash''flash'true ),
		            fakeStyle fakeElement.attributes.style || '';
		        var width realElement.attributes.width,
		            height realElement.attributes.height;
		        if ( typeof width != 'undefined' )
		            fakeStyle fakeElement.attributes.style fakeStyle 'width:' cssifyLengthwidth ) + ';
		';
		        if ( typeof height != 'undefined' )
		            fakeStyle fakeElement.attributes.style fakeStyle 'height:' cssifyLengthheight ) + ';
		';
		        return fakeElement;
		    }
	    CKEDITOR.plugins.add'flash',
	    {
		        init : function( editor )
		        {
			            editor.addCommand'flash', new CKEDITOR.dialogCommand'flash' ) );
			            editor.ui.addButton'Flash',
			                {
				                    label editor.lang.common.flash,
				                    command 'flash'
				                });
			            CKEDITOR.dialog.add'flash'this.path 'dialogs/flash.js' );
			            editor.addCss(
			                'img.cke_flash' +
			                '{' +
				                    'background-image: url(' CKEDITOR.getUrlthis.path 'images/placeholder.png' ) + ');
				' +
				                    'background-position: center center;
				' +
				                    'background-repeat: no-repeat;
				' +
				                    'border: 1px solid #a9a9a9;
				' +
				                    'width: 80px;
				' +
				                    'height: 80px;
				' +
				                '}'
			                );
			            // If the "menu" plugin is loaded, register the menu items.
			            if ( editor.addMenuItems )
			            {
				                editor.addMenuItems(
				                    {
					                        flash :
					                        {
						                            label editor.lang.flash.properties,
						                            command 'flash',
						                            group 'flash'
						                        }
					                    });
				            }
			            editor.on'doubleclick', function( evt )
			                {
				                    var element evt.data.element;
				                    if ( element.is'img' ) && element.getAttribute'_cke_real_element_type' ) == 'flash' )
				                        evt.data.dialog 'flash';
				                });
			            // If the "contextmenu" plugin is loaded, register the listeners.
			            if ( editor.contextMenu )
			            {
				                editor.contextMenu.addListener( function( elementselection )
				                    {
					                        if ( element && element.is'img' ) && !element.isReadOnly()
					                                && element.getAttribute'_cke_real_element_type' ) == 'flash' )
					                            return { flash CKEDITOR.TRISTATE_OFF
						};
					                    });
				            }
			        },
		        afterInit : function( editor )
		        {
			            var dataProcessor editor.dataProcessor,
			                dataFilter dataProcessor && dataProcessor.dataFilter;
			            if ( dataFilter )
			            {
				                dataFilter.addRules(
				                    {
					                        elements :
					                        {
						                            'cke:object' : function( element )
						                            {
							                                var attributes element.attributes,
							                                    classId attributes.classid && Stringattributes.classid ).toLowerCase();
							                                if ( !classId )
							                                {
								                                    // Look for the inner <embed>
								                                    for ( var ;
								 element.children.length ;
								 i++ )
								                                    {
									                                        if ( element.children].name == 'cke:embed' )
									                                        {
										                                            if ( !isFlashEmbedelement.children] ) )
										                                                return null;
										                                            return createFakeElementeditorelement );
										                                        }
									                                    }
								                                    return null;
								                                }
							                                return createFakeElementeditorelement );
							                            },
						                            'cke:embed' : function( element )
						                            {
							                                if ( !isFlashEmbedelement ) )
							                                    return null;
							                                return createFakeElementeditorelement );
							                            }
						                        }
					                    },
				                    5);
				            }
			        },
		        requires : [ 'fakeobjects' ]
		    });
	})();
CKEDITOR.tools.extendCKEDITOR.config,
{
	    /**
	     * Save as EMBED tag only. This tag is unrecommended.
	     * @type Boolean
	     * @default false
	     */
	    flashEmbedTagOnly false,
	    /**
	     * Add EMBED tag as alternative: &lt;
	object&gt&lt;
	embed&gt&lt;
	/embed&gt&lt;
	/object&gt
	     * @type Boolean
	     * @default false
	     */
	    flashAddEmbedTag true,
	    /**
	     * Use embedTagOnly and addEmbedTag values on edit.
	     * @type Boolean
	     * @default false
	     */
	    flashConvertOnEdit false
	} );





PHP Demo Source Code Index