summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/windows_links/common.inc
blob: c55aa5d01ad53a88253d63c665f778cbea3f5128 (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
27
28
29
30
<?php

function get_sysroot() {
    // usually c:\\windows, but not always
    return exec('echo %SYSTEMROOT%');
}

function get_junction(){
    // junction.exe isn't included with Windows
    // its a sysinternals tool for working with filesystem links
    // see: http://technet.microsoft.com/en-us/sysinternals/bb896768

    // install somewhere that is on %path% or added to %path%
    return "junction.exe";
}

function get_mountvol() {
    $sysroot = get_sysroot();

    return "$sysroot\\System32\\mountvol.exe";
}

function skipIfSeCreateSymbolicLinkPrivilegeIsDisabled(string $filename) {
    $ln = "$filename.lnk";
    $ret = exec("mklink $ln " . __FILE__ .' 2>&1', $out);
    @unlink($ln);
    if (strpos($ret, 'privilege') !== false) {
        die('skip SeCreateSymbolicLinkPrivilege not enabled');
    }
}