annotate vendor/sabre/vobject/bin/generate_vcards @ 7:430dbd5346f7

vendor sabre as distributed
author Charlie Root
date Sat, 13 Jan 2018 09:06:10 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
1 #!/usr/bin/env php
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
2 <?php
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
3
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
4 namespace Sabre\VObject;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
5
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
6 // This sucks.. we have to try to find the composer autoloader. But chances
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
7 // are, we can't find it this way. So we'll do our bestest
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
8 $paths = array(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
9 __DIR__ . '/../vendor/autoload.php', // In case vobject is cloned directly
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
10 __DIR__ . '/../../../autoload.php', // In case vobject is a composer dependency.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
11 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
12
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
13 foreach($paths as $path) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
14 if (file_exists($path)) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
15 include $path;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
16 break;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
17 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
18 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
19
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
20 if (!class_exists('Sabre\\VObject\\Version')) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
21 fwrite(STDERR, "Composer autoloader could not be properly loaded.\n");
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
22 die(1);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
23 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
24
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
25 if ($argc < 2) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
26
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
27 $version = Version::VERSION;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
28
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
29 $help = <<<HI
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
30 sabre/vobject $version
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
31 Usage:
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
32 generate_vcards [count]
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
33
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
34 Options:
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
35 count The number of random vcards to generate
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
36
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
37 Examples:
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
38 generate_vcards 1000 > testdata.vcf
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
39
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
40 HI;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
41
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
42 fwrite(STDERR, $help);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
43 exit(2);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
44 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
45
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
46 $count = (int)$argv[1];
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
47 if ($count < 1) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
48 fwrite(STDERR, "Count must be at least 1\n");
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
49 exit(2);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
50 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
51
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
52 fwrite(STDERR, "sabre/vobject " . Version::VERSION . "\n");
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
53 fwrite(STDERR, "Generating " . $count . " vcards in vCard 4.0 format\n");
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
54
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
55 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
56 * The following list is just some random data we compiled from various
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
57 * sources online.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
58 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
59 * Very little thought went into compiling this list, and certainly nothing
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
60 * political or ethical.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
61 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
62 * We would _love_ more additions to this to add more variation to this list.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
63 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
64 * Send us PR's and don't be shy adding your own first and last name for fun.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
65 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
66
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
67 $sets = [
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
68 "nl" => [
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
69 "country" => "Netherlands",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
70 "boys" => [
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
71 "Anno",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
72 "Bram",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
73 "Daan",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
74 "Evert",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
75 "Finn",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
76 "Jayden",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
77 "Jens",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
78 "Jesse",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
79 "Levi",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
80 "Lucas",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
81 "Luuk",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
82 "Milan",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
83 "René",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
84 "Sem",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
85 "Sibrand",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
86 "Willem",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
87 ],
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
88 "girls" => [
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
89 "Celia",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
90 "Emma",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
91 "Fenna",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
92 "Geke",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
93 "Inge",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
94 "Julia",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
95 "Lisa",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
96 "Lotte",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
97 "Mila",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
98 "Sara",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
99 "Sophie",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
100 "Tess",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
101 "Zoë",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
102 ],
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
103 "last" => [
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
104 "Bakker",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
105 "Bos",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
106 "De Boer",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
107 "De Groot",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
108 "De Jong",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
109 "De Vries",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
110 "Jansen",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
111 "Janssen",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
112 "Meyer",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
113 "Mulder",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
114 "Peters",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
115 "Smit",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
116 "Van Dijk",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
117 "Van den Berg",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
118 "Visser",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
119 "Vos",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
120 ],
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
121 ],
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
122 "us" => [
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
123 "country" => "United States",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
124 "boys" => [
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
125 "Aiden",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
126 "Alexander",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
127 "Charles",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
128 "David",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
129 "Ethan",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
130 "Jacob",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
131 "James",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
132 "Jayden",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
133 "John",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
134 "Joseph",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
135 "Liam",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
136 "Mason",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
137 "Michael",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
138 "Noah",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
139 "Richard",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
140 "Robert",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
141 "Thomas",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
142 "William",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
143 ],
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
144 "girls" => [
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
145 "Ava",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
146 "Barbara",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
147 "Chloe",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
148 "Dorothy",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
149 "Elizabeth",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
150 "Emily",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
151 "Emma",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
152 "Isabella",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
153 "Jennifer",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
154 "Lily",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
155 "Linda",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
156 "Margaret",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
157 "Maria",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
158 "Mary",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
159 "Mia",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
160 "Olivia",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
161 "Patricia",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
162 "Roxy",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
163 "Sophia",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
164 "Susan",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
165 "Zoe",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
166 ],
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
167 "last" => [
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
168 "Smith",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
169 "Johnson",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
170 "Williams",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
171 "Jones",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
172 "Brown",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
173 "Davis",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
174 "Miller",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
175 "Wilson",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
176 "Moore",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
177 "Taylor",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
178 "Anderson",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
179 "Thomas",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
180 "Jackson",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
181 "White",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
182 "Harris",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
183 "Martin",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
184 "Thompson",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
185 "Garcia",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
186 "Martinez",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
187 "Robinson",
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
188 ],
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
189 ],
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
190 ];
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
191
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
192 $current = 0;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
193
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
194 $r = function($arr) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
195
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
196 return $arr[mt_rand(0,count($arr)-1)];
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
197
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
198 };
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
199
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
200 $bdayStart = strtotime('-85 years');
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
201 $bdayEnd = strtotime('-20 years');
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
202
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
203 while($current < $count) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
204
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
205 $current++;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
206 fwrite(STDERR, "\033[100D$current/$count");
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
207
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
208 $country = array_rand($sets);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
209 $gender = mt_rand(0,1)?'girls':'boys';
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
210
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
211 $vcard = new Component\VCard([
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
212 'VERSION' => '4.0',
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
213 'FN' => $r($sets[$country][$gender]) . ' ' . $r($sets[$country]['last']),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
214 'UID' => UUIDUtil::getUUID(),
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
215 ]);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
216
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
217 $bdayRatio = mt_rand(0,9);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
218
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
219 if($bdayRatio < 2) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
220 // 20% has a birthday property with a full date
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
221 $dt = new \DateTime('@' . mt_rand($bdayStart, $bdayEnd));
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
222 $vcard->add('BDAY', $dt->format('Ymd'));
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
223
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
224 } elseif ($bdayRatio < 3) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
225 // 10% we only know the month and date of
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
226 $dt = new \DateTime('@' . mt_rand($bdayStart, $bdayEnd));
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
227 $vcard->add('BDAY', '--' . $dt->format('md'));
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
228 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
229 if ($result = $vcard->validate()) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
230 ob_start();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
231 echo "\nWe produced an invalid vcard somehow!\n";
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
232 foreach($result as $message) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
233 echo " " . $message['message'] . "\n";
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
234 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
235 fwrite(STDERR, ob_get_clean());
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
236 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
237 echo $vcard->serialize();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
238
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
239 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
240
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
241 fwrite(STDERR,"\nDone.\n");