Beispiel #1
0
void CSpiderAddPageDlg::BuildOutFolder()
{
	CHAR szFile [10000];
        *szFile = 0;
	fsURL url;

	
	if (m_bOutFolderChanged)
		return;

	if (IR_SUCCESS != url.Crack (m_strUrl))
		return;

	if (*url.GetHostName () == 0)
		return;

	if (IsDlgButtonChecked (IDC_KEEP) == BST_CHECKED)
	{
		SetDlgItemText (IDC_OUTFOLDER, m_strBaseFolder);
		return;
	}
	
	fsFileNameFromUrlPath (url.GetPath (), url.GetInternetScheme () == INTERNET_SCHEME_FTP,
		TRUE, szFile, sizeof (szFile));

	CString str = m_strBaseFolder;
	str += url.GetHostName ();
	str += '\\';
	
	SetDlgItemText (IDC_OUTFOLDER, str);
}
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;
	}
}
Beispiel #3
0
fsInternetResult fsMirrorURLsMgr::OnSearchScriptResultsReceived()
{
    fsHTMLParser parser;

    parser.SetKillDupes (TRUE);
    parser.ParseHTML (LPSTR (m_dldr.Get_FileBuffer ()));

    m_vMirrorURLs.clear ();

    for (int i = 0; i < parser.GetUrlCount () && m_bAbort == FALSE; i++)
    {
        fsURL url;
        LPCSTR pszUrl = parser.GetUrl (i);

        if (IR_SUCCESS != url.Crack (pszUrl))
            continue;

        if (fsIsServersEqual (url.GetHostName (), m_strBaseServer, TRUE) ||
                fsIsServersEqual (m_strBaseServer, url.GetHostName (), TRUE)    )
            continue;

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

        if (stricmp (szFileName, m_strFile) == 0)
        {


            if (IsMirrorURLGood (pszUrl) == FALSE)
                continue;

            m_vMirrorURLs.add (pszUrl);
        }
    }

    m_dldr.Free_FileBuffer ();

    if (m_bAbort)
        return IR_S_FALSE;

    Event (MUME_DONE);
    return IR_SUCCESS;
}
Beispiel #4
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);
}
Beispiel #5
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);
}
Beispiel #6
0
void CCreateBatchDownload::UrlChanged()
{
	CHAR szFile [10000];
	*szFile = 0;
	fsURL url;

	m_bBLParametersChanged = true;

	if (IR_SUCCESS != url.Crack (m_strUrl))
		return;

	
	
	if (m_bGroupChanged == FALSE)
	{
		fsFileNameFromUrlPath (url.GetPath (), url.GetInternetScheme () == INTERNET_SCHEME_FTP, 
			TRUE, szFile, sizeof (szFile));

		int len = strlen (szFile);
		vmsDownloadsGroupSmartPtr grp;

		if (len)
		{
			int i;
			for (i = len-1; i > 0; i--)
				if (szFile [i] == '.')	
					break;

			if (i && i < len-1)
			{
				i++;
				CHAR szExt [1000];
				strcpy (szExt, szFile + i);
				grp = _DldsGrps.FindGroupByExt (szExt);
			}
		}

		if (grp == NULL)
			grp = _DldsGrps.FindGroup (GRP_OTHER_ID);

		if (grp != NULL)
		{		
			if (m_wndGroups.SelectGroup (grp))
				OnChangeGroups();
		}

		m_bGroupChanged = FALSE;
	}

	CString strNewUser, strNewPassword;

	strNewUser = url.GetUserName ();
	strNewPassword = url.GetPassword ();

	
	fsSiteInfo *site = _SitesMgr.FindSite (url.GetHostName (), fsNPToSiteValidFor (fsSchemeToNP (url.GetInternetScheme ())));
	if (site)
	{
		if (!m_bAuthChanged && strNewUser.IsEmpty ())
		{
			if (!site->strUser.IsEmpty ())
			{
				strNewUser = site->strUser;
				if (!site->strPassword.IsEmpty ())
					strNewPassword = site->strPassword;
			}
		}		

		
		if (site->pGroup && m_bGroupChanged == FALSE)
		{
			m_wndGroups.SelectGroup (site->pGroup);
			OnChangeGroups();
			m_bGroupChanged = FALSE;
		}
	}
	
	if (!m_bAuthChanged)
	{
		m_bAuthorization = !strNewUser.IsEmpty ();
		CheckDlgButton (IDC_USELOGIN, m_bAuthorization ? BST_CHECKED : BST_UNCHECKED);
		SetDlgItemText (IDC_USER, strNewUser);
		SetDlgItemText (IDC_PASSWORD, strNewPassword);
		m_bAuthChanged = FALSE;
		UpdateEnabled ();
	}
}
BOOL CCreateTPDownloadDlg::OnInitDialog() 
{
	

	CDialog::OnInitDialog();

	SetDlgItemText (IDC_URL, m_strUrl);
	CHAR szFile [10000];
	*szFile = 0;
	fsFileNameFromUrlPath (m_strUrl, FALSE, TRUE, szFile, sizeof (szFile));

	m_schScheduleParam.schTask.hts.enType = HTS_ONCE;
	m_schScheduleParam.schTask.hts.last.dwHighDateTime = m_schScheduleParam.schTask.hts.last.dwLowDateTime = UINT_MAX;
	m_schScheduleParam.schTask.dwFlags = SCHEDULE_ENABLED;
	SYSTEMTIME time;
	GetLocalTime (&time);
	if (++time.wHour > 23)
		time.wHour = 0;
	time.wMinute = 0;
	SystemTimeToFileTime (&time, &m_schScheduleParam.schTask.hts.next);
	m_schScheduleParam.schTask.uWaitForConfirmation = 0;

	m_btnChooseFolder.SetIcon (SICO (IDI_CHOOSEFOLDER));
	m_btnCreateGroup.SetIcon (SICO (IDI_CREATEGROUP));
	m_btnOutFolderSetDefault.SetIcon (SICO (IDI_SETFOLDERDEFAULT));

	m_wndGroups.Fill ();

	CComboBox *pUrls = (CComboBox*) GetDlgItem (IDC_URL);
	int i = 0;
	for (i = 0; i < _LastUrlFiles.GetRecordCount (); i++)
		pUrls->AddString (_LastUrlFiles.GetRecord (i));

	CComboBox *pDirs = (CComboBox*) GetDlgItem (IDC_OUTFOLDER);
	for (i = 0; i < _LastFolders.GetRecordCount (); i++)
		pDirs->AddString (_LastFolders.GetRecord (i));

	m_bGroupChanged = m_bAuthChanged = FALSE;

	SetDlgItemInt (IDC_STRSPEED, 1);
	m_wndSpin.SetRange (1, 10);
	
	GetDlgItem (IDC_URL)->SetFocus ();
	UrlChanged ();

	if (strlen(szFile) == 0)
	{
		
		CString strDateTime;
		SYSTEMTIME systime;
		GetLocalTime (&systime);
		char szDate [100], szTime [100];
		GetDateFormat (LOCALE_USER_DEFAULT, 0, &systime, "yyyy-MM-dd", szDate, 100);
		GetTimeFormat (LOCALE_USER_DEFAULT, 0, &systime, "HHmmss", szTime, 100);
		strDateTime = szDate; strDateTime += " "; strDateTime += szTime; strDateTime += ".asf";
		SetDlgItemText (IDC_SAVEAS, strDateTime);
	}
	else
	{
		if (strchr(szFile, '.') == 0)
		 strcat(szFile, ".asf");
		SetDlgItemText (IDC_SAVEAS, szFile);
	}
	

	ApplyLanguage ();

	m_bGroupChanged = FALSE;

	if (m_pGroup == NULL)
		m_pGroup = _DldsGrps.FindGroup (_App.NewDL_GroupId ());

	if (m_pGroup != NULL && m_wndGroups.SelectGroup (m_pGroup))
	{
		m_bGroupChanged = TRUE;
		OnChangeGroups ();
	}

	m_wndDldType.AddString (LS (L_SAVEFILE));
	m_wndDldType.AddString (LS (L_OPENFILE));
	m_wndDldType.AddString (LS (L_SAVEFILEANDOPENIT));
	m_wndDldType.SetCurSel (0);

	CheckDlgButton (IDC_FILEAUTO, _App.NewDL_GenerateNameAutomatically () ? BST_CHECKED : BST_UNCHECKED);
	OnFileauto ();

	UpdateEnabled ();

	return TRUE;
}
void CCreateTPDownloadDlg::UrlChanged()
{
	SetDlgItemText (IDC_QSIZE, LS (L_QUERYSIZE));
	if (m_bThread) m_bNeedExit = TRUE;
	if (IR_SUCCESS != Crack(m_strUrl))
	{
		GetDlgItem (IDC_QSIZE)->EnableWindow (FALSE);
		return;
	}

	CHAR szFile [10000];
	*szFile = 0;

	m_bUrlChanged = TRUE;

	if (m_dld->dwFlags & (DLD_MALICIOUS_NO | DLD_MALICIOUS_YES))
	{
		GetDlgItem (IDC_MALICIOUS)->EnableWindow (TRUE);
		m_dld->dwFlags &= ~ (DLD_MALICIOUS_NO | DLD_MALICIOUS_YES);
	}

	if (m_bGroupChanged == FALSE)
	{
		fsFileNameFromUrlPath (m_strUrl, FALSE, TRUE, szFile, sizeof (szFile));

		int len = strlen (szFile);
		vmsDownloadsGroupSmartPtr grp;

		if (len)
		{
			if (strchr(szFile, '.') == 0)
				strcat(szFile, ".asf");
			SetDlgItemText (IDC_SAVEAS, szFile);

			int i;
			for (i = len-1; i > 0; i--)
				if (szFile [i] == '.')	
					break;

			if (i && i < len-1)
			{
				i++;
				CHAR szExt [1000];
				strcpy (szExt, szFile + i);
				grp = _DldsGrps.FindGroupByExt (szExt);
			}
		}

		if (grp == NULL)
			grp = _DldsGrps.FindGroup (GRP_OTHER_ID);

		if (grp != NULL)
		{
			if (m_wndGroups.SelectGroup (grp))
				OnChangeGroups();
		}
	}
	bool bRtsp = (m_strUrl.Find("rtsp://") != -1);
	GetDlgItem (IDC_STRSPEED)->EnableWindow(bRtsp);
	GetDlgItem (IDC_STRSPEED_SPIN)->EnableWindow(bRtsp);
	GetDlgItem (IDC_QSIZE)->EnableWindow ();
}