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.../trunk/classes/Admin
File: Popups.php
'<div class="popup-type" data-popup-type="center-popup"><img src="' . Popup_Maker::$URL . 'assets/images/admin/display-switcher/center-popup.png" alt="' . __( 'Center Popup', 'popup-maker' ) . '"/><button class="button">' . __( 'Center Popup', 'popup-maker' ) . '</button></div>',
[500] Fix | Delete
'<div class="popup-type" data-popup-type="right-bottom-slidein"><img src="' . Popup_Maker::$URL . 'assets/images/admin/display-switcher/right-bottom-slidein.png" alt="' . __( 'Right Bottom Slide-in', 'popup-maker' ) . '"/><button class="button">' . __( 'Right Bottom Slide-in', 'popup-maker' ) . '</button></div>',
[501] Fix | Delete
'<div class="popup-type" data-popup-type="top-bar"><img src="' . Popup_Maker::$URL . 'assets/images/admin/display-switcher/top-bar.png" alt="' . __( 'Top Bar', 'popup-maker' ) . '"/><button class="button">' . __( 'Top Bar', 'popup-maker' ) . '</button></div>',
[502] Fix | Delete
'<div class="popup-type" data-popup-type="left-bottom-notice"><img src="' . Popup_Maker::$URL . 'assets/images/admin/display-switcher/left-bottom-notice.png" alt="' . __( 'Left Bottom Notice', 'popup-maker' ) . '"/><button class="button">' . __( 'Left Bottom Notice', 'popup-maker' ) . '</button></div>',
[503] Fix | Delete
],
[504] Fix | Delete
],
[505] Fix | Delete
],
[506] Fix | Delete
'main' => [
[507] Fix | Delete
'theme_id' => [
[508] Fix | Delete
'label' => __( 'Popup Theme', 'popup-maker' ),
[509] Fix | Delete
'dynamic_desc' => sprintf( '%1$s<br/><a id="edit_theme_link" href="%3$s">%2$s</a>', __( 'Choose a theme for this popup.', 'popup-maker' ), __( 'Customize This Theme', 'popup-maker' ), admin_url( 'post.php?action=edit&post={{data.value}}' ) ),
[510] Fix | Delete
'type' => 'select',
[511] Fix | Delete
'options' => pum_is_popup_editor() ? PUM_Helpers::popup_theme_selectlist() : null,
[512] Fix | Delete
'std' => pum_get_default_theme_id(),
[513] Fix | Delete
],
[514] Fix | Delete
],
[515] Fix | Delete
'size' => [
[516] Fix | Delete
'size' => [
[517] Fix | Delete
'label' => __( 'Size', 'popup-maker' ),
[518] Fix | Delete
'desc' => __( 'Select the size of the popup.', 'popup-maker' ),
[519] Fix | Delete
'type' => 'select',
[520] Fix | Delete
'std' => 'medium',
[521] Fix | Delete
'priority' => 10,
[522] Fix | Delete
'options' => [
[523] Fix | Delete
__( 'Responsive Sizes', 'popup-maker' ) => [
[524] Fix | Delete
'nano' => __( 'Nano - 10%', 'popup-maker' ),
[525] Fix | Delete
'micro' => __( 'Micro - 20%', 'popup-maker' ),
[526] Fix | Delete
'tiny' => __( 'Tiny - 30%', 'popup-maker' ),
[527] Fix | Delete
'small' => __( 'Small - 40%', 'popup-maker' ),
[528] Fix | Delete
'medium' => __( 'Medium - 60%', 'popup-maker' ),
[529] Fix | Delete
'normal' => __( 'Normal - 70%', 'popup-maker' ),
[530] Fix | Delete
'large' => __( 'Large - 80%', 'popup-maker' ),
[531] Fix | Delete
'xlarge' => __( 'X Large - 95%', 'popup-maker' ),
[532] Fix | Delete
],
[533] Fix | Delete
__( 'Other Sizes', 'popup-maker' ) => [
[534] Fix | Delete
'auto' => __( 'Auto', 'popup-maker' ),
[535] Fix | Delete
'custom' => __( 'Custom', 'popup-maker' ),
[536] Fix | Delete
],
[537] Fix | Delete
],
[538] Fix | Delete
],
[539] Fix | Delete
'responsive_min_width' => [
[540] Fix | Delete
'label' => __( 'Min Width', 'popup-maker' ),
[541] Fix | Delete
'desc' => __( 'Set a minimum width for the popup.', 'popup-maker' ),
[542] Fix | Delete
'type' => 'measure',
[543] Fix | Delete
'std' => '0%',
[544] Fix | Delete
'priority' => 20,
[545] Fix | Delete
'dependencies' => [
[546] Fix | Delete
'size' => [ 'nano', 'micro', 'tiny', 'small', 'medium', 'normal', 'large', 'xlarge' ],
[547] Fix | Delete
],
[548] Fix | Delete
],
[549] Fix | Delete
'responsive_max_width' => [
[550] Fix | Delete
'label' => __( 'Max Width', 'popup-maker' ),
[551] Fix | Delete
'desc' => __( 'Set a maximum width for the popup.', 'popup-maker' ),
[552] Fix | Delete
'type' => 'measure',
[553] Fix | Delete
'std' => '100%',
[554] Fix | Delete
'priority' => 30,
[555] Fix | Delete
'dependencies' => [
[556] Fix | Delete
'size' => [ 'nano', 'micro', 'tiny', 'small', 'medium', 'normal', 'large', 'xlarge' ],
[557] Fix | Delete
],
[558] Fix | Delete
],
[559] Fix | Delete
'custom_width' => [
[560] Fix | Delete
'label' => __( 'Width', 'popup-maker' ),
[561] Fix | Delete
'desc' => __( 'Set a custom width for the popup.', 'popup-maker' ),
[562] Fix | Delete
'type' => 'measure',
[563] Fix | Delete
'std' => '640px',
[564] Fix | Delete
'priority' => 40,
[565] Fix | Delete
'dependencies' => [
[566] Fix | Delete
'size' => 'custom',
[567] Fix | Delete
],
[568] Fix | Delete
],
[569] Fix | Delete
'custom_height_auto' => [
[570] Fix | Delete
'label' => __( 'Auto Adjusted Height', 'popup-maker' ),
[571] Fix | Delete
'desc' => __( 'Checking this option will set height to fit the content.', 'popup-maker' ),
[572] Fix | Delete
'type' => 'checkbox',
[573] Fix | Delete
'priority' => 50,
[574] Fix | Delete
'dependencies' => [
[575] Fix | Delete
'size' => 'custom',
[576] Fix | Delete
],
[577] Fix | Delete
],
[578] Fix | Delete
'custom_height' => [
[579] Fix | Delete
'label' => __( 'Height', 'popup-maker' ),
[580] Fix | Delete
'desc' => __( 'Set a custom height for the popup.', 'popup-maker' ),
[581] Fix | Delete
'type' => 'measure',
[582] Fix | Delete
'std' => '380px',
[583] Fix | Delete
'priority' => 60,
[584] Fix | Delete
'dependencies' => [
[585] Fix | Delete
'size' => 'custom',
[586] Fix | Delete
'custom_height_auto' => false,
[587] Fix | Delete
],
[588] Fix | Delete
],
[589] Fix | Delete
'scrollable_content' => [
[590] Fix | Delete
'label' => __( 'Scrollable Content', 'popup-maker' ),
[591] Fix | Delete
'desc' => __( 'Checking this option will add a scroll bar to your content.', 'popup-maker' ),
[592] Fix | Delete
'type' => 'checkbox',
[593] Fix | Delete
'std' => false,
[594] Fix | Delete
'priority' => 70,
[595] Fix | Delete
'dependencies' => [
[596] Fix | Delete
'size' => 'custom',
[597] Fix | Delete
'custom_height_auto' => false,
[598] Fix | Delete
],
[599] Fix | Delete
],
[600] Fix | Delete
],
[601] Fix | Delete
'animation' => [
[602] Fix | Delete
'animation_type' => [
[603] Fix | Delete
'label' => __( 'Animation Type', 'popup-maker' ),
[604] Fix | Delete
'desc' => __( 'Select an animation type for your popup.', 'popup-maker' ),
[605] Fix | Delete
'type' => 'select',
[606] Fix | Delete
'std' => 'fade',
[607] Fix | Delete
'priority' => 10,
[608] Fix | Delete
'options' => [
[609] Fix | Delete
'none' => __( 'None', 'popup-maker' ),
[610] Fix | Delete
'slide' => __( 'Slide', 'popup-maker' ),
[611] Fix | Delete
'fade' => __( 'Fade', 'popup-maker' ),
[612] Fix | Delete
'fadeAndSlide' => __( 'Fade and Slide', 'popup-maker' ),
[613] Fix | Delete
// 'grow' => __( 'Grow', 'popup-maker' ),
[614] Fix | Delete
// 'growAndSlide' => __( 'Grow and Slide', 'popup-maker' ),
[615] Fix | Delete
],
[616] Fix | Delete
],
[617] Fix | Delete
'animation_speed' => [
[618] Fix | Delete
'label' => __( 'Animation Speed', 'popup-maker' ),
[619] Fix | Delete
'desc' => __( 'Set the animation speed for the popup.', 'popup-maker' ),
[620] Fix | Delete
'type' => 'rangeslider',
[621] Fix | Delete
'std' => 350,
[622] Fix | Delete
'step' => 10,
[623] Fix | Delete
'min' => 50,
[624] Fix | Delete
'max' => 1000,
[625] Fix | Delete
'unit' => __( 'ms', 'popup-maker' ),
[626] Fix | Delete
'priority' => 20,
[627] Fix | Delete
'dependencies' => [
[628] Fix | Delete
'animation_type' => [ 'slide', 'fade', 'fadeAndSlide', 'grow', 'growAndSlide' ],
[629] Fix | Delete
],
[630] Fix | Delete
],
[631] Fix | Delete
'animation_origin' => [
[632] Fix | Delete
'label' => __( 'Animation Origin', 'popup-maker' ),
[633] Fix | Delete
'desc' => __( 'Choose where the animation will begin.', 'popup-maker' ),
[634] Fix | Delete
'type' => 'select',
[635] Fix | Delete
'std' => 'center top',
[636] Fix | Delete
'options' => [
[637] Fix | Delete
'top' => __( 'Top', 'popup-maker' ),
[638] Fix | Delete
'left' => __( 'Left', 'popup-maker' ),
[639] Fix | Delete
'bottom' => __( 'Bottom', 'popup-maker' ),
[640] Fix | Delete
'right' => __( 'Right', 'popup-maker' ),
[641] Fix | Delete
'left top' => __( 'Top Left', 'popup-maker' ),
[642] Fix | Delete
'center top' => __( 'Top Center', 'popup-maker' ),
[643] Fix | Delete
'right top' => __( 'Top Right', 'popup-maker' ),
[644] Fix | Delete
'left center' => __( 'Middle Left', 'popup-maker' ),
[645] Fix | Delete
'center center' => __( 'Middle Center', 'popup-maker' ),
[646] Fix | Delete
'right center' => __( 'Middle Right', 'popup-maker' ),
[647] Fix | Delete
'left bottom' => __( 'Bottom Left', 'popup-maker' ),
[648] Fix | Delete
'center bottom' => __( 'Bottom Center', 'popup-maker' ),
[649] Fix | Delete
'right bottom' => __( 'Bottom Right', 'popup-maker' ),
[650] Fix | Delete
],
[651] Fix | Delete
'priority' => 30,
[652] Fix | Delete
'dependencies' => [
[653] Fix | Delete
'animation_type' => [ 'slide', 'fadeAndSlide', 'grow', 'growAndSlide' ],
[654] Fix | Delete
],
[655] Fix | Delete
],
[656] Fix | Delete
],
[657] Fix | Delete
'sound' => [
[658] Fix | Delete
'open_sound' => [
[659] Fix | Delete
'label' => __( 'Opening Sound', 'popup-maker' ),
[660] Fix | Delete
'desc' => __( 'Select a sound to play when the popup opens.', 'popup-maker' ),
[661] Fix | Delete
'type' => 'select',
[662] Fix | Delete
'std' => 'none',
[663] Fix | Delete
'priority' => 10,
[664] Fix | Delete
'options' => [
[665] Fix | Delete
'none' => __( 'None', 'popup-maker' ),
[666] Fix | Delete
'beep.mp3' => __( 'Beep', 'popup-maker' ),
[667] Fix | Delete
'beep-two.mp3' => __( 'Beep 2', 'popup-maker' ),
[668] Fix | Delete
'beep-up.mp3' => __( 'Beep Up', 'popup-maker' ),
[669] Fix | Delete
'chimes.mp3' => __( 'Chimes', 'popup-maker' ),
[670] Fix | Delete
'correct.mp3' => __( 'Correct', 'popup-maker' ),
[671] Fix | Delete
'custom' => __( 'Custom Sound', 'popup-maker' ),
[672] Fix | Delete
],
[673] Fix | Delete
],
[674] Fix | Delete
'custom_sound' => [
[675] Fix | Delete
'label' => __( 'Custom Sound URL', 'popup-maker' ),
[676] Fix | Delete
'desc' => __( 'Enter URL to sound file.', 'popup-maker' ),
[677] Fix | Delete
'type' => 'text',
[678] Fix | Delete
'std' => '',
[679] Fix | Delete
'priority' => 10,
[680] Fix | Delete
'dependencies' => [
[681] Fix | Delete
'open_sound' => [ 'custom' ],
[682] Fix | Delete
],
[683] Fix | Delete
],
[684] Fix | Delete
],
[685] Fix | Delete
'position' => [
[686] Fix | Delete
'location' => [
[687] Fix | Delete
'label' => __( 'Location', 'popup-maker' ),
[688] Fix | Delete
'desc' => __( 'Choose where the popup will be displayed.', 'popup-maker' ),
[689] Fix | Delete
'type' => 'select',
[690] Fix | Delete
'std' => 'center top',
[691] Fix | Delete
'priority' => 10,
[692] Fix | Delete
'options' => [
[693] Fix | Delete
'left top' => __( 'Top Left', 'popup-maker' ),
[694] Fix | Delete
'center top' => __( 'Top Center', 'popup-maker' ),
[695] Fix | Delete
'right top' => __( 'Top Right', 'popup-maker' ),
[696] Fix | Delete
'left center' => __( 'Middle Left', 'popup-maker' ),
[697] Fix | Delete
'center' => __( 'Middle Center', 'popup-maker' ),
[698] Fix | Delete
'right center' => __( 'Middle Right', 'popup-maker' ),
[699] Fix | Delete
'left bottom' => __( 'Bottom Left', 'popup-maker' ),
[700] Fix | Delete
'center bottom' => __( 'Bottom Center', 'popup-maker' ),
[701] Fix | Delete
'right bottom' => __( 'Bottom Right', 'popup-maker' ),
[702] Fix | Delete
],
[703] Fix | Delete
],
[704] Fix | Delete
'position_top' => [
[705] Fix | Delete
'label' => __( 'Top', 'popup-maker' ),
[706] Fix | Delete
'desc' => sprintf( _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Top', 'popup-maker' ) ) ),
[707] Fix | Delete
'type' => 'rangeslider',
[708] Fix | Delete
'std' => 100,
[709] Fix | Delete
'step' => 1,
[710] Fix | Delete
'min' => 0,
[711] Fix | Delete
'max' => 500,
[712] Fix | Delete
'unit' => 'px',
[713] Fix | Delete
'priority' => 20,
[714] Fix | Delete
'dependencies' => [
[715] Fix | Delete
'location' => [ 'left top', 'center top', 'right top' ],
[716] Fix | Delete
],
[717] Fix | Delete
],
[718] Fix | Delete
'position_bottom' => [
[719] Fix | Delete
'label' => __( 'Bottom', 'popup-maker' ),
[720] Fix | Delete
'desc' => sprintf( _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Bottom', 'popup-maker' ) ) ),
[721] Fix | Delete
'type' => 'rangeslider',
[722] Fix | Delete
'std' => 0,
[723] Fix | Delete
'step' => 1,
[724] Fix | Delete
'min' => 0,
[725] Fix | Delete
'max' => 500,
[726] Fix | Delete
'unit' => 'px',
[727] Fix | Delete
'priority' => 20,
[728] Fix | Delete
'dependencies' => [
[729] Fix | Delete
'location' => [ 'left bottom', 'center bottom', 'right bottom' ],
[730] Fix | Delete
],
[731] Fix | Delete
],
[732] Fix | Delete
'position_left' => [
[733] Fix | Delete
'label' => __( 'Left', 'popup-maker' ),
[734] Fix | Delete
'desc' => sprintf( _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Left', 'popup-maker' ) ) ),
[735] Fix | Delete
'type' => 'rangeslider',
[736] Fix | Delete
'std' => 0,
[737] Fix | Delete
'step' => 1,
[738] Fix | Delete
'min' => 0,
[739] Fix | Delete
'max' => 500,
[740] Fix | Delete
'unit' => 'px',
[741] Fix | Delete
'priority' => 30,
[742] Fix | Delete
'dependencies' => [
[743] Fix | Delete
'location' => [ 'left top', 'left center', 'left bottom' ],
[744] Fix | Delete
],
[745] Fix | Delete
],
[746] Fix | Delete
'position_right' => [
[747] Fix | Delete
'label' => __( 'Right', 'popup-maker' ),
[748] Fix | Delete
'desc' => sprintf( _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Right', 'popup-maker' ) ) ),
[749] Fix | Delete
'type' => 'rangeslider',
[750] Fix | Delete
'std' => 0,
[751] Fix | Delete
'step' => 1,
[752] Fix | Delete
'min' => 0,
[753] Fix | Delete
'max' => 500,
[754] Fix | Delete
'unit' => 'px',
[755] Fix | Delete
'priority' => 30,
[756] Fix | Delete
'dependencies' => [
[757] Fix | Delete
'location' => [ 'right top', 'right center', 'right bottom' ],
[758] Fix | Delete
],
[759] Fix | Delete
],
[760] Fix | Delete
'position_from_trigger' => [
[761] Fix | Delete
'label' => __( 'Position from Trigger', 'popup-maker' ),
[762] Fix | Delete
'desc' => sprintf( __( 'This will position the popup in relation to the %1$sClick Trigger%2$s.', 'popup-maker' ), '<a target="_blank" href="https://docs.wppopupmaker.com/article/395-trigger-click-open-overview-methods?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-popup-editor&utm_content=position-from-trigger">', '</a>' ),
[763] Fix | Delete
'type' => 'checkbox',
[764] Fix | Delete
'std' => false,
[765] Fix | Delete
'priority' => 40,
[766] Fix | Delete
],
[767] Fix | Delete
'position_fixed' => [
[768] Fix | Delete
'label' => __( 'Fixed Postioning', 'popup-maker' ),
[769] Fix | Delete
'desc' => __( 'Checking this sets the positioning of the popup to fixed.', 'popup-maker' ),
[770] Fix | Delete
'type' => 'checkbox',
[771] Fix | Delete
'priority' => 50,
[772] Fix | Delete
],
[773] Fix | Delete
],
[774] Fix | Delete
'advanced' => [
[775] Fix | Delete
'overlay_disabled' => [
[776] Fix | Delete
'label' => __( 'Disable Overlay', 'popup-maker' ),
[777] Fix | Delete
'desc' => __( 'Checking this will disable and hide the overlay for this popup.', 'popup-maker' ),
[778] Fix | Delete
'type' => 'checkbox',
[779] Fix | Delete
'priority' => 10,
[780] Fix | Delete
],
[781] Fix | Delete
'stackable' => [
[782] Fix | Delete
'label' => __( 'Stackable', 'popup-maker' ),
[783] Fix | Delete
'desc' => __( 'This enables other popups to remain open.', 'popup-maker' ),
[784] Fix | Delete
'type' => 'checkbox',
[785] Fix | Delete
'priority' => 20,
[786] Fix | Delete
],
[787] Fix | Delete
'disable_reposition' => [
[788] Fix | Delete
'label' => __( 'Disable Repositioning', 'popup-maker' ),
[789] Fix | Delete
'desc' => __( 'This will disable automatic repositioning of the popup on window resizing.', 'popup-maker' ),
[790] Fix | Delete
'type' => 'checkbox',
[791] Fix | Delete
'priority' => 30,
[792] Fix | Delete
],
[793] Fix | Delete
'zindex' => [
[794] Fix | Delete
'label' => __( 'Popup Z-Index', 'popup-maker' ),
[795] Fix | Delete
'desc' => __( 'Change the z-index layer level for the popup.', 'popup-maker' ),
[796] Fix | Delete
'type' => 'number',
[797] Fix | Delete
'min' => 999,
[798] Fix | Delete
'max' => 2147483647,
[799] Fix | Delete
'std' => 1999999999,
[800] Fix | Delete
'priority' => 40,
[801] Fix | Delete
],
[802] Fix | Delete
],
[803] Fix | Delete
]
[804] Fix | Delete
),
[805] Fix | Delete
'close' => apply_filters(
[806] Fix | Delete
'pum_popup_close_settings_fields',
[807] Fix | Delete
[
[808] Fix | Delete
'button' => [
[809] Fix | Delete
'close_text' => [
[810] Fix | Delete
'label' => __( 'Close Text', 'popup-maker' ),
[811] Fix | Delete
'placeholder' => __( 'Close', 'popup-maker' ),
[812] Fix | Delete
'desc' => __( 'Override the default close text. To use a Font Awesome icon instead of text, enter the CSS classes such as "fas fa-camera".', 'popup-maker' ),
[813] Fix | Delete
'priority' => 10,
[814] Fix | Delete
'private' => true,
[815] Fix | Delete
],
[816] Fix | Delete
'close_button_delay' => [
[817] Fix | Delete
'label' => __( 'Close Button Delay', 'popup-maker' ),
[818] Fix | Delete
'desc' => __( 'This delays the display of the close button.', 'popup-maker' ),
[819] Fix | Delete
'type' => 'rangeslider',
[820] Fix | Delete
'std' => 0,
[821] Fix | Delete
'step' => 100,
[822] Fix | Delete
'min' => 0,
[823] Fix | Delete
'max' => 3000,
[824] Fix | Delete
'unit' => __( 'ms', 'popup-maker' ),
[825] Fix | Delete
'priority' => 20,
[826] Fix | Delete
],
[827] Fix | Delete
],
[828] Fix | Delete
'forms' => [
[829] Fix | Delete
'close_on_form_submission' => [
[830] Fix | Delete
'label' => __( 'Close on Form Submission', 'popup-maker' ),
[831] Fix | Delete
'desc' => __( 'Close the popup automatically after integrated form plugin submissions.', 'popup-maker' ),
[832] Fix | Delete
'type' => 'checkbox',
[833] Fix | Delete
],
[834] Fix | Delete
'close_on_form_submission_delay' => [
[835] Fix | Delete
'type' => 'rangeslider',
[836] Fix | Delete
'label' => __( 'Delay', 'popup-maker' ),
[837] Fix | Delete
'desc' => __( 'The delay before the popup will close after submission (in milliseconds).', 'popup-maker' ),
[838] Fix | Delete
'std' => 0,
[839] Fix | Delete
'min' => 0,
[840] Fix | Delete
'max' => 10000,
[841] Fix | Delete
'step' => 500,
[842] Fix | Delete
'unit' => 'ms',
[843] Fix | Delete
'dependencies' => [
[844] Fix | Delete
'close_on_form_submission' => true,
[845] Fix | Delete
],
[846] Fix | Delete
],
[847] Fix | Delete
],
[848] Fix | Delete
'alternate_methods' => [
[849] Fix | Delete
'close_on_overlay_click' => [
[850] Fix | Delete
'label' => __( 'Click Overlay to Close', 'popup-maker' ),
[851] Fix | Delete
'desc' => __( 'Checking this will cause popup to close when user clicks on overlay.', 'popup-maker' ),
[852] Fix | Delete
'type' => 'checkbox',
[853] Fix | Delete
'priority' => 10,
[854] Fix | Delete
],
[855] Fix | Delete
'close_on_esc_press' => [
[856] Fix | Delete
'label' => __( 'Press ESC to Close', 'popup-maker' ),
[857] Fix | Delete
'desc' => __( 'Checking this will cause popup to close when user presses ESC key.', 'popup-maker' ),
[858] Fix | Delete
'type' => 'checkbox',
[859] Fix | Delete
'priority' => 20,
[860] Fix | Delete
],
[861] Fix | Delete
'close_on_f4_press' => [
[862] Fix | Delete
'label' => __( 'Press F4 to Close', 'popup-maker' ),
[863] Fix | Delete
'desc' => __( 'Checking this will cause popup to close when user presses F4 key.', 'popup-maker' ),
[864] Fix | Delete
'type' => 'checkbox',
[865] Fix | Delete
'priority' => 30,
[866] Fix | Delete
],
[867] Fix | Delete
],
[868] Fix | Delete
]
[869] Fix | Delete
),
[870] Fix | Delete
'advanced' => apply_filters(
[871] Fix | Delete
'pum_popup_advanced_settings_fields',
[872] Fix | Delete
[
[873] Fix | Delete
'main' => [
[874] Fix | Delete
'disable_form_reopen' => [
[875] Fix | Delete
'label' => __( 'Disable automatic re-triggering of popup after non-ajax form submission.', 'popup-maker' ),
[876] Fix | Delete
'type' => 'checkbox',
[877] Fix | Delete
'priority' => 10,
[878] Fix | Delete
],
[879] Fix | Delete
'disable_accessibility' => [
[880] Fix | Delete
'label' => __( 'Disable accessibility features.', 'popup-maker' ),
[881] Fix | Delete
'desc' => __( 'This includes trapping the tab key & focus inside popup while open, force focus the first element when popup open, and refocus last click trigger when closed.', 'popup-maker' ),
[882] Fix | Delete
'type' => 'checkbox',
[883] Fix | Delete
'priority' => 10,
[884] Fix | Delete
],
[885] Fix | Delete
],
[886] Fix | Delete
]
[887] Fix | Delete
),
[888] Fix | Delete
]
[889] Fix | Delete
);
[890] Fix | Delete
[891] Fix | Delete
$tabs = PUM_Admin_Helpers::parse_tab_fields(
[892] Fix | Delete
$tabs,
[893] Fix | Delete
[
[894] Fix | Delete
'has_subtabs' => true,
[895] Fix | Delete
'name' => 'popup_settings[%s]',
[896] Fix | Delete
]
[897] Fix | Delete
);
[898] Fix | Delete
}
[899] Fix | Delete
[900] Fix | Delete
return $tabs;
[901] Fix | Delete
}
[902] Fix | Delete
[903] Fix | Delete
public static function get_field( $id ) {
[904] Fix | Delete
$tabs = self::fields();
[905] Fix | Delete
[906] Fix | Delete
foreach ( $tabs as $tab => $sections ) {
[907] Fix | Delete
[908] Fix | Delete
if ( PUM_Admin_Helpers::is_field( $sections ) ) {
[909] Fix | Delete
$sections = [
[910] Fix | Delete
'main' => [
[911] Fix | Delete
$tab => $sections,
[912] Fix | Delete
],
[913] Fix | Delete
];
[914] Fix | Delete
}
[915] Fix | Delete
[916] Fix | Delete
foreach ( $sections as $section => $fields ) {
[917] Fix | Delete
[918] Fix | Delete
foreach ( $fields as $key => $args ) {
[919] Fix | Delete
if ( $key === $id ) {
[920] Fix | Delete
return $args;
[921] Fix | Delete
}
[922] Fix | Delete
}
[923] Fix | Delete
}
[924] Fix | Delete
}
[925] Fix | Delete
[926] Fix | Delete
return false;
[927] Fix | Delete
}
[928] Fix | Delete
[929] Fix | Delete
/**
[930] Fix | Delete
* Sanitizes fields after submission.
[931] Fix | Delete
*
[932] Fix | Delete
* Also handles pre save manipulations for some field types (measure/license).
[933] Fix | Delete
*
[934] Fix | Delete
* @param array $settings
[935] Fix | Delete
*
[936] Fix | Delete
* @return array
[937] Fix | Delete
*/
[938] Fix | Delete
public static function sanitize_settings( $settings = [] ) {
[939] Fix | Delete
[940] Fix | Delete
$fields = self::fields();
[941] Fix | Delete
$fields = PUM_Admin_Helpers::flatten_fields_array( $fields );
[942] Fix | Delete
[943] Fix | Delete
foreach ( $fields as $field_id => $field ) {
[944] Fix | Delete
switch ( $field['type'] ) {
[945] Fix | Delete
case 'checkbox':
[946] Fix | Delete
if ( ! isset( $settings[ $field_id ] ) ) {
[947] Fix | Delete
$settings[ $field_id ] = false;
[948] Fix | Delete
}
[949] Fix | Delete
break;
[950] Fix | Delete
}
[951] Fix | Delete
}
[952] Fix | Delete
[953] Fix | Delete
foreach ( $settings as $key => $value ) {
[954] Fix | Delete
$field = self::get_field( $key );
[955] Fix | Delete
[956] Fix | Delete
if ( $field ) {
[957] Fix | Delete
[958] Fix | Delete
// Sanitize every string value.
[959] Fix | Delete
if ( is_string( $value ) ) {
[960] Fix | Delete
$settings[ $key ] = sanitize_text_field( $value );
[961] Fix | Delete
}
[962] Fix | Delete
[963] Fix | Delete
switch ( $field['type'] ) {
[964] Fix | Delete
default:
[965] Fix | Delete
$settings[ $key ] = is_string( $value ) ? trim( $value ) : $value;
[966] Fix | Delete
break;
[967] Fix | Delete
[968] Fix | Delete
case 'measure':
[969] Fix | Delete
$settings[ $key ] .= $settings[ $key . '_unit' ];
[970] Fix | Delete
break;
[971] Fix | Delete
}
[972] Fix | Delete
} else {
[973] Fix | Delete
// Some custom field types include multiple additional fields that do not need to be saved, strip out any non-whitelisted fields.
[974] Fix | Delete
unset( $settings[ $key ] );
[975] Fix | Delete
}
[976] Fix | Delete
}
[977] Fix | Delete
[978] Fix | Delete
return $settings;
[979] Fix | Delete
}
[980] Fix | Delete
[981] Fix | Delete
/**
[982] Fix | Delete
* @return array
[983] Fix | Delete
*/
[984] Fix | Delete
public static function defaults() {
[985] Fix | Delete
$tabs = self::fields();
[986] Fix | Delete
[987] Fix | Delete
$defaults = [];
[988] Fix | Delete
[989] Fix | Delete
foreach ( $tabs as $tab_id => $sections ) {
[990] Fix | Delete
foreach ( $sections as $section_id => $fields ) {
[991] Fix | Delete
foreach ( $fields as $key => $field ) {
[992] Fix | Delete
$defaults[ $key ] = isset( $field['std'] ) ? $field['std'] : ( 'checkbox' === $field['type'] ? false : null );
[993] Fix | Delete
}
[994] Fix | Delete
}
[995] Fix | Delete
}
[996] Fix | Delete
[997] Fix | Delete
return $defaults;
[998] Fix | Delete
}
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function