/home/arranoyd/magicraft/wp-content/plugins/popup-maker/includes/misc-functions.php
<?php
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! function_exists( 'current_action' ) ) {
function current_action() {
return current_filter();
}
}
if ( ! function_exists( 'get_called_class' ) ) {
function get_called_class() {
$bt = debug_backtrace();
$l = 0;
do {
$l++;
$lines = file($bt[$l]['file']);
$callerLine = $lines[$bt[$l]['line']-1];
preg_match('/([a-zA-Z0-9\_]+)::'.$bt[$l]['function'].'/',
$callerLine,
$matches);
if ($matches[1] == 'self') {
$line = $bt[$l]['line']-1;
while ($line > 0 && strpos($lines[$line], 'class') === false) {
$line--;
}
preg_match('/class[\s]+(.+?)[\s]+/si', $lines[$line], $matches);
}
}
while ($matches[1] == 'parent' && $matches[1]);
return $matches[1];
}
}
if ( ! function_exists( 'get_term_name' ) ) {
function get_term_name( $term_id, $taxonomy ) {
$term = get_term_by( 'id', absint( $term_id ), $taxonomy );
return $term->name;
}
}
/**
* Get User IP
*
* Returns the IP address of the current visitor
*
* @since 1.0.8.2
* @return string $ip User's IP address
*/
function popmake_get_ip() {
$ip = '127.0.0.1';
if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
//check ip from share internet
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
//to check ip is pass from proxy
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif( ! empty( $_SERVER['REMOTE_ADDR'] ) ) {
$ip = $_SERVER['REMOTE_ADDR'];
}
return apply_filters( 'popmake_get_ip', $ip );
}
/**
* Get user host
*
* Returns the webhost this site is using if possible
*
* @since 2.0
* @return mixed string $host if detected, false otherwise
*/
function popmake_get_host() {
$host = false;
if( defined( 'WPE_APIKEY' ) ) {
$host = 'WP Engine';
} elseif( defined( 'PAGELYBIN' ) ) {
$host = 'Pagely';
} elseif( DB_HOST == 'localhost:/tmp/mysql5.sock' ) {
$host = 'ICDSoft';
} elseif( DB_HOST == 'mysqlv5' ) {
$host = 'NetworkSolutions';
} elseif( strpos( DB_HOST, 'ipagemysql.com' ) !== false ) {
$host = 'iPage';
} elseif( strpos( DB_HOST, 'ipowermysql.com' ) !== false ) {
$host = 'IPower';
} elseif( strpos( DB_HOST, '.gridserver.com' ) !== false ) {
$host = 'MediaTemple Grid';
} elseif( strpos( DB_HOST, '.pair.com' ) !== false ) {
$host = 'pair Networks';
} elseif( strpos( DB_HOST, '.stabletransit.com' ) !== false ) {
$host = 'Rackspace Cloud';
} elseif( strpos( DB_HOST, '.sysfix.eu' ) !== false ) {
$host = 'SysFix.eu Power Hosting';
} elseif( strpos( $_SERVER['SERVER_NAME'], 'Flywheel' ) !== false ) {
$host = 'Flywheel';
} else {
// Adding a general fallback for data gathering
$host = 'DBH: ' . DB_HOST . ', SRV: ' . $_SERVER['SERVER_NAME'];
}
return $host;
}
/**
* Check site host
*
* @since 2.0
* @param $host The host to check
* @return bool true if host matches, false if not
*/
function popmake_is_host( $host = false ) {
$return = false;
if( $host ) {
$host = str_replace( ' ', '', strtolower( $host ) );
switch( $host ) {
case 'wpengine':
if( defined( 'WPE_APIKEY' ) )
$return = true;
break;
case 'pagely':
if( defined( 'PAGELYBIN' ) )
$return = true;
break;
case 'icdsoft':
if( DB_HOST == 'localhost:/tmp/mysql5.sock' )
$return = true;
break;
case 'networksolutions':
if( DB_HOST == 'mysqlv5' )
$return = true;
break;
case 'ipage':
if( strpos( DB_HOST, 'ipagemysql.com' ) !== false )
$return = true;
break;
case 'ipower':
if( strpos( DB_HOST, 'ipowermysql.com' ) !== false )
$return = true;
break;
case 'mediatemplegrid':
if( strpos( DB_HOST, '.gridserver.com' ) !== false )
$return = true;
break;
case 'pairnetworks':
if( strpos( DB_HOST, '.pair.com' ) !== false )
$return = true;
break;
case 'rackspacecloud':
if( strpos( DB_HOST, '.stabletransit.com' ) !== false )
$return = true;
break;
case 'sysfix.eu':
case 'sysfix.eupowerhosting':
if( strpos( DB_HOST, '.sysfix.eu' ) !== false )
$return = true;
break;
case 'flywheel':
if( strpos( $_SERVER['SERVER_NAME'], 'Flywheel' ) !== false )
$return = true;
break;
default:
$return = false;
}
}
return $return;
}