| Software: Apache/2.4.18 (Ubuntu). PHP/7.0.33-0ubuntu0.16.04.16 uname -a: Linux digifus 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/antonellaServer/assets/grocery_crud/texteditor/ckeditor/_source/plugins/fakeobjects/   drwxr-xr-x | |
| Viewing file: Select action/file-type: /*
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
(function()
{
	var cssStyle = CKEDITOR.htmlParser.cssStyle,
			cssLength = CKEDITOR.tools.cssLength;
	var cssLengthRegex = /^((?:\d*(?:\.\d+))|(?:\d+))(.*)?$/i;
	/*
	 * Replacing the former CSS length value with the later one, with
	 * adjustment to the length  unit.
	 */
	function replaceCssLength( length1, length2 )
	{
		var parts1 = cssLengthRegex.exec( length1 ),
				parts2 = cssLengthRegex.exec( length2 );
		// Omit pixel length unit when necessary,
		// e.g. replaceCssLength( 10, '20px' ) -> 20
		if ( parts1 )
		{
			if ( !parts1[ 2 ] && parts2[ 2 ] == 'px' )
				return parts2[ 1 ];
			if ( parts1[ 2 ] == 'px' && !parts2[ 2 ] )
				return parts2[ 1 ] + 'px';
		}
		return length2;
	}
	var htmlFilterRules =
	{
		elements :
		{
			$ : function( element )
			{
				var attributes = element.attributes,
					realHtml = attributes && attributes[ 'data-cke-realelement' ],
					realFragment = realHtml && new CKEDITOR.htmlParser.fragment.fromHtml( decodeURIComponent( realHtml ) ),
					realElement = realFragment && realFragment.children[ 0 ];
				// Width/height in the fake object are subjected to clone into the real element.
				if ( realElement && element.attributes[ 'data-cke-resizable' ] )
				{
					var styles = new cssStyle( element ).rules,
						realAttrs = realElement.attributes,
						width = styles.width,
						height = styles.height;
					width && ( realAttrs.width = replaceCssLength( realAttrs.width, width ) );
					height && ( realAttrs.height = replaceCssLength( realAttrs.height, height ) );
				}
				return realElement;
			}
		}
	};
	CKEDITOR.plugins.add( 'fakeobjects',
	{
		requires : [ 'htmlwriter' ],
		afterInit : function( editor )
		{
			var dataProcessor = editor.dataProcessor,
				htmlFilter = dataProcessor && dataProcessor.htmlFilter;
			if ( htmlFilter )
				htmlFilter.addRules( htmlFilterRules );
		}
	});
	CKEDITOR.editor.prototype.createFakeElement = function( realElement, className, realElementType, isResizable )
	{
		var lang = this.lang.fakeobjects,
			label = lang[ realElementType ] || lang.unknown;
		var attributes =
		{
			'class' : className,
			src : CKEDITOR.getUrl( 'images/spacer.gif' ),
			'data-cke-realelement' : encodeURIComponent( realElement.getOuterHtml() ),
			'data-cke-real-node-type' : realElement.type,
			alt : label,
			title : label,
			align : realElement.getAttribute( 'align' ) || ''
		};
		if ( realElementType )
			attributes[ 'data-cke-real-element-type' ] = realElementType;
		if ( isResizable )
		{
			attributes[ 'data-cke-resizable' ] = isResizable;
			var fakeStyle = new cssStyle();
			var width = realElement.getAttribute( 'width' ),
				height = realElement.getAttribute( 'height' );
			width && ( fakeStyle.rules.width = cssLength( width ) );
			height && ( fakeStyle.rules.height = cssLength( height ) );
			fakeStyle.populate( attributes );
		}
		return this.document.createElement( 'img', { attributes : attributes } );
	};
	CKEDITOR.editor.prototype.createFakeParserElement = function( realElement, className, realElementType, isResizable )
	{
		var lang = this.lang.fakeobjects,
			label = lang[ realElementType ] || lang.unknown,
			html;
		var writer = new CKEDITOR.htmlParser.basicWriter();
		realElement.writeHtml( writer );
		html = writer.getHtml();
		var attributes =
		{
			'class' : className,
			src : CKEDITOR.getUrl( 'images/spacer.gif' ),
			'data-cke-realelement' : encodeURIComponent( html ),
			'data-cke-real-node-type' : realElement.type,
			alt : label,
			title : label,
			align : realElement.attributes.align || ''
		};
		if ( realElementType )
			attributes[ 'data-cke-real-element-type' ] = realElementType;
		if ( isResizable )
		{
			attributes[ 'data-cke-resizable' ] = isResizable;
			var realAttrs = realElement.attributes,
				fakeStyle = new cssStyle();
			var width = realAttrs.width,
				height = realAttrs.height;
			width != undefined && ( fakeStyle.rules.width =  cssLength( width ) );
			height != undefined && ( fakeStyle.rules.height = cssLength ( height ) );
			fakeStyle.populate( attributes );
		}
		return new CKEDITOR.htmlParser.element( 'img', attributes );
	};
	CKEDITOR.editor.prototype.restoreRealElement = function( fakeElement )
	{
		if ( fakeElement.data( 'cke-real-node-type' ) != CKEDITOR.NODE_ELEMENT )
			return null;
		var element = CKEDITOR.dom.element.createFromHtml(
			decodeURIComponent( fakeElement.data( 'cke-realelement' ) ),
			this.document );
		if ( fakeElement.data( 'cke-resizable') )
		{
			var width = fakeElement.getStyle( 'width' ),
				height = fakeElement.getStyle( 'height' );
			width && element.setAttribute( 'width', replaceCssLength( element.getAttribute( 'width' ), width ) );
			height && element.setAttribute( 'height', replaceCssLength( element.getAttribute( 'height' ), height ) );
		}
		return element;
	};
})();
 | 
| :: Command execute :: | |
| --[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0047 ]-- |