function test_writePostion() { appendTestMessage(NEW_LINE_LOG . " >> Tests writing of single position..." . NEW_LINE_LOG); appendTestMessage("Prepare: Create new user"); $ret = checkUser("dUser", "dPassword"); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Check parameter lat"); $ret = writePostion('', '', '', '', '', '', '', '', '', ''); if (!$ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Check parameter lon"); $ret = writePostion('', '', '47.50457163540115', '', '', '', '', '', '', ''); if (!$ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Prepare: Create new user"); $ret = checkUser("dUser", "dPassword"); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks (individually 1) for user (no positions yet)"); $ret = getLastPostionsAndTracksIndividually(''); if (isNullOrEmptyString($ret)) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks (individually 2) for user (no positions yet)"); $ret = getLastPostionsAndTracksIndividually('dUser'); if (isNullOrEmptyString($ret)) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks (individually 3) for user (no positions yet)"); $ret = getLastPostionsAndTracksIndividually('dUser=2013-03-03 15:48:47.484', 'true'); if (isNullOrEmptyString($ret)) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Test helper function to write the postion.csv > new"); $ret = writePositionFile('dUser', 'test;test;test'); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } $testDateTime = getDateForTimezoneOffset('dUser', '', false); appendTestMessage("Write single position"); $csvLine = 'lat=47.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDateTime; $ret = writePositionFile('dUser', $csvLine); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Write lat and lon"); $ret = writePostion('dUser', '', '42.50457163540115', '11.071390274487026', '', '', '', '', '2012-03-03T15:48:47.484', 'true'); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks (individually 1) for user (one position yet) no track for today"); $ret = getLastPostionsAndTracksIndividually('dUser'); $expectedTracks = '[positions]' . PHP_EOL . 'user=dUser;lat=42.50457163540115;lon=11.071390274487026;time=2012-03-03T15:48:47.484'; if ($ret == $expectedTracks) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks (individually 2) for user (one position yet) - track excluded because of time"); $ret = getLastPostionsAndTracksIndividually('dUser=2012-03-03T15:48:47.4841'); $expectedTracks = "[positions]" . PHP_EOL . 'user=dUser;lat=42.50457163540115;lon=11.071390274487026;time=2012-03-03T15:48:47.484'; if ($ret == $expectedTracks) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } $testDate = getDateForTimezoneOffset('dUser', '', true); appendTestMessage("Write lat and lon"); $ret = writePostion('dUser', '', '42.50457163540115', '11.071390274487026', '', '', '', '', $testDate . 'T15:48:47.484', 'true'); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } $today = getDateForTimezoneOffset('dUser', '', true); $gpxFileName = $today . '.csv'; appendTestMessage("Check for a data file (gpx) for this user"); $ret = getUsersForDataFileName('dUser', $gpxFileName); if ($ret == 'dUser') { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } // TODO: New appendTestMessage("Check for a data file (gpx) for this user. But exclude the user"); $ret = getUsersForDataFileName('dUser', $gpxFileName, 'dUser'); if ($ret == '') { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("View single position"); $csvLine0 = 'lat=42.50457163540115;lon=11.071390274487026;time=' . $testDate . 'T15:48:47.484'; $ret = getPosition('dUser'); if ($ret === $csvLine0) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("View single position (parameter = getGroupPostions"); $ret = getGroupPostions('dUser'); $expectedLine = 'user=dUser;' . $csvLine0; if ($ret === $expectedLine) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Write lat and lon"); $ret = writePostion('dUser', 'cGroup_changed', '43.50457163540115', '11.071390274487026', '171.61432', '0.7065948', '1067.652498529502', '6.0', $testDate . 'T15:48:48.484', 'true'); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for user (omit tracks)"); $ret = getLastPostionsAndTracksIndividually('dUser', 'false'); $expectedTracks = '[positions]' . PHP_EOL . 'user=dUser;lat=43.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:48:48.484'; if ($ret == $expectedTracks) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for user (omit tracks)"); $ret = getLastPostionsAndTracksIndividually('dUser', 'no'); $expectedTracks = '[positions]' . PHP_EOL . 'user=dUser;lat=43.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:48:48.484'; if ($ret == $expectedTracks) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for user (two positions yet no last time given)"); $ret = getLastPostionsAndTracksIndividually('dUser', 'true'); $expectedTracks = '[positions]' . PHP_EOL . 'user=dUser;lat=43.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:48:48.484' . PHP_EOL . '[track-dUser]' . PHP_EOL . 'lat=42.50457163540115;lon=11.071390274487026;time=' . $testDate . 'T15:48:47.484' . PHP_EOL . 'lat=43.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:48:48.484'; if ($ret == $expectedTracks) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("View single position"); $csvLine1 = 'lat=43.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:48:48.484'; $ret = getPosition('dUser'); if ($ret === $csvLine1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Write empty multiline positions"); $ret = writePostions('dUser', 'cGroup_changed', '', 'true'); if (!$ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Write multiline positions"); $csvLine2 = 'lat=44.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:54:41.484'; $csvLine3 = 'lat=45.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:54:42.484'; $csvLine4 = 'lat=46.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:54:43.484'; $csvLines2_4 = $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4; $csvLines0_4 = $csvLine0 . PHP_EOL . $csvLine1 . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4; $ret = writePostions('dUser', 'cGroup_changed', $csvLines2_4, 'true'); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("View single position set by multiline writing"); $ret = getPosition('dUser'); if ($ret === $csvLine4) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individally for user (five positions yet, last time given)"); $ret = getLastPostionsAndTracksIndividually('dUser='******'T15:48:48.484'); $expectedTracks = "[positions]" . PHP_EOL . 'user=dUser;' . $csvLine4 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4; if ($ret == $expectedTracks) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("List tracks"); $ret = listTracks('dUser'); $expectedFileName = '2012-03-03.gpx'; if ($ret == $expectedFileName) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("List tracks"); $ret = listTracksCSV('dUser'); $expectedFileNames1 = $testDate . '.csv' . PHP_EOL . '2012-03-03.csv'; $expectedFileNames2 = '2012-03-03.csv' . PHP_EOL . $testDate . '.csv'; if ($ret === $expectedFileNames1 || $ret === $expectedFileNames2) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get track check empty parameter date"); $ret = getTrack('dUser', '', ''); if ($ret === $csvLines0_4) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get track"); $ret = getTrack('dUser', $today, ''); if ($ret === $csvLines0_4) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } // Review: This test seems to be double, see test somewhere above appendTestMessage("Get track after a certain line number only"); $ret = getTrack('dUser', $today, $testDate . 'T15:48:48.484'); if ($ret === $csvLines2_4) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get track after a certain line number (at end already)"); $ret = getTrack('dUser', $today, $testDate . 'T15:54:43.484'); if ($ret === '') { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get postions of group"); $ret = getPositions('cGroup_changed'); $expectedString = 'user=dUser;' . $csvLine4; if ($ret === $expectedString) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } // TODO: New appendTestMessage("Get postions of group. But exclude the user dUser"); $ret = getPositions('cGroup_changed', dUser); if ($ret === '') { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } // Add second user with same group appendTestMessage("Prepare: Create new user"); $ret = checkUser("eUser", "ePassword"); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Check for a data file (gpx) for this user. A second user is in the group but without this file."); $ret = getUsersForDataFileName('dUser', $gpxFileName); if ($ret == 'dUser') { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } // TODO: New appendTestMessage("Check for a data file (gpx) for this user. AND exclude the user. A second user is in the group but without this file."); $ret = getUsersForDataFileName('dUser', $gpxFileName, 'dUser'); if ($ret == '') { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Prepare: Write position new second user with same group"); $csvLine5 = 'lat=47.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:54:43.484'; $ret = writePostions('eUser', 'cGroup_changed', $csvLine5, 'true'); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Check for a data file (gpx) for this user. A second user is in the group now."); $ret = getUsersForDataFileName('dUser', $gpxFileName); $expectedUsers = 'dUser' . PHP_EOL . 'eUser'; $expectedUsers1 = 'eUser' . PHP_EOL . 'dUser'; if ($ret == $expectedUsers || $ret == $expectedUsers1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } // TODO: New appendTestMessage("Check for a data file (gpx) for this user. But exclude the user. A second user is in the group now."); $ret = getUsersForDataFileName('dUser', $gpxFileName, 'dUser'); $expectedUsers = 'eUser'; if ($ret == $expectedUsers) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get postions of the two members of the group"); $ret = getPositions('cGroup_changed'); $expectedPostions = 'user=dUser;' . $csvLine4 . PHP_EOL . 'user=eUser;' . $csvLine5; $expectedPostions1 = 'user=eUser;' . $csvLine5 . PHP_EOL . 'user=dUser;' . $csvLine4; if ($ret === $expectedPostions || $ret === $expectedPostions1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } // TODO: New appendTestMessage("Get postions of the two members of the group. Exclude user eUser"); $ret = getPositions('cGroup_changed', 'eUser'); $expectedPostions = 'user=dUser;' . $csvLine4; if ($ret === $expectedPostions) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for 2 users (last time given - 1)"); $ret = getLastPostionsAndTracksIndividually('dUser='******'T15:48:48.484'); $expectedTracks = "[positions]" . PHP_EOL . 'user=dUser;' . $csvLine4 . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4 . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5; $expectedTracks1 = "[positions]" . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . 'user=dUser;' . $csvLine4 . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4; if ($ret == $expectedTracks || $ret == $expectedTracks1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for 2 users (last line given - 2)"); $ret = getLastPostionsAndTracksIndividually('dUser='******'T15:48:48.484;eUser'); $expectedTracks = "[positions]" . PHP_EOL . 'user=dUser;' . $csvLine4 . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4 . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5; $expectedTracks1 = "[positions]" . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . 'user=dUser;' . $csvLine4 . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4; if ($ret == $expectedTracks || $ret == $expectedTracks1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for 2 users (last line given - 3)"); $ret = getLastPostionsAndTracksIndividually('dUser='******'T15:48:48.484;eUser='******'T15:54:42.484'); $expectedTracks = "[positions]" . PHP_EOL . 'user=dUser;' . $csvLine4 . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4 . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5; $expectedTracks1 = "[positions]" . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . 'user=dUser;' . $csvLine4 . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4; if ($ret == $expectedTracks || $ret == $expectedTracks1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for 2 users (last line given - 4)"); $ret = getLastPostionsAndTracksIndividually('dUser='******'T15:48:48.484;eUser='******'T15:54:43.484'); $expectedTracks = "[positions]" . PHP_EOL . 'user=dUser;' . $csvLine4 . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4; $expectedTracks1 = "[positions]" . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . 'user=dUser;' . $csvLine4 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4; if ($ret == $expectedTracks || $ret == $expectedTracks1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for 2 users (last line given - 5)"); $ret = getLastPostionsAndTracksIndividually('dUser='******'T15:54:43.484' . ';eUser='******'T15:54:43.484'); $expectedTracks = "[positions]" . PHP_EOL . 'user=dUser;' . $csvLine4 . PHP_EOL . 'user=eUser;' . $csvLine5; $expectedTracks1 = "[positions]" . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . 'user=dUser;' . $csvLine4; if ($ret == $expectedTracks || $ret == $expectedTracks1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get postions of the two members of the group (param = getGroupPostions"); $ret = getGroupPostions('dUser'); if ($ret === $expectedPostions || $ret === $expectedPostions1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Util: write some csv files to create gpx (later)"); if (test_writeGpxFromCsv()) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Create gpx from csv and list. Check eUser"); $ret = listTracks('eUser'); $expected1 = "2013-03-10.gpx" . PHP_EOL . "2013-03-11.gpx"; $expected2 = "2013-03-11.gpx" . PHP_EOL . "2013-03-10.gpx"; if ($ret == $expected1 || $ret == $expected2) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Create gpx from csv and list. Check dUser"); $ret = listTracks('dUser'); $expected1 = "2013-03-10.gpx" . PHP_EOL . "2012-03-03.gpx"; $expected2 = "2012-03-03.gpx" . PHP_EOL . "2013-03-10.gpx"; if ($ret == $expected1 || $ret == $expected2) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Write multiline positions with different dates"); $csvLine6 = 'lat=44.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=2012-04-03T15:54:41.484'; $csvLine7 = 'lat=45.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:54:44.484'; $csvLine8 = 'lat=46.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:54:45.484'; $csvLines6_8 = $csvLine6 . PHP_EOL . $csvLine7 . PHP_EOL . $csvLine8; $csvLines0_8_dUser = $csvLine0 . PHP_EOL . $csvLine1 . PHP_EOL . $csvLine2 . PHP_EOL . $csvLine3 . PHP_EOL . $csvLine4 . PHP_EOL . $csvLine7 . PHP_EOL . $csvLine8; $ret = writePostions('dUser', 'cGroup_changed', $csvLines6_8, 'true'); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for 2 users all lines"); $ret = getLastPostionsAndTracksIndividually('dUser;eUser'); $expectedTracks = "[positions]" . PHP_EOL . 'user=dUser;' . $csvLine8 . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLines0_8_dUser . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5; $expectedTracks1 = "[positions]" . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . 'user=dUser;' . $csvLine8 . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLines0_8_dUser; if ($ret == $expectedTracks || $ret == $expectedTracks1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for 2 users all lines"); $ret = getLastPostionsAndTracksIndividually('dUser='******'T15:54:44.484;eUser'); $expectedTracks = "[positions]" . PHP_EOL . 'user=dUser;' . $csvLine8 . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine8 . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5; $expectedTracks1 = "[positions]" . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . 'user=dUser;' . $csvLine8 . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLine8; if ($ret == $expectedTracks || $ret == $expectedTracks1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("List tracks"); $ret = listTracksCSV('dUser'); $expectedFileNames1 = $testDate . '.csv' . PHP_EOL . '2012-03-03.csv' . PHP_EOL . '2012-04-03.csv' . PHP_EOL . '2013-03-10.csv'; $searchString = '/' . $testDate . '.csv/i'; if (preg_match($searchString, $ret, $matches)) { $foundTime = $matches[0]; appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } $searchString = '/2012-03-03.csv/i'; if (preg_match($searchString, $ret, $matches)) { $foundTime = $matches[0]; appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } $searchString = '/2012-04-03.csv/i'; if (preg_match($searchString, $ret, $matches)) { $foundTime = $matches[0]; appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } $searchString = '/2013-03-10.csv/i'; if (preg_match($searchString, $ret, $matches)) { $foundTime = $matches[0]; appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Write multiline positions with different dates and track not stored"); $csvLine6 = 'lat=44.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=2012-04-03T15:54:41.484'; $csvLine7 = 'lat=45.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:54:44.484'; $csvLine8 = 'lat=46.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:54:45.484'; $csvLine9 = 'lat=46.50457163540115;lon=11.071390274487026;bearing=171.61432;speed=0.7065948;altitude=1067.652498529502;accuracy=6.0;time=' . $testDate . 'T15:54:46.484'; $csvLines6_9 = $csvLine6 . PHP_EOL . $csvLine7 . PHP_EOL . $csvLine8 . PHP_EOL . $csvLine9; $ret = writePostions('dUser', 'cGroup_changed', $csvLines6_9, 'false'); if ($ret) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } appendTestMessage("Get tracks individually for 2 users all lines"); $ret = getLastPostionsAndTracksIndividually('dUser;eUser'); $expectedTracks = "[positions]" . PHP_EOL . 'user=dUser;' . $csvLine9 . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLines0_8_dUser . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5; $expectedTracks1 = "[positions]" . PHP_EOL . 'user=eUser;' . $csvLine5 . PHP_EOL . 'user=dUser;' . $csvLine9 . PHP_EOL . '[track-eUser]' . PHP_EOL . $csvLine5 . PHP_EOL . '[track-dUser]' . PHP_EOL . $csvLines0_8_dUser; if ($ret == $expectedTracks || $ret == $expectedTracks1) { appendTestMessage("- ok"); } else { appendTestMessage("- failed"); return false; } return true; }
// get configurations (expiration day, timezone offset, write tracks,...) $getConfiguration = getParam('get_configuration'); if (!isNullOrEmptyString($getConfiguration)) { $configs = getConfigurations($user); setServerResponse($configs); return; } // Write single position $lat = getParam('lat'); if (!isNullOrEmptyString($lat)) { $lon = getParam('lon'); if (isNullOrEmptyString($lon)) { setServerError("Missing parameter: lon . You gave lat (latitude) without lon (longitude)."); return; } if (!writePostion($user, getParam('group'), $lat, $lon, getParam('bearing'), getParam('speed'), getParam('altitude'), getParam('accuracy'), getParam('time'), getParam('track'))) { setServerError("Failed to write postion for user {$user}."); return; } setServerResponse("Ok, server wrote position for user {$user}."); return; } // Write multiline positions for a user $positions = getParam('positions'); if (!isNullOrEmptyString($positions)) { if (!writePostions($user, getParam('group'), $positions, getParam('track'))) { setServerError("Failed to write postions for user {$user}."); return; } setServerResponse("Ok, server wrote positions for user {$user}."); return;