$meta->set(EyeosAbstractVirtualFile::METADATA_KEY_MODIFICATIONTIME, $e->getTimeStamp()); $file->setMeta($meta); } private static function initContext(EyeosAbstractVirtualFile $file, &$meta, &$activity, &$by) { self::checkFile($file); // Metadata $meta = $file->getMeta(); if ($meta === null) { $meta = MetaManager::getInstance()->getNewMetaDataInstance(); } // Activity node if ($meta->exists('activity')) { $activity = $meta->get('activity'); } else { $activity = array(); } // Current user ("by") $by = ProcManager::getInstance()->getCurrentProcess()->getLoginContext()->getEyeosUser(); } public static function getInstance() { if (self::$Instance === null) { self::$Instance = new FileActivityListener(); } return self::$Instance; } } // Register singleton listener on the target dispatchers EyeosGlobalFileEventsDispatcher::getInstance()->addListener(FileActivityListener::getInstance()); SharingManager::getInstance()->addListener(FileActivityListener::getInstance());
} } else { $parentId = '0'; $path = $pathParent; } if ($parentId !== false) { $pathAbsolute = AdvancedPathLib::getPhpLocalHackPath($e->getSource()->getRealFile()->getAbsolutePath()); $token = $_SESSION['access_token_' . $cloud->name . '_v2']; if ($resourceUrl) { $token = $resourceUrl->token; $resourceUrl = $resourceUrl->resource_url; } $result = $apiManager->createMetadata($cloud->name, $token, $user->getId(), true, $e->getSource()->getName(), $parentId, $path, $pathAbsolute, $resourceUrl); if ($result['status'] == 'OK') { $params = array($e->getSource()->getParentPath(), $e->getSource()->getPath()); $message = new ClientBusMessage('file', 'refreshStackSync', $params); ClientMessageBusController::getInstance()->queueMessage($message); } else { if ($result['error'] == 403) { $path = $this->cleanCloud($cloud->name, $user); $params = array($path, $cloud->name); $message = new ClientBusMessage('file', 'permissionDenied', $params); ClientMessageBusController::getInstance()->queueMessage($message); } } } } } } EyeosGlobalFileEventsDispatcher::getInstance()->addListener(StoreListener::getInstance()); SharingManager::getInstance()->addListener(StoreListener::getInstance());