Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/hostinge.../includes/Admin
File: PluginSettings.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Avoid possibility to get file accessed directly
[2] Fix | Delete
*/
[3] Fix | Delete
[4] Fix | Delete
namespace Hostinger\Admin;
[5] Fix | Delete
[6] Fix | Delete
use Hostinger\Admin\Options\PluginOptions;
[7] Fix | Delete
[8] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[9] Fix | Delete
die;
[10] Fix | Delete
}
[11] Fix | Delete
[12] Fix | Delete
/**
[13] Fix | Delete
* Class for handling Settings
[14] Fix | Delete
*/
[15] Fix | Delete
class PluginSettings {
[16] Fix | Delete
[17] Fix | Delete
/**
[18] Fix | Delete
* @var PluginOptions
[19] Fix | Delete
*/
[20] Fix | Delete
private ?PluginOptions $plugin_options = null;
[21] Fix | Delete
[22] Fix | Delete
/**
[23] Fix | Delete
* @param PluginOptions|null $plugin_options
[24] Fix | Delete
*/
[25] Fix | Delete
public function __construct( PluginOptions $plugin_options = null ) {
[26] Fix | Delete
if ( ! empty( $plugin_options ) ) {
[27] Fix | Delete
$this->plugin_options = $plugin_options;
[28] Fix | Delete
}
[29] Fix | Delete
}
[30] Fix | Delete
[31] Fix | Delete
/**
[32] Fix | Delete
* Return plugin settings
[33] Fix | Delete
*
[34] Fix | Delete
* @return PluginOptions
[35] Fix | Delete
*/
[36] Fix | Delete
public function get_plugin_settings(): PluginOptions {
[37] Fix | Delete
[38] Fix | Delete
if ( ! empty( $this->plugin_options ) ) {
[39] Fix | Delete
$settings = $this->plugin_options;
[40] Fix | Delete
} else {
[41] Fix | Delete
$settings = get_option(
[42] Fix | Delete
HOSTINGER_PLUGIN_SETTINGS_OPTION,
[43] Fix | Delete
array()
[44] Fix | Delete
);
[45] Fix | Delete
[46] Fix | Delete
$settings = new PluginOptions( $settings );
[47] Fix | Delete
}
[48] Fix | Delete
[49] Fix | Delete
return $settings;
[50] Fix | Delete
}
[51] Fix | Delete
[52] Fix | Delete
/**
[53] Fix | Delete
* @param PluginOptions $plugin_options plugin settings.
[54] Fix | Delete
*
[55] Fix | Delete
* @return PluginOptions
[56] Fix | Delete
*/
[57] Fix | Delete
public function save_plugin_settings( PluginOptions $plugin_options ): PluginOptions {
[58] Fix | Delete
$existing_settings = $this->get_plugin_settings();
[59] Fix | Delete
[60] Fix | Delete
$update = update_option( HOSTINGER_PLUGIN_SETTINGS_OPTION, $plugin_options->to_array(), false );
[61] Fix | Delete
[62] Fix | Delete
return ! empty( $update ) ? $plugin_options : $existing_settings;
[63] Fix | Delete
}
[64] Fix | Delete
}
[65] Fix | Delete
[66] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function