Beispiel #1
0
    protected void chooselayoutclick(object sender, EventArgs e)
    {
        // the command name is the id of the layout to choose.
        // command argument is the filename of layout to use
        sessionpagelayout spl;

        spl = (sessionpagelayout)Session["sessionpagelayout"];
        if (spl == null)
        {
            spl = new sessionpagelayout();
        }
        spl.pagelayoutfilename = (sender as LinkButton).CommandName;
        spl.setcookie(Response);
        Session["sessionpagelayout"] = spl;

        // go back to review page if we came from there, otherwise start choosing articles
        if (Request.QueryString["return"] == "true")
        {
            Response.Redirect("~/review.aspx");
        }
        else
        {
            Response.Redirect("~/choose_articles.aspx");
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        // get the existing customisations
        sc = (sessioncustomisations)Session["sessioncustomisation"];
        if (sc == null)
        {
            Response.Redirect("~/default.aspx", true);
        }
        if (sc.getsessioncustomisation("", "Nickname") == null)
        {
            Response.Redirect("~/default.aspx", true);
        }
        if (sc.getsessioncustomisation("", "First Name") == null)
        {
            Response.Redirect("~/default.aspx", true);
        }
        if (sc.getsessioncustomisation("", "Surname") == null)
        {
            Response.Redirect("~/default.aspx", true);
        }

        // get the layout, if there is no layout specified then redirect back to the home page
        spl = (sessionpagelayout)Session["sessionpagelayout"];
        if (spl != null)
        {
            pl = ceddio.loadpagelayout(spl.pagelayoutfilename);
        }
        if (pl == null)
        {
            Response.Redirect("~/default.aspx", true);
        }

        // get the article index to choose from the query string
        try
        {
            farticleindex = Convert.ToInt16(Request.QueryString["article"]);
        }
        catch
        {
            farticleindex = 0;
        }

        // get the total number of articles
        farticlestotal = pl.articles.Count;

        // get the prompt for the current article
        farticleprompt = pl.articles[articleindex].prompt;

        farticlename = pl.articles[articleindex].name;

        if (Page.IsPostBack == true)
        {
            return;
        }

        DataBind();

        ceddutils.databindrepeater("spArticlesGetAll", rarticles, "htsp");
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        // get the article index to choose from the query string
        try
        {
            farticleindex = Convert.ToInt16(Request.QueryString["article"]);
        }
        catch
        {
            farticleindex = 0;
        }

        // get the page layout
        spl = (sessionpagelayout)Session["sessionpagelayout"];
        if (spl == null)
        {
            Response.Redirect("~/default.aspx", true);
        }
        pl = ceddio.loadpagelayout(spl.pagelayoutfilename);
        // if there is no layout specified the redirect back to the home page
        if (pl == null)
        {
            Response.Redirect("~/default.aspx", true);
        }

        // get the customisation
        scs = (sessioncustomisations)Session["sessioncustomisation"];
        if (scs == null)
        {
            scs = new sessioncustomisations();
        }

        // get all the articles and add all customisable items
        sas = (sessionarticles)Session["sessionarticles"];
        if (sas == null)
        {
            Response.Redirect("~/default.aspx", true);
        }
        sa = sas.getarticle(pl.articles[articleindex].name);
        if (sa == null)
        {
            Response.Redirect("~/default.aspx", true);
        }

        if (Page.IsPostBack == false)
        {
            setuppage();
        }
        else
        {
            savecustomisations();
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        Single xscale, yscale;

        // get the article index to choose from the query string
        try
        {
            fpictureindex = Convert.ToInt16(Request.QueryString["picture"]);
        }
        catch
        {
            fpictureindex = 0;
        }

        // get layout and picture info from the seesion, redirect to home page if we don't have all that we need
        try
        {
            spl = (sessionpagelayout)Session["sessionpagelayout"];
            if (spl != null)
            {
                pl = ceddio.loadpagelayout(spl.pagelayoutfilename);
            }
            layoutinfo = pl.pictures[pictureindex];
            // get the total number of articles
            fpicturestotal = pl.pictures.Count;

            // get the prompt for the current article
            fpicturename   = pl.pictures[pictureindex].name;
            fpictureprompt = pl.pictures[pictureindex].prompt;
            sps            = (sessionpictures)Session["sessionpictures"];
            if (sps == null)
            {
                sps = new sessionpictures();
                Session["sessionpictures"] = sps;
            }
        }
        catch
        {
            Response.Redirect("default.aspx", true);
        }

        // if this is the first load of this page then save an image containing just the text of the articles. This will be overlaid on the uploaded pictures so that the user can line up the picture and the headline nicely.
        if ((Request.UrlReferrer == null) || (Request.Url.AbsolutePath != Request.UrlReferrer.AbsolutePath))
        {
            Session["articleoverlayfilename"] = "";
            // get an image containing just the text overlay
            Bitmap barticles = articlesdrawer.drawarticles(pl, (sessionarticles)Session["sessionarticles"], (sessioncustomisations)Session["sessioncustomisation"], sps, true);
            string articleoverlayfilename = Guid.NewGuid().ToString() + ".png";
            barticles.Save(Server.MapPath("~/articleoverlays/") + articleoverlayfilename, ImageFormat.Png);
            Session["articleoverlayfilename"] = articleoverlayfilename;
        }

        // work out the scaling for this picture so that all pictures take up the same space on screen when positioning. This is so that small pictures are easily visible and so large pictures are not unmanageably large
        xscale    = (400f / (Single)layoutinfo.width);
        yscale    = (300f / (Single)layoutinfo.height);
        pagescale = Math.Min(xscale, yscale);

        // get the session info for this picture, if there is any
        try { picinfo = sps.picture(fpicturename); }
        catch { picinfo = null; }

        if (Page.IsPostBack == true)
        {
            return;
        }

        // show hide the controls for an optional picture
        poptional.Visible = layoutinfo.optional;

        // hide the javascript if there is no picture to work with
        if ((picinfo == null) || (System.IO.File.Exists(HostingEnvironment.ApplicationPhysicalPath + "\\uploadedpictures\\" + picinfo.filename)) == false)
        {
            pimgscript.Visible = false;
            //pcrop.Visible = false;
        }
        else
        {
            //
        }

        DataBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        int       i;
        HyperLink a;
        Literal   l;

        try
        {
            spl = (sessionpagelayout)Session["sessionpagelayout"];
            pl  = ceddio.loadpagelayout(spl.pagelayoutfilename);
        }
        catch
        {
            Response.Redirect("default.aspx", true);
        }

        DataBind();

        // add links to customise the various parts of the page
        // step 2 - choose articles
        // and step 3 - customise articles
        for (i = 0; i < pl.articles.Count; i++)
        {
            a             = new HyperLink();
            a.Text        = "Change the " + pl.articles[i].prompt;
            a.NavigateUrl = "~/choose_articles.aspx?article=" + Convert.ToString(i) + "&return=true";
            phchoosearticles.Controls.Add(a);

            if (i < pl.articles.Count - 1)
            {
                l      = new Literal();
                l.Text = "<br />";
                phchoosearticles.Controls.Add(l);
            }

            a             = new HyperLink();
            a.Text        = "Customise the " + pl.articles[i].prompt;
            a.NavigateUrl = "~/customise_articles.aspx?article=" + Convert.ToString(i) + "&return=true";
            phcustomisearticles.Controls.Add(a);

            if (i < pl.articles.Count - 1)
            {
                l      = new Literal();
                l.Text = "<br />";
                phcustomisearticles.Controls.Add(l);
            }
        }

        // and step 4 - choose pictures
        for (i = 0; i < pl.pictures.Count; i++)
        {
            a             = new HyperLink();
            a.Text        = "Change the " + pl.pictures[i].prompt;
            a.NavigateUrl = "~/choose_pictures.aspx?picture=" + Convert.ToString(i) + "&return=true";
            phchoosepictures.Controls.Add(a);

            if (i < pl.pictures.Count - 1)
            {
                l      = new Literal();
                l.Text = "<br />";
                phchoosepictures.Controls.Add(l);
            }
        }

        /*
         * sessionpicture sp = new sessionpicture();
         * sp.name = "main";
         * sp.filename = "wahey.jpg";
         * sp.thumbnailfilename = "wahey.jpg";
         * sp.borderfilename = "border3.png";
         * sp.imageheight = 536;
         * sp.imagewidth = 800;
         * sp.thumbnailheight = 800;
         * sp.thumbnailwidth = 800;
         * sp.offsetx = 270;
         * sp.offsety = 0;
         * sp.setzoom(1.2f);
         * //sp.setzoom(3f);
         * //sp.setzoom(1.5f);
         * sessionpictures sps = new sessionpictures();
         * sps.Add(sp);
         * sps.setcookie(Response);
         *
         * sessionarticles sas = new sessionarticles();
         * sas.addsessionarticle("main", "\\articles\\testarticle.xml");
         * sas.setcookie(Response);
         *
         * sessionpagelayout spl = new sessionpagelayout();
         * spl.pagelayoutfilename = "\\layouts\\testlayout3.xml";
         * spl.setcookie(Response);
         *
         * Global.getcookiedata(Request, Session);
         *
         * articlestyles a = new articlestyles();
         * //a.brush = new SolidBrush(Color.Black);
         *
         * textstyle ts = new textstyle();
         * ts.style = textstyletype.headline;
         * ts.fontdef.family = "Arial";
         * ts.fontdef.style = FontStyle.Regular;
         * ts.fontdef.size = 8;
         * a.text.Add(ts);
         *
         * paragraphstyle ps = new paragraphstyle();
         * ps.style = paragraphstyletype.headline;
         * ps.justification = paragraphjustification.justified;
         * a.paragraph.Add(ps);
         *
         * // serialise the object
         * XmlSerializer serializer = new XmlSerializer(typeof(articlestyles));
         * StringWriter tw = new StringWriter();
         * serializer.Serialize(tw, a);
         * Literal1.Text = Server.HtmlEncode(tw.ToString());
         *
         * // unserialise it, just to make sure that it works
         * StringReader sr = new StringReader(Server.HtmlDecode(Literal1.Text));
         * a = (articlestyles)serializer.Deserialize(sr);
         *
         * // serialise it again so we can see the results
         * tw = new StringWriter();
         * serializer.Serialize(tw, a);
         * Literal2.Text = Server.HtmlEncode(tw.ToString());
         *
         * articlelayout al = new articlelayout();
         * articlelayoutpart alp = new articlelayoutpart();
         * al.layoutparts.Add(alp);
         *
         * alp.parttypes.Add(articleparttype.body);
         *
         * al.styles.text.Add(ts);
         * al.styles.paragraph.Add(ps);
         *
         * pagelayout pl = new pagelayout();
         * pl.articles.Add(al);
         * pl.backgroundimagefilename = "frontpage.jpg";
         *
         * // serialise the object
         *
         * serializer = new XmlSerializer(typeof(pagelayout));
         * tw = new StringWriter();
         * serializer.Serialize(tw, pl);
         * Literal3.Text = Server.HtmlEncode(tw.ToString());
         *
         * // unserialise it, just to make sure that it works
         * sr = new StringReader(Server.HtmlDecode(Literal3.Text));
         * pl = (pagelayout)serializer.Deserialize(sr);
         *
         * // serialise it again so we can see the results
         * tw = new StringWriter();
         * serializer.Serialize(tw, pl);
         * Literal4.Text = Server.HtmlEncode(tw.ToString());
         *
         * sometextstatic sts = new sometextstatic();
         * sts.statictext = "Good morning ";
         * sts.style = textstyletype.intro;
         *
         * sometextreplace str = new sometextreplace();
         * str.initialtext = "cedd";
         * str.maxlength = 10;
         * str.prompt = "First name";
         * str.style = textstyletype.intro;
         *
         * paragraph p = new paragraph();
         * p.style = paragraphstyletype.intro;
         * p.textparts.Add(sts);
         * p.textparts.Add(str);
         *
         * article art = new article();
         * articlepart artp = new articlepart();
         * articlepart artp2 = new articlepart();
         * artp2.parttype = articleparttype.subhead;
         * art.Add(artp);
         * art.Add(artp2);
         *
         * artp.paragraphs.Add(p);
         * artp.finetune.Add(p);
         * artp.finetune.Add(p);
         *
         * artp2.paragraphs.Add(p);
         * artp2.finetune.Add(p);
         * artp2.finetune.Add(p);
         *
         * // serialise the article
         * tw = new StringWriter();
         * serializer = new XmlSerializer(typeof(article));
         * serializer.Serialize(tw, art);
         * Literal5.Text = Server.HtmlEncode(tw.ToString());
         *
         * // now deserialise it to make sure its the same!
         * sr = new StringReader(Server.HtmlDecode(Literal5.Text));
         * art = (article)serializer.Deserialize(sr);
         *
         * // serialise it again so we can see the results
         * tw = new StringWriter();
         * serializer.Serialize(tw, art);
         * Literal6.Text = Server.HtmlEncode(tw.ToString());
         *
         * Bitmap bm = new Bitmap(40, 40);
         *
         * Graphics g = Graphics.FromImage(bm);
         * GraphicsPath ph = new GraphicsPath();
         * Font f = new Font("Arial", 16);
         * ph.AddString("Cedditisj" , f.FontFamily, (int)f.Style, f.Size, new Point(0, 0), StringFormat.GenericTypographic);
         * ph.Flatten(new Matrix(), (float)0.01);
         *
         * for (int i = 0; i < ph.PathPoints.Length; i++)
         * {
         * Literal6.Text += "<BR>" + ph.PathPoints[i].X.ToString() + ", " + ph.PathPoints[i].Y.ToString() + ", " + ph.PathTypes[i].ToString();
         * }
         *
         * GraphicsPathIterator gpi = new GraphicsPathIterator(ph);
         *
         * Literal6.Text += "<br>" + ph.GetBounds().ToString() + "<br>";
         * Literal6.Text += g.MeasureString("C", f, 1000, StringFormat.GenericTypographic).ToString()  + "<br>";
         * Literal6.Text += gpi.SubpathCount + "<br>";
         *
         * foreach (FontFamily ff in FontFamily.Families)
         * {
         *    if (ff.IsStyleAvailable(FontStyle.Regular))
         *    {
         *        Literal7.Text += ff.Name+"<br>";
         *    }
         * }
         */
    }