171 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
if (!class_exists('PLD_Library')) {
 | 
						|
 | 
						|
    class PLD_Library {
 | 
						|
 | 
						|
        var $pld_settings;
 | 
						|
 | 
						|
        function __construct() {
 | 
						|
            $this->pld_settings = get_option('pld_settings');
 | 
						|
        }
 | 
						|
 | 
						|
        function print_array($array) {
 | 
						|
            echo "<pre>";
 | 
						|
            print_r($array);
 | 
						|
            echo "</pre>";
 | 
						|
        }
 | 
						|
 | 
						|
        /**
 | 
						|
         * Returns default settings array
 | 
						|
         *
 | 
						|
         * @return array
 | 
						|
         *
 | 
						|
         * @since 1.0.0
 | 
						|
         */
 | 
						|
        function get_default_settings() {
 | 
						|
            $default_settings = array();
 | 
						|
            $default_settings['basic_settings']['status'] = 0;
 | 
						|
            $default_settings['basic_settings']['like_dislike_position'] = 'after';
 | 
						|
            $default_settings['basic_settings']['like_dislike_display'] = 'both';
 | 
						|
            $default_settings['basic_settings']['like_dislike_resistriction'] = 'cookie';
 | 
						|
            $default_settings['basic_settings']['display_order'] = 'like-dislike';
 | 
						|
            $default_settings['basic_settings']['like_hover_text'] = '';
 | 
						|
            $default_settings['basic_settings']['dislike_hover_text'] = '';
 | 
						|
            $default_settings['design_settings']['template'] = 'template-1';
 | 
						|
            $default_settings['design_settings']['like_icon'] = '';
 | 
						|
            $default_settings['design_settings']['dislike_icon'] = '';
 | 
						|
            $default_settings['design_settings']['icon_color'] = '';
 | 
						|
            $default_settings['design_settings']['count_color'] = '';
 | 
						|
            /**
 | 
						|
             * Filters deault settings
 | 
						|
             *
 | 
						|
             * @param type array $default_settings
 | 
						|
             *
 | 
						|
             * @since 1.0.0
 | 
						|
             */
 | 
						|
            return apply_filters('pld_default_settings', $default_settings);
 | 
						|
        }
 | 
						|
 | 
						|
        /**
 | 
						|
         * Returns visitors IP address
 | 
						|
         *
 | 
						|
         * @return string $ip
 | 
						|
         *
 | 
						|
         * @since 1.0.0
 | 
						|
         */
 | 
						|
        function get_user_IP() {
 | 
						|
            $client = (!empty($_SERVER['HTTP_CLIENT_IP'])) ? $_SERVER['HTTP_CLIENT_IP'] : '';
 | 
						|
            $forward = (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : '';
 | 
						|
            $remote = (!empty($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : '';
 | 
						|
 | 
						|
            if (filter_var($client, FILTER_VALIDATE_IP)) {
 | 
						|
                $ip = $client;
 | 
						|
            } elseif (filter_var($forward, FILTER_VALIDATE_IP)) {
 | 
						|
                $ip = $forward;
 | 
						|
            } else {
 | 
						|
                $ip = $remote;
 | 
						|
            }
 | 
						|
 | 
						|
            return $ip;
 | 
						|
        }
 | 
						|
 | 
						|
        /**
 | 
						|
         * Sanitizes Multi Dimensional Array
 | 
						|
         * @param array $array
 | 
						|
         * @param array $sanitize_rule
 | 
						|
         * @return array
 | 
						|
         *
 | 
						|
         * @since 1.0.0
 | 
						|
         */
 | 
						|
        function sanitize_array($array = array(), $sanitize_rule = array()) {
 | 
						|
            if (!is_array($array) || count($array) == 0) {
 | 
						|
                return array();
 | 
						|
            }
 | 
						|
 | 
						|
            foreach ($array as $k => $v) {
 | 
						|
                if (!is_array($v)) {
 | 
						|
 | 
						|
                    $default_sanitize_rule = (is_numeric($k)) ? 'html' : 'text';
 | 
						|
                    $sanitize_type = isset($sanitize_rule[$k]) ? $sanitize_rule[$k] : $default_sanitize_rule;
 | 
						|
                    $array[$k] = $this->sanitize_value($v, $sanitize_type);
 | 
						|
                }
 | 
						|
                if (is_array($v)) {
 | 
						|
                    $array[$k] = $this->sanitize_array($v, $sanitize_rule);
 | 
						|
                }
 | 
						|
            }
 | 
						|
 | 
						|
            return $array;
 | 
						|
        }
 | 
						|
 | 
						|
        /**
 | 
						|
         * Sanitizes Value
 | 
						|
         *
 | 
						|
         * @param type $value
 | 
						|
         * @param type $sanitize_type
 | 
						|
         * @return string
 | 
						|
         *
 | 
						|
         * @since 1.0.0
 | 
						|
         */
 | 
						|
        function sanitize_value($value = '', $sanitize_type = 'text') {
 | 
						|
            switch ($sanitize_type) {
 | 
						|
                case 'html':
 | 
						|
                    return $this->sanitize_html($value);
 | 
						|
                    break;
 | 
						|
                case 'none':
 | 
						|
                    return $value;
 | 
						|
                    break;
 | 
						|
                default:
 | 
						|
                    return sanitize_text_field($value);
 | 
						|
                    break;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        /**
 | 
						|
         * Sanitizes the content by bypassing allowed html
 | 
						|
         *
 | 
						|
         * @param string $text
 | 
						|
         * @return string
 | 
						|
         *
 | 
						|
         * @since 1.0.0
 | 
						|
         */
 | 
						|
        function sanitize_html($text) {
 | 
						|
            $allowed_html = wp_kses_allowed_html('post');
 | 
						|
            return wp_kses($text, $allowed_html);
 | 
						|
        }
 | 
						|
 | 
						|
        /**
 | 
						|
         * Prints display none
 | 
						|
         *
 | 
						|
         * @param string $param1
 | 
						|
         * @param string $param2
 | 
						|
         *
 | 
						|
         * @since 1.0.5
 | 
						|
         */
 | 
						|
        function display_none($param1, $param2) {
 | 
						|
            if ($param1 != $param2) {
 | 
						|
                echo 'style="display:none"';
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        /**
 | 
						|
         * Returns current page URL
 | 
						|
         *
 | 
						|
         * @since 1.0.5
 | 
						|
         */
 | 
						|
        function get_current_page_url() {
 | 
						|
            if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')
 | 
						|
                $url = "https://";
 | 
						|
            else
 | 
						|
                $url = "http://";
 | 
						|
            // Append the host(domain name, ip) to the URL.
 | 
						|
            $url .= $_SERVER['HTTP_HOST'];
 | 
						|
 | 
						|
            // Append the requested resource location to the URL
 | 
						|
            $url .= $_SERVER['REQUEST_URI'];
 | 
						|
 | 
						|
            return $url;
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |