Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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");
                }
            }
        }
Esempio n. 3
0
        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);
            }
        }