server/php/basic/resources/library/utilsFunctions.php
author rougeronj
Wed, 03 Jun 2015 17:27:46 +0200
changeset 471 e0c7be5dc02c
parent 442 adb907bba956
permissions -rw-r--r--
Add a router to handle fragment identifier Set up a listener of the router in the scene to update it Start Backbone.history (eventlistener of the router) when all the project is loaded Include router.js to all the test file
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
442
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
/**
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 * Generates version 4 UUIDs
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * from https://github.com/ramsey/uuid/blob/2.8/src/Uuid.php
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * and http://stackoverflow.com/a/2040279
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 *
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 * @return string
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 */
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
function genUuid4() {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    if (function_exists('openssl_random_pseudo_bytes')) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
        $bytes = openssl_random_pseudo_bytes(16);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    }
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    else {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
        $bytes = '';
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        mt_srand(crc32(serialize([microtime(true), 'USER_IP', 'ETC'])));
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
        for ($i = 1; $i <= $length; $i++) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
            $bytes = chr(mt_rand(0, 255)) . $bytes;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        }
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    }
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    $bytes[6] = chr(ord($bytes[6]) & 0x0f | 0x40); // set version to 0100
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    $bytes[8] = chr(ord($bytes[8]) & 0x3f | 0x80); // set bits 6-7 to 10
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($bytes), 4));
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
/**
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
 * get page self url
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
 * from http://stackoverflow.com/a/2236887
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
 */
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); }
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
function selfURL()
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
{
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
    $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
    $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
function selfBaseURL()
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
{
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
    $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
    $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
    $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
    return $protocol."://".$_SERVER['SERVER_NAME'].$port.dirname($_SERVER['REQUEST_URI']);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
}