vmsDownloadsGroupSmartPtr vmsDownloadsGroupsMgr::FindGroupByExt(LPCSTR pszExt)
{
	for (size_t i = 0; i < m_vGroups.size (); i++)
	{
		if (IsExtInExtsStr (m_vGroups [i]->GetData ()->strExts, pszExt))
			return m_vGroups [i]->GetData ();
	}
	
	return NULL;
}
int fsDownloads_GroupsMgr::FindGroupByExt(LPCSTR pszExt)
{
	for (int grp = 0; grp < m_vGroups.size (); grp++)
	{
		fsDownloadGroup *pgrp = &m_vGroups [grp];
		if (IsExtInExtsStr (pgrp->szExts, pszExt))
			return grp;
	}

	return -1;
}
Example #3
0
BOOL fsIECatchMgr::OnBeforeNavigate(LPCSTR pszUrl, BOOL bCheckALT)
{
	try 
	{
		CHAR szFile [MY_MAX_PATH] = "";
		LPCSTR pszExt;
		fsURL url;

		if (bCheckALT)
		{
			if ( (GetKeyState (VK_MENU) & 0x8000) == FALSE && m_bALTShouldPressed)
				return TRUE;
		}

		if (url.Crack (pszUrl) != IR_SUCCESS)
			return TRUE;

		

		fsFileNameFromUrlPath (url.GetPath (), url.GetInternetScheme () == INTERNET_SCHEME_FTP,
			TRUE, szFile, sizeof (szFile));

		if (*szFile == 0)
			return TRUE;

		pszExt = strrchr (szFile, '.');
		if (pszExt) 
			pszExt++;
		else
			return TRUE;

		BOOL bExtPresent = IsExtInExtsStr (m_strSkipExts, pszExt);

		if (bExtPresent)
			return TRUE;	

		return UINT_MAX == _pwndDownloads->CreateDownload (pszUrl, TRUE);

	}
	catch (const std::exception& ex)
	{
		ASSERT (FALSE);
		vmsLogger::WriteLog("fsIECatchMgr::OnBeforeNavigate " + tstring(ex.what()));
		return TRUE;
	}
	catch (...)
	{
		ASSERT (FALSE);
		vmsLogger::WriteLog("fsIECatchMgr::OnBeforeNavigate unknown exception");
		return TRUE;
	}
}
Example #4
0
BOOL is_ExtToSkip (LPCSTR pszURL, BOOL bUseSkipExtsList)
{
	fsURL url;

	if (url.Crack (pszURL) != IR_SUCCESS)
		return bUseSkipExtsList == FALSE;

	char szFile [10000];
	fsFileNameFromUrlPath (url.GetPath (), url.GetInternetScheme () == INTERNET_SCHEME_FTP,
		TRUE, szFile, sizeof (szFile));

	if (*szFile == 0)
		return bUseSkipExtsList == FALSE;

	LPCSTR pszExt = strrchr (szFile, '.');
	if (pszExt++ == NULL) 
		return bUseSkipExtsList == FALSE;

	if (bUseSkipExtsList == FALSE && IsExtInExtsStr (Monitor_OnlyExts (), pszExt) == FALSE)
		return TRUE;

	return IsExtInExtsStr (Monitor_SkipExts (), pszExt);
}
Example #5
0
bool CFDMForFirefox::IsUrlShouldBeSkipped(IFDMUrl *url, const wchar_t *pwszSuggFileName)
{
	char szExts [10000] = "pls m3u"; DWORD dw = sizeof (szExts);
	m_keyFDMMonitor.QueryValue (szExts, "SkipExtensions", &dw);

	char szFile [1000] = "";
	WideCharToMultiByte (CP_ACP, 0, pwszSuggFileName, -1, szFile, sizeof (szFile), 
		NULL, NULL);
	szFile [wcslen (pwszSuggFileName)] = 0;

	LPCSTR pszExt = strrchr (szFile, '.');
	if (pszExt++ == NULL) 
		return false;

	return IsExtInExtsStr (szExts, pszExt) != FALSE ||
		IsServerToSkip (url);
}
Example #6
0
BOOL CWGUrlReceiver::is_ExtToSkip()
{
	USES_CONVERSION;
	fsURL url;

	if (url.Crack (W2T (m_dlInfo.bstrUrl)) != IR_SUCCESS)
		return TRUE;

	TCHAR szFile [MY_MAX_PATH];
	fsFileNameFromUrlPath (url.GetPath (), url.GetInternetScheme () == INTERNET_SCHEME_FTP,
		TRUE, szFile, sizeof (szFile));

	if (*szFile == 0)
		return FALSE;

	LPCTSTR pszExt = _tcsrchr (szFile, _T('.'));
	if (pszExt == NULL) 
		return FALSE;

	return IsExtInExtsStr (_App.Monitor_SkipExts (), ++pszExt);
}
fsInternetResult fsInternetUploader::OpenUrl()
{
	fsInternetResult ir;
	fsUpload_NetworkProperties* dnp = &m_unp;

	BOOL bOpenAnotherReq = m_pInetFile != NULL;

	if (bOpenAnotherReq == FALSE)
	{
		m_pInetFile = new fsInternetURLFile;
		m_pInetFile->SetDialogFunc (_InetFileDialogFunc, this, 0);
	
		vmsInternetSession* pSession = new vmsInternetSession;
		char szProxy [10000];
		vmsMakeWinInetProxy (dnp->pszProxyName, dnp->enProtocol, dnp->enProtocol, szProxy);
		ir  = pSession->Create (dnp->pszAgent, dnp->enAccType, szProxy, dnp->enProtocol);
		if (ir != IR_SUCCESS)
		{
			delete pSession;
			SAFE_DELETE (m_pInetFile);
			return ir;
		}
	
		ApplyProxySettings (pSession, dnp);
	
		m_pInetFile->Initialize (pSession, TRUE);

		ApplyProperties (m_pInetFile, dnp);

		
		if (dnp->enProtocol == NP_FTP && dnp->enFtpTransferType == FTT_UNKNOWN)
		{
			int posPath = strlen (dnp->pszPathName) - 1;
			int posExt = 0;
			LPSTR pszExt = new char [MAX_PATH];

			while (posPath && dnp->pszPathName [posPath] != '.')
				pszExt [posExt++] = dnp->pszPathName [posPath--];

			if (posPath)
			{
				LPSTR pszExtension = new char [MAX_PATH];

				pszExt [posExt] = 0;

				int i = 0;
				for (i = 0; i < posExt; i++)
					pszExtension [i] = pszExt [posExt - i - 1];

				pszExtension [i] = 0;
			
				if (IsExtInExtsStr (_pDllCaller->GetSettings ()->FtpAsciiExts (), pszExtension))
					m_pInetFile->FtpSetTransferType (FTT_ASCII);
				else
					m_pInetFile->FtpSetTransferType (FTT_BINARY);

				delete [] pszExtension;
			}
			else 
			{
				m_pInetFile->FtpSetTransferType (FTT_BINARY);
			}

			delete [] pszExt;
		}
	}

	
	
	m_uPosition -= m_uPosition % m_dwUploadPartSize;

	if (bOpenAnotherReq)
	{
		ir = m_pInetFile->OpenAnotherRequestOnServer (dnp->pszPathName, m_uPosition,
			min (m_dwUploadPartSize, m_uFileSize - m_uPosition), m_uFileSize);
	}
	else
	{
		ir = m_pInetFile->OpenEx (fsNPToScheme (dnp->enProtocol), dnp->pszServerName,
					dnp->pszUserName, dnp->pszPassword, dnp->uServerPort, 
					dnp->pszPathName, m_uPosition, FALSE, 
					min (m_dwUploadPartSize, m_uFileSize - m_uPosition), m_uFileSize);
	}

	if (m_bNeedStop)
	{
		SAFE_DELETE (m_pInetFile);
		return IR_S_FALSE;
	}

	if (ir != IR_SUCCESS)
	{
		
		SAFE_DELETE (m_pInetFile);
		return ir;
	}
	
	return IR_SUCCESS;
}