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/popup-ma.../classes/Admin
File: Settings.php
'disable_shortcode_ui' => [
[500] Fix | Delete
'type' => 'checkbox',
[501] Fix | Delete
'label' => __( 'Disable the Popup Maker shortcode button', 'popup-maker' ),
[502] Fix | Delete
],
[503] Fix | Delete
'disable_tips' => [
[504] Fix | Delete
'type' => 'checkbox',
[505] Fix | Delete
'label' => __( 'Disable Popup Maker occasionally showing random tips to improve your popups.', 'popup-maker' ),
[506] Fix | Delete
],
[507] Fix | Delete
'disable_notices' => [
[508] Fix | Delete
'type' => 'checkbox',
[509] Fix | Delete
'label' => __( 'Disable Popup Maker occasionally showing community notices such as security alerts, new features or sales on our extensions.', 'popup-maker' ),
[510] Fix | Delete
],
[511] Fix | Delete
'complete_uninstall' => [
[512] Fix | Delete
'type' => 'checkbox',
[513] Fix | Delete
'label' => __( 'Delete all Popup Maker data on deactivation', 'popup-maker' ),
[514] Fix | Delete
'desc' => __( 'Check this to completely uninstall Popup Maker.', 'popup-maker' ),
[515] Fix | Delete
'priority' => 1000,
[516] Fix | Delete
],
[517] Fix | Delete
],
[518] Fix | Delete
'assets' => [
[519] Fix | Delete
'disable_google_font_loading' => [
[520] Fix | Delete
'type' => 'checkbox',
[521] Fix | Delete
'label' => __( "Don't Load Google Fonts", 'popup-maker' ),
[522] Fix | Delete
'desc' => __( 'Check this disable loading of google fonts, useful if the fonts you chose are already loaded with your theme.', 'popup-maker' ),
[523] Fix | Delete
],
[524] Fix | Delete
'disable_popup_maker_core_styles' => [
[525] Fix | Delete
'type' => 'checkbox',
[526] Fix | Delete
'label' => __( 'Don\'t load Popup Maker core stylesheet.', 'popup-maker' ),
[527] Fix | Delete
'desc' => __( 'Check this if you have copied the Popup Maker core styles to your own stylesheet or are using custom styles.', 'popup-maker' ),
[528] Fix | Delete
],
[529] Fix | Delete
'disable_popup_theme_styles' => [
[530] Fix | Delete
'type' => 'checkbox',
[531] Fix | Delete
'label' => __( 'Don\'t load popup theme styles to the head.', 'popup-maker' ),
[532] Fix | Delete
'desc' => __( 'Check this if you have copied the popup theme styles to your own stylesheet or are using custom styles.', 'popup-maker' ),
[533] Fix | Delete
],
[534] Fix | Delete
'output_pum_styles' => [
[535] Fix | Delete
'id' => 'output_pum_styles',
[536] Fix | Delete
'type' => 'html',
[537] Fix | Delete
'content' => self::field_pum_styles(),
[538] Fix | Delete
],
[539] Fix | Delete
],
[540] Fix | Delete
],
[541] Fix | Delete
]
[542] Fix | Delete
);
[543] Fix | Delete
[544] Fix | Delete
$fields = apply_filters( 'pum_settings_fields', $fields );
[545] Fix | Delete
[546] Fix | Delete
$fields = PUM_Admin_Helpers::parse_tab_fields(
[547] Fix | Delete
$fields,
[548] Fix | Delete
[
[549] Fix | Delete
'has_subtabs' => true,
[550] Fix | Delete
'name' => 'pum_settings[%s]',
[551] Fix | Delete
]
[552] Fix | Delete
);
[553] Fix | Delete
}
[554] Fix | Delete
[555] Fix | Delete
return $fields;
[556] Fix | Delete
}
[557] Fix | Delete
[558] Fix | Delete
/**
[559] Fix | Delete
* @return string
[560] Fix | Delete
*/
[561] Fix | Delete
public static function field_pum_styles() {
[562] Fix | Delete
$core_styles = file_get_contents( Popup_Maker::$DIR . 'assets/css/pum-site' . ( is_rtl() ? '-rtl' : '' ) . PUM_Site_Assets::$suffix . '.css' );
[563] Fix | Delete
[564] Fix | Delete
$user_styles = PUM_AssetCache::generate_font_imports() . PUM_AssetCache::generate_popup_theme_styles() . PUM_AssetCache::generate_popup_styles();
[565] Fix | Delete
[566] Fix | Delete
ob_start();
[567] Fix | Delete
[568] Fix | Delete
?>
[569] Fix | Delete
<button type="button" id="show_pum_styles" onclick="jQuery('#pum_style_output').slideDown();jQuery(this).hide();"><?php _e( 'Show Popup Maker CSS', 'popup-maker' ); ?></button>
[570] Fix | Delete
<p class="pum-desc desc"><?php __( "Use this to quickly copy Popup Maker's CSS to your own stylesheet.", 'popup-maker' ); ?></p>
[571] Fix | Delete
[572] Fix | Delete
<div id="pum_style_output" style="display:none;">
[573] Fix | Delete
<label for="pum_core_styles"><?php _e( 'Core Styles', 'popup-maker' ); ?></label> <br />
[574] Fix | Delete
[575] Fix | Delete
<textarea id="pum_core_styles" wrap="off" style="white-space: pre; width: 100%;" readonly="readonly"><?php echo $core_styles; ?></textarea>
[576] Fix | Delete
[577] Fix | Delete
<br /> <br />
[578] Fix | Delete
[579] Fix | Delete
<label for="pum_generated_styles"><?php _e( 'Generated Popup & Popup Theme Styles', 'popup-maker' ); ?></label> <br />
[580] Fix | Delete
[581] Fix | Delete
<textarea id="pum_generated_styles" wrap="off" style="white-space: pre; width: 100%; min-height: 200px;" readonly="readonly"><?php echo $user_styles; ?></textarea>
[582] Fix | Delete
</div>
[583] Fix | Delete
[584] Fix | Delete
<?php
[585] Fix | Delete
[586] Fix | Delete
return ob_get_clean();
[587] Fix | Delete
}
[588] Fix | Delete
[589] Fix | Delete
[590] Fix | Delete
/**
[591] Fix | Delete
* @return array
[592] Fix | Delete
*/
[593] Fix | Delete
public static function user_role_options() {
[594] Fix | Delete
global $wp_roles;
[595] Fix | Delete
[596] Fix | Delete
$options = [];
[597] Fix | Delete
foreach ( $wp_roles->roles as $role => $labels ) {
[598] Fix | Delete
$options[ $role ] = $labels['name'];
[599] Fix | Delete
}
[600] Fix | Delete
[601] Fix | Delete
return $options;
[602] Fix | Delete
}
[603] Fix | Delete
[604] Fix | Delete
/**
[605] Fix | Delete
* Render settings page with tabs.
[606] Fix | Delete
*/
[607] Fix | Delete
public static function page() {
[608] Fix | Delete
[609] Fix | Delete
$settings = PUM_Utils_Options::get_all();
[610] Fix | Delete
[611] Fix | Delete
if ( empty( $settings ) ) {
[612] Fix | Delete
$settings = self::defaults();
[613] Fix | Delete
}
[614] Fix | Delete
[615] Fix | Delete
?>
[616] Fix | Delete
[617] Fix | Delete
<div class="wrap">
[618] Fix | Delete
[619] Fix | Delete
<form id="pum-settings" method="post" action="">
[620] Fix | Delete
[621] Fix | Delete
<?php wp_nonce_field( basename( __FILE__ ), 'pum_settings_nonce' ); ?>
[622] Fix | Delete
<h1><?php _e( 'Popup Maker Settings', 'popup-maker' ); ?></h1>
[623] Fix | Delete
<div id="pum-settings-container" class="pum-settings-container">
[624] Fix | Delete
<div class="pum-no-js" style="padding: 0 12px;">
[625] Fix | Delete
<p><?php printf( __( 'If you are seeing this, the page is still loading or there are Javascript errors on this page. %1$sView troubleshooting guide%2$s', 'popup-maker' ), '<a href="https://docs.wppopupmaker.com/article/373-checking-for-javascript-errors" target="_blank">', '</a>' ); ?></p>
[626] Fix | Delete
</div>
[627] Fix | Delete
</div>
[628] Fix | Delete
[629] Fix | Delete
<script type="text/javascript">
[630] Fix | Delete
window.pum_settings_editor =
[631] Fix | Delete
<?php
[632] Fix | Delete
echo PUM_Utils_Array::safe_json_encode(
[633] Fix | Delete
apply_filters(
[634] Fix | Delete
'pum_settings_editor_args',
[635] Fix | Delete
[
[636] Fix | Delete
'form_args' => [
[637] Fix | Delete
'id' => 'pum-settings',
[638] Fix | Delete
'tabs' => self::tabs(),
[639] Fix | Delete
'sections' => self::sections(),
[640] Fix | Delete
'fields' => self::fields(),
[641] Fix | Delete
'maintabs' => [
[642] Fix | Delete
'meta' => [
[643] Fix | Delete
'data-min-height' => 0,
[644] Fix | Delete
],
[645] Fix | Delete
],
[646] Fix | Delete
],
[647] Fix | Delete
'active_tab' => self::get_active_tab(),
[648] Fix | Delete
'active_section' => self::get_active_section(),
[649] Fix | Delete
'current_values' => self::parse_values( $settings ),
[650] Fix | Delete
]
[651] Fix | Delete
)
[652] Fix | Delete
);
[653] Fix | Delete
?>
[654] Fix | Delete
;
[655] Fix | Delete
</script>
[656] Fix | Delete
[657] Fix | Delete
<button class="button-primary bottom" style="margin-left: 156px;"><?php _e( 'Save', 'popup-maker' ); ?></button>
[658] Fix | Delete
[659] Fix | Delete
</form>
[660] Fix | Delete
[661] Fix | Delete
</div>
[662] Fix | Delete
[663] Fix | Delete
<?php
[664] Fix | Delete
}
[665] Fix | Delete
[666] Fix | Delete
/**
[667] Fix | Delete
* @return array
[668] Fix | Delete
*/
[669] Fix | Delete
public static function defaults() {
[670] Fix | Delete
$tabs = self::fields();
[671] Fix | Delete
[672] Fix | Delete
$defaults = [];
[673] Fix | Delete
[674] Fix | Delete
foreach ( $tabs as $section_id => $fields ) {
[675] Fix | Delete
foreach ( $fields as $key => $field ) {
[676] Fix | Delete
$defaults[ $key ] = isset( $field['std'] ) ? $field['std'] : null;
[677] Fix | Delete
}
[678] Fix | Delete
}
[679] Fix | Delete
[680] Fix | Delete
return $defaults;
[681] Fix | Delete
}
[682] Fix | Delete
[683] Fix | Delete
/**
[684] Fix | Delete
* List of tabs & labels for the settings panel.
[685] Fix | Delete
*
[686] Fix | Delete
* @return array
[687] Fix | Delete
*/
[688] Fix | Delete
public static function tabs() {
[689] Fix | Delete
static $tabs;
[690] Fix | Delete
[691] Fix | Delete
if ( ! isset( $tabs ) ) {
[692] Fix | Delete
$tabs = apply_filters(
[693] Fix | Delete
'pum_settings_tabs',
[694] Fix | Delete
[
[695] Fix | Delete
'general' => __( 'General', 'popup-maker' ),
[696] Fix | Delete
'subscriptions' => __( 'Subscriptions', 'popup-maker' ),
[697] Fix | Delete
'extensions' => __( 'Extensions', 'popup-maker' ),
[698] Fix | Delete
'licenses' => __( 'Licenses', 'popup-maker' ),
[699] Fix | Delete
'privacy' => __( 'Privacy', 'popup-maker' ),
[700] Fix | Delete
'misc' => __( 'Misc', 'popup-maker' ),
[701] Fix | Delete
]
[702] Fix | Delete
);
[703] Fix | Delete
[704] Fix | Delete
/** @deprecated 1.7.0 */
[705] Fix | Delete
$tabs = apply_filters( 'popmake_settings_tabs', $tabs );
[706] Fix | Delete
}
[707] Fix | Delete
[708] Fix | Delete
return $tabs;
[709] Fix | Delete
}
[710] Fix | Delete
[711] Fix | Delete
/**
[712] Fix | Delete
* List of tabs & labels for the settings panel.
[713] Fix | Delete
*
[714] Fix | Delete
* @return array
[715] Fix | Delete
*/
[716] Fix | Delete
public static function sections() {
[717] Fix | Delete
return apply_filters(
[718] Fix | Delete
'pum_settings_tab_sections',
[719] Fix | Delete
[
[720] Fix | Delete
'general' => [
[721] Fix | Delete
'main' => __( 'General', 'popup-maker' ),
[722] Fix | Delete
],
[723] Fix | Delete
'subscriptions' => [
[724] Fix | Delete
'main' => __( 'General', 'popup-maker' ),
[725] Fix | Delete
],
[726] Fix | Delete
'extensions' => [
[727] Fix | Delete
'main' => __( 'Extension Settings', 'popup-maker' ),
[728] Fix | Delete
],
[729] Fix | Delete
'licenses' => [
[730] Fix | Delete
'main' => __( 'Licenses', 'popup-maker' ),
[731] Fix | Delete
],
[732] Fix | Delete
'privacy' => [
[733] Fix | Delete
'main' => __( 'General', 'popup-maker' ),
[734] Fix | Delete
'forms' => __( 'Subscription Forms', 'popup-maker' ),
[735] Fix | Delete
],
[736] Fix | Delete
'misc' => [
[737] Fix | Delete
'main' => __( 'Misc', 'popup-maker' ),
[738] Fix | Delete
'assets' => __( 'Assets', 'popup-maker' ),
[739] Fix | Delete
],
[740] Fix | Delete
]
[741] Fix | Delete
);
[742] Fix | Delete
}
[743] Fix | Delete
[744] Fix | Delete
/**
[745] Fix | Delete
* @return int|null|string
[746] Fix | Delete
*/
[747] Fix | Delete
public static function get_active_tab() {
[748] Fix | Delete
$tabs = self::tabs();
[749] Fix | Delete
[750] Fix | Delete
return isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $tabs ) ? sanitize_text_field( $_GET['tab'] ) : key( $tabs );
[751] Fix | Delete
}
[752] Fix | Delete
[753] Fix | Delete
/**
[754] Fix | Delete
* @return bool|int|null|string
[755] Fix | Delete
*/
[756] Fix | Delete
public static function get_active_section() {
[757] Fix | Delete
$active_tab = self::get_active_tab();
[758] Fix | Delete
$sections = self::sections();
[759] Fix | Delete
[760] Fix | Delete
$tab_sections = ! empty( $sections[ $active_tab ] ) ? $sections[ $active_tab ] : false;
[761] Fix | Delete
[762] Fix | Delete
if ( ! $tab_sections ) {
[763] Fix | Delete
return false;
[764] Fix | Delete
}
[765] Fix | Delete
[766] Fix | Delete
return isset( $_GET['section'] ) && array_key_exists( $_GET['section'], $tab_sections ) ? sanitize_text_field( $_GET['section'] ) : key( $tab_sections );
[767] Fix | Delete
}
[768] Fix | Delete
[769] Fix | Delete
/**
[770] Fix | Delete
* Parse values for form rendering.
[771] Fix | Delete
*
[772] Fix | Delete
* Add additional data for license_key fields, split the measure fields etc.
[773] Fix | Delete
*
[774] Fix | Delete
* @param $settings
[775] Fix | Delete
*
[776] Fix | Delete
* @return mixed
[777] Fix | Delete
*/
[778] Fix | Delete
public static function parse_values( $settings ) {
[779] Fix | Delete
[780] Fix | Delete
foreach ( $settings as $key => $value ) {
[781] Fix | Delete
$field = self::get_field( $key );
[782] Fix | Delete
[783] Fix | Delete
if ( $field ) {
[784] Fix | Delete
[785] Fix | Delete
/**
[786] Fix | Delete
* Process fields with specific types.
[787] Fix | Delete
*/
[788] Fix | Delete
switch ( $field['type'] ) {
[789] Fix | Delete
case 'measure':
[790] Fix | Delete
break;
[791] Fix | Delete
case 'license_key':
[792] Fix | Delete
$license = get_option( $field['options']['is_valid_license_option'] );
[793] Fix | Delete
[794] Fix | Delete
$settings[ $key ] = [
[795] Fix | Delete
'key' => trim( $value ),
[796] Fix | Delete
'status' => PUM_Licensing::get_status( $license, ! empty( $value ) ),
[797] Fix | Delete
'messages' => PUM_Licensing::get_status_messages( $license, trim( $value ) ),
[798] Fix | Delete
'expires' => PUM_Licensing::get_license_expiration( $license ),
[799] Fix | Delete
'classes' => PUM_Licensing::get_status_classes( $license ),
[800] Fix | Delete
];
[801] Fix | Delete
break;
[802] Fix | Delete
}
[803] Fix | Delete
[804] Fix | Delete
/**
[805] Fix | Delete
* Process fields with specific ids.
[806] Fix | Delete
*/
[807] Fix | Delete
switch ( $field['id'] ) {
[808] Fix | Delete
/*
[809] Fix | Delete
case 'pum_license_status':
[810] Fix | Delete
$settings[ $key ] = Licensing::get_status();
[811] Fix | Delete
break;
[812] Fix | Delete
*/
[813] Fix | Delete
}
[814] Fix | Delete
}
[815] Fix | Delete
}
[816] Fix | Delete
[817] Fix | Delete
return $settings;
[818] Fix | Delete
}
[819] Fix | Delete
[820] Fix | Delete
/**
[821] Fix | Delete
*
[822] Fix | Delete
*/
[823] Fix | Delete
public static function license_deactivated() {
[824] Fix | Delete
[825] Fix | Delete
}
[826] Fix | Delete
[827] Fix | Delete
/**
[828] Fix | Delete
* @param array $meta
[829] Fix | Delete
*
[830] Fix | Delete
* @return array
[831] Fix | Delete
*/
[832] Fix | Delete
public static function sanitize_objects( $meta = [] ) {
[833] Fix | Delete
if ( ! empty( $meta ) ) {
[834] Fix | Delete
[835] Fix | Delete
foreach ( $meta as $key => $value ) {
[836] Fix | Delete
[837] Fix | Delete
if ( is_string( $value ) ) {
[838] Fix | Delete
try {
[839] Fix | Delete
$value = json_decode( stripslashes( $value ) );
[840] Fix | Delete
} catch ( Exception $e ) {
[841] Fix | Delete
}
[842] Fix | Delete
}
[843] Fix | Delete
[844] Fix | Delete
$meta[ $key ] = PUM_Admin_Helpers::object_to_array( $value );
[845] Fix | Delete
}
[846] Fix | Delete
}
[847] Fix | Delete
[848] Fix | Delete
return $meta;
[849] Fix | Delete
}
[850] Fix | Delete
[851] Fix | Delete
[852] Fix | Delete
}
[853] Fix | Delete
[854] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function