PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / trunk
WP STAGING – WordPress Backup, Restore, Migration & Clone vtrunk
4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Security / UniqueIdentifier.php
wp-staging / Framework / Security Last commit date
Otp 7 months ago AccessToken.php 11 months ago Auth.php 2 years ago Capabilities.php 1 year ago DataEncryption.php 1 month ago EncryptionNoticeService.php 1 month ago Nonce.php 3 years ago UniqueIdentifier.php 3 years ago
UniqueIdentifier.php
52 lines
1 <?php
2
3 namespace WPStaging\Framework\Security;
4
5 /**
6 * Class UniqueIdentifier
7 *
8 * Use to create a unique id that is currently used in cloning related logs file names
9 *
10 * @package WPStaging\Framework\Security
11 */
12 class UniqueIdentifier
13 {
14 /** @var string */
15 const IDENTIFIER_OPTION_NAME = 'wpstg_unique_identifier';
16
17 /** @var string */
18 private $identifier;
19
20 /** @return string */
21 public function getIdentifier()
22 {
23 // Early bail: if unique identifier is already set
24 if (!empty($this->identifier)) {
25 return $this->identifier;
26 }
27
28 // Cache the result
29 $this->identifier = get_option(self::IDENTIFIER_OPTION_NAME);
30 if (empty($this->identifier)) {
31 $this->identifier = $this->generateIdentifier();
32 update_option(self::IDENTIFIER_OPTION_NAME, $this->identifier);
33 }
34
35 return $this->identifier;
36 }
37
38 /** @return string */
39 public function generateIdentifier($length = 16)
40 {
41 $allowedChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
42 $uniqueId = '';
43
44 for ($i = 0; $i < $length; $i++) {
45 $index = rand(0, strlen($allowedChars) - 1);
46 $uniqueId .= $allowedChars[$index];
47 }
48
49 return $uniqueId;
50 }
51 }
52