public UrlItem PopUrlItem(string url) { if (url.IndexOf(CALLED_AS_POPUP) != -1) { return(null); } int popupLevel = GetUrlPopupLevel(url); if (referers.ContainsKey(popupLevel)) { if (referers[popupLevel].Count > 0) { UrlItem i = referers[popupLevel].Pop(); return(i); } } return(null); }
public string GetRefererUrl(string url) { if (url.IndexOf(CALLED_AS_POPUP) != -1) { return(""); } int popupLevel = GetUrlPopupLevel(url); if (referers.ContainsKey(popupLevel)) { if (referers[popupLevel].Count > 1) { UrlItem i = referers[popupLevel].Pop(); string referer = ((UrlItem)referers[popupLevel].Peek()).url; referers[popupLevel].Push(i); return(referer); } } return(""); }
public void PushUrl(string url, bool fromRedirect) { if (url.IndexOf(CALLED_AS_POPUP) != -1) { return; } int popupLevel = GetUrlPopupLevel(url); UrlItem urlItem = new UrlItem(); urlItem.redirect = fromRedirect; urlItem.url = url; if (!referers.ContainsKey(popupLevel)) { Stack <UrlItem> stack = new Stack <UrlItem>(); referers.Add(popupLevel, stack); stack.Push(urlItem); } else { referers[popupLevel].Push(urlItem); } }