| Server IP : 89.108.64.180 / Your IP : 216.73.217.92 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/fl-brief.agast.ru/wp-content/plugins/mailpoet/lib/Util/ |
Upload File : |
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
namespace MailPoet\Util;
if (!defined('ABSPATH')) exit;
class Helpers {
const DIVIDER = '***MailPoet***';
const LINK_TAG = 'link';
public static function isJson($string) {
if (!is_string($string)) return false;
json_decode($string);
return json_last_error() == JSON_ERROR_NONE;
}
public static function replaceLinkTags(
string $source,
string $link,
array $attributes = [],
string $linkTag = self::LINK_TAG
) {
if (empty($link)) return $source;
$attributes = array_map(function($key) use ($attributes) {
return sprintf('%s="%s"', $key, $attributes[$key]);
}, array_keys($attributes));
$source = str_replace(
'[' . $linkTag . ']',
sprintf(
'<a %s href="%s">',
join(' ', $attributes),
$link
),
$source
);
$source = str_replace('[/' . $linkTag . ']', '</a>', $source);
return preg_replace('/\s+/', ' ', $source);
}
public static function getMaxPostSize($bytes = false) {
$maxPostSize = ini_get('post_max_size');
if (!$bytes) return $maxPostSize;
if ($maxPostSize === false) {
return 0;
}
switch (substr($maxPostSize, -1)) {
case 'M':
case 'm':
return (int)$maxPostSize * 1048576;
case 'K':
case 'k':
return (int)$maxPostSize * 1024;
case 'G':
case 'g':
return (int)$maxPostSize * 1073741824;
default:
return $maxPostSize;
}
}
public static function flattenArray($array) {
if (!$array) return;
$flattenedArray = [];
array_walk_recursive($array, function ($a) use (&$flattenedArray) {
$flattenedArray[] = $a;
});
return $flattenedArray;
}
public static function underscoreToCamelCase($str, $capitaliseFirstChar = false) {
if ($capitaliseFirstChar) {
$str[0] = strtoupper($str[0]);
}
return preg_replace_callback('/_([a-z])/', function ($c) {
return strtoupper($c[1]);
}, $str);
}
public static function camelCaseToUnderscore($str) {
$str[0] = strtolower($str[0]);
return preg_replace_callback('/([A-Z])/', function ($c) {
return "_" . strtolower($c[1]);
}, $str);
}
public static function joinObject($object = []) {
return implode(self::DIVIDER, $object);
}
public static function splitObject($object = []) {
return explode(self::DIVIDER, $object);
}
public static function getIP() {
return (isset($_SERVER['REMOTE_ADDR']))
? sanitize_text_field(wp_unslash($_SERVER['REMOTE_ADDR']))
: null;
}
public static function recursiveTrim($value) {
if (is_array($value))
return array_map([__CLASS__, 'recursiveTrim'], $value);
if (is_string($value))
return trim($value);
return $value;
}
public static function escapeSearch(string $search): string {
return str_replace(['\\', '%', '_'], ['\\\\', '\\%', '\\_'], trim($search)); // escape for 'LIKE'
}
public static function extractEmailDomain(string $email = ''): string {
$arrayOfItems = explode('@', trim($email));
return strtolower(array_pop($arrayOfItems));
}
}