@@ -384,7 +384,7 @@ discard block |
||
384 | 384 | if ($data_orig_strs[$i]['length'] > 0) { // fread does not accept length=0 |
385 | 385 | $length = $data_orig_strs[$i]['length']; |
386 | 386 | $orig_str = unpack('a' . $length . 'str', fread($fp, $length)); |
387 | - $translation_data[$i]['msgid'] = $orig_str['str']; // unpack converts to array :S |
|
387 | + $translation_data[$i]['msgid'] = $orig_str['str']; // unpack converts to array :S |
|
388 | 388 | |
389 | 389 | // Find context in the original string |
390 | 390 | if (strpos($translation_data[$i]['msgid'], "\004") !== false) { |
@@ -411,7 +411,7 @@ discard block |
||
411 | 411 | if ($data_transl_strs[$i]['length'] > 0) { // fread does not accept length=0 |
412 | 412 | $length = $data_transl_strs[$i]['length']; |
413 | 413 | $trans_str = unpack('a' . $length . 'str', fread($fp, $length)); |
414 | - $translation_data[$i]['msgstr'] = $trans_str['str']; // unpack converts to array :S |
|
414 | + $translation_data[$i]['msgstr'] = $trans_str['str']; // unpack converts to array :S |
|
415 | 415 | |
416 | 416 | // If there are plural forms in the source string, |
417 | 417 | // then the translated string must contain plural |
@@ -54,13 +54,13 @@ discard block |
||
54 | 54 | $entryId = strtoupper($entryid); |
55 | 55 | |
56 | 56 | $res = [ |
57 | - 'abFlags' => '', // BYTE[4], 4 bytes, 8 hex characters |
|
58 | - 'guid' => '', // GUID, 16 bytes, 32 hex characters |
|
59 | - 'version' => '', // ULONG, 4 bytes, 8 hex characters |
|
60 | - 'type' => '', // ULONG, 4 bytes, 8 hex characters |
|
61 | - 'uniqueId' => '', // ULONG, 16 bytes, 32 hex characters |
|
62 | - 'server' => '', // CHAR, variable length |
|
63 | - 'padding' => '', // TCHAR[3], 4 bytes, 8 hex characters (upto 4 bytes) |
|
57 | + 'abFlags' => '', // BYTE[4], 4 bytes, 8 hex characters |
|
58 | + 'guid' => '', // GUID, 16 bytes, 32 hex characters |
|
59 | + 'version' => '', // ULONG, 4 bytes, 8 hex characters |
|
60 | + 'type' => '', // ULONG, 4 bytes, 8 hex characters |
|
61 | + 'uniqueId' => '', // ULONG, 16 bytes, 32 hex characters |
|
62 | + 'server' => '', // CHAR, variable length |
|
63 | + 'padding' => '', // TCHAR[3], 4 bytes, 8 hex characters (upto 4 bytes) |
|
64 | 64 | ]; |
65 | 65 | |
66 | 66 | $res['length'] = strlen($entryId); |
@@ -99,13 +99,13 @@ discard block |
||
99 | 99 | $entryId = strtoupper($entryid); |
100 | 100 | |
101 | 101 | $res = [ |
102 | - 'abFlags' => '', // BYTE[4], 4 bytes, 8 hex characters |
|
103 | - 'guid' => '', // GUID, 16 bytes, 32 hex characters |
|
104 | - 'version' => '', // ULONG, 4 bytes, 8 hex characters |
|
105 | - 'type' => '', // ULONG, 4 bytes, 8 hex characters |
|
106 | - 'id' => '', // ULONG, 4 bytes, 8 hex characters |
|
107 | - 'server' => '', // CHAR, variable length |
|
108 | - 'padding' => '', // TCHAR[3], 4 bytes, 8 hex characters (upto 4 bytes) |
|
102 | + 'abFlags' => '', // BYTE[4], 4 bytes, 8 hex characters |
|
103 | + 'guid' => '', // GUID, 16 bytes, 32 hex characters |
|
104 | + 'version' => '', // ULONG, 4 bytes, 8 hex characters |
|
105 | + 'type' => '', // ULONG, 4 bytes, 8 hex characters |
|
106 | + 'id' => '', // ULONG, 4 bytes, 8 hex characters |
|
107 | + 'server' => '', // CHAR, variable length |
|
108 | + 'padding' => '', // TCHAR[3], 4 bytes, 8 hex characters (upto 4 bytes) |
|
109 | 109 | ]; |
110 | 110 | |
111 | 111 | $res['length'] = strlen($entryId); |
@@ -184,13 +184,13 @@ discard block |
||
184 | 184 | $entryId = strtoupper($entryId); |
185 | 185 | |
186 | 186 | $res = [ |
187 | - 'abFlags' => '', // BYTE[4], 4 bytes, 8 hex characters |
|
188 | - 'guid' => '', // GUID, 16 bytes, 32 hex characters |
|
189 | - 'version' => '', // ULONG, 4 bytes, 8 hex characters |
|
190 | - 'type' => '', // ULONG, 4 bytes, 8 hex characters |
|
191 | - 'id' => '', // ULONG, 16 bytes, 32 hex characters |
|
192 | - 'extid' => '', // CHAR, variable length |
|
193 | - 'padding' => '', // TCHAR[3], 4 bytes, 8 hex characters (upto 4 bytes) |
|
187 | + 'abFlags' => '', // BYTE[4], 4 bytes, 8 hex characters |
|
188 | + 'guid' => '', // GUID, 16 bytes, 32 hex characters |
|
189 | + 'version' => '', // ULONG, 4 bytes, 8 hex characters |
|
190 | + 'type' => '', // ULONG, 4 bytes, 8 hex characters |
|
191 | + 'id' => '', // ULONG, 16 bytes, 32 hex characters |
|
192 | + 'extid' => '', // CHAR, variable length |
|
193 | + 'padding' => '', // TCHAR[3], 4 bytes, 8 hex characters (upto 4 bytes) |
|
194 | 194 | ]; |
195 | 195 | |
196 | 196 | $res['length'] = strlen($entryId); |
@@ -634,8 +634,7 @@ discard block |
||
634 | 634 | } |
635 | 635 | } |
636 | 636 | elseif ($checkValue !== null && $val != $checkValue) { |
637 | - $user = $GLOBALS["mapisession"] !== null ? $GLOBALS["mapisession"]->getUserName() : |
|
638 | - "<mapisession not yet initialized>"; |
|
637 | + $user = $GLOBALS["mapisession"] !== null ? $GLOBALS["mapisession"]->getUserName() : "<mapisession not yet initialized>"; |
|
639 | 638 | error_log(sprintf( |
640 | 639 | "Unexpected value in store entryid for user %s. Entryid: %s key: '%s' value: '%s' expected: %s", |
641 | 640 | $user, |
@@ -665,13 +664,13 @@ discard block |
||
665 | 664 | $entryId = strtoupper($entryId); |
666 | 665 | |
667 | 666 | $res = [ |
668 | - 'providerguid' => '', // GUID, 16 bytes, 32 hex characters |
|
669 | - 'messagetype' => '', // UINT, 2 bytes, 4 hex characters |
|
670 | - 'folderdbguid' => '', // GUID, 16 bytes, 32 hex characters |
|
671 | - 'foldercounter' => '', // ULONG, 6 bytes, 12 hex characters |
|
672 | - 'padding' => '', // TCHAR[3], 2 bytes, 4 hex characters |
|
673 | - 'messagedbguid' => '', // GUID, 16 bytes, 32 hex characters |
|
674 | - 'messagecounter' => '', // ULONG, 6 bytes, 12 hex characters |
|
667 | + 'providerguid' => '', // GUID, 16 bytes, 32 hex characters |
|
668 | + 'messagetype' => '', // UINT, 2 bytes, 4 hex characters |
|
669 | + 'folderdbguid' => '', // GUID, 16 bytes, 32 hex characters |
|
670 | + 'foldercounter' => '', // ULONG, 6 bytes, 12 hex characters |
|
671 | + 'padding' => '', // TCHAR[3], 2 bytes, 4 hex characters |
|
672 | + 'messagedbguid' => '', // GUID, 16 bytes, 32 hex characters |
|
673 | + 'messagecounter' => '', // ULONG, 6 bytes, 12 hex characters |
|
675 | 674 | ]; |
676 | 675 | |
677 | 676 | if (!$entryId) { |
@@ -731,12 +730,12 @@ discard block |
||
731 | 730 | $entryId = strtoupper($entryId); |
732 | 731 | |
733 | 732 | $res = [ |
734 | - 'abflags' => '', // BYTE[4], 4 bytes, 8 hex characters |
|
735 | - 'providerguid' => '', // GUID, 16 bytes, 32 hex characters |
|
736 | - 'foldertype' => '', // UINT, 2 bytes, 4 hex characters |
|
737 | - 'folderdbguid' => '', // GUID, 16 bytes, 32 hex characters |
|
738 | - 'foldercounter' => '', // ULONG, 6 bytes, 12 hex characters |
|
739 | - 'padding' => '', // TCHAR[3], 2 bytes, 4 hex characters |
|
733 | + 'abflags' => '', // BYTE[4], 4 bytes, 8 hex characters |
|
734 | + 'providerguid' => '', // GUID, 16 bytes, 32 hex characters |
|
735 | + 'foldertype' => '', // UINT, 2 bytes, 4 hex characters |
|
736 | + 'folderdbguid' => '', // GUID, 16 bytes, 32 hex characters |
|
737 | + 'foldercounter' => '', // ULONG, 6 bytes, 12 hex characters |
|
738 | + 'padding' => '', // TCHAR[3], 2 bytes, 4 hex characters |
|
740 | 739 | ]; |
741 | 740 | |
742 | 741 | if (!$entryId) { |
@@ -452,7 +452,7 @@ |
||
452 | 452 | $props = []; |
453 | 453 | |
454 | 454 | // Addresses field value. |
455 | - $businessAddress = ($contactProps[$properties["business_address_street"]] ?? '' ) . "\n"; |
|
455 | + $businessAddress = ($contactProps[$properties["business_address_street"]] ?? '') . "\n"; |
|
456 | 456 | $businessAddress .= ($contactProps[$properties["business_address_city"]] ?? '') . " "; |
457 | 457 | $businessAddress .= ($contactProps[$properties["business_address_state"]] ?? '') . " "; |
458 | 458 | $businessAddress .= ($contactProps[$properties["business_address_postal_code"]] ?? '') . "\n"; |
@@ -219,7 +219,7 @@ |
||
219 | 219 | $backendDisplayName = $backend->backendDisplayName; |
220 | 220 | $backendVersion = $backend->backendVersion; |
221 | 221 | $cacheVersion = $this->getVersionFromCache($backendDisplayName, $accountID); |
222 | - if(!is_string($cacheVersion)) { |
|
222 | + if (!is_string($cacheVersion)) { |
|
223 | 223 | $cacheVersion = '0'; |
224 | 224 | } |
225 | 225 | $dir = $this->getCache($accountID, $cachePath); |
@@ -247,14 +247,14 @@ discard block |
||
247 | 247 | $properties["reminderset"] = "PT_BOOLEAN:PSETID_Common:" . PidLidReminderSet; |
248 | 248 | $properties["flag_request"] = "PT_STRING8:PSETID_Common:" . PidLidFlagRequest; |
249 | 249 | $properties["flag_due_by"] = "PT_SYSTIME:PSETID_Common:" . PidLidReminderSignalTime; |
250 | - $properties["updatecounter"] = "PT_LONG:PSETID_Appointment:" . PidLidAppointmentSequence; // AppointmentSequenceNumber |
|
251 | - $properties["last_updatecounter"] = "PT_LONG:PSETID_Appointment:0x8203"; // AppointmentLastSequence |
|
250 | + $properties["updatecounter"] = "PT_LONG:PSETID_Appointment:" . PidLidAppointmentSequence; // AppointmentSequenceNumber |
|
251 | + $properties["last_updatecounter"] = "PT_LONG:PSETID_Appointment:0x8203"; // AppointmentLastSequence |
|
252 | 252 | $properties["busystatus"] = "PT_LONG:PSETID_Appointment:" . PidLidBusyStatus; |
253 | 253 | $properties["intendedbusystatus"] = "PT_LONG:PSETID_Appointment:" . PidLidIntendedBusyStatus; |
254 | 254 | $properties["start"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidAppointmentStartWhole; |
255 | 255 | $properties["responselocation"] = "PT_STRING8:PSETID_Meeting:0x2"; |
256 | 256 | $properties["location"] = "PT_STRING8:PSETID_Appointment:" . PidLidLocation; |
257 | - $properties["requestsent"] = "PT_BOOLEAN:PSETID_Appointment:0x8229"; // PidLidFInvited, MeetingRequestWasSent |
|
257 | + $properties["requestsent"] = "PT_BOOLEAN:PSETID_Appointment:0x8229"; // PidLidFInvited, MeetingRequestWasSent |
|
258 | 258 | $properties["startdate"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidAppointmentStartWhole; |
259 | 259 | $properties["duedate"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidAppointmentEndWhole; |
260 | 260 | $properties["commonstart"] = "PT_SYSTIME:PSETID_Common:0x8516"; |
@@ -262,11 +262,11 @@ discard block |
||
262 | 262 | $properties["recurring"] = "PT_BOOLEAN:PSETID_Appointment:" . PidLidRecurring; |
263 | 263 | $properties["clipstart"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidClipStart; |
264 | 264 | $properties["clipend"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidClipEnd; |
265 | - $properties["start_recur_date"] = "PT_LONG:PSETID_Meeting:0xD"; // StartRecurTime |
|
266 | - $properties["start_recur_time"] = "PT_LONG:PSETID_Meeting:0xE"; // StartRecurTime |
|
267 | - $properties["end_recur_date"] = "PT_LONG:PSETID_Meeting:0xF"; // EndRecurDate |
|
268 | - $properties["end_recur_time"] = "PT_LONG:PSETID_Meeting:0x10"; // EndRecurTime |
|
269 | - $properties["is_exception"] = "PT_BOOLEAN:PSETID_Meeting:0xA"; // LID_IS_EXCEPTION |
|
265 | + $properties["start_recur_date"] = "PT_LONG:PSETID_Meeting:0xD"; // StartRecurTime |
|
266 | + $properties["start_recur_time"] = "PT_LONG:PSETID_Meeting:0xE"; // StartRecurTime |
|
267 | + $properties["end_recur_date"] = "PT_LONG:PSETID_Meeting:0xF"; // EndRecurDate |
|
268 | + $properties["end_recur_time"] = "PT_LONG:PSETID_Meeting:0x10"; // EndRecurTime |
|
269 | + $properties["is_exception"] = "PT_BOOLEAN:PSETID_Meeting:0xA"; // LID_IS_EXCEPTION |
|
270 | 270 | // Propose new time properties |
271 | 271 | $properties["proposed_start_whole"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidAppointmentProposedStartWhole; |
272 | 272 | $properties["proposed_end_whole"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidAppointmentProposedEndWhole; |
@@ -646,7 +646,7 @@ discard block |
||
646 | 646 | $properties = []; |
647 | 647 | $properties["entryid"] = PR_ENTRYID; |
648 | 648 | $properties["parent_entryid"] = PR_PARENT_ENTRYID; |
649 | - $properties["store_entryid"] = PR_STORE_ENTRYID; // is this required ??? |
|
649 | + $properties["store_entryid"] = PR_STORE_ENTRYID; // is this required ??? |
|
650 | 650 | $properties["icon_index"] = PR_ICON_INDEX; |
651 | 651 | $properties["message_class"] = PR_MESSAGE_CLASS; |
652 | 652 | $properties["message_flags"] = PR_MESSAGE_FLAGS; |
@@ -960,9 +960,9 @@ discard block |
||
960 | 960 | $properties["appointment_location"] = "PT_STRING8:PSETID_Appointment:" . PidLidLocation; |
961 | 961 | $properties["appointment_recurring_pattern"] = "PT_STRING8:PSETID_Appointment:" . PidLidRecurrencePattern; |
962 | 962 | $properties["appointment_recurring"] = "PT_BOOLEAN:PSETID_Appointment:" . PidLidRecurring; |
963 | - $properties["appointment_startdate_recurring"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidClipStart; // ClipStart |
|
964 | - $properties["appointment_enddate_recurring"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidClipEnd; // ClipEnd |
|
965 | - $properties["appointment_exception"] = "PT_BOOLEAN:PSETID_Meeting:0xA"; // LID_IS_EXCEPTION |
|
963 | + $properties["appointment_startdate_recurring"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidClipStart; // ClipStart |
|
964 | + $properties["appointment_enddate_recurring"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidClipEnd; // ClipEnd |
|
965 | + $properties["appointment_exception"] = "PT_BOOLEAN:PSETID_Meeting:0xA"; // LID_IS_EXCEPTION |
|
966 | 966 | $properties["appointment_location"] = "PT_STRING8:PSETID_Appointment:" . PidLidLocation; |
967 | 967 | $properties["alldayevent"] = "PT_BOOLEAN:PSETID_Appointment:" . PidLidAppointmentSubType; |
968 | 968 | $properties["tzdefstart"] = "PT_BINARY:PSETID_Appointment:" . PidLidAppointmentTimeZoneDefinitionStartDisplay; |
@@ -1268,18 +1268,18 @@ discard block |
||
1268 | 1268 | $properties["object_type"] = PR_OBJECT_TYPE; |
1269 | 1269 | |
1270 | 1270 | $properties["recurring"] = "PT_BOOLEAN:PSETID_Appointment:" . PidLidRecurring; |
1271 | - $properties["reminder"] = "PT_BOOLEAN:PSETID_Common:" . PidLidReminderSet; // PidLidReminderSet |
|
1272 | - $properties["reminder_minutes"] = "PT_LONG:PSETID_Common:" . PidLidReminderDelta; // PidLidReminderDelta |
|
1273 | - $properties["reminder_time"] = "PT_SYSTIME:PSETID_Common:" . PidLidReminderTime; // PidLidReminderTime |
|
1274 | - $properties["flagdueby"] = "PT_SYSTIME:PSETID_Common:" . PidLidReminderSignalTime; // PidLidReminderSignalTime |
|
1275 | - |
|
1276 | - $properties["task_duedate"] = "PT_SYSTIME:PSETID_Task:" . PidLidTaskDueDate; // PidLidTaskDueDate |
|
1277 | - $properties["task_startdate"] = "PT_SYSTIME:PSETID_Task:" . PidLidTaskStartDate; // PidLidTaskStartDate |
|
1278 | - $properties["task_resetreminder"] = "PT_BOOLEAN:PSETID_Task:0x8107"; // PidLidTaskResetReminder |
|
1279 | - $properties["task_recurring"] = "PT_BOOLEAN:PSETID_Task:0x8126"; // PidLidTaskFRecurring |
|
1271 | + $properties["reminder"] = "PT_BOOLEAN:PSETID_Common:" . PidLidReminderSet; // PidLidReminderSet |
|
1272 | + $properties["reminder_minutes"] = "PT_LONG:PSETID_Common:" . PidLidReminderDelta; // PidLidReminderDelta |
|
1273 | + $properties["reminder_time"] = "PT_SYSTIME:PSETID_Common:" . PidLidReminderTime; // PidLidReminderTime |
|
1274 | + $properties["flagdueby"] = "PT_SYSTIME:PSETID_Common:" . PidLidReminderSignalTime; // PidLidReminderSignalTime |
|
1275 | + |
|
1276 | + $properties["task_duedate"] = "PT_SYSTIME:PSETID_Task:" . PidLidTaskDueDate; // PidLidTaskDueDate |
|
1277 | + $properties["task_startdate"] = "PT_SYSTIME:PSETID_Task:" . PidLidTaskStartDate; // PidLidTaskStartDate |
|
1278 | + $properties["task_resetreminder"] = "PT_BOOLEAN:PSETID_Task:0x8107"; // PidLidTaskResetReminder |
|
1279 | + $properties["task_recurring"] = "PT_BOOLEAN:PSETID_Task:0x8126"; // PidLidTaskFRecurring |
|
1280 | 1280 | $properties["taskmode"] = "PT_LONG:PSETID_Common:0x8518"; |
1281 | 1281 | |
1282 | - $properties["appointment_recurring"] = "PT_BOOLEAN:PSETID_Appointment:" . PidLidRecurring; // PidLidRecurring |
|
1282 | + $properties["appointment_recurring"] = "PT_BOOLEAN:PSETID_Appointment:" . PidLidRecurring; // PidLidRecurring |
|
1283 | 1283 | $properties["appointment_startdate"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidAppointmentStartWhole; |
1284 | 1284 | $properties["appointment_enddate"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidAppointmentEndWhole; |
1285 | 1285 | $properties["appointment_startdate_recurring"] = "PT_SYSTIME:PSETID_Appointment:" . PidLidClipStart; |
@@ -96,7 +96,8 @@ |
||
96 | 96 | <div class="disclaimer"> |
97 | 97 | <?php include '/etc/grommunio-web/disclaimer.html'; ?> |
98 | 98 | </div> |
99 | - <?php } elseif (file_exists('disclaimer.html')) { ?> |
|
99 | + <?php } |
|
100 | +elseif (file_exists('disclaimer.html')) { ?> |
|
100 | 101 | <div class="disclaimer"> |
101 | 102 | <?php include 'disclaimer.html'; ?> |
102 | 103 | </div> |
@@ -374,8 +374,7 @@ |
||
374 | 374 | // created on a mobile device (mobile devices do not send a timezone for |
375 | 375 | // all-day events). |
376 | 376 | $tzdefstart = isset($calendaritem['props']['tzdefstart']) ? |
377 | - hex2bin($calendaritem['props']['tzdefstart']) : |
|
378 | - mapi_ianatz_to_tzdef("Etc/UTC"); |
|
377 | + hex2bin($calendaritem['props']['tzdefstart']) : mapi_ianatz_to_tzdef("Etc/UTC"); |
|
379 | 378 | |
380 | 379 | // Compare the timezone definitions of the client and the appointment. |
381 | 380 | // Further processing is only required if they don't match. |
@@ -542,8 +542,7 @@ |
||
542 | 542 | // created on a mobile device (mobile devices do not send a timezone for |
543 | 543 | // all-day events). |
544 | 544 | $tzdefstart = isset($calendaritem['props']['tzdefstart']) ? |
545 | - hex2bin($calendaritem['props']['tzdefstart']) : |
|
546 | - mapi_ianatz_to_tzdef("Etc/UTC"); |
|
545 | + hex2bin($calendaritem['props']['tzdefstart']) : mapi_ianatz_to_tzdef("Etc/UTC"); |
|
547 | 546 | |
548 | 547 | // queryrows only returns 510 chars max, so if tzdef is longer than that |
549 | 548 | // it was probably silently truncated. In such case we need to open |
@@ -26,17 +26,17 @@ |
||
26 | 26 | |
27 | 27 | // used by distribution lists |
28 | 28 | define("WAB_GUID", pack("H*", "C091ADD3519DCF11A4A900AA0047FAA4")); |
29 | - define("DL_USER", 0xC3); // 195 |
|
30 | - define("DL_USER2", 0xD3); // 211 |
|
31 | - define("DL_USER3", 0xE3); // 227 |
|
29 | + define("DL_USER", 0xC3); // 195 |
|
30 | + define("DL_USER2", 0xD3); // 211 |
|
31 | + define("DL_USER3", 0xE3); // 227 |
|
32 | 32 | /* |
33 | 33 | * According to Exchange protocol, type property for oneoff contact |
34 | 34 | * will be 0x00. |
35 | 35 | */ |
36 | - define("DL_EXTERNAL_MEMBER", 0x00); // 0 |
|
37 | - define("DL_DIST", 0xB4); // 180 |
|
38 | - define("DL_USER_AB", 0xB5); // 181 |
|
39 | - define("DL_DIST_AB", 0xB6); // 182 |
|
36 | + define("DL_EXTERNAL_MEMBER", 0x00); // 0 |
|
37 | + define("DL_DIST", 0xB4); // 180 |
|
38 | + define("DL_USER_AB", 0xB5); // 181 |
|
39 | + define("DL_DIST_AB", 0xB6); // 182 |
|
40 | 40 | |
41 | 41 | // @FIXME these needs to be changed in mapitags.php |
42 | 42 |