HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux sa-dev.otherchirps.net 5.15.0-139-generic #149-Ubuntu SMP Fri Apr 11 22:06:13 UTC 2025 x86_64
User: www-data (33)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wp-content/plugins/hover_effects_pack/hp_settings.php
<?php 

class HoverPackSettings
{
    private $options;
    
    public function __construct() {
        add_action('admin_menu', array($this, 'add_plugin_page'));
        add_action('admin_init', array($this, 'page_init'));
    }
    
    public function add_plugin_page() {
        $hook = add_options_page('Settings Admin', 'Hover Pack Settings', 'manage_options', 'hover-pack-setting-admin', array($this, 'create_admin_page'));
    }
    
    public function create_admin_page() {
        $this->options = get_option('hp_options');
?>
        <div class="wrap">
            <?php
        screen_icon(); ?>
            <h2>Hover Pack Settings</h2>           
            <form method="post" action="options.php">
            <?php
        settings_fields('hp_option_group');
        do_settings_sections('hp-setting-admin');
        submit_button();
?>
            </form>
        </div>
        <?php
    }
    
    public function page_init() {
        register_setting('hp_option_group', 'hp_options', array($this, 'sanitize'));
        
        add_settings_section('setting_section_touch', 'Hover Pack Touch Devices settings', array($this, 'print_touch_info'), 'hp-setting-admin');

        add_settings_section('setting_section_id', 'Hover Pack Color settings', array($this, 'print_color_info'), 'hp-setting-admin');
        
        add_settings_section('setting_section_main_wrapper', 'Hover Pack Link Wrapper settings', array($this, 'print_wrapper_info'), 'hp-setting-admin');
        
        add_settings_section('setting_section_id_2', 'Hover Pack Link Popup settings', array($this, 'print_popup_info'), 'hp-setting-admin');
        
        add_settings_section('setting_section_id_3', 'Hover Pack Thumbnail settings', array($this, 'print_thumb_info'), 'hp-setting-admin');
        
        add_settings_section('setting_section_image_size', 'Hover Pack Image Size settings', array($this, 'print_image_size_info'), 'hp-setting-admin');
        
        add_settings_section('setting_section_typography', 'Hover Pack Typography settings', array($this, 'print_typography_info'), 'hp-setting-admin');
        
        add_settings_section('setting_section_featured', 'Hover Pack Featured Image settings', array($this, 'print_featured_info'), 'hp-setting-admin');
        
        add_settings_field('touch_link', 'Disable two touch behavior on mobile devices', array($this, 'touch_link_callback'), 'hp-setting-admin', 'setting_section_touch');

        add_settings_field('hover_color', 'Hover Color', array($this, 'hover_color_callback'), 'hp-setting-admin', 'setting_section_id');
        
        add_settings_field('title_color', 'Title Color', array($this, 'title_color_callback'), 'hp-setting-admin', 'setting_section_id');
        
        add_settings_field('text_color', 'Text Color', array($this, 'text_color_callback'), 'hp-setting-admin', 'setting_section_id');
        
        add_settings_field('wrapper_settings', 'Wrap in link tag', array($this, 'wrapper_settings_callback'), 'hp-setting-admin', 'setting_section_main_wrapper');
        
        add_settings_field('popup_type', 'Enable Popup', array($this, 'popup_type_callback'), 'hp-setting-admin', 'setting_section_id_2');
        
        add_settings_field('thumb_size', 'Thumbnail Size', array($this, 'thumb_size_callback'), 'hp-setting-admin', 'setting_section_id_3');
        
        add_settings_field('image_css_size', 'Add width and height CSS properties for images', array($this, 'image_css_size_callback'), 'hp-setting-admin', 'setting_section_image_size');
        
        add_settings_field('typography_header', 'Header tag', array($this, 'typography_header_callback'), 'hp-setting-admin', 'setting_section_typography');
        
        add_settings_field('typography_paragraph', 'Paragraph tag', array($this, 'typography_paragraph_callback'), 'hp-setting-admin', 'setting_section_typography');
        
        add_settings_field('typography_header_padding', 'Header padding', array($this, 'typography_header_padding_callback'), 'hp-setting-admin', 'setting_section_typography');
        
        add_settings_field('typography_paragraph_padding', 'Paragraph padding', array($this, 'typography_paragraph_padding_callback'), 'hp-setting-admin', 'setting_section_typography');
        
        add_settings_field('featured_enable', 'Enable on Featured Images', array($this, 'featured_enable_callback'), 'hp-setting-admin', 'setting_section_featured');
        
        add_settings_field('featured_effect', 'Featured Image Effect', array($this, 'featured_effect_callback'), 'hp-setting-admin', 'setting_section_featured');

        add_settings_field('featured_inverse_effect', 'Inverse Effect Behavior', array($this, 'featured_inverse_effect_callback'), 'hp-setting-admin', 'setting_section_featured');
        
        add_settings_field('featured_opacity', 'Featured Image Opacity', array($this, 'featured_opacity_callback'), 'hp-setting-admin', 'setting_section_featured');
        
        add_settings_field('featured_title', 'Featured Image Title', array($this, 'featured_title_callback'), 'hp-setting-admin', 'setting_section_featured');
        
        add_settings_field('featured_title_visible', 'Disable Title Animation', array($this, 'featured_title_visible_callback'), 'hp-setting-admin', 'setting_section_featured');
        
        add_settings_field('featured_title_custom', 'Custom Image Title', array($this, 'featured_title_custom_callback'), 'hp-setting-admin', 'setting_section_featured');
        
        add_settings_field('featured_title_effect_delay', 'Featured Image Title Effect Delay', array($this, 'featured_title_effect_delay_callback'), 'hp-setting-admin', 'setting_section_featured');
        
        add_settings_field('featured_title_slide_effect', 'Featured Image Title Slide Effect', array($this, 'featured_title_slide_effect_callback'), 'hp-setting-admin', 'setting_section_featured');
        
        add_settings_field('featured_title_rotation_effect', 'Featured Image Title Rotation Effect', array($this, 'featured_title_rotation_effect_callback'), 'hp-setting-admin', 'setting_section_featured');
        
        add_settings_field('featured_title_scale_effect', 'Featured Image Title Scale Effect', array($this, 'featured_title_scale_effect_callback'), 'hp-setting-admin', 'setting_section_featured');
        
        add_settings_field('featured_title_fade_effect', 'Featured Image Title Fade Effect', array($this, 'featured_title_fade_effect_callback'), 'hp-setting-admin', 'setting_section_featured');
    }
    
    public function sanitize($input) {
        $new_input = array();
        if (isset($input['touch_link'])) $new_input['touch_link'] = sanitize_text_field($input['touch_link']);

        if (isset($input['hover_color'])) $new_input['hover_color'] = sanitize_text_field($input['hover_color']);
        
        if (isset($input['title_color'])) $new_input['title_color'] = sanitize_text_field($input['title_color']);
        
        if (isset($input['text_color'])) $new_input['text_color'] = sanitize_text_field($input['text_color']);
        
        if (isset($input['wrapper_settings'])) $new_input['wrapper_settings'] = sanitize_text_field($input['wrapper_settings']);
        
        if (isset($input['popup_type'])) $new_input['popup_type'] = sanitize_text_field($input['popup_type']);
        
        if (isset($input['thumb_size'])) $new_input['thumb_size'] = sanitize_text_field($input['thumb_size']);
        
        if (isset($input['image_css_size_enable'])) $new_input['image_css_size_enable'] = sanitize_text_field($input['image_css_size_enable']);
        
        if (isset($input['typography_header'])) $new_input['typography_header'] = sanitize_text_field($input['typography_header']);
        
        if (isset($input['typography_paragraph'])) $new_input['typography_paragraph'] = sanitize_text_field($input['typography_paragraph']);
        
        if (isset($input['typography_header_padding'])) $new_input['typography_header_padding'] = sanitize_text_field($input['typography_header_padding']);
        
        if (isset($input['typography_paragraph_padding'])) $new_input['typography_paragraph_padding'] = sanitize_text_field($input['typography_paragraph_padding']);
        
        if (isset($input['featured_enable'])) $new_input['featured_enable'] = sanitize_text_field($input['featured_enable']);
        
        if (isset($input['featured_effect'])) $new_input['featured_effect'] = sanitize_text_field($input['featured_effect']);

        if (isset($input['featured_inverse_effect'])) $new_input['featured_inverse_effect'] = sanitize_text_field($input['featured_inverse_effect']);
        
        if (isset($input['featured_opacity'])) $new_input['featured_opacity'] = sanitize_text_field($input['featured_opacity']);
        
        if (isset($input['featured_title'])) $new_input['featured_title'] = sanitize_text_field($input['featured_title']);
        
        if (isset($input['featured_title_visible'])) $new_input['featured_title_visible'] = sanitize_text_field($input['featured_title_visible']);
        
        if (isset($input['featured_title_custom'])) $new_input['featured_title_custom'] = sanitize_text_field($input['featured_title_custom']);
        
        if (isset($input['featured_title_effect_delay'])) $new_input['featured_title_effect_delay'] = sanitize_text_field($input['featured_title_effect_delay']);
        
        if (isset($input['featured_title_slide_effect'])) $new_input['featured_title_slide_effect'] = sanitize_text_field($input['featured_title_slide_effect']);
        
        if (isset($input['featured_title_rotation_effect'])) $new_input['featured_title_rotation_effect'] = sanitize_text_field($input['featured_title_rotation_effect']);
        
        if (isset($input['featured_title_fade_effect'])) $new_input['featured_title_fade_effect'] = sanitize_text_field($input['featured_title_fade_effect']);
        
        if (isset($input['featured_title_scale_effect'])) $new_input['featured_title_scale_effect'] = sanitize_text_field($input['featured_title_scale_effect']);
        
        return $new_input;
    }
    
    public function print_touch_info() {
        print 'Select touch devices behavior:';
    }

    public function print_color_info() {
        print 'Select color for elements:';
    }
    
    public function print_wrapper_info() {
        print 'Select Link Wrapper settings:';
    }

    public function print_popup_info() {
        print 'Select popup settings:';
    }
    
    public function print_thumb_info() {
        print 'Select default thumbnail size:';
    }

    public function print_image_size_info() {
        print 'Select image size settings:';
    }
    
    public function print_typography_info() {
        print 'Select typography settings:';
    }
    
    public function print_featured_info() {
        print 'Select Featured Image settings:';
    }
    
    public function touch_link_callback() {
        printf('<input type="checkbox" id="touch_link" name="hp_options[touch_link]" value="checked" %s /> <small>First touch will start effect, second touch will open link.</small>', isset($this->options['touch_link']) ? esc_attr($this->options['touch_link']) : '');
    }

    public function hover_color_callback() {
        printf('<input type="text" id="hover_color" name="hp_options[hover_color]" value="%s" />', isset($this->options['hover_color']) ? esc_attr($this->options['hover_color']) : '#74c9be');
    }
    
    public function title_color_callback() {
        printf('<input type="text" id="title_color" name="hp_options[title_color]" value="%s" />', isset($this->options['title_color']) ? esc_attr($this->options['title_color']) : '#ffffff');
    }
    
    public function text_color_callback() {
        printf('<input type="text" id="text_color" name="hp_options[text_color]" value="%s" />', isset($this->options['text_color']) ? esc_attr($this->options['text_color']) : '#ffffff');
    }
    
    public function image_css_size_callback() {
        printf('<input type="checkbox" id="image_css_size_enable" name="hp_options[image_css_size_enable]" value="checked" %s />', isset($this->options['image_css_size_enable']) ? esc_attr($this->options['image_css_size_enable']) : '');
    }

    public function wrapper_settings_callback() {
?>
        <select id="wrapper_settings" name="hp_options[wrapper_settings]" >
              <option value="image">Whole image</option>
              <option value="title" <?php
        if ($this->options['wrapper_settings'] == 'title') echo 'selected' ?>>Title</option>
              <option value="text" <?php
        if ($this->options['wrapper_settings'] == 'text') echo 'selected' ?>>Text</option>
              <option value="none" <?php
        if ($this->options['wrapper_settings'] == 'none') echo 'selected' ?>>Don't wrap</option>
            </select>
        <?php
    }

    public function popup_type_callback() {
?>
        <select id="popup_type" name="hp_options[popup_type]" >
              <option value="">None</option>
              <option value="tb" <?php
        if ($this->options['popup_type'] == 'tb') echo 'selected' ?>>ThickBox</option>
              <option value="pp" <?php
        if ($this->options['popup_type'] == 'pp') echo 'selected' ?>>PrettyPhoto</option>
            </select>
        <?php
    }
    
    public function thumb_size_callback() {
?>
        <select id="thumb_size" name="hp_options[thumb_size]" >
              <option value="th">Thumbnail</option>
              <option value="md" <?php
        if ($this->options['thumb_size'] == 'md') echo 'selected' ?>>Medium</option>
              <option value="og" <?php
        if ($this->options['thumb_size'] == 'og') echo 'selected' ?>>Original</option>
            </select><br>
            <small>If image size not available - automatically will be inserted smaller size</small>
        <?php
    }
    
    public function typography_header_callback() {
?>
        <select id="typography_header" name="hp_options[typography_header]" >
              <option value="h2">H2</option>
              <option value="h3" <?php
        if ($this->options['typography_header'] == 'h3') echo 'selected' ?>>H3</option>
              <option value="h4" <?php
        if ($this->options['typography_header'] == 'h4') echo 'selected' ?>>H4</option>
              <option value="h5" <?php
        if ($this->options['typography_header'] == 'h5') echo 'selected' ?>>H5</option>
              <option value="h6" <?php
        if ($this->options['typography_header'] == 'h6') echo 'selected' ?>>H6</option>
            </select><br>
        <?php
    }
    
    public function typography_paragraph_callback() {
?>
        <select id="typography_paragraph" name="hp_options[typography_paragraph]" >
              <option value="h2" <?php
        if ($this->options['typography_paragraph'] == 'h2') echo 'selected' ?>>H2</option>
              <option value="h3" <?php
        if ($this->options['typography_paragraph'] == 'h3') echo 'selected' ?>>H3</option>
              <option value="h4" <?php
        if ($this->options['typography_paragraph'] == 'h4') echo 'selected' ?>>H4</option>
              <option value="h5" <?php
        if ($this->options['typography_paragraph'] == 'h5') echo 'selected' ?>>H5</option>
              <option value="h6" <?php
        if ($this->options['typography_paragraph'] == 'h6') echo 'selected' ?>>H6</option>
              <option value="p" <?php
        if ($this->options['typography_paragraph'] == 'p' || !isset($this->options['typography_paragraph'])) echo 'selected' ?>>p</option>
            </select><br>
        <?php
    }
    
    public function typography_header_padding_callback() {
        printf('<input type="text" id="typography_header_padding" name="hp_options[typography_header_padding]" size="4" value="%s" /> px', isset($this->options['typography_header_padding']) ? esc_attr($this->options['typography_header_padding']) : '');
    }
    
    public function typography_paragraph_padding_callback() {
        printf('<input type="text" id="typography_paragraph_padding" name="hp_options[typography_paragraph_padding]" size="4" value="%s" /> px', isset($this->options['typography_paragraph_padding']) ? esc_attr($this->options['typography_paragraph_padding']) : '');
    }
    
    public function featured_enable_callback() {
        printf('<input type="checkbox" id="featured_enable" name="hp_options[featured_enable]" value="checked" %s />', isset($this->options['featured_enable']) ? esc_attr($this->options['featured_enable']) : '');
    }
    
    public function featured_effect_callback() {
?>
            <select id="featured_effect" name="hp_options[featured_effect]">
                <option value="none" <?php
        if ($this->options['featured_effect'] == 'none') echo 'selected' ?>>None</option>
                <option value="fade" <?php
        if ($this->options['featured_effect'] == 'fade') echo 'selected' ?>>Fade</option>
                <option value="stroke" <?php
        if ($this->options['featured_effect'] == 'stroke') echo 'selected' ?>>Stroke</option>
                <option value="twist" <?php
        if ($this->options['featured_effect'] == 'twist') echo 'selected' ?>>Twist</option>
                <option value="flip" <?php
        if ($this->options['featured_effect'] == 'flip') echo 'selected' ?>>Flip</option>
                <option value="flow" <?php
        if ($this->options['featured_effect'] == 'flow') echo 'selected' ?>>Flow</option>
                <option value="box" <?php
        if ($this->options['featured_effect'] == 'box') echo 'selected' ?>>Box</option>
                <option value="stripe" <?php
        if ($this->options['featured_effect'] == 'stripe') echo 'selected' ?>>Stripe</option>
                <option value="apart-horizontal" <?php
        if ($this->options['featured_effect'] == 'apart-horizontal') echo 'selected' ?>>Apart Horizontal</option>
                <option value="apart-vertical" <?php
        if ($this->options['featured_effect'] == 'apart-vertical') echo 'selected' ?>>Apart Vertical</option>
                <option value="diagonal" <?php
        if ($this->options['featured_effect'] == 'diagonal') echo 'selected' ?>>Diagonal</option>
            </select>
            <br>
        <?php
    }

    public function featured_inverse_effect_callback() {
        printf('<input type="checkbox" id="featured_inverse_effect" name="hp_options[featured_inverse_effect]" value="checked" %s />', isset($this->options['featured_inverse_effect']) ? esc_attr($this->options['featured_inverse_effect']) : '');
    }
    
    public function featured_opacity_callback() {
?>
            <select id="featured_opacity" name="hp_options[featured_opacity]">
                <option value="100" <?php
        if ($this->options['featured_opacity'] == '100') echo 'selected' ?>>100%</option>
                <option value="90" <?php
        if ($this->options['featured_opacity'] == '90') echo 'selected' ?>>90%</option>
                <option value="80" <?php
        if ($this->options['featured_opacity'] == '80') echo 'selected' ?>>80%</option>
                <option value="70" <?php
        if ($this->options['featured_opacity'] == '70') echo 'selected' ?>>70%</option>
                <option value="60" <?php
        if ($this->options['featured_opacity'] == '60') echo 'selected' ?>>60%</option>
                <option value="50" <?php
        if ($this->options['featured_opacity'] == '50') echo 'selected' ?>>50%</option>
                <option value="40" <?php
        if ($this->options['featured_opacity'] == '40') echo 'selected' ?>>40%</option>
                <option value="30" <?php
        if ($this->options['featured_opacity'] == '30') echo 'selected' ?>>30%</option>
                <option value="20" <?php
        if ($this->options['featured_opacity'] == '20') echo 'selected' ?>>20%</option>
                <option value="10" <?php
        if ($this->options['featured_opacity'] == '10') echo 'selected' ?>>10%</option>
            </select>
            <br>
        <?php
    }
    
    public function featured_title_callback() {
?>
            <select id="featured_title" name="hp_options[featured_title]">
                <option value="none" <?php
        if ($this->options['featured_title'] == 'none') echo 'selected' ?>>None</option>
                <option value="title" <?php
        if ($this->options['featured_title'] == 'title') echo 'selected' ?>>Post Title</option>
                <option value="custom" <?php
        if ($this->options['featured_title'] == 'custom') echo 'selected' ?>>Custom</option>
            </select>
            <br>
        <?php
    }

    public function featured_title_visible_callback() {
        printf('<input type="checkbox" id="featured_title_visible" name="hp_options[featured_title_visible]" value="checked" %s />', isset($this->options['featured_title_visible']) ? esc_attr($this->options['featured_title_visible']) : '');
    }

    public function featured_title_custom_callback() {
        printf('<input type="text" id="featured_title_custom" name="hp_options[featured_title_custom]" size="20" value="%s" />', isset($this->options['featured_title_custom']) ? esc_attr($this->options['featured_title_custom']) : '');
    }
    
    public function featured_title_effect_delay_callback() {
?>
            <select id="featured_title_effect_delay" name="hp_options[featured_title_effect_delay]">
                <option value="none" <?php
        if ($this->options['featured_title_effect_delay'] == 'none') echo 'selected' ?>>None</option>
                <option value="03" <?php
        if ($this->options['featured_title_effect_delay'] == '03') echo 'selected' ?>>0,3 seconds</option>
                <option value="06" <?php
        if ($this->options['featured_title_effect_delay'] == '06') echo 'selected' ?>>0,6 seconds</option>
                <option value="09" <?php
        if ($this->options['featured_title_effect_delay'] == '09') echo 'selected' ?>>0,9 seconds</option>
                <option value="12" <?php
        if ($this->options['featured_title_effect_delay'] == '12') echo 'selected' ?>>1,2 seconds</option>
                <option value="15" <?php
        if ($this->options['featured_title_effect_delay'] == '15') echo 'selected' ?>>1,5 seconds</option>
            </select>
            <br>
        <?php
    }
    
    public function featured_title_slide_effect_callback() {
?>
            <select id="featured_title_slide_effect" name="hp_options[featured_title_slide_effect]">
                <option value="none" <?php
        if ($this->options['featured_title_slide_effect'] == 'none') echo 'selected' ?>>None</option>
                <option value="from-left" <?php
        if ($this->options['featured_title_slide_effect'] == 'from-left') echo 'selected' ?>>From left</option>
                <option value="from-right" <?php
        if ($this->options['featured_title_slide_effect'] == 'from-right') echo 'selected' ?>>From right</option>
                <option value="from-bottom" <?php
        if ($this->options['featured_title_slide_effect'] == 'from-bottom') echo 'selected' ?>>From bottom</option>
                <option value="from-top" <?php
        if ($this->options['featured_title_slide_effect'] == 'from-top') echo 'selected' ?>>From top</option>
            </select>
            <br>
        <?php
    }
    
    public function featured_title_rotation_effect_callback() {
?>
            <select id="featured_title_rotation_effect" name="hp_options[featured_title_rotation_effect]">
                <option <?php
        if ($this->options['featured_title_rotation_effect'] == '') echo 'selected' ?>>None</option>
                <option value="cw-90" <?php
        if ($this->options['featured_title_rotation_effect'] == 'cw-90') echo 'selected' ?>>Clockwise 90</option>
                <option value="cw-180" <?php
        if ($this->options['featured_title_rotation_effect'] == 'cw-180') echo 'selected' ?>>Clockwise 180</option>
                <option value="ccw-90" <?php
        if ($this->options['featured_title_rotation_effect'] == 'ccw-90') echo 'selected' ?>>Counterclockwise 90</option>
                <option value="ccw-180" <?php
        if ($this->options['featured_title_rotation_effect'] == 'ccw-180') echo 'selected' ?>>Counterclockwise 180</option>
            </select>
            <br>
        <?php
    }
    
    public function featured_title_fade_effect_callback() {
        printf('<input type="checkbox" id="featured_title_fade_effect" name="hp_options[featured_title_fade_effect]" value="checked" %s />', isset($this->options['featured_title_fade_effect']) ? esc_attr($this->options['featured_title_fade_effect']) : '');
    }
    
    public function featured_title_scale_effect_callback() {
        printf('<input type="checkbox" id="featured_title_scale_effect" name="hp_options[featured_title_scale_effect]" value="checked" %s />', isset($this->options['featured_title_scale_effect']) ? esc_attr($this->options['featured_title_scale_effect']) : '');
    }
    
}

if (is_admin()) $hover_pack_settings = new HoverPackSettings();