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/clone/wp-conte.../plugins/wordpres.../admin
File: class-yoast-form.php
$val = $this->get_field_value( $variable, '' );
[500] Fix | Delete
[501] Fix | Delete
if ( isset( $attr['type'] ) && $attr['type'] === 'url' ) {
[502] Fix | Delete
$val = urldecode( $val );
[503] Fix | Delete
$type = 'url';
[504] Fix | Delete
}
[505] Fix | Delete
[506] Fix | Delete
echo '<div class="yoast-field-group__title">';
[507] Fix | Delete
$this->label(
[508] Fix | Delete
$label,
[509] Fix | Delete
[
[510] Fix | Delete
'for' => $variable,
[511] Fix | Delete
'class' => $attr['class'] . '--label',
[512] Fix | Delete
]
[513] Fix | Delete
);
[514] Fix | Delete
[515] Fix | Delete
if ( isset( $attr['extra_content'] ) ) {
[516] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput -- Reason: may contain HTML that should not be escaped.
[517] Fix | Delete
echo $attr['extra_content'];
[518] Fix | Delete
}
[519] Fix | Delete
echo '</div>';
[520] Fix | Delete
[521] Fix | Delete
$has_input_error = Yoast_Input_Validation::yoast_form_control_has_error( $variable );
[522] Fix | Delete
$aria_attributes = Yoast_Input_Validation::get_the_aria_invalid_attribute( $variable );
[523] Fix | Delete
[524] Fix | Delete
Yoast_Input_Validation::set_error_descriptions();
[525] Fix | Delete
$aria_attributes .= Yoast_Input_Validation::get_the_aria_describedby_attribute( $variable );
[526] Fix | Delete
[527] Fix | Delete
// phpcs:disable WordPress.Security.EscapeOutput -- Reason: output is properly escaped or hardcoded.
[528] Fix | Delete
printf(
[529] Fix | Delete
'<input type="%1$s" name="%2$s" id="%3$s" class="%4$s"%5$s%6$s%7$s value="%8$s"%9$s>',
[530] Fix | Delete
$type,
[531] Fix | Delete
esc_attr( $this->option_name . '[' . $variable . ']' ),
[532] Fix | Delete
esc_attr( $variable ),
[533] Fix | Delete
esc_attr( $attr['class'] ),
[534] Fix | Delete
isset( $attr['placeholder'] ) ? ' placeholder="' . esc_attr( $attr['placeholder'] ) . '"' : '',
[535] Fix | Delete
isset( $attr['autocomplete'] ) ? ' autocomplete="' . esc_attr( $attr['autocomplete'] ) . '"' : '',
[536] Fix | Delete
$aria_attributes,
[537] Fix | Delete
esc_attr( $val ),
[538] Fix | Delete
$this->get_disabled_attribute( $variable, $attr )
[539] Fix | Delete
);
[540] Fix | Delete
// phpcs:enable
[541] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput -- Reason: output is properly escaped.
[542] Fix | Delete
echo Yoast_Input_Validation::get_the_error_description( $variable );
[543] Fix | Delete
}
[544] Fix | Delete
[545] Fix | Delete
/**
[546] Fix | Delete
* Create a textarea.
[547] Fix | Delete
*
[548] Fix | Delete
* @since 2.0
[549] Fix | Delete
*
[550] Fix | Delete
* @param string $variable The variable within the option to create the textarea for.
[551] Fix | Delete
* @param string $label The label to show for the variable.
[552] Fix | Delete
* @param string|array $attr The CSS class or an array of attributes to assign to the textarea.
[553] Fix | Delete
*
[554] Fix | Delete
* @return void
[555] Fix | Delete
*/
[556] Fix | Delete
public function textarea( $variable, $label, $attr = [] ) {
[557] Fix | Delete
if ( ! is_array( $attr ) ) {
[558] Fix | Delete
$attr = [
[559] Fix | Delete
'class' => $attr,
[560] Fix | Delete
];
[561] Fix | Delete
}
[562] Fix | Delete
[563] Fix | Delete
$defaults = [
[564] Fix | Delete
'cols' => '',
[565] Fix | Delete
'rows' => '',
[566] Fix | Delete
'class' => '',
[567] Fix | Delete
'disabled' => false,
[568] Fix | Delete
];
[569] Fix | Delete
$attr = wp_parse_args( $attr, $defaults );
[570] Fix | Delete
$val = $this->get_field_value( $variable, '' );
[571] Fix | Delete
[572] Fix | Delete
$this->label(
[573] Fix | Delete
$label,
[574] Fix | Delete
[
[575] Fix | Delete
'for' => $variable,
[576] Fix | Delete
'class' => 'textinput',
[577] Fix | Delete
]
[578] Fix | Delete
);
[579] Fix | Delete
[580] Fix | Delete
$disabled_attribute = $this->get_disabled_attribute( $variable, $attr );
[581] Fix | Delete
[582] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput -- Reason: $disabled_attribute output is hardcoded and all other output is properly escaped.
[583] Fix | Delete
echo '<textarea cols="' . esc_attr( $attr['cols'] ) . '" rows="' . esc_attr( $attr['rows'] ) . '" class="' . esc_attr( 'textinput ' . $attr['class'] ) . '" id="' . esc_attr( $variable ) . '" name="' . esc_attr( $this->option_name . '[' . $variable . ']' ), '"', $disabled_attribute, '>' . esc_textarea( $val ) . '</textarea><br class="clear" />';
[584] Fix | Delete
}
[585] Fix | Delete
[586] Fix | Delete
/**
[587] Fix | Delete
* Create a hidden input field.
[588] Fix | Delete
*
[589] Fix | Delete
* @since 2.0
[590] Fix | Delete
*
[591] Fix | Delete
* @param string $variable The variable within the option to create the hidden input for.
[592] Fix | Delete
* @param string $id The ID of the element.
[593] Fix | Delete
* @param mixed $val Optional. The value to set in the input field. Otherwise the value from the options will be used.
[594] Fix | Delete
*
[595] Fix | Delete
* @return void
[596] Fix | Delete
*/
[597] Fix | Delete
public function hidden( $variable, $id = '', $val = null ) {
[598] Fix | Delete
if ( is_null( $val ) ) {
[599] Fix | Delete
$val = $this->get_field_value( $variable, '' );
[600] Fix | Delete
}
[601] Fix | Delete
[602] Fix | Delete
if ( is_bool( $val ) ) {
[603] Fix | Delete
$val = ( $val === true ) ? 'true' : 'false';
[604] Fix | Delete
}
[605] Fix | Delete
[606] Fix | Delete
if ( $id === '' ) {
[607] Fix | Delete
$id = 'hidden_' . $variable;
[608] Fix | Delete
}
[609] Fix | Delete
[610] Fix | Delete
echo '<input type="hidden" id="' . esc_attr( $id ) . '" name="' . esc_attr( $this->option_name . '[' . $variable . ']' ), '" value="' . esc_attr( $val ) . '"/>';
[611] Fix | Delete
}
[612] Fix | Delete
[613] Fix | Delete
/**
[614] Fix | Delete
* Create a Select Box.
[615] Fix | Delete
*
[616] Fix | Delete
* @since 2.0
[617] Fix | Delete
*
[618] Fix | Delete
* @param string $variable The variable within the option to create the select for.
[619] Fix | Delete
* @param string $label The label to show for the variable.
[620] Fix | Delete
* @param array $select_options The select options to choose from.
[621] Fix | Delete
* @param string $styled The select style. Use 'styled' to get a styled select. Default 'unstyled'.
[622] Fix | Delete
* @param bool $show_label Whether or not to show the label, if not, it will be applied as an aria-label.
[623] Fix | Delete
* @param array $attr Extra attributes to add to the select.
[624] Fix | Delete
* @param string $help Optional. Inline Help HTML that will be printed after the label. Default is empty.
[625] Fix | Delete
*
[626] Fix | Delete
* @return void
[627] Fix | Delete
*/
[628] Fix | Delete
public function select( $variable, $label, array $select_options, $styled = 'unstyled', $show_label = true, $attr = [], $help = '' ) {
[629] Fix | Delete
if ( empty( $select_options ) ) {
[630] Fix | Delete
return;
[631] Fix | Delete
}
[632] Fix | Delete
[633] Fix | Delete
$defaults = [
[634] Fix | Delete
'disabled' => false,
[635] Fix | Delete
];
[636] Fix | Delete
$attr = wp_parse_args( $attr, $defaults );
[637] Fix | Delete
[638] Fix | Delete
if ( $show_label ) {
[639] Fix | Delete
$this->label(
[640] Fix | Delete
$label,
[641] Fix | Delete
[
[642] Fix | Delete
'for' => $variable,
[643] Fix | Delete
'class' => 'select',
[644] Fix | Delete
]
[645] Fix | Delete
);
[646] Fix | Delete
echo $help; // phpcs:ignore WordPress.Security.EscapeOutput -- Reason: The help contains HTML.
[647] Fix | Delete
}
[648] Fix | Delete
[649] Fix | Delete
$select_name = esc_attr( $this->option_name ) . '[' . esc_attr( $variable ) . ']';
[650] Fix | Delete
$active_option = $this->get_field_value( $variable, '' );
[651] Fix | Delete
$wrapper_start_tag = '';
[652] Fix | Delete
$wrapper_end_tag = '';
[653] Fix | Delete
[654] Fix | Delete
$select = new Yoast_Input_Select( $variable, $select_name, $select_options, $active_option );
[655] Fix | Delete
$select->add_attribute( 'class', 'select' );
[656] Fix | Delete
[657] Fix | Delete
if ( $this->is_control_disabled( $variable )
[658] Fix | Delete
|| ( isset( $attr['disabled'] ) && $attr['disabled'] ) ) {
[659] Fix | Delete
$select->add_attribute( 'disabled', 'disabled' );
[660] Fix | Delete
}
[661] Fix | Delete
[662] Fix | Delete
if ( ! $show_label ) {
[663] Fix | Delete
$select->add_attribute( 'aria-label', $label );
[664] Fix | Delete
}
[665] Fix | Delete
[666] Fix | Delete
if ( $styled === 'styled' ) {
[667] Fix | Delete
$wrapper_start_tag = '<span class="yoast-styled-select">';
[668] Fix | Delete
$wrapper_end_tag = '</span>';
[669] Fix | Delete
}
[670] Fix | Delete
[671] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[672] Fix | Delete
echo $wrapper_start_tag;
[673] Fix | Delete
$select->output_html();
[674] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[675] Fix | Delete
echo $wrapper_end_tag;
[676] Fix | Delete
echo '<br class="clear"/>';
[677] Fix | Delete
}
[678] Fix | Delete
[679] Fix | Delete
/**
[680] Fix | Delete
* Create a File upload field.
[681] Fix | Delete
*
[682] Fix | Delete
* @since 2.0
[683] Fix | Delete
*
[684] Fix | Delete
* @param string $variable The variable within the option to create the file upload field for.
[685] Fix | Delete
* @param string $label The label to show for the variable.
[686] Fix | Delete
* @param array $attr Extra attributes to add to the file upload input.
[687] Fix | Delete
*
[688] Fix | Delete
* @return void
[689] Fix | Delete
*/
[690] Fix | Delete
public function file_upload( $variable, $label, $attr = [] ) {
[691] Fix | Delete
$val = $this->get_field_value( $variable, '' );
[692] Fix | Delete
if ( is_array( $val ) ) {
[693] Fix | Delete
$val = $val['url'];
[694] Fix | Delete
}
[695] Fix | Delete
[696] Fix | Delete
$defaults = [
[697] Fix | Delete
'disabled' => false,
[698] Fix | Delete
];
[699] Fix | Delete
$attr = wp_parse_args( $attr, $defaults );
[700] Fix | Delete
[701] Fix | Delete
$var_esc = esc_attr( $variable );
[702] Fix | Delete
$this->label(
[703] Fix | Delete
$label,
[704] Fix | Delete
[
[705] Fix | Delete
'for' => $variable,
[706] Fix | Delete
'class' => 'select',
[707] Fix | Delete
]
[708] Fix | Delete
);
[709] Fix | Delete
[710] Fix | Delete
$disabled_attribute = $this->get_disabled_attribute( $variable, $attr );
[711] Fix | Delete
[712] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput -- Reason: $disabled_attribute output is hardcoded and all other output is properly escaped.
[713] Fix | Delete
echo '<input type="file" value="' . esc_attr( $val ) . '" class="textinput" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" id="' . $var_esc . '"', $disabled_attribute, '/>';
[714] Fix | Delete
[715] Fix | Delete
// Need to save separate array items in hidden inputs, because empty file inputs type will be deleted by settings API.
[716] Fix | Delete
if ( ! empty( $val ) ) {
[717] Fix | Delete
$this->hidden( 'file', $this->option_name . '_file' );
[718] Fix | Delete
$this->hidden( 'url', $this->option_name . '_url' );
[719] Fix | Delete
$this->hidden( 'type', $this->option_name . '_type' );
[720] Fix | Delete
}
[721] Fix | Delete
echo '<br class="clear"/>';
[722] Fix | Delete
}
[723] Fix | Delete
[724] Fix | Delete
/**
[725] Fix | Delete
* Media input.
[726] Fix | Delete
*
[727] Fix | Delete
* @since 2.0
[728] Fix | Delete
*
[729] Fix | Delete
* @param string $variable Option name.
[730] Fix | Delete
* @param string $label Label message.
[731] Fix | Delete
* @param array $attr Extra attributes to add to the media input and buttons.
[732] Fix | Delete
*
[733] Fix | Delete
* @return void
[734] Fix | Delete
*/
[735] Fix | Delete
public function media_input( $variable, $label, $attr = [] ) {
[736] Fix | Delete
$val = $this->get_field_value( $variable, '' );
[737] Fix | Delete
$id_value = $this->get_field_value( $variable . '_id', '' );
[738] Fix | Delete
[739] Fix | Delete
$var_esc = esc_attr( $variable );
[740] Fix | Delete
[741] Fix | Delete
$defaults = [
[742] Fix | Delete
'disabled' => false,
[743] Fix | Delete
];
[744] Fix | Delete
$attr = wp_parse_args( $attr, $defaults );
[745] Fix | Delete
[746] Fix | Delete
$this->label(
[747] Fix | Delete
$label,
[748] Fix | Delete
[
[749] Fix | Delete
'for' => 'wpseo_' . $variable,
[750] Fix | Delete
'class' => 'select',
[751] Fix | Delete
]
[752] Fix | Delete
);
[753] Fix | Delete
[754] Fix | Delete
$id_field_id = 'wpseo_' . $var_esc . '_id';
[755] Fix | Delete
[756] Fix | Delete
$disabled_attribute = $this->get_disabled_attribute( $variable, $attr );
[757] Fix | Delete
[758] Fix | Delete
echo '<span>';
[759] Fix | Delete
echo '<input',
[760] Fix | Delete
' class="textinput"',
[761] Fix | Delete
' id="wpseo_', $var_esc, '"', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[762] Fix | Delete
' type="text" size="36"',
[763] Fix | Delete
' name="', esc_attr( $this->option_name ), '[', $var_esc, ']"', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[764] Fix | Delete
' value="', esc_attr( $val ), '"',
[765] Fix | Delete
' readonly="readonly"',
[766] Fix | Delete
' /> ';
[767] Fix | Delete
echo '<input',
[768] Fix | Delete
' id="wpseo_', $var_esc, '_button"', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[769] Fix | Delete
' class="wpseo_image_upload_button button"',
[770] Fix | Delete
' type="button"',
[771] Fix | Delete
' value="', esc_attr__( 'Upload Image', 'wordpress-seo' ), '"',
[772] Fix | Delete
' data-target-id="', esc_attr( $id_field_id ), '"',
[773] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput -- Reason: $disabled_attribute output is hardcoded.
[774] Fix | Delete
$disabled_attribute,
[775] Fix | Delete
' /> ';
[776] Fix | Delete
echo '<input',
[777] Fix | Delete
' class="wpseo_image_remove_button button"',
[778] Fix | Delete
' type="button"',
[779] Fix | Delete
' value="', esc_attr__( 'Clear Image', 'wordpress-seo' ), '"',
[780] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput -- Reason: $disabled_attribute output is hardcoded.
[781] Fix | Delete
$disabled_attribute,
[782] Fix | Delete
' />';
[783] Fix | Delete
echo '<input',
[784] Fix | Delete
' type="hidden"',
[785] Fix | Delete
' id="', esc_attr( $id_field_id ), '"',
[786] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[787] Fix | Delete
' name="', esc_attr( $this->option_name ), '[', $var_esc, '_id]"',
[788] Fix | Delete
' value="', esc_attr( $id_value ), '"',
[789] Fix | Delete
' />';
[790] Fix | Delete
echo '</span>';
[791] Fix | Delete
echo '<br class="clear"/>';
[792] Fix | Delete
}
[793] Fix | Delete
[794] Fix | Delete
/**
[795] Fix | Delete
* Create a Radio input field.
[796] Fix | Delete
*
[797] Fix | Delete
* @since 2.0
[798] Fix | Delete
*
[799] Fix | Delete
* @param string $variable The variable within the option to create the radio button for.
[800] Fix | Delete
* @param array $values The radio options to choose from.
[801] Fix | Delete
* @param string $legend Optional. The legend to show for the field set, if any.
[802] Fix | Delete
* @param array $legend_attr Optional. The attributes for the legend, if any.
[803] Fix | Delete
* @param array $attr Extra attributes to add to the radio button.
[804] Fix | Delete
*
[805] Fix | Delete
* @return void
[806] Fix | Delete
*/
[807] Fix | Delete
public function radio( $variable, $values, $legend = '', $legend_attr = [], $attr = [] ) {
[808] Fix | Delete
if ( ! is_array( $values ) || $values === [] ) {
[809] Fix | Delete
return;
[810] Fix | Delete
}
[811] Fix | Delete
$val = $this->get_field_value( $variable, false );
[812] Fix | Delete
[813] Fix | Delete
$var_esc = esc_attr( $variable );
[814] Fix | Delete
[815] Fix | Delete
$defaults = [
[816] Fix | Delete
'disabled' => false,
[817] Fix | Delete
];
[818] Fix | Delete
$attr = wp_parse_args( $attr, $defaults );
[819] Fix | Delete
[820] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[821] Fix | Delete
echo '<fieldset class="yoast-form-fieldset wpseo_radio_block" id="' . $var_esc . '">';
[822] Fix | Delete
[823] Fix | Delete
if ( is_string( $legend ) && $legend !== '' ) {
[824] Fix | Delete
[825] Fix | Delete
$legend_defaults = [
[826] Fix | Delete
'id' => '',
[827] Fix | Delete
'class' => 'radiogroup',
[828] Fix | Delete
];
[829] Fix | Delete
[830] Fix | Delete
$legend_attr = wp_parse_args( $legend_attr, $legend_defaults );
[831] Fix | Delete
[832] Fix | Delete
$this->legend( $legend, $legend_attr );
[833] Fix | Delete
}
[834] Fix | Delete
[835] Fix | Delete
foreach ( $values as $key => $value ) {
[836] Fix | Delete
$label = $value;
[837] Fix | Delete
$aria_label = '';
[838] Fix | Delete
[839] Fix | Delete
if ( is_array( $value ) ) {
[840] Fix | Delete
$label = ( $value['label'] ?? '' );
[841] Fix | Delete
$aria_label = ( $value['aria_label'] ?? '' );
[842] Fix | Delete
}
[843] Fix | Delete
[844] Fix | Delete
$key_esc = esc_attr( $key );
[845] Fix | Delete
[846] Fix | Delete
$disabled_attribute = $this->get_disabled_attribute( $variable, $attr );
[847] Fix | Delete
[848] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput -- Reason: $disabled_attribute output is hardcoded and all other output is properly escaped.
[849] Fix | Delete
echo '<input type="radio" class="radio" id="' . $var_esc . '-' . $key_esc . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $val, $key_esc, false ) . $disabled_attribute . ' />';
[850] Fix | Delete
$this->label(
[851] Fix | Delete
$label,
[852] Fix | Delete
[
[853] Fix | Delete
'for' => $var_esc . '-' . $key_esc,
[854] Fix | Delete
'class' => 'radio',
[855] Fix | Delete
'aria_label' => $aria_label,
[856] Fix | Delete
]
[857] Fix | Delete
);
[858] Fix | Delete
}
[859] Fix | Delete
echo '</fieldset>';
[860] Fix | Delete
}
[861] Fix | Delete
[862] Fix | Delete
/**
[863] Fix | Delete
* Create a toggle switch input field using two radio buttons.
[864] Fix | Delete
*
[865] Fix | Delete
* @since 3.1
[866] Fix | Delete
*
[867] Fix | Delete
* @param string $variable The variable within the option to create the radio buttons for.
[868] Fix | Delete
* @param array $values Associative array of on/off keys and their values to be used as
[869] Fix | Delete
* the label elements text for the radio buttons. Optionally, each
[870] Fix | Delete
* value can be an array of visible label text and screen reader text.
[871] Fix | Delete
* @param string $label The visual label for the radio buttons group, used as the fieldset legend.
[872] Fix | Delete
* @param string $help Inline Help that will be printed out before the visible toggles text.
[873] Fix | Delete
* @param array $attr Extra attributes to add to the toggle switch.
[874] Fix | Delete
*
[875] Fix | Delete
* @return void
[876] Fix | Delete
*/
[877] Fix | Delete
public function toggle_switch( $variable, $values, $label, $help = '', $attr = [] ) {
[878] Fix | Delete
if ( ! is_array( $values ) || $values === [] ) {
[879] Fix | Delete
return;
[880] Fix | Delete
}
[881] Fix | Delete
[882] Fix | Delete
$defaults = [
[883] Fix | Delete
'disabled' => false,
[884] Fix | Delete
];
[885] Fix | Delete
$attr = wp_parse_args( $attr, $defaults );
[886] Fix | Delete
[887] Fix | Delete
if ( isset( $attr['preserve_disabled_value'] ) && $attr['preserve_disabled_value'] ) {
[888] Fix | Delete
$this->hidden( $variable );
[889] Fix | Delete
$variable .= '_disabled';
[890] Fix | Delete
}
[891] Fix | Delete
[892] Fix | Delete
$val = $this->get_field_value( $variable, false );
[893] Fix | Delete
if ( $val === true ) {
[894] Fix | Delete
$val = 'on';
[895] Fix | Delete
}
[896] Fix | Delete
if ( $val === false ) {
[897] Fix | Delete
$val = 'off';
[898] Fix | Delete
}
[899] Fix | Delete
[900] Fix | Delete
$help_class = ! empty( $help ) ? ' switch-container__has-help' : '';
[901] Fix | Delete
[902] Fix | Delete
$has_premium_upsell = ( isset( $attr['show_premium_upsell'] ) && $attr['show_premium_upsell'] && isset( $attr['premium_upsell_url'] ) && ! empty( $attr['premium_upsell_url'] ) );
[903] Fix | Delete
$upsell_class = ( $has_premium_upsell ) ? ' premium-upsell' : '';
[904] Fix | Delete
[905] Fix | Delete
$var_esc = esc_attr( $variable );
[906] Fix | Delete
[907] Fix | Delete
printf( '<div class="%s">', esc_attr( 'switch-container' . $help_class . $upsell_class ) );
[908] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[909] Fix | Delete
echo '<fieldset id="', $var_esc, '" class="fieldset-switch-toggle"><legend>', $label, '</legend>', $help;
[910] Fix | Delete
[911] Fix | Delete
// Show disabled note if attribute does not exists or does exist and is set to true.
[912] Fix | Delete
if ( ! isset( $attr['show_disabled_note'] ) || ( $attr['show_disabled_note'] === true ) ) {
[913] Fix | Delete
if ( isset( $attr['note_when_disabled'] ) ) {
[914] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[915] Fix | Delete
echo $this->get_disabled_note( $variable, $attr['note_when_disabled'] );
[916] Fix | Delete
}
[917] Fix | Delete
else {
[918] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[919] Fix | Delete
echo $this->get_disabled_note( $variable );
[920] Fix | Delete
}
[921] Fix | Delete
}
[922] Fix | Delete
[923] Fix | Delete
echo '<div class="switch-toggle switch-candy switch-yoast-seo">';
[924] Fix | Delete
[925] Fix | Delete
foreach ( $values as $key => $value ) {
[926] Fix | Delete
$screen_reader_text_html = '';
[927] Fix | Delete
[928] Fix | Delete
if ( is_array( $value ) ) {
[929] Fix | Delete
$screen_reader_text = $value['screen_reader_text'];
[930] Fix | Delete
$screen_reader_text_html = '<span class="screen-reader-text"> ' . esc_html( $screen_reader_text ) . '</span>';
[931] Fix | Delete
$value = $value['text'];
[932] Fix | Delete
}
[933] Fix | Delete
[934] Fix | Delete
$key_esc = esc_attr( $key );
[935] Fix | Delete
$for = $var_esc . '-' . $key_esc;
[936] Fix | Delete
$disabled_attribute = $this->get_disabled_attribute( $variable, $attr );
[937] Fix | Delete
[938] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput -- Reason: $disabled_attribute output is hardcoded and all other output is properly escaped.
[939] Fix | Delete
echo '<input type="radio" id="' . $for . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $val, $key_esc, false ) . $disabled_attribute . ' />',
[940] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- output escaped before.
[941] Fix | Delete
'<label for="', $for, '">', esc_html( $value ), $screen_reader_text_html, '</label>';
[942] Fix | Delete
}
[943] Fix | Delete
[944] Fix | Delete
$upsell_button = '';
[945] Fix | Delete
if ( $has_premium_upsell ) {
[946] Fix | Delete
$upsell_button = '<a class="yoast-button yoast-button--buy yoast-button--small" data-action="load-nfd-ctb" data-ctb-id="f6a84663-465f-4cb5-8ba5-f7a6d72224b2" href='
[947] Fix | Delete
. esc_url( $attr['premium_upsell_url'] ) . ' target="_blank">'
[948] Fix | Delete
. esc_html__( 'Unlock with Premium!', 'wordpress-seo' )
[949] Fix | Delete
/* translators: Hidden accessibility text. */
[950] Fix | Delete
. '<span class="screen-reader-text">' . esc_html__( '(Opens in a new browser tab)', 'wordpress-seo' ) . '</span>'
[951] Fix | Delete
. '<span aria-hidden="true" class="yoast-button--buy__caret"></span></a>';
[952] Fix | Delete
}
[953] Fix | Delete
[954] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- All variable output is escaped above.
[955] Fix | Delete
echo '<a></a></div></fieldset><div class="clear"></div>' . $upsell_button . '</div>' . PHP_EOL . PHP_EOL;
[956] Fix | Delete
}
[957] Fix | Delete
[958] Fix | Delete
/**
[959] Fix | Delete
* Creates a toggle switch to define whether an indexable should be indexed or not.
[960] Fix | Delete
*
[961] Fix | Delete
* @param string $variable The variable within the option to create the radio buttons for.
[962] Fix | Delete
* @param string $label The visual label for the radio buttons group, used as the fieldset legend.
[963] Fix | Delete
* @param string $help Inline Help that will be printed out before the visible toggles text.
[964] Fix | Delete
* @param array $attr Extra attributes to add to the index switch.
[965] Fix | Delete
*
[966] Fix | Delete
* @return void
[967] Fix | Delete
*/
[968] Fix | Delete
public function index_switch( $variable, $label, $help = '', $attr = [] ) {
[969] Fix | Delete
$defaults = [
[970] Fix | Delete
'disabled' => false,
[971] Fix | Delete
];
[972] Fix | Delete
$attr = wp_parse_args( $attr, $defaults );
[973] Fix | Delete
[974] Fix | Delete
$index_switch_values = [
[975] Fix | Delete
'off' => __( 'On', 'wordpress-seo' ),
[976] Fix | Delete
'on' => __( 'Off', 'wordpress-seo' ),
[977] Fix | Delete
];
[978] Fix | Delete
[979] Fix | Delete
$is_disabled = ( isset( $attr['disabled'] ) && $attr['disabled'] );
[980] Fix | Delete
[981] Fix | Delete
$this->toggle_switch(
[982] Fix | Delete
$variable,
[983] Fix | Delete
$index_switch_values,
[984] Fix | Delete
sprintf(
[985] Fix | Delete
/* translators: %s expands to an indexable object's name, like a post type or taxonomy */
[986] Fix | Delete
esc_html__( 'Show %s in search results?', 'wordpress-seo' ),
[987] Fix | Delete
$label
[988] Fix | Delete
),
[989] Fix | Delete
$help,
[990] Fix | Delete
[ 'disabled' => $is_disabled ]
[991] Fix | Delete
);
[992] Fix | Delete
}
[993] Fix | Delete
[994] Fix | Delete
/**
[995] Fix | Delete
* Creates a toggle switch to show hide certain options.
[996] Fix | Delete
*
[997] Fix | Delete
* @param string $variable The variable within the option to create the radio buttons for.
[998] Fix | Delete
* @param string $label The visual label for the radio buttons group, used as the fieldset legend.
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function