private void DoSearch(string searchTerm) { var searchResults = Media.Search(searchTerm, myUser.Id); MediaTitle.InnerText = searchResults.Media.Count > 0 ? "Content found:" : "No content was found using those search terms :("; TagsTitle.InnerText = (searchResults.MediaTags.Count > 0 || searchResults.Users.Count > 0) ? "Tags found:" : "No tags were found using those search terms :("; Page httpHandler = (Page)HttpContext.Current.Handler; List <ViewTagControl> ViewTagControls = new List <ViewTagControl>(); foreach (MediaTag mediaTag in searchResults.MediaTags) { ViewTagControl mediaTagPairViewControl = (ViewTagControl)httpHandler.LoadControl("~/Custom_Controls/Media/ViewTagControl.ascx"); mediaTagPairViewControl.MyTag = mediaTag; mediaTagPairViewControl.UpdateLink(); MediaTagContainer.Controls.Add(mediaTagPairViewControl); ViewTagControls.Add(mediaTagPairViewControl); } foreach (ParsnipData.Accounts.User user in searchResults.Users) { ViewTagControl mediaUserPairViewControl = (ViewTagControl)httpHandler.LoadControl("~/Custom_Controls/Media/ViewTagControl.ascx"); mediaUserPairViewControl.MyUser = user; mediaUserPairViewControl.UpdateLink(); MediaTagContainer.Controls.Add(mediaUserPairViewControl); ViewTagControls.Add(mediaUserPairViewControl); } foreach (ViewTagControl control in ViewTagControls.OrderBy(x => x.Name)) { MediaTagContainer.Controls.Add(control); } foreach (var mediaControl in MediaControl.GetMediaSearchResultAsMediaControls(searchResults)) { MediaContainer.Controls.Add(mediaControl); } }
protected void Page_Load(object sender, EventArgs e) { if (string.IsNullOrEmpty(Data.DeviceType)) { Response.Redirect($"get_device_info?url={Request.Url.PathAndQuery.Substring(1)}"); } //If there is an access token, get the token & it's data. //If there is no access token, check that the user is logged in. var mediaShareId = Request.QueryString["share"]; mediaView = new MediaView(); NewMenu.SelectedPage = PageIndex.View; NewMenu.Share = true; if (Request.QueryString["id"] == null) { if (Request.QueryString["share"] == null) { Response.Redirect("home"); } else { myMediaShare = new MediaShare(new MediaShareId(Request.QueryString["share"].ToString())); shareId = myMediaShare.Id; try { myMediaShare.Select(); } catch (Exception ex) { throw ex; } if (myMediaShare.MediaId == null) { if (Request.QueryString["alert"] == null) { Response.Redirect($"view?share={mediaShareId}&alert=P101"); } } myUser = Account.PublicPage(this, myMediaShare, mediaView, Data.DeviceType); } } else { myUser = Account.SecurePage(this, Data.DeviceType, Request, mediaView); if (myUser != null) { if (mediaView.Media != null) { if (mediaView.Media.MyMediaShare != null) { myMediaShare = mediaView.Media.MyMediaShare; if (myMediaShare == null) { myMediaShare = new MediaShare(mediaView.Media.Id, myUser.Id); myMediaShare.Insert(); } } mediaView.Media.View(myUser); } } } if (mediaView.Media == null) { if (Request.QueryString["alert"] == null) { Response.Redirect($"view?id={Request.QueryString["id"]}&alert=P101"); } else { MediaContainer.Visible = false; MediaTagContainer.Visible = false; } } else { viewCount.InnerText = $"{mediaView.Media.ViewCount} view(s)"; ShareLink.Value = Request.Url.GetLeftPart(UriPartial.Authority) + "/view?share=" + myMediaShare.Id; } NewMenu.LoggedInUser = myUser; NewMenu.HighlightButtonsForPage(PageIndex.Tag, "View"); //Get the image which the user is trying to access, and display it on the screen. if (mediaView.Media == null || string.IsNullOrEmpty(mediaView.Media.Compressed)) { //ShareLinkContainer.Visible = false; Button_ViewAlbum.Visible = false; if (ShareUserSuspendedError.Visible == false) { UploadUserSuspendedError.Visible = true; } } else { List <ViewTagControl> ViewTagControls = new List <ViewTagControl>(); Page httpHandler = (Page)HttpContext.Current.Handler; foreach (MediaTagPair mediaTagPair in mediaView.Media.MediaTagPairs) { ViewTagControl mediaTagPairViewControl = (ViewTagControl)httpHandler.LoadControl("~/Custom_Controls/Media/ViewTagControl.ascx"); mediaTagPairViewControl.MyMedia = mediaView.Media; mediaTagPairViewControl.MyTagPair = mediaTagPair; mediaTagPairViewControl.UpdateLink(); ViewTagControls.Add(mediaTagPairViewControl); } foreach (MediaUserPair mediaUserPair in mediaView.Media.MediaUserPairs) { ViewTagControl mediaUserPairViewControl = (ViewTagControl)httpHandler.LoadControl("~/Custom_Controls/Media/ViewTagControl.ascx"); mediaUserPairViewControl.MyMedia = mediaView.Media; mediaUserPairViewControl.MyUserPair = mediaUserPair; mediaUserPairViewControl.UpdateLink(); ViewTagControls.Add(mediaUserPairViewControl); } foreach (ViewTagControl control in ViewTagControls.OrderBy(x => x.Name)) { MediaTagContainer.Controls.Add(control); } if (mediaView.Media.AlbumId == 0) { Button_ViewAlbum.Visible = false; } ImageTitle.InnerText = mediaView.Media.Title; Page.Title = mediaView.Media.Title; if (mediaView.Media.Type == "image") { ImagePreview.Src = mediaView.Media.Compressed; } Page.Header.Controls.Add(new LiteralControl(string.Format("<meta property=\"og:title\" content=\"{0}\" />", mediaView.Media.Title))); //This will break youtube videos which have not had their thumbnail regenerated Page.Header.Controls.Add(new LiteralControl(string.Format("<meta property=\"og:image\" content=\"{0}\" />", mediaView.Media.Compressed.Contains("https://lh3.googleusercontent.com") ? mediaView.Media.Compressed : string.Format("{0}/{1}", Request.Url.GetLeftPart(UriPartial.Authority), mediaView.Media.Compressed)))); Page.Header.Controls.Add(new LiteralControl("<meta property=\"og:type\" content=\"website\" />")); Page.Header.Controls.Add(new LiteralControl(string.Format("<meta property=\"og:url\" content=\"{0}\" />", Request.Url.ToString()))); Page.Header.Controls.Add(new LiteralControl(string.Format("<meta property=\"og:description\" content=\"{0}\" />", mediaView.Media.Description))); Page.Header.Controls.Add(new LiteralControl(string.Format("<meta property=\"og:alt\" content=\"{0}\" />", mediaView.Media.Alt))); Page.Header.Controls.Add(new LiteralControl("<meta property=\"fb:app_id\" content=\"521313871968697\" />")); if (Request.QueryString["share"] == null) { Button_ViewAlbum.Visible = false; MediaShare myMediaShare; myMediaShare = mediaView.Media.MyMediaShare; if (myMediaShare == null) { myMediaShare = new MediaShare(mediaView.Media.Id, myUser.Id); myMediaShare.Insert(); } } } if (mediaView.Video != null) { if (mediaView.Video.VideoData.XScale != default && mediaView.Video.VideoData.YScale != default && mediaView.Video.IsPortrait()) { video_container.Attributes.Remove("class"); video_container.Attributes.Add("class", "media-viewer-portrait"); TitleContainer.Attributes.Remove("class"); TitleContainer.Attributes.Add("class", "media-viewer-title-portrait background-lightest"); //TitleContainer.Attributes.Add("class", "background-lightest"); } } if (mediaView.Image != null) { if (mediaView.Image.IsPortrait()) { ImagePreview.Attributes.Remove("class"); ImagePreview.Attributes.Add("class", "media-viewer-portrait"); //MediaContainer.Attributes.Remove("class"); //MediaContainer.Attributes.Add("class", "media-viewer-portrait"); TitleContainer.Attributes.Remove("class"); TitleContainer.Attributes.Add("class", "media-viewer-title-portrait background-lightest"); //TitleContainer.Attributes.Add("class", "background-lightest"); } } }
protected void Page_Load(object sender, EventArgs e) { MOTD.InnerHtml = System.Configuration.ConfigurationManager.AppSettings["MOTD"]; if (string.IsNullOrEmpty(Data.DeviceType)) { Response.Redirect("get_device_info?url=home"); } myUser = Account.PublicPage(this, Data.DeviceType); NewMenu.SelectedPage = PageIndex.Home; if (myUser != null) { NewMenu.LoggedInUser = myUser; NewMenu.Upload = true; } Page httpHandler = (Page)HttpContext.Current.Handler; if (myUser == null) { } //LoginNudge.Visible = true; else { UploadMediaControl.Initialise(myUser, this); if (myUser.AccountType == "admin" || myUser.AccountType == "member" || myUser.AccountType == "media") { uploadForm.Visible = true; UploadButtonPadding.Visible = true; } } new LogEntry(Log.Debug) { Text = string.Format("The home page was accessed by {0} from {1} {2} device.", myUser == null ? "someone who was not logged in" : myUser.Forename, myUser == null ? "their" : myUser.PosessivePronoun, Data.DeviceType) }; //WelcomeLabel.Text = // string.Format("Hiya {0} to the parsnip website!", myUser == null ? // "stranger, welcome" : myUser.Forename + ", welcome back"); if (myUser == null) { MediaTagContainer.InnerHtml = "<label style=\"color:red \">You must <a href=\"login\" style=\"color:blue\">login</a> to see tags!</label>"; } else { List <ViewTagControl> ViewTagControls = new List <ViewTagControl>(); foreach (MediaTag mediaTag in MediaTag.GetAllTags()) { ViewTagControl mediaTagPairViewControl = (ViewTagControl)httpHandler.LoadControl("~/Custom_Controls/Media/ViewTagControl.ascx"); mediaTagPairViewControl.MyTag = mediaTag; mediaTagPairViewControl.UpdateLink(); MediaTagContainer.Controls.Add(mediaTagPairViewControl); ViewTagControls.Add(mediaTagPairViewControl); } foreach (ParsnipData.Accounts.User user in ParsnipData.Accounts.User.GetAllUsers()) { ViewTagControl mediaUserPairViewControl = (ViewTagControl)httpHandler.LoadControl("~/Custom_Controls/Media/ViewTagControl.ascx"); mediaUserPairViewControl.MyUser = user; mediaUserPairViewControl.UpdateLink(); MediaTagContainer.Controls.Add(mediaUserPairViewControl); ViewTagControls.Add(mediaUserPairViewControl); } foreach (ViewTagControl control in ViewTagControls.OrderBy(x => x.Name)) { MediaTagContainer.Controls.Add(control); } } var myImage = new ParsnipData.Media.Image(); myImage.Id = MediaId.NewMediaId(); myImage.Compressed = "Resources/Media/Images/Local/Dirt_On_You.jpg"; myImage.Placeholder = "Resources/Media/Images/Local/Dirt_On_You.jpg"; if (myUser != null) { myImage.Title = $"Hey {myUser.Forename}, what DIRT do we have on YOU? 😜"; } else { myImage.Title = $"What DIRT do we have on YOU? 😜"; } var MySeeYourselfControl = (MediaControl)Page.LoadControl("~/Custom_Controls/Media/MediaControl.ascx"); MySeeYourselfControl.MyMedia = myImage; MySeeYourselfControl.AnchorLink = $"{Request.Url.GetLeftPart(UriPartial.Authority)}/me"; //seeYourself.Controls.Add(MySeeYourselfControl); //seeYourself.Visible = true; int userId = myUser == null ? 0 : myUser.Id; Media latestVideo = Media.SelectLatestVideo(userId); if (latestVideo != null) { var MyVideoControl = (MediaControl)Page.LoadControl("~/Custom_Controls/Media/MediaControl.ascx"); latestVideo.Title = "LATEST VIDEO: " + latestVideo.Title; MyVideoControl.MyMedia = latestVideo; //LatestVideo.Controls.Add(MyVideoControl); } }