| Server IP : 81.19.159.101 / Your IP : 216.73.217.111 Web Server : Apache System : Linux www58.world4you.com 4.18.0-553.126.2.lve.el8.x86_64 #1 SMP Thu May 28 14:12:30 UTC 2026 x86_64 User : ftp8817043 ( 2681) PHP Version : 8.4.21 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/.sites/103/site8817043/web/wp-content/plugins/akeebabackupwp/wpcli/Utils/ |
Upload File : |
<?php
/**
* @package solo
* @copyright Copyright (c)2014-2025 Nicholas K. Dionysopoulos / Akeeba Ltd
* @license GNU General Public License version 3, or later
*/
namespace Akeeba\WPCLI\Utils;
class UUID4
{
protected $isUpperCase;
public function __construct($isUpperCase = false)
{
$this->isUpperCase = !!$isUpperCase;
}
public function get($sep = '-')
{
$result = '';
// time_low unsigned 32 bit integer
$result .= $this->random(32);
// "-"
$result .= $sep;
// time_mid unsigned 16 bit integer
$result .= $this->random(16);
// "-"
$result .= $sep;
// time_hi_and_version unsigned 16 bit integer
// version (0100)
$result .= $this->hexString(1 << 2, 4);
// time-hi
$result .= $this->random(12);
// "-"
$result .= $sep;
// clock_seq_hi_and_reserved unsigned 8 bit integer
// 10xxxxxx (x is random)
$result .= $this->hexString(1 << 7 | mt_rand(0, pow(2, 6) - 1), 8);
// clock_seq_low unsigned 8 bit integer
$result .= $this->random(8);
// "-"
$result .= $sep;
// node unsigned 48 bit integer
$result .= $this->random(48);
return $result;
}
protected function random($bitNum)
{
$result = '';
$bits = 16;
$sum = 0;
while ($bitNum != $sum && $bits > 0)
{
$bits = (($bitNum - $sum) > 16) ? 16 : $bitNum - $sum;
$sum += $bits;
$val = mt_rand(0, pow(2, $bits) - 1);
$result = $this->hexString($val, $bits) . $result;
}
return $result;
}
protected function hexString($val, $bits)
{
$digits = (int) ($bits / 4 + 0.9);
return sprintf('%0' . $digits . ($this->isUpperCase ? 'X' : 'x'), $val);
}
}