-
Notifications
You must be signed in to change notification settings - Fork 0
/
runme.php
107 lines (85 loc) · 2.41 KB
/
runme.php
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
// #############################################################################
// Variables
// #############################################################################
$filePut = "./GlobalConfig.xml";
// #############################################################################
// Getting arguments.
// #############################################################################
if(!array_key_exists(1, $argv))
{
exit(1);
}
elseif($argv[1] == "help")
{
echo 'runme.php "classroom name" "./path/to/file.txt"';
}
else {
$classroomName = $argv[1];
}
// Getting file path
if(!array_key_exists(2, $argv))
{
$filePath = "./ids.txt";
}
else
{
$filePath = $argv[2];
}
// #############################################################################
// Functions
// #############################################################################
function explodeArray($file)
{
$data = explode(PHP_EOL, $file);
foreach($data as $key => $value)
{
$data[$key] = explode(",", $value);
}
return $data;
}
function clientXML($data)
{
$intID = 1000;
$clients = null;
foreach($data as $value)
{
if(!array_key_exists(2, $value)){
continue;
}
$macAddr = str_replace("-", ":", $value[2]);
$clients .= "\n"; // New line
$clients .= ' <client type="0" name="' . $value[0] . '" id="' . $intID++ . '" mac="' . $macAddr . '" hostname="' . $value[1] . '"/>';
}
return $clients;
}
// #############################################################################
// Creating XML
// #############################################################################
$xmlHeader =
'<?xml version="1.0"?>
<!DOCTYPE italc-config-file>
<globalclientconfig version="3.0.3">
<body>
';
$xmlFooter =
'
</classroom>
</body>
</globalclientconfig>';
$xmlClassroom =
' <classroom name="' . $classroomName . '">';
// #############################################################################
// Creation
// #############################################################################
$file = file_get_contents($filePath);
$dataArray = explodeArray($file);
$clientConfig = clientXML($dataArray);
$xml = $xmlHeader;
$xml .= $xmlClassroom;
$xml .=$clientConfig;
$xml .=$xmlFooter;
file_put_contents($filePut, $xml);
echo "Creation completed....";
echo "\n";
exit(0);