- while (!empty($linkDb[$newLinkDate->format(LinkDB::LINK_DATE_FORMAT)])) {
- // Ensure the date/time is not already used
- // - this hack is necessary as the date/time acts as a primary key
- // - apply 1 second increments until an unused index is found
- // See https://github.com/shaarli/Shaarli/issues/351
- $newLinkDate->add(new DateInterval('PT1S'));
- }
- $linkDbDate = $newLinkDate->format(LinkDB::LINK_DATE_FORMAT);
- $newLink['linkdate'] = $linkDbDate;
- $linkDb[$linkDbDate] = $newLink;
+ $newLinkDate->setTimezone(new DateTimeZone(date_default_timezone_get()));
+ $newLink['created'] = $newLinkDate;
+ $newLink['id'] = $linkDb->getNextId();
+ $linkDb[$newLink['id']] = $newLink;