Subversion Repositories oidplus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
226 daniel-mar 1
<?php
2
 
3
$roots = array();
4
#$roots[] = '.2.25.123';
5
#$roots[] = '.2.25.456';
6
$roots[] = '.1.3.6.1.4';
7
$roots[] = '.1.3.6.1.4.1.1234';
8
$roots[] = '.1.3.6.1.4.1.5678.2';
9
 
10
$hiarc = -1;
11
 
12
foreach ($roots as $r) {
13
        $c = explode('.', $r);
14
        $z = count($c);
15
        if ($z > $hiarc) $hiarc = $z;
16
}
17
 
18
echo "Hiarc: $hiarc\n";
19
 
20
$cr = '';
21
for ($i=1; $i<$hiarc; $i++) {
22
        $eq = null;
23
        $diff = false;
24
echo "--- $i ---\n";
25
        foreach ($roots as $r) {
26
                $c = explode('.', $r);
27
                $t = $c[$i];
28
                if (is_null($eq)) {
29
                        $eq = $t;
30
                } else {
31
                        if ($eq != $t) {
32
echo "Chk: $eq != $t\n";
33
 
34
                                $diff = true;
35
                                break;
36
                        }
37
                }
38
        }
39
        if ($diff) {
40
                $c = explode('.', $roots[0]);
41
                $o = array();
42
                for ($j=$i-2; $j>=0; $j--) {
43
                        $o[] = $c[$j];
44
                }
45
                $o = array_reverse($o);
46
                $cr = implode('.', $o);
47
#               if ($cr == '') $cr = '.';
48
                echo "Common root: ".$cr."\n";;
49
                break;
50
        }
51
}
52
 
53
$zzz = array();
54
$zzz[$cr] = true;
55
foreach ($roots as $r) {
56
        echo "Proc $r ($cr)\n";
57
        $r = substr($r, strlen($cr));
58
#       $r = substr($r, 1).'.';
59
#       $r = $cr.'.'.substr($r, 0, strpos($r, '.'));
60
        $v = explode('.', $r);
61
        array_pop($v);
62
 
63
print_r($v);
64
 
65
        $a = $cr;
66
        foreach ($v as $vv) {
67
                $a .= 'x'.$vv;
68
                $zzz[$a] = true;
69
 
70
        }
71
        echo "\n";
72
}
73
 
74
foreach ($zzz as $z => $x) {
75
        echo "X = $z\n";
76
}
77
 
78
?>