server/php/basic/resources/library/utilsFunctions.php
author rougeronj
Tue, 22 Sep 2015 15:14:10 +0200
changeset 543 5f7bebdcfc0d
parent 442 adb907bba956
permissions -rw-r--r--
Improve the way we init the view. The data loader send a "loaded" event, hooked by the scene.py and initializing the backbone.history and the view. We don't use redraw_active in save-once and full-json, because it was making the view initialization dependent of these file which are externals. Small fix to hide the "set saved view" button when there is only one view.
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
}