public function fileWritten(FileEvent $e) { $file = $e->getSource(); $meta = null; $activity = null; $by = null; self::initContext($file, $meta, $activity, $by); // On virtual files, creating a file by adding content consist in 2 different operations and // therefore may create 2 different activities, so we avoid that by the following condition // checking that the creation of the file has been performed more than 5 seconds ago. $lastActivity = end($activity); if (is_array($lastActivity) && $lastActivity['type'] == 'creation' && $e->getTimeStamp() - $lastActivity['time'] < 5) { return; } $activity[] = array('type' => 'edition', 'by' => $by->getId(), 'time' => $e->getTimeStamp()); $meta->set('activity', $activity); $meta->set(EyeosAbstractVirtualFile::METADATA_KEY_MODIFICATIONTIME, $e->getTimeStamp()); $file->setMeta($meta); }