-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathcreate-tokens.php
67 lines (50 loc) · 1.65 KB
/
create-tokens.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
<?php
//Create array holding all file names
$files = scandir('files_go_here');
unset($files[0]);
unset($files[1]);
$files = array_values($files);
//Array to hold arbitarty token object with:
//prettyname
//filename
$token_array = array();
foreach ($files as $filename) {
//Take name apart without file ending
$filname_raw = pathinfo($filename, PATHINFO_FILENAME);
$filename_parts = explode('-', $filname_raw);
//Capitalize filenmae parts and construct name
$filename_pretty = NULL;
$itr_count = 0;
foreach ($filename_parts as $filename_part) {
$filename_part = ucfirst($filename_part);
$space = ($itr_count == 0) ? '' : ' ';
$filename_pretty .= $space.$filename_part;
$itr_count++;
}
$token = new stdClass;
$token->prettyname = $filename_pretty;
$token->filename = $filename;
$token_array[] = $token;
}
//Create single token xml string and add it to an array
$token_xml_string_array = array();
foreach ($token_array as $token) {
$string = '<File path="docs/'.$token->filename.'">';
$string .= '<Token><TokenIdentifier>';
$string .= '//apple_ref/cpp/cl/'.$token->prettyname;
$string .= '</TokenIdentifier></Token>';
$string .= '</File>';
$token_xml_string_array[] = $string;
}
//Contruct full xml string
$xml_string = '<?xml version="1.0" encoding="UTF-8"?>';
$xml_string .= '<Tokens version="1.0">';
//Insert all tokens
foreach ($token_xml_string_array as $token_string) {
$xml_string .= $token_string;
}
$xml_string .= '</Tokens>';
$xml_string = formatXmlString($xml_string);
//Write to Tokens.xml file
$file_path = 'output/'.$config['docset_filename'].'/Contents/Resources/Tokens.xml';
file_put_contents($file_path, $xml_string);