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;
 | |
|         }
 | |
|     }
 | |
| }
 |