Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-admin/js
File: customize-controls.js
} );
[4500] Fix | Delete
[4501] Fix | Delete
updateRadios = _.debounce( function() {
[4502] Fix | Delete
var x, y, radioInput, inputValue;
[4503] Fix | Delete
x = control.settings.x.get();
[4504] Fix | Delete
y = control.settings.y.get();
[4505] Fix | Delete
inputValue = String( x ) + ' ' + String( y );
[4506] Fix | Delete
radioInput = control.container.find( 'input[name="background-position"][value="' + inputValue + '"]' );
[4507] Fix | Delete
radioInput.trigger( 'click' );
[4508] Fix | Delete
} );
[4509] Fix | Delete
control.settings.x.bind( updateRadios );
[4510] Fix | Delete
control.settings.y.bind( updateRadios );
[4511] Fix | Delete
[4512] Fix | Delete
updateRadios(); // Set initial UI.
[4513] Fix | Delete
}
[4514] Fix | Delete
} );
[4515] Fix | Delete
[4516] Fix | Delete
/**
[4517] Fix | Delete
* A control for selecting and cropping an image.
[4518] Fix | Delete
*
[4519] Fix | Delete
* @class wp.customize.CroppedImageControl
[4520] Fix | Delete
* @augments wp.customize.MediaControl
[4521] Fix | Delete
*/
[4522] Fix | Delete
api.CroppedImageControl = api.MediaControl.extend(/** @lends wp.customize.CroppedImageControl.prototype */{
[4523] Fix | Delete
[4524] Fix | Delete
/**
[4525] Fix | Delete
* Open the media modal to the library state.
[4526] Fix | Delete
*/
[4527] Fix | Delete
openFrame: function( event ) {
[4528] Fix | Delete
if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
[4529] Fix | Delete
return;
[4530] Fix | Delete
}
[4531] Fix | Delete
[4532] Fix | Delete
this.initFrame();
[4533] Fix | Delete
this.frame.setState( 'library' ).open();
[4534] Fix | Delete
},
[4535] Fix | Delete
[4536] Fix | Delete
/**
[4537] Fix | Delete
* Create a media modal select frame, and store it so the instance can be reused when needed.
[4538] Fix | Delete
*/
[4539] Fix | Delete
initFrame: function() {
[4540] Fix | Delete
var l10n = _wpMediaViewsL10n;
[4541] Fix | Delete
[4542] Fix | Delete
this.frame = wp.media({
[4543] Fix | Delete
button: {
[4544] Fix | Delete
text: l10n.select,
[4545] Fix | Delete
close: false
[4546] Fix | Delete
},
[4547] Fix | Delete
states: [
[4548] Fix | Delete
new wp.media.controller.Library({
[4549] Fix | Delete
title: this.params.button_labels.frame_title,
[4550] Fix | Delete
library: wp.media.query({ type: 'image' }),
[4551] Fix | Delete
multiple: false,
[4552] Fix | Delete
date: false,
[4553] Fix | Delete
priority: 20,
[4554] Fix | Delete
suggestedWidth: this.params.width,
[4555] Fix | Delete
suggestedHeight: this.params.height
[4556] Fix | Delete
}),
[4557] Fix | Delete
new wp.media.controller.CustomizeImageCropper({
[4558] Fix | Delete
imgSelectOptions: this.calculateImageSelectOptions,
[4559] Fix | Delete
control: this
[4560] Fix | Delete
})
[4561] Fix | Delete
]
[4562] Fix | Delete
});
[4563] Fix | Delete
[4564] Fix | Delete
this.frame.on( 'select', this.onSelect, this );
[4565] Fix | Delete
this.frame.on( 'cropped', this.onCropped, this );
[4566] Fix | Delete
this.frame.on( 'skippedcrop', this.onSkippedCrop, this );
[4567] Fix | Delete
},
[4568] Fix | Delete
[4569] Fix | Delete
/**
[4570] Fix | Delete
* After an image is selected in the media modal, switch to the cropper
[4571] Fix | Delete
* state if the image isn't the right size.
[4572] Fix | Delete
*/
[4573] Fix | Delete
onSelect: function() {
[4574] Fix | Delete
var attachment = this.frame.state().get( 'selection' ).first().toJSON();
[4575] Fix | Delete
[4576] Fix | Delete
if ( this.params.width === attachment.width && this.params.height === attachment.height && ! this.params.flex_width && ! this.params.flex_height ) {
[4577] Fix | Delete
this.setImageFromAttachment( attachment );
[4578] Fix | Delete
this.frame.close();
[4579] Fix | Delete
} else {
[4580] Fix | Delete
this.frame.setState( 'cropper' );
[4581] Fix | Delete
}
[4582] Fix | Delete
},
[4583] Fix | Delete
[4584] Fix | Delete
/**
[4585] Fix | Delete
* After the image has been cropped, apply the cropped image data to the setting.
[4586] Fix | Delete
*
[4587] Fix | Delete
* @param {Object} croppedImage Cropped attachment data.
[4588] Fix | Delete
*/
[4589] Fix | Delete
onCropped: function( croppedImage ) {
[4590] Fix | Delete
this.setImageFromAttachment( croppedImage );
[4591] Fix | Delete
},
[4592] Fix | Delete
[4593] Fix | Delete
/**
[4594] Fix | Delete
* Returns a set of options, computed from the attached image data and
[4595] Fix | Delete
* control-specific data, to be fed to the imgAreaSelect plugin in
[4596] Fix | Delete
* wp.media.view.Cropper.
[4597] Fix | Delete
*
[4598] Fix | Delete
* @param {wp.media.model.Attachment} attachment
[4599] Fix | Delete
* @param {wp.media.controller.Cropper} controller
[4600] Fix | Delete
* @return {Object} Options
[4601] Fix | Delete
*/
[4602] Fix | Delete
calculateImageSelectOptions: function( attachment, controller ) {
[4603] Fix | Delete
var control = controller.get( 'control' ),
[4604] Fix | Delete
flexWidth = !! parseInt( control.params.flex_width, 10 ),
[4605] Fix | Delete
flexHeight = !! parseInt( control.params.flex_height, 10 ),
[4606] Fix | Delete
realWidth = attachment.get( 'width' ),
[4607] Fix | Delete
realHeight = attachment.get( 'height' ),
[4608] Fix | Delete
xInit = parseInt( control.params.width, 10 ),
[4609] Fix | Delete
yInit = parseInt( control.params.height, 10 ),
[4610] Fix | Delete
ratio = xInit / yInit,
[4611] Fix | Delete
xImg = xInit,
[4612] Fix | Delete
yImg = yInit,
[4613] Fix | Delete
x1, y1, imgSelectOptions;
[4614] Fix | Delete
[4615] Fix | Delete
controller.set( 'canSkipCrop', ! control.mustBeCropped( flexWidth, flexHeight, xInit, yInit, realWidth, realHeight ) );
[4616] Fix | Delete
[4617] Fix | Delete
if ( realWidth / realHeight > ratio ) {
[4618] Fix | Delete
yInit = realHeight;
[4619] Fix | Delete
xInit = yInit * ratio;
[4620] Fix | Delete
} else {
[4621] Fix | Delete
xInit = realWidth;
[4622] Fix | Delete
yInit = xInit / ratio;
[4623] Fix | Delete
}
[4624] Fix | Delete
[4625] Fix | Delete
x1 = ( realWidth - xInit ) / 2;
[4626] Fix | Delete
y1 = ( realHeight - yInit ) / 2;
[4627] Fix | Delete
[4628] Fix | Delete
imgSelectOptions = {
[4629] Fix | Delete
handles: true,
[4630] Fix | Delete
keys: true,
[4631] Fix | Delete
instance: true,
[4632] Fix | Delete
persistent: true,
[4633] Fix | Delete
imageWidth: realWidth,
[4634] Fix | Delete
imageHeight: realHeight,
[4635] Fix | Delete
minWidth: xImg > xInit ? xInit : xImg,
[4636] Fix | Delete
minHeight: yImg > yInit ? yInit : yImg,
[4637] Fix | Delete
x1: x1,
[4638] Fix | Delete
y1: y1,
[4639] Fix | Delete
x2: xInit + x1,
[4640] Fix | Delete
y2: yInit + y1
[4641] Fix | Delete
};
[4642] Fix | Delete
[4643] Fix | Delete
if ( flexHeight === false && flexWidth === false ) {
[4644] Fix | Delete
imgSelectOptions.aspectRatio = xInit + ':' + yInit;
[4645] Fix | Delete
}
[4646] Fix | Delete
[4647] Fix | Delete
if ( true === flexHeight ) {
[4648] Fix | Delete
delete imgSelectOptions.minHeight;
[4649] Fix | Delete
imgSelectOptions.maxWidth = realWidth;
[4650] Fix | Delete
}
[4651] Fix | Delete
[4652] Fix | Delete
if ( true === flexWidth ) {
[4653] Fix | Delete
delete imgSelectOptions.minWidth;
[4654] Fix | Delete
imgSelectOptions.maxHeight = realHeight;
[4655] Fix | Delete
}
[4656] Fix | Delete
[4657] Fix | Delete
return imgSelectOptions;
[4658] Fix | Delete
},
[4659] Fix | Delete
[4660] Fix | Delete
/**
[4661] Fix | Delete
* Return whether the image must be cropped, based on required dimensions.
[4662] Fix | Delete
*
[4663] Fix | Delete
* @param {boolean} flexW
[4664] Fix | Delete
* @param {boolean} flexH
[4665] Fix | Delete
* @param {number} dstW
[4666] Fix | Delete
* @param {number} dstH
[4667] Fix | Delete
* @param {number} imgW
[4668] Fix | Delete
* @param {number} imgH
[4669] Fix | Delete
* @return {boolean}
[4670] Fix | Delete
*/
[4671] Fix | Delete
mustBeCropped: function( flexW, flexH, dstW, dstH, imgW, imgH ) {
[4672] Fix | Delete
if ( true === flexW && true === flexH ) {
[4673] Fix | Delete
return false;
[4674] Fix | Delete
}
[4675] Fix | Delete
[4676] Fix | Delete
if ( true === flexW && dstH === imgH ) {
[4677] Fix | Delete
return false;
[4678] Fix | Delete
}
[4679] Fix | Delete
[4680] Fix | Delete
if ( true === flexH && dstW === imgW ) {
[4681] Fix | Delete
return false;
[4682] Fix | Delete
}
[4683] Fix | Delete
[4684] Fix | Delete
if ( dstW === imgW && dstH === imgH ) {
[4685] Fix | Delete
return false;
[4686] Fix | Delete
}
[4687] Fix | Delete
[4688] Fix | Delete
if ( imgW <= dstW ) {
[4689] Fix | Delete
return false;
[4690] Fix | Delete
}
[4691] Fix | Delete
[4692] Fix | Delete
return true;
[4693] Fix | Delete
},
[4694] Fix | Delete
[4695] Fix | Delete
/**
[4696] Fix | Delete
* If cropping was skipped, apply the image data directly to the setting.
[4697] Fix | Delete
*/
[4698] Fix | Delete
onSkippedCrop: function() {
[4699] Fix | Delete
var attachment = this.frame.state().get( 'selection' ).first().toJSON();
[4700] Fix | Delete
this.setImageFromAttachment( attachment );
[4701] Fix | Delete
},
[4702] Fix | Delete
[4703] Fix | Delete
/**
[4704] Fix | Delete
* Updates the setting and re-renders the control UI.
[4705] Fix | Delete
*
[4706] Fix | Delete
* @param {Object} attachment
[4707] Fix | Delete
*/
[4708] Fix | Delete
setImageFromAttachment: function( attachment ) {
[4709] Fix | Delete
this.params.attachment = attachment;
[4710] Fix | Delete
[4711] Fix | Delete
// Set the Customizer setting; the callback takes care of rendering.
[4712] Fix | Delete
this.setting( attachment.id );
[4713] Fix | Delete
}
[4714] Fix | Delete
});
[4715] Fix | Delete
[4716] Fix | Delete
/**
[4717] Fix | Delete
* A control for selecting and cropping Site Icons.
[4718] Fix | Delete
*
[4719] Fix | Delete
* @class wp.customize.SiteIconControl
[4720] Fix | Delete
* @augments wp.customize.CroppedImageControl
[4721] Fix | Delete
*/
[4722] Fix | Delete
api.SiteIconControl = api.CroppedImageControl.extend(/** @lends wp.customize.SiteIconControl.prototype */{
[4723] Fix | Delete
[4724] Fix | Delete
/**
[4725] Fix | Delete
* Create a media modal select frame, and store it so the instance can be reused when needed.
[4726] Fix | Delete
*/
[4727] Fix | Delete
initFrame: function() {
[4728] Fix | Delete
var l10n = _wpMediaViewsL10n;
[4729] Fix | Delete
[4730] Fix | Delete
this.frame = wp.media({
[4731] Fix | Delete
button: {
[4732] Fix | Delete
text: l10n.select,
[4733] Fix | Delete
close: false
[4734] Fix | Delete
},
[4735] Fix | Delete
states: [
[4736] Fix | Delete
new wp.media.controller.Library({
[4737] Fix | Delete
title: this.params.button_labels.frame_title,
[4738] Fix | Delete
library: wp.media.query({ type: 'image' }),
[4739] Fix | Delete
multiple: false,
[4740] Fix | Delete
date: false,
[4741] Fix | Delete
priority: 20,
[4742] Fix | Delete
suggestedWidth: this.params.width,
[4743] Fix | Delete
suggestedHeight: this.params.height
[4744] Fix | Delete
}),
[4745] Fix | Delete
new wp.media.controller.SiteIconCropper({
[4746] Fix | Delete
imgSelectOptions: this.calculateImageSelectOptions,
[4747] Fix | Delete
control: this
[4748] Fix | Delete
})
[4749] Fix | Delete
]
[4750] Fix | Delete
});
[4751] Fix | Delete
[4752] Fix | Delete
this.frame.on( 'select', this.onSelect, this );
[4753] Fix | Delete
this.frame.on( 'cropped', this.onCropped, this );
[4754] Fix | Delete
this.frame.on( 'skippedcrop', this.onSkippedCrop, this );
[4755] Fix | Delete
},
[4756] Fix | Delete
[4757] Fix | Delete
/**
[4758] Fix | Delete
* After an image is selected in the media modal, switch to the cropper
[4759] Fix | Delete
* state if the image isn't the right size.
[4760] Fix | Delete
*/
[4761] Fix | Delete
onSelect: function() {
[4762] Fix | Delete
var attachment = this.frame.state().get( 'selection' ).first().toJSON(),
[4763] Fix | Delete
controller = this;
[4764] Fix | Delete
[4765] Fix | Delete
if ( this.params.width === attachment.width && this.params.height === attachment.height && ! this.params.flex_width && ! this.params.flex_height ) {
[4766] Fix | Delete
wp.ajax.post( 'crop-image', {
[4767] Fix | Delete
nonce: attachment.nonces.edit,
[4768] Fix | Delete
id: attachment.id,
[4769] Fix | Delete
context: 'site-icon',
[4770] Fix | Delete
cropDetails: {
[4771] Fix | Delete
x1: 0,
[4772] Fix | Delete
y1: 0,
[4773] Fix | Delete
width: this.params.width,
[4774] Fix | Delete
height: this.params.height,
[4775] Fix | Delete
dst_width: this.params.width,
[4776] Fix | Delete
dst_height: this.params.height
[4777] Fix | Delete
}
[4778] Fix | Delete
} ).done( function( croppedImage ) {
[4779] Fix | Delete
controller.setImageFromAttachment( croppedImage );
[4780] Fix | Delete
controller.frame.close();
[4781] Fix | Delete
} ).fail( function() {
[4782] Fix | Delete
controller.frame.trigger('content:error:crop');
[4783] Fix | Delete
} );
[4784] Fix | Delete
} else {
[4785] Fix | Delete
this.frame.setState( 'cropper' );
[4786] Fix | Delete
}
[4787] Fix | Delete
},
[4788] Fix | Delete
[4789] Fix | Delete
/**
[4790] Fix | Delete
* Updates the setting and re-renders the control UI.
[4791] Fix | Delete
*
[4792] Fix | Delete
* @param {Object} attachment
[4793] Fix | Delete
*/
[4794] Fix | Delete
setImageFromAttachment: function( attachment ) {
[4795] Fix | Delete
var sizes = [ 'site_icon-32', 'thumbnail', 'full' ], link,
[4796] Fix | Delete
icon;
[4797] Fix | Delete
[4798] Fix | Delete
_.each( sizes, function( size ) {
[4799] Fix | Delete
if ( ! icon && ! _.isUndefined ( attachment.sizes[ size ] ) ) {
[4800] Fix | Delete
icon = attachment.sizes[ size ];
[4801] Fix | Delete
}
[4802] Fix | Delete
} );
[4803] Fix | Delete
[4804] Fix | Delete
this.params.attachment = attachment;
[4805] Fix | Delete
[4806] Fix | Delete
// Set the Customizer setting; the callback takes care of rendering.
[4807] Fix | Delete
this.setting( attachment.id );
[4808] Fix | Delete
[4809] Fix | Delete
if ( ! icon ) {
[4810] Fix | Delete
return;
[4811] Fix | Delete
}
[4812] Fix | Delete
[4813] Fix | Delete
// Update the icon in-browser.
[4814] Fix | Delete
link = $( 'link[rel="icon"][sizes="32x32"]' );
[4815] Fix | Delete
link.attr( 'href', icon.url );
[4816] Fix | Delete
},
[4817] Fix | Delete
[4818] Fix | Delete
/**
[4819] Fix | Delete
* Called when the "Remove" link is clicked. Empties the setting.
[4820] Fix | Delete
*
[4821] Fix | Delete
* @param {Object} event jQuery Event object
[4822] Fix | Delete
*/
[4823] Fix | Delete
removeFile: function( event ) {
[4824] Fix | Delete
if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
[4825] Fix | Delete
return;
[4826] Fix | Delete
}
[4827] Fix | Delete
event.preventDefault();
[4828] Fix | Delete
[4829] Fix | Delete
this.params.attachment = {};
[4830] Fix | Delete
this.setting( '' );
[4831] Fix | Delete
this.renderContent(); // Not bound to setting change when emptying.
[4832] Fix | Delete
$( 'link[rel="icon"][sizes="32x32"]' ).attr( 'href', '/favicon.ico' ); // Set to default.
[4833] Fix | Delete
}
[4834] Fix | Delete
});
[4835] Fix | Delete
[4836] Fix | Delete
/**
[4837] Fix | Delete
* @class wp.customize.HeaderControl
[4838] Fix | Delete
* @augments wp.customize.Control
[4839] Fix | Delete
*/
[4840] Fix | Delete
api.HeaderControl = api.Control.extend(/** @lends wp.customize.HeaderControl.prototype */{
[4841] Fix | Delete
ready: function() {
[4842] Fix | Delete
this.btnRemove = $('#customize-control-header_image .actions .remove');
[4843] Fix | Delete
this.btnNew = $('#customize-control-header_image .actions .new');
[4844] Fix | Delete
[4845] Fix | Delete
_.bindAll(this, 'openMedia', 'removeImage');
[4846] Fix | Delete
[4847] Fix | Delete
this.btnNew.on( 'click', this.openMedia );
[4848] Fix | Delete
this.btnRemove.on( 'click', this.removeImage );
[4849] Fix | Delete
[4850] Fix | Delete
api.HeaderTool.currentHeader = this.getInitialHeaderImage();
[4851] Fix | Delete
[4852] Fix | Delete
new api.HeaderTool.CurrentView({
[4853] Fix | Delete
model: api.HeaderTool.currentHeader,
[4854] Fix | Delete
el: '#customize-control-header_image .current .container'
[4855] Fix | Delete
});
[4856] Fix | Delete
[4857] Fix | Delete
new api.HeaderTool.ChoiceListView({
[4858] Fix | Delete
collection: api.HeaderTool.UploadsList = new api.HeaderTool.ChoiceList(),
[4859] Fix | Delete
el: '#customize-control-header_image .choices .uploaded .list'
[4860] Fix | Delete
});
[4861] Fix | Delete
[4862] Fix | Delete
new api.HeaderTool.ChoiceListView({
[4863] Fix | Delete
collection: api.HeaderTool.DefaultsList = new api.HeaderTool.DefaultsList(),
[4864] Fix | Delete
el: '#customize-control-header_image .choices .default .list'
[4865] Fix | Delete
});
[4866] Fix | Delete
[4867] Fix | Delete
api.HeaderTool.combinedList = api.HeaderTool.CombinedList = new api.HeaderTool.CombinedList([
[4868] Fix | Delete
api.HeaderTool.UploadsList,
[4869] Fix | Delete
api.HeaderTool.DefaultsList
[4870] Fix | Delete
]);
[4871] Fix | Delete
[4872] Fix | Delete
// Ensure custom-header-crop Ajax requests bootstrap the Customizer to activate the previewed theme.
[4873] Fix | Delete
wp.media.controller.Cropper.prototype.defaults.doCropArgs.wp_customize = 'on';
[4874] Fix | Delete
wp.media.controller.Cropper.prototype.defaults.doCropArgs.customize_theme = api.settings.theme.stylesheet;
[4875] Fix | Delete
},
[4876] Fix | Delete
[4877] Fix | Delete
/**
[4878] Fix | Delete
* Returns a new instance of api.HeaderTool.ImageModel based on the currently
[4879] Fix | Delete
* saved header image (if any).
[4880] Fix | Delete
*
[4881] Fix | Delete
* @since 4.2.0
[4882] Fix | Delete
*
[4883] Fix | Delete
* @return {Object} Options
[4884] Fix | Delete
*/
[4885] Fix | Delete
getInitialHeaderImage: function() {
[4886] Fix | Delete
if ( ! api.get().header_image || ! api.get().header_image_data || _.contains( [ 'remove-header', 'random-default-image', 'random-uploaded-image' ], api.get().header_image ) ) {
[4887] Fix | Delete
return new api.HeaderTool.ImageModel();
[4888] Fix | Delete
}
[4889] Fix | Delete
[4890] Fix | Delete
// Get the matching uploaded image object.
[4891] Fix | Delete
var currentHeaderObject = _.find( _wpCustomizeHeader.uploads, function( imageObj ) {
[4892] Fix | Delete
return ( imageObj.attachment_id === api.get().header_image_data.attachment_id );
[4893] Fix | Delete
} );
[4894] Fix | Delete
// Fall back to raw current header image.
[4895] Fix | Delete
if ( ! currentHeaderObject ) {
[4896] Fix | Delete
currentHeaderObject = {
[4897] Fix | Delete
url: api.get().header_image,
[4898] Fix | Delete
thumbnail_url: api.get().header_image,
[4899] Fix | Delete
attachment_id: api.get().header_image_data.attachment_id
[4900] Fix | Delete
};
[4901] Fix | Delete
}
[4902] Fix | Delete
[4903] Fix | Delete
return new api.HeaderTool.ImageModel({
[4904] Fix | Delete
header: currentHeaderObject,
[4905] Fix | Delete
choice: currentHeaderObject.url.split( '/' ).pop()
[4906] Fix | Delete
});
[4907] Fix | Delete
},
[4908] Fix | Delete
[4909] Fix | Delete
/**
[4910] Fix | Delete
* Returns a set of options, computed from the attached image data and
[4911] Fix | Delete
* theme-specific data, to be fed to the imgAreaSelect plugin in
[4912] Fix | Delete
* wp.media.view.Cropper.
[4913] Fix | Delete
*
[4914] Fix | Delete
* @param {wp.media.model.Attachment} attachment
[4915] Fix | Delete
* @param {wp.media.controller.Cropper} controller
[4916] Fix | Delete
* @return {Object} Options
[4917] Fix | Delete
*/
[4918] Fix | Delete
calculateImageSelectOptions: function(attachment, controller) {
[4919] Fix | Delete
var xInit = parseInt(_wpCustomizeHeader.data.width, 10),
[4920] Fix | Delete
yInit = parseInt(_wpCustomizeHeader.data.height, 10),
[4921] Fix | Delete
flexWidth = !! parseInt(_wpCustomizeHeader.data['flex-width'], 10),
[4922] Fix | Delete
flexHeight = !! parseInt(_wpCustomizeHeader.data['flex-height'], 10),
[4923] Fix | Delete
ratio, xImg, yImg, realHeight, realWidth,
[4924] Fix | Delete
imgSelectOptions;
[4925] Fix | Delete
[4926] Fix | Delete
realWidth = attachment.get('width');
[4927] Fix | Delete
realHeight = attachment.get('height');
[4928] Fix | Delete
[4929] Fix | Delete
this.headerImage = new api.HeaderTool.ImageModel();
[4930] Fix | Delete
this.headerImage.set({
[4931] Fix | Delete
themeWidth: xInit,
[4932] Fix | Delete
themeHeight: yInit,
[4933] Fix | Delete
themeFlexWidth: flexWidth,
[4934] Fix | Delete
themeFlexHeight: flexHeight,
[4935] Fix | Delete
imageWidth: realWidth,
[4936] Fix | Delete
imageHeight: realHeight
[4937] Fix | Delete
});
[4938] Fix | Delete
[4939] Fix | Delete
controller.set( 'canSkipCrop', ! this.headerImage.shouldBeCropped() );
[4940] Fix | Delete
[4941] Fix | Delete
ratio = xInit / yInit;
[4942] Fix | Delete
xImg = realWidth;
[4943] Fix | Delete
yImg = realHeight;
[4944] Fix | Delete
[4945] Fix | Delete
if ( xImg / yImg > ratio ) {
[4946] Fix | Delete
yInit = yImg;
[4947] Fix | Delete
xInit = yInit * ratio;
[4948] Fix | Delete
} else {
[4949] Fix | Delete
xInit = xImg;
[4950] Fix | Delete
yInit = xInit / ratio;
[4951] Fix | Delete
}
[4952] Fix | Delete
[4953] Fix | Delete
imgSelectOptions = {
[4954] Fix | Delete
handles: true,
[4955] Fix | Delete
keys: true,
[4956] Fix | Delete
instance: true,
[4957] Fix | Delete
persistent: true,
[4958] Fix | Delete
imageWidth: realWidth,
[4959] Fix | Delete
imageHeight: realHeight,
[4960] Fix | Delete
x1: 0,
[4961] Fix | Delete
y1: 0,
[4962] Fix | Delete
x2: xInit,
[4963] Fix | Delete
y2: yInit
[4964] Fix | Delete
};
[4965] Fix | Delete
[4966] Fix | Delete
if (flexHeight === false && flexWidth === false) {
[4967] Fix | Delete
imgSelectOptions.aspectRatio = xInit + ':' + yInit;
[4968] Fix | Delete
}
[4969] Fix | Delete
if (flexHeight === false ) {
[4970] Fix | Delete
imgSelectOptions.maxHeight = yInit;
[4971] Fix | Delete
}
[4972] Fix | Delete
if (flexWidth === false ) {
[4973] Fix | Delete
imgSelectOptions.maxWidth = xInit;
[4974] Fix | Delete
}
[4975] Fix | Delete
[4976] Fix | Delete
return imgSelectOptions;
[4977] Fix | Delete
},
[4978] Fix | Delete
[4979] Fix | Delete
/**
[4980] Fix | Delete
* Sets up and opens the Media Manager in order to select an image.
[4981] Fix | Delete
* Depending on both the size of the image and the properties of the
[4982] Fix | Delete
* current theme, a cropping step after selection may be required or
[4983] Fix | Delete
* skippable.
[4984] Fix | Delete
*
[4985] Fix | Delete
* @param {event} event
[4986] Fix | Delete
*/
[4987] Fix | Delete
openMedia: function(event) {
[4988] Fix | Delete
var l10n = _wpMediaViewsL10n;
[4989] Fix | Delete
[4990] Fix | Delete
event.preventDefault();
[4991] Fix | Delete
[4992] Fix | Delete
this.frame = wp.media({
[4993] Fix | Delete
button: {
[4994] Fix | Delete
text: l10n.selectAndCrop,
[4995] Fix | Delete
close: false
[4996] Fix | Delete
},
[4997] Fix | Delete
states: [
[4998] Fix | Delete
new wp.media.controller.Library({
[4999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function