blob: 09974d75eb58a098f21a4b726f4c6023a4118d01 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
diff -up Horde_Support-2.0.0/lib/Horde/Support/Uuid.php.old Horde_Support-2.0.0/lib/Horde/Support/Uuid.php
--- Horde_Support-2.0.0/lib/Horde/Support/Uuid.php.old 2012-11-06 17:23:48.000000000 +0100
+++ Horde_Support-2.0.0/lib/Horde/Support/Uuid.php 2012-11-06 17:36:23.000000000 +0100
@@ -36,9 +36,20 @@ class Horde_Support_Uuid
*/
public function generate()
{
+ $this->_uuid = NULL;
if (extension_loaded('uuid')) {
- $this->_uuid = uuid_create();
- } else {
+ if (function_exists("uuid_export")) {
+ // UUID extension from http://www.ossp.org/pkg/lib/uuid/
+ if (uuid_create($ctx)==UUID_RC_OK && uuid_make($ctx, UUID_MAKE_V4)==UUID_RC_OK && uuid_export($ctx, UUID_FMT_STR, $str)==UUID_RC_OK) {
+ $this->_uuid = $str;
+ uuid_destroy($ctx);
+ }
+ } else {
+ // UUID extension from http://pecl.php.net/package/uuid
+ $this->_uuid = uuid_create();
+ }
+ }
+ if (!$this->_uuid) {
list($time_mid, $time_low) = explode(' ', microtime());
$time_low = (int)$time_low;
$time_mid = (int)substr($time_mid, 2) & 0xffff;
|