+/*
+ This function returns true if $update has an edited timestamp newer
+ than $existing, i.e. $update contains new data which should override
+ what's already there. If there is no timestamp yet, the update is
+ assumed to be newer. If the update has no timestamp, the existing
+ item is assumed to be up-to-date. If the timestamps are equal it
+ assumes the update has been seen before and should be ignored.
+ */
+function edited_timestamp_is_newer($existing, $update) {
+ if (!x($existing,'edited') || !$existing['edited']) {
+ return true;
+ }
+ if (!x($update,'edited') || !$update['edited']) {
+ return false;
+ }
+ $existing_edited = datetime_convert('UTC', 'UTC', $existing['edited']);
+ $update_edited = datetime_convert('UTC', 'UTC', $update['edited']);
+ return (strcmp($existing_edited, $update_edited) < 0);
+}
+