Beispiel #1
0
void ADLSearchManager::matchListing(DirectoryListing& aDirList) noexcept {
	StringMap params;
	if(aDirList.getUser())
	{
	params["userNI"] = ClientManager::getInstance()->getNicks(aDirList.getHintedUser())[0];
	params["userCID"] = aDirList.getUser()->getCID().toBase32();
	}
	setUser(aDirList.getHintedUser());
	setSentRaw(false);

	DestDirList destDirs;
	prepareDestinationDirectories(destDirs, aDirList.getRoot(), params);
	setBreakOnFirst(BOOLSETTING(ADLS_BREAK_ON_FIRST));

	string path(aDirList.getRoot()->getName());
	matchRecurse(destDirs, aDirList.getRoot(), path);

	finalizeDestinationDirectories(destDirs, aDirList.getRoot());
}
Beispiel #2
0
void ADLSearchManager::matchListing(DirectoryListing& aDirList) {
    StringMap params;
    params["userNI"] = ClientManager::getInstance()->getNicks(aDirList.getUser())[0];
    params["userCID"] = aDirList.getUser().user->getCID().toBase32();

    if (BOOLSETTING(USE_ADL_ONLY_OWN_LIST) && params["userCID"] != ClientManager::getInstance()->getMe()->getCID().toBase32())
        return;

    setUser(aDirList.getUser());

    const auto root = aDirList.getRoot();

    DestDirList destDirs;
    prepareDestinationDirectories(destDirs, root, params);
    setBreakOnFirst(BOOLSETTING(ADLS_BREAK_ON_FIRST));

    string path(root->getName());
    matchRecurse(destDirs, root, path);

    finalizeDestinationDirectories(destDirs, root);
}