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
/home/sportsfe.../httpdocs/wp-conte.../plugins/wpforms-.../includes/admin/builder/panels
File: class-revisions.php
<?php
[0] Fix | Delete
[1] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[2] Fix | Delete
exit;
[3] Fix | Delete
}
[4] Fix | Delete
[5] Fix | Delete
/**
[6] Fix | Delete
* Revisions management panel.
[7] Fix | Delete
*
[8] Fix | Delete
* @since 1.7.3
[9] Fix | Delete
*/
[10] Fix | Delete
class WPForms_Builder_Panel_Revisions extends WPForms_Builder_Panel {
[11] Fix | Delete
[12] Fix | Delete
/**
[13] Fix | Delete
* Panel title.
[14] Fix | Delete
*
[15] Fix | Delete
* @since 1.8.8
[16] Fix | Delete
*
[17] Fix | Delete
* @var string
[18] Fix | Delete
*/
[19] Fix | Delete
private $title;
[20] Fix | Delete
[21] Fix | Delete
/**
[22] Fix | Delete
* All systems go.
[23] Fix | Delete
*
[24] Fix | Delete
* @since 1.7.3
[25] Fix | Delete
*/
[26] Fix | Delete
public function init() {
[27] Fix | Delete
[28] Fix | Delete
// Define panel information.
[29] Fix | Delete
$this->name = esc_html__( 'Revisions', 'wpforms-lite' );
[30] Fix | Delete
$this->slug = 'revisions';
[31] Fix | Delete
$this->icon = 'fa-history';
[32] Fix | Delete
$this->order = 10;
[33] Fix | Delete
$this->sidebar = true;
[34] Fix | Delete
[35] Fix | Delete
$this->title = $this->form && $this->form->post_type === 'wpforms-template' ?
[36] Fix | Delete
__( 'Form Template Revisions', 'wpforms-lite' ) :
[37] Fix | Delete
__( 'Form Revisions', 'wpforms-lite' );
[38] Fix | Delete
[39] Fix | Delete
$this->hooks();
[40] Fix | Delete
}
[41] Fix | Delete
[42] Fix | Delete
/**
[43] Fix | Delete
* Hook into WordPress lifecycle.
[44] Fix | Delete
*
[45] Fix | Delete
* @since 1.7.3
[46] Fix | Delete
*/
[47] Fix | Delete
private function hooks() {
[48] Fix | Delete
[49] Fix | Delete
// Add a notice above all panels if revision is loaded.
[50] Fix | Delete
add_action( 'wpforms_builder_panels', [ $this, 'panel_notice' ], 100, 2 );
[51] Fix | Delete
}
[52] Fix | Delete
[53] Fix | Delete
/**
[54] Fix | Delete
* Primary panel button in the left panel navigation.
[55] Fix | Delete
*
[56] Fix | Delete
* @since 1.7.3
[57] Fix | Delete
*
[58] Fix | Delete
* @param mixed $form The form object.
[59] Fix | Delete
* @param string $view Current view/panel.
[60] Fix | Delete
*/
[61] Fix | Delete
public function button( $form, $view ) {
[62] Fix | Delete
[63] Fix | Delete
$classes = 'wpforms-panel-revisions-button';
[64] Fix | Delete
[65] Fix | Delete
if ( $view === $this->slug ) {
[66] Fix | Delete
$classes .= ' active';
[67] Fix | Delete
}
[68] Fix | Delete
[69] Fix | Delete
$badge = '';
[70] Fix | Delete
[71] Fix | Delete
if ( $this->form && ! wp_revisions_enabled( $this->form ) && ! wpforms()->get( 'revisions' )->panel_viewed() ) {
[72] Fix | Delete
$badge = '
[73] Fix | Delete
<span class="badge-exclamation">
[74] Fix | Delete
<svg width="4" height="10" fill="none">
[75] Fix | Delete
<path fill="#fff" fill-rule="evenodd" d="M3.5 8.1c0-.8-.7-1.5-1.5-1.5S.5 7.3.5 8.1 1.2 9.6 2 9.6 3.5 8.9 3.5 8ZM1 .9c-.3 0-.5.2-.4.4l.2 4.4c0 .2.2.3.4.3h1.6c.2 0 .3-.1.4-.3l.2-4.4c0-.2-.2-.4-.4-.4H1Z" clip-rule="evenodd"/>
[76] Fix | Delete
</svg>
[77] Fix | Delete
</span>';
[78] Fix | Delete
}
[79] Fix | Delete
[80] Fix | Delete
printf(
[81] Fix | Delete
'<div class="wpforms-panel-revisions-button-spacer"></div>
[82] Fix | Delete
<button class="%1$s" data-panel="%2$s" title="%6$s">
[83] Fix | Delete
%3$s
[84] Fix | Delete
<i class="fa %4$s"></i>
[85] Fix | Delete
<span class="screen-reader-text">%5$s</span>
[86] Fix | Delete
</button>',
[87] Fix | Delete
esc_attr( $classes ),
[88] Fix | Delete
esc_attr( $this->slug ),
[89] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[90] Fix | Delete
$badge,
[91] Fix | Delete
esc_attr( $this->icon ),
[92] Fix | Delete
esc_html( $this->name ),
[93] Fix | Delete
esc_html( $this->title )
[94] Fix | Delete
);
[95] Fix | Delete
}
[96] Fix | Delete
[97] Fix | Delete
/**
[98] Fix | Delete
* Output the Settings panel sidebar.
[99] Fix | Delete
*
[100] Fix | Delete
* @since 1.7.3
[101] Fix | Delete
*/
[102] Fix | Delete
public function panel_sidebar() {
[103] Fix | Delete
[104] Fix | Delete
// Sidebar contents are not valid unless we have a form.
[105] Fix | Delete
if ( ! $this->form ) {
[106] Fix | Delete
return;
[107] Fix | Delete
}
[108] Fix | Delete
[109] Fix | Delete
printf(
[110] Fix | Delete
'<div class="wpforms-revisions-header">
[111] Fix | Delete
<h3>%s</h3>
[112] Fix | Delete
<p>%s</p>
[113] Fix | Delete
</div>',
[114] Fix | Delete
esc_html( $this->title ),
[115] Fix | Delete
esc_html__( 'Select a revision to roll back to that version. All changes, including settings, will be reverted.', 'wpforms-lite' )
[116] Fix | Delete
);
[117] Fix | Delete
[118] Fix | Delete
// Render a list of form revisions, including current version. All data is safe, escaped in the template.
[119] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[120] Fix | Delete
echo wpforms()->get( 'revisions' )->render_revisions_list();
[121] Fix | Delete
[122] Fix | Delete
$revisions_to_keep = wp_revisions_to_keep( $this->form );
[123] Fix | Delete
[124] Fix | Delete
if ( $revisions_to_keep === 0 ) {
[125] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[126] Fix | Delete
echo wpforms_render( 'builder/revisions/notice-disabled' );
[127] Fix | Delete
}
[128] Fix | Delete
[129] Fix | Delete
if ( $revisions_to_keep > 0 ) {
[130] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[131] Fix | Delete
echo wpforms_render(
[132] Fix | Delete
'builder/revisions/notice-limited',
[133] Fix | Delete
[
[134] Fix | Delete
'revisions_to_keep' => $revisions_to_keep,
[135] Fix | Delete
],
[136] Fix | Delete
true
[137] Fix | Delete
);
[138] Fix | Delete
}
[139] Fix | Delete
}
[140] Fix | Delete
[141] Fix | Delete
/**
[142] Fix | Delete
* Output revision notice above the panels.
[143] Fix | Delete
*
[144] Fix | Delete
* @since 1.7.3
[145] Fix | Delete
*
[146] Fix | Delete
* @return void
[147] Fix | Delete
*/
[148] Fix | Delete
public function panel_notice() {
[149] Fix | Delete
[150] Fix | Delete
$revision = wpforms()->get( 'revisions' )->get_revision();
[151] Fix | Delete
[152] Fix | Delete
if ( ! $revision ) {
[153] Fix | Delete
return;
[154] Fix | Delete
}
[155] Fix | Delete
[156] Fix | Delete
$restore_link = sprintf(
[157] Fix | Delete
'<a href="%1$s">%2$s</a>',
[158] Fix | Delete
esc_url(
[159] Fix | Delete
wp_nonce_url(
[160] Fix | Delete
wpforms()->get( 'revisions' )->get_url(
[161] Fix | Delete
[
[162] Fix | Delete
'revision_id' => $revision->ID,
[163] Fix | Delete
'action' => 'restore_revision',
[164] Fix | Delete
]
[165] Fix | Delete
),
[166] Fix | Delete
'restore_revision',
[167] Fix | Delete
'wpforms_nonce'
[168] Fix | Delete
)
[169] Fix | Delete
),
[170] Fix | Delete
__( 'Restore this revision', 'wpforms-lite' )
[171] Fix | Delete
);
[172] Fix | Delete
[173] Fix | Delete
$back_link = sprintf(
[174] Fix | Delete
'<a href="%1$s">%2$s</a>',
[175] Fix | Delete
esc_url( wpforms()->get( 'revisions' )->get_url() ),
[176] Fix | Delete
__( 'go back to the current version', 'wpforms-lite' )
[177] Fix | Delete
);
[178] Fix | Delete
[179] Fix | Delete
$message = sprintf( /* translators: %1$s - revision date, %2$s - revision time, %3$s - "Restore this revision" link, %4$s - "go back to the current version" link. */
[180] Fix | Delete
__( 'You’re currently viewing a form revision from %1$s at %2$s. %3$s or %4$s.', 'wpforms-lite' ),
[181] Fix | Delete
wpforms()->get( 'revisions' )->get_formatted_datetime( $revision->post_modified_gmt ),
[182] Fix | Delete
wpforms()->get( 'revisions' )->get_formatted_datetime( $revision->post_modified_gmt, 'time' ),
[183] Fix | Delete
$restore_link,
[184] Fix | Delete
$back_link
[185] Fix | Delete
);
[186] Fix | Delete
[187] Fix | Delete
printf(
[188] Fix | Delete
'<div class="wpforms-revision-notice">
[189] Fix | Delete
<p><i class="fa fa-history"></i>%s</p>
[190] Fix | Delete
</div>',
[191] Fix | Delete
wp_kses(
[192] Fix | Delete
$message,
[193] Fix | Delete
[
[194] Fix | Delete
'a' => [
[195] Fix | Delete
'href' => [],
[196] Fix | Delete
],
[197] Fix | Delete
]
[198] Fix | Delete
)
[199] Fix | Delete
);
[200] Fix | Delete
}
[201] Fix | Delete
}
[202] Fix | Delete
[203] Fix | Delete
new WPForms_Builder_Panel_Revisions();
[204] Fix | Delete
[205] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function