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/popup-ma.../trunk/classes/Admin
File: Themes.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Class for Admin Themes
[2] Fix | Delete
*
[3] Fix | Delete
* @package PUM
[4] Fix | Delete
* @copyright Copyright (c) 2023, Code Atlantic LLC
[5] Fix | Delete
*/
[6] Fix | Delete
[7] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[8] Fix | Delete
exit;
[9] Fix | Delete
}
[10] Fix | Delete
[11] Fix | Delete
/**
[12] Fix | Delete
* Class PUM_Admin_Themes
[13] Fix | Delete
*/
[14] Fix | Delete
class PUM_Admin_Themes {
[15] Fix | Delete
[16] Fix | Delete
/**
[17] Fix | Delete
* Hook the initialize method to the WP init action.
[18] Fix | Delete
*/
[19] Fix | Delete
public static function init() {
[20] Fix | Delete
/** Regitster Metaboxes */
[21] Fix | Delete
add_action( 'add_meta_boxes', [ __CLASS__, 'meta_box' ] );
[22] Fix | Delete
[23] Fix | Delete
/** Process meta saving. */
[24] Fix | Delete
add_action( 'save_post', [ __CLASS__, 'save' ], 10, 2 );
[25] Fix | Delete
}
[26] Fix | Delete
[27] Fix | Delete
/**
[28] Fix | Delete
* Registers popup metaboxes.
[29] Fix | Delete
*/
[30] Fix | Delete
public static function meta_box() {
[31] Fix | Delete
/** Settings Box */
[32] Fix | Delete
add_meta_box( 'pum_theme_settings', __( 'Theme Settings', 'popup-maker' ), [ __CLASS__, 'render_settings_meta_box' ], 'popup_theme', 'normal', 'high' );
[33] Fix | Delete
[34] Fix | Delete
/** Preview Window */
[35] Fix | Delete
add_meta_box( 'pum_theme_preview', __( 'Theme Preview', 'popup-maker' ), [ __CLASS__, 'render_preview_meta_box' ], 'popup_theme', 'side', 'high' );
[36] Fix | Delete
}
[37] Fix | Delete
[38] Fix | Delete
/**
[39] Fix | Delete
* Ensures integrity of values.
[40] Fix | Delete
*
[41] Fix | Delete
* @param array $values
[42] Fix | Delete
*
[43] Fix | Delete
* @return array
[44] Fix | Delete
*/
[45] Fix | Delete
public static function parse_values( $values = [] ) {
[46] Fix | Delete
$defaults = self::defaults();
[47] Fix | Delete
[48] Fix | Delete
if ( empty( $values ) ) {
[49] Fix | Delete
return $defaults;
[50] Fix | Delete
}
[51] Fix | Delete
[52] Fix | Delete
$values = self::fill_missing_defaults( $values );
[53] Fix | Delete
[54] Fix | Delete
return $values;
[55] Fix | Delete
}
[56] Fix | Delete
[57] Fix | Delete
/**
[58] Fix | Delete
* Fills default settings only when missing.
[59] Fix | Delete
*
[60] Fix | Delete
* Excludes checkbox type fields where a false value is represented by the field being unset.
[61] Fix | Delete
*
[62] Fix | Delete
* @param array $settings
[63] Fix | Delete
*
[64] Fix | Delete
* @return array
[65] Fix | Delete
*/
[66] Fix | Delete
public static function fill_missing_defaults( $settings = [] ) {
[67] Fix | Delete
$excluded_field_types = [ 'checkbox', 'multicheck' ];
[68] Fix | Delete
[69] Fix | Delete
$defaults = self::defaults();
[70] Fix | Delete
foreach ( $defaults as $field_id => $default_value ) {
[71] Fix | Delete
$field = PUM_Utils_Fields::get_field( self::fields(), $field_id );
[72] Fix | Delete
if ( isset( $settings[ $field_id ] ) || in_array( $field['type'], $excluded_field_types ) ) {
[73] Fix | Delete
continue;
[74] Fix | Delete
}
[75] Fix | Delete
[76] Fix | Delete
$settings[ $field_id ] = $default_value;
[77] Fix | Delete
}
[78] Fix | Delete
[79] Fix | Delete
return $settings;
[80] Fix | Delete
[81] Fix | Delete
}
[82] Fix | Delete
[83] Fix | Delete
/**
[84] Fix | Delete
* Parse & prepare values for form rendering.
[85] Fix | Delete
*
[86] Fix | Delete
* Add additional data for license_key fields, split the measure fields etc.
[87] Fix | Delete
*
[88] Fix | Delete
* @param $settings
[89] Fix | Delete
*
[90] Fix | Delete
* @return mixed
[91] Fix | Delete
*/
[92] Fix | Delete
public static function render_form_values( $settings ) {
[93] Fix | Delete
foreach ( $settings as $key => $value ) {
[94] Fix | Delete
$field = PUM_Utils_Fields::get_field( self::fields(), $key );
[95] Fix | Delete
[96] Fix | Delete
if ( $field ) {
[97] Fix | Delete
switch ( $field['type'] ) {
[98] Fix | Delete
case 'measure':
[99] Fix | Delete
break;
[100] Fix | Delete
}
[101] Fix | Delete
}
[102] Fix | Delete
}
[103] Fix | Delete
[104] Fix | Delete
return $settings;
[105] Fix | Delete
}
[106] Fix | Delete
[107] Fix | Delete
/**
[108] Fix | Delete
* Render the settings meta box wrapper and JS vars.
[109] Fix | Delete
*/
[110] Fix | Delete
public static function render_settings_meta_box() {
[111] Fix | Delete
global $post;
[112] Fix | Delete
[113] Fix | Delete
$theme = pum_get_theme( $post->ID );
[114] Fix | Delete
[115] Fix | Delete
// Get the meta directly rather than from cached object.
[116] Fix | Delete
$settings = self::parse_values( $theme->get_settings() );
[117] Fix | Delete
[118] Fix | Delete
wp_nonce_field( basename( __FILE__ ), 'pum_theme_settings_nonce' );
[119] Fix | Delete
wp_enqueue_script( 'popup-maker-admin' );
[120] Fix | Delete
?>
[121] Fix | Delete
<script type="text/javascript">
[122] Fix | Delete
window.pum_theme_settings_editor =
[123] Fix | Delete
<?php
[124] Fix | Delete
echo PUM_Utils_Array::safe_json_encode(
[125] Fix | Delete
apply_filters(
[126] Fix | Delete
'pum_theme_settings_editor_var',
[127] Fix | Delete
[
[128] Fix | Delete
'form_args' => [
[129] Fix | Delete
'id' => 'pum-theme-settings',
[130] Fix | Delete
'tabs' => self::tabs(),
[131] Fix | Delete
'sections' => self::sections(),
[132] Fix | Delete
'fields' => self::fields(),
[133] Fix | Delete
],
[134] Fix | Delete
'current_values' => self::render_form_values( $settings ),
[135] Fix | Delete
]
[136] Fix | Delete
)
[137] Fix | Delete
);
[138] Fix | Delete
?>
[139] Fix | Delete
;
[140] Fix | Delete
</script>
[141] Fix | Delete
[142] Fix | Delete
<div id="pum-theme-settings-container" class="pum-theme-settings-container">
[143] Fix | Delete
<div class="pum-no-js" style="padding: 0 12px;">
[144] 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>
[145] Fix | Delete
</div>
[146] Fix | Delete
</div>
[147] Fix | Delete
<?php
[148] Fix | Delete
}
[149] Fix | Delete
[150] Fix | Delete
/**
[151] Fix | Delete
*
[152] Fix | Delete
*/
[153] Fix | Delete
public static function render_preview_meta_box() {
[154] Fix | Delete
global $post;
[155] Fix | Delete
[156] Fix | Delete
$theme = pum_get_theme( $post->ID );
[157] Fix | Delete
[158] Fix | Delete
$deprecated_atb_enabled = class_exists( 'PUM_ATB' ) && ! pum_extension_enabled( 'advanced-theme-builder' );
[159] Fix | Delete
[160] Fix | Delete
// Remove this div after PUM ATC updated properly
[161] Fix | Delete
if ( $deprecated_atb_enabled ) {
[162] Fix | Delete
echo '<div id="PopMake-Preview">';
[163] Fix | Delete
}
[164] Fix | Delete
[165] Fix | Delete
?>
[166] Fix | Delete
[167] Fix | Delete
<div class="pum-theme-preview">
[168] Fix | Delete
<div class="pum-popup-overlay <?php echo $deprecated_atb_enabled ? 'example-popup-overlay' : ''; ?>"></div>
[169] Fix | Delete
<div class="pum-popup-container <?php echo $deprecated_atb_enabled ? 'example-popup' : ''; ?>">
[170] Fix | Delete
<div class="pum-popup-title"><?php _e( 'Title Text', 'popup-maker' ); ?></div>
[171] Fix | Delete
<div class="pum-popup-content">
[172] Fix | Delete
<?php echo apply_filters( 'pum_example_popup_content', '<p>Suspendisse ipsum eros, tincidunt sed commodo ut, viverra vitae ipsum. Etiam non porta neque. Pellentesque nulla elit, aliquam in ullamcorper at, bibendum sed eros. Morbi non sapien tellus, ac vestibulum eros. In hac habitasse platea dictumst. Nulla vestibulum, diam vel porttitor placerat, eros tortor ultrices lectus, eget faucibus arcu justo eget massa. Maecenas id tellus vitae justo posuere hendrerit aliquet ut dolor.</p>' ); ?>
[173] Fix | Delete
</div>
[174] Fix | Delete
<button type="button" class="pum-popup-close <?php echo $deprecated_atb_enabled ? 'close-popup' : ''; ?>" aria-label="<?php _e( 'Close', 'popup-maker' ); ?>">
[175] Fix | Delete
<?php echo $theme->get_setting( 'close_text', '&#215;' ); ?>
[176] Fix | Delete
</button>
[177] Fix | Delete
</div>
[178] Fix | Delete
<p class="pum-desc">
[179] Fix | Delete
<?php
[180] Fix | Delete
$tips = [
[181] Fix | Delete
__( 'If you move this theme preview to the bottom of your sidebar here it will follow you down the page?', 'popup-maker' ),
[182] Fix | Delete
__( 'Clicking on an element in this theme preview will take you to its relevant settings in the editor?', 'popup-maker' ),
[183] Fix | Delete
];
[184] Fix | Delete
$key = array_rand( $tips, 1 );
[185] Fix | Delete
?>
[186] Fix | Delete
<i class="dashicons dashicons-info"></i> <?php echo '<strong>' . __( 'Did you know:', 'popup-maker' ) . '</strong> ' . $tips[ $key ]; ?>
[187] Fix | Delete
</p>
[188] Fix | Delete
</div>
[189] Fix | Delete
[190] Fix | Delete
<?php
[191] Fix | Delete
// Remove this div after PUM ATC updated properly
[192] Fix | Delete
if ( $deprecated_atb_enabled ) {
[193] Fix | Delete
echo '</div>';
[194] Fix | Delete
}
[195] Fix | Delete
}
[196] Fix | Delete
[197] Fix | Delete
/**
[198] Fix | Delete
* Used to get deprecated fields for metabox saving of old extensions.
[199] Fix | Delete
*
[200] Fix | Delete
* @deprecated 1.8.0
[201] Fix | Delete
*
[202] Fix | Delete
* @return mixed
[203] Fix | Delete
*/
[204] Fix | Delete
public static function deprecated_meta_fields() {
[205] Fix | Delete
$fields = [];
[206] Fix | Delete
foreach ( self::deprecated_meta_field_groups() as $group ) {
[207] Fix | Delete
foreach ( apply_filters( 'popmake_popup_theme_meta_field_group_' . $group, [] ) as $field ) {
[208] Fix | Delete
$fields[] = 'popup_theme_' . $group . '_' . $field;
[209] Fix | Delete
}
[210] Fix | Delete
}
[211] Fix | Delete
[212] Fix | Delete
return apply_filters( 'popmake_popup_theme_meta_fields', $fields );
[213] Fix | Delete
}
[214] Fix | Delete
[215] Fix | Delete
/**
[216] Fix | Delete
* Used to get field groups from extensions.
[217] Fix | Delete
*
[218] Fix | Delete
* @deprecated 1.8.0
[219] Fix | Delete
*
[220] Fix | Delete
* @return mixed
[221] Fix | Delete
*/
[222] Fix | Delete
public static function deprecated_meta_field_groups() {
[223] Fix | Delete
return apply_filters( 'popmake_popup_theme_meta_field_groups', [ 'display', 'close' ] );
[224] Fix | Delete
}
[225] Fix | Delete
[226] Fix | Delete
/**
[227] Fix | Delete
* @param $post_id
[228] Fix | Delete
* @param $post
[229] Fix | Delete
*
[230] Fix | Delete
* @return bool
[231] Fix | Delete
*/
[232] Fix | Delete
public static function can_save( $post_id, $post ) {
[233] Fix | Delete
if ( isset( $post->post_type ) && 'popup_theme' !== $post->post_type ) {
[234] Fix | Delete
return false;
[235] Fix | Delete
}
[236] Fix | Delete
[237] Fix | Delete
if ( ! isset( $_POST['pum_theme_settings_nonce'] ) || ! wp_verify_nonce( $_POST['pum_theme_settings_nonce'], basename( __FILE__ ) ) ) {
[238] Fix | Delete
return false;
[239] Fix | Delete
}
[240] Fix | Delete
[241] Fix | Delete
if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
[242] Fix | Delete
return false;
[243] Fix | Delete
}
[244] Fix | Delete
[245] Fix | Delete
if ( isset( $post->post_type ) && 'revision' === $post->post_type ) {
[246] Fix | Delete
return false;
[247] Fix | Delete
}
[248] Fix | Delete
[249] Fix | Delete
if ( ! current_user_can( 'edit_post', $post_id ) ) {
[250] Fix | Delete
return false;
[251] Fix | Delete
}
[252] Fix | Delete
[253] Fix | Delete
return true;
[254] Fix | Delete
}
[255] Fix | Delete
[256] Fix | Delete
/**
[257] Fix | Delete
* @param $post_id
[258] Fix | Delete
* @param $post
[259] Fix | Delete
*/
[260] Fix | Delete
public static function save( $post_id, $post ) {
[261] Fix | Delete
[262] Fix | Delete
if ( ! self::can_save( $post_id, $post ) ) {
[263] Fix | Delete
return;
[264] Fix | Delete
}
[265] Fix | Delete
[266] Fix | Delete
$theme = pum_get_theme( $post_id );
[267] Fix | Delete
[268] Fix | Delete
$settings = ! empty( $_POST['theme_settings'] ) ? $_POST['theme_settings'] : [];
[269] Fix | Delete
[270] Fix | Delete
$settings = wp_parse_args( $settings, self::defaults() );
[271] Fix | Delete
[272] Fix | Delete
$settings = apply_filters( 'pum_theme_setting_pre_save', $settings, $post->ID );
[273] Fix | Delete
[274] Fix | Delete
// Sanitize form values.
[275] Fix | Delete
$settings = PUM_Utils_Fields::sanitize_fields( $settings, self::fields() );
[276] Fix | Delete
[277] Fix | Delete
// Ensure data integrity.
[278] Fix | Delete
$settings = self::parse_values( $settings );
[279] Fix | Delete
[280] Fix | Delete
// $theme->update_meta( 'popup_theme_settings', $settings );
[281] Fix | Delete
$theme->update_settings( $settings );
[282] Fix | Delete
[283] Fix | Delete
// If this is a built in theme and the user has modified it set a key so that we know not to make automatic upgrades to it in the future.
[284] Fix | Delete
if ( get_post_meta( $post_id, '_pum_built_in', true ) !== false ) {
[285] Fix | Delete
update_post_meta( $post_id, '_pum_user_modified', true );
[286] Fix | Delete
}
[287] Fix | Delete
[288] Fix | Delete
self::process_deprecated_saves( $post_id, $post );
[289] Fix | Delete
[290] Fix | Delete
do_action( 'pum_save_theme', $post_id, $post );
[291] Fix | Delete
}
[292] Fix | Delete
[293] Fix | Delete
/**
[294] Fix | Delete
* @param $post_id
[295] Fix | Delete
* @param $post
[296] Fix | Delete
*/
[297] Fix | Delete
public static function process_deprecated_saves( $post_id, $post ) {
[298] Fix | Delete
[299] Fix | Delete
$field_prefix = 'popup_theme_';
[300] Fix | Delete
[301] Fix | Delete
$old_fields = (array) apply_filters(
[302] Fix | Delete
'popmake_popup_theme_fields',
[303] Fix | Delete
[
[304] Fix | Delete
'overlay' => [],
[305] Fix | Delete
'container' => [],
[306] Fix | Delete
'title' => [],
[307] Fix | Delete
'content' => [],
[308] Fix | Delete
'close' => [],
[309] Fix | Delete
]
[310] Fix | Delete
);
[311] Fix | Delete
[312] Fix | Delete
foreach ( $old_fields as $section => $fields ) {
[313] Fix | Delete
$section_prefix = "{$field_prefix}{$section}";
[314] Fix | Delete
$meta_values = [];
[315] Fix | Delete
[316] Fix | Delete
foreach ( $fields as $field => $args ) {
[317] Fix | Delete
$field_name = "{$section_prefix}_{$field}";
[318] Fix | Delete
if ( isset( $_POST[ $field_name ] ) ) {
[319] Fix | Delete
$meta_values[ $field ] = apply_filters( 'popmake_metabox_save_' . $field_name, $_POST[ $field_name ] );
[320] Fix | Delete
}
[321] Fix | Delete
}
[322] Fix | Delete
[323] Fix | Delete
update_post_meta( $post_id, "popup_theme_{$section}", $meta_values );
[324] Fix | Delete
}
[325] Fix | Delete
[326] Fix | Delete
// TODO Remove this and all other code here. This should be clean and all code more compartmentalized.
[327] Fix | Delete
foreach ( self::deprecated_meta_fields() as $field ) {
[328] Fix | Delete
if ( isset( $_POST[ $field ] ) ) {
[329] Fix | Delete
$new = apply_filters( 'popmake_metabox_save_' . $field, $_POST[ $field ] );
[330] Fix | Delete
update_post_meta( $post_id, $field, $new );
[331] Fix | Delete
} else {
[332] Fix | Delete
delete_post_meta( $post_id, $field );
[333] Fix | Delete
}
[334] Fix | Delete
}
[335] Fix | Delete
}
[336] Fix | Delete
[337] Fix | Delete
/**
[338] Fix | Delete
* List of tabs & labels for the settings panel.
[339] Fix | Delete
*
[340] Fix | Delete
* @return array
[341] Fix | Delete
*/
[342] Fix | Delete
public static function tabs() {
[343] Fix | Delete
return apply_filters(
[344] Fix | Delete
'pum_theme_settings_tabs',
[345] Fix | Delete
[
[346] Fix | Delete
'general' => __( 'General', 'popup-maker' ),
[347] Fix | Delete
'overlay' => __( 'Overlay', 'popup-maker' ),
[348] Fix | Delete
'container' => __( 'Container', 'popup-maker' ),
[349] Fix | Delete
'title' => __( 'Title', 'popup-maker' ),
[350] Fix | Delete
'content' => __( 'Content', 'popup-maker' ),
[351] Fix | Delete
'close' => __( 'Close', 'popup-maker' ),
[352] Fix | Delete
'advanced' => __( 'Advanced', 'popup-maker' ),
[353] Fix | Delete
]
[354] Fix | Delete
);
[355] Fix | Delete
}
[356] Fix | Delete
[357] Fix | Delete
/**
[358] Fix | Delete
* List of tabs & labels for the settings panel.
[359] Fix | Delete
*
[360] Fix | Delete
* @return array
[361] Fix | Delete
*/
[362] Fix | Delete
public static function sections() {
[363] Fix | Delete
return apply_filters(
[364] Fix | Delete
'pum_theme_settings_sections',
[365] Fix | Delete
[
[366] Fix | Delete
'general' => [
[367] Fix | Delete
'main' => __( 'General', 'popup-maker' ),
[368] Fix | Delete
],
[369] Fix | Delete
'overlay' => [
[370] Fix | Delete
'background' => __( 'Background', 'popup-maker' ),
[371] Fix | Delete
],
[372] Fix | Delete
'container' => [
[373] Fix | Delete
'main' => __( 'Container', 'popup-maker' ),
[374] Fix | Delete
'background' => __( 'Background', 'popup-maker' ),
[375] Fix | Delete
'border' => __( 'Border', 'popup-maker' ),
[376] Fix | Delete
'boxshadow' => __( 'Drop Shadow', 'popup-maker' ),
[377] Fix | Delete
],
[378] Fix | Delete
'title' => [
[379] Fix | Delete
'typography' => __( 'Font', 'popup-maker' ),
[380] Fix | Delete
'textshadow' => __( 'Text Shadow', 'popup-maker' ),
[381] Fix | Delete
],
[382] Fix | Delete
'content' => [
[383] Fix | Delete
'typography' => __( 'Text', 'popup-maker' ),
[384] Fix | Delete
],
[385] Fix | Delete
'close' => [
[386] Fix | Delete
'main' => __( 'General', 'popup-maker' ),
[387] Fix | Delete
'size' => __( 'Size', 'popup-maker' ),
[388] Fix | Delete
'position' => __( 'Position', 'popup-maker' ),
[389] Fix | Delete
'background' => __( 'Background', 'popup-maker' ),
[390] Fix | Delete
'border' => __( 'Border', 'popup-maker' ),
[391] Fix | Delete
'boxshadow' => __( 'Drop Shadow', 'popup-maker' ),
[392] Fix | Delete
'typography' => __( 'Font', 'popup-maker' ),
[393] Fix | Delete
'textshadow' => __( 'Text Shadow', 'popup-maker' ),
[394] Fix | Delete
],
[395] Fix | Delete
'advanced' => [
[396] Fix | Delete
'main' => __( 'Advanced', 'popup-maker' ),
[397] Fix | Delete
],
[398] Fix | Delete
]
[399] Fix | Delete
);
[400] Fix | Delete
}
[401] Fix | Delete
[402] Fix | Delete
/**
[403] Fix | Delete
* @return mixed
[404] Fix | Delete
*/
[405] Fix | Delete
public static function border_style_options() {
[406] Fix | Delete
return apply_filters(
[407] Fix | Delete
'pum_theme_border_style_options',
[408] Fix | Delete
[
[409] Fix | Delete
'none' => __( 'None', 'popup-maker' ),
[410] Fix | Delete
'solid' => __( 'Solid', 'popup-maker' ),
[411] Fix | Delete
'dotted' => __( 'Dotted', 'popup-maker' ),
[412] Fix | Delete
'dashed' => __( 'Dashed', 'popup-maker' ),
[413] Fix | Delete
'double' => __( 'Double', 'popup-maker' ),
[414] Fix | Delete
'groove' => __( 'Groove', 'popup-maker' ),
[415] Fix | Delete
'inset' => __( 'Inset (inner shadow)', 'popup-maker' ),
[416] Fix | Delete
'outset' => __( 'Outset', 'popup-maker' ),
[417] Fix | Delete
'ridge' => __( 'Ridge', 'popup-maker' ),
[418] Fix | Delete
]
[419] Fix | Delete
);
[420] Fix | Delete
}
[421] Fix | Delete
[422] Fix | Delete
/**
[423] Fix | Delete
* @return mixed
[424] Fix | Delete
*/
[425] Fix | Delete
public static function size_unit_options() {
[426] Fix | Delete
return apply_filters(
[427] Fix | Delete
'pum_theme_size_unit_options',
[428] Fix | Delete
[
[429] Fix | Delete
'px' => 'px',
[430] Fix | Delete
'%' => '%',
[431] Fix | Delete
'em' => 'em',
[432] Fix | Delete
'rem' => 'rem',
[433] Fix | Delete
]
[434] Fix | Delete
);
[435] Fix | Delete
}
[436] Fix | Delete
[437] Fix | Delete
/**
[438] Fix | Delete
* @return mixed
[439] Fix | Delete
*/
[440] Fix | Delete
public static function font_family_options() {
[441] Fix | Delete
$fonts = [
[442] Fix | Delete
'inherit' => __( 'Use Your Themes', 'popup-maker' ),
[443] Fix | Delete
__( 'System Fonts', 'popup-maker' ) => [
[444] Fix | Delete
'Sans-Serif' => 'Sans-Serif',
[445] Fix | Delete
'Tahoma' => 'Tahoma',
[446] Fix | Delete
'Georgia' => 'Georgia',
[447] Fix | Delete
'Comic Sans MS' => 'Comic Sans MS',
[448] Fix | Delete
'Arial' => 'Arial',
[449] Fix | Delete
'Lucida Grande' => 'Lucida Grande',
[450] Fix | Delete
'Times New Roman' => 'Times New Roman',
[451] Fix | Delete
],
[452] Fix | Delete
];
[453] Fix | Delete
[454] Fix | Delete
/** @deprecated 1.8.0 This filter is no longer in use */
[455] Fix | Delete
$old_fonts = apply_filters( 'popmake_font_family_options', [] );
[456] Fix | Delete
[457] Fix | Delete
$fonts = array_merge( $fonts, array_flip( $old_fonts ) );
[458] Fix | Delete
[459] Fix | Delete
return apply_filters( 'pum_theme_font_family_options', $fonts );
[460] Fix | Delete
}
[461] Fix | Delete
[462] Fix | Delete
/**
[463] Fix | Delete
* @return mixed
[464] Fix | Delete
*/
[465] Fix | Delete
public static function font_weight_options() {
[466] Fix | Delete
return apply_filters(
[467] Fix | Delete
'pum_theme_font_weight_options',
[468] Fix | Delete
[
[469] Fix | Delete
100 => 100,
[470] Fix | Delete
200 => 200,
[471] Fix | Delete
300 => 300,
[472] Fix | Delete
400 => __( 'Normal', 'popup-maker' ) . ' (400)',
[473] Fix | Delete
500 => 500,
[474] Fix | Delete
600 => 600,
[475] Fix | Delete
700 => __( 'Bold', 'popup-maker' ) . ' (700)',
[476] Fix | Delete
800 => 800,
[477] Fix | Delete
900 => 900,
[478] Fix | Delete
]
[479] Fix | Delete
);
[480] Fix | Delete
}
[481] Fix | Delete
[482] Fix | Delete
/**
[483] Fix | Delete
* Returns array of popup settings fields.
[484] Fix | Delete
*
[485] Fix | Delete
* @return mixed
[486] Fix | Delete
*/
[487] Fix | Delete
public static function fields() {
[488] Fix | Delete
static $fields;
[489] Fix | Delete
[490] Fix | Delete
if ( ! isset( $fields ) ) {
[491] Fix | Delete
[492] Fix | Delete
$size_unit_options = self::size_unit_options();
[493] Fix | Delete
$border_style_options = self::border_style_options();
[494] Fix | Delete
$font_family_options = self::font_family_options();
[495] Fix | Delete
$font_weight_options = self::font_weight_options();
[496] Fix | Delete
[497] Fix | Delete
$fields = apply_filters(
[498] Fix | Delete
'pum_theme_settings_fields',
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function