255 |
255 |
256 $result = test_thesteps(); |
256 $result = test_thesteps(); |
257 $error = ''; |
257 $error = ''; |
258 |
258 |
259 switch ($result) { |
259 switch ($result) { |
260 case 0: $sock = open_socket(); |
260 case 0: $cmd = array("PROFILE PUTS ".$_POST['UUID']); |
261 if ($sock != false) { |
261 for ($i = 1; $i <= 8; $i++) { |
262 socket_write($sock, 'PROFILE PUTS '.$_POST['UUID'], 4096); |
|
263 for ($i = 1; $i <= 8; $i++) { |
|
264 /* |
|
265 * Use small delays so the remote really sees single lines. |
|
266 * This is a real bug between client/server programming, |
|
267 * the PHP side is line oriented, the server is reading blocks. |
|
268 * So we just send the data slowly and the server just sees lines. |
|
269 */ |
|
270 if (($_POST['steptime'.$i] > 0) || ($_POST['resttime'.$i] > 0)) { |
262 if (($_POST['steptime'.$i] > 0) || ($_POST['resttime'.$i] > 0)) { |
271 usleep(20000); |
263 $cmd[] = $_POST['steptime'.$i].','.$_POST['resttime'.$i].','.$_POST['target'.$i]; |
272 socket_write($sock, $_POST['steptime'.$i].','.$_POST['resttime'.$i].','.$_POST['target'.$i], 4096); |
|
273 } |
|
274 unset($_POST['steptime'.$i]); |
|
275 unset($_POST['resttime'.$i]); |
|
276 unset($_POST['target'.$i]); |
|
277 } |
264 } |
278 usleep(20000); |
265 unset($_POST['steptime'.$i]); |
279 socket_write($sock, '.', 4096); |
266 unset($_POST['resttime'.$i]); |
280 /* Absorb response */ |
267 unset($_POST['target'.$i]); |
281 while (1) { |
268 } |
282 $line = socket_read($sock, 4096); |
269 $cmd[] = "."; |
283 if ($line === '') |
270 send_array($cmd); |
284 break; |
271 unset($_POST['UUID']); |
285 } |
272 unset($_POST['key']); |
286 socket_close($sock); |
273 load('profiles.php'); |
287 unset($_POST['UUID']); |
274 return; |
288 unset($_POST['key']); |
|
289 load('profiles.php'); |
|
290 return; |
|
291 } |
|
292 break; |
275 break; |
293 case 1: $error = 'Missing data'; |
276 case 1: $error = 'Missing data'; |
294 break; |
277 break; |
295 case 2: $error = 'A resttime is shorter then the steptime'; |
278 case 2: $error = 'A resttime is shorter then the steptime'; |
296 break; |
279 break; |