towards 5.0
[plewww.git] / planetlab / includes / plc_sorts.php
1 <?php
2
3 // person sort on last name, first name, email
4 function __cmp_persons($a, $b) {
5   $persona = $a['last_name'] . $a['first_name'] . $a['email'];
6   $personb = $b['last_name'] . $b['first_name'] . $b['email'];
7   return strcmp($persona, $personb);
8 }
9
10 function sort_persons(&$persons) {
11   return usort($persons, "__cmp_persons");
12 }
13
14
15 function __cmp_nodes($a, $b) {
16  $as = array_reverse(explode(".", $a['hostname']));
17  $bs = array_reverse(explode(".", $b['hostname']));
18  foreach ($as as $key => $val) {
19    if ($val == $bs[$key]) {
20      continue;
21    }
22    return ($val < $bs[$key]) ? -1 : 1;
23  }
24 }
25
26 function sort_nodes(&$nodes) {
27   return usort($nodes, "__cmp_nodes");
28 }
29
30 // node group sort on name
31 function __cmp_nodegroups($a, $b) {
32         return strcasecmp($a['name'], $b['name']);
33 }
34
35 function sort_nodegroups(&$nodegroups) {
36         return usort($nodegroups, "__cmp_nodegroups");
37 }
38
39 // site sort on name
40 function __cmp_sites($a, $b) {
41   return strcasecmp($a['name'], $b['name']);
42 }
43
44 function sort_sites(&$sites) {
45   return usort($sites, "__cmp_sites");
46 }
47
48 // slice sort on name
49 function __cmp_slices($a, $b) {
50   return strcasecmp($a['name'], $b['name']);
51 }
52
53 function sort_slices(&$slices) {
54   return usort($slices, "__cmp_slices");
55 }
56
57 function __cmp_peers($a,$b) {
58   return strcmp($a['peername'],$b['peername']);
59 }
60
61 function sort_peers (&$peers) {
62   return usort ($peers, "__cmp_peers");
63 }
64
65 function __cmp_interface_settings($a,$b) {
66   $cat=strcmp($a['category'],$b['category']);
67   if ($cat != 0) {
68     return $cat;
69   } else {
70     return strcmp($a['name'],$b['name']);
71   }
72 }
73
74 function sort_interface_settings (&$interface_settings) {
75   return usort ($interface_settings,"__cmp_interface_settings");
76 }
77
78 ?>