コード例 #1
0
ファイル: BaseHandler.cs プロジェクト: Jochumzen/PlugghestLib
        public void CreateBasicPlugg(PluggContainer p)
        {
            if (p.CultureCode == null || p.CultureCode == "")
                throw new Exception("Cannot Create Plugg. CutureCode cannot be null");

            if (p.TheTitle == null || p.TheTitle.Text == null || p.TheTitle.Text == "")
                throw new Exception("Cannot Save Plugg. Title cannot be null");

            p.ThePlugg.CreatedInCultureCode = p.CultureCode;
            p.ThePlugg.CreatedOnDate = DateTime.Now;
            p.ThePlugg.ModifiedByUserId = p.ThePlugg.CreatedByUserId;
            p.ThePlugg.ModifiedOnDate = p.ThePlugg.CreatedOnDate;
            p.ThePlugg.IsDeleted = false;
            p.ThePlugg.IsListed = true;
            rep.CreatePlugg(p.ThePlugg);

            //Save Title
            p.TheTitle.ItemId = p.ThePlugg.PluggId;
            p.TheTitle.ItemType = ETextItemType.PluggTitle;
            p.TheTitle.CultureCode = p.CultureCode;
            p.TheTitle.CultureCodeStatus = ECultureCodeStatus.InCreationLanguage;
            p.TheTitle.CreatedByUserId = p.ThePlugg.CreatedByUserId;
            p.TheTitle.ModifiedByUserId = p.ThePlugg.ModifiedByUserId;
            SavePhTextInAllCc(p.TheTitle);  //Save or Update

            //Save Description
            if (p.TheDescription != null && p.TheDescription.Text != null && p.TheDescription.Text != "")
            {
                p.TheDescription.ItemId = p.ThePlugg.PluggId;
                p.TheDescription.ItemType = ETextItemType.PluggDescription;
                p.TheDescription.CultureCode = p.CultureCode;
                p.TheDescription.CultureCodeStatus = ECultureCodeStatus.InCreationLanguage;
                p.TheDescription.CreatedByUserId = p.ThePlugg.CreatedByUserId;
                p.TheDescription.ModifiedByUserId = p.ThePlugg.ModifiedByUserId;
                SavePhTextInAllCc(p.TheDescription);
            }

            PluggComponent video = new PluggComponent();
            video.ComponentOrder = 1;
            video.ComponentType = EComponentType.YouTube;
            AddComponent(p, video);

            PluggComponent rrText = new PluggComponent();
            rrText.ComponentOrder = 2;
            rrText.ComponentType = EComponentType.RichRichText;
            p.TheComponents = null;
            AddComponent(p, rrText);

            //Create PluggPage
            DNNHelper d = new DNNHelper();
            string pageUrl = p.ThePlugg.PluggId.ToString();
            string pageName = pageUrl + ": " + p.TheTitle.Text;
            int ratingModuleId = 0;
            TabInfo newTab = d.AddPluggPage(pageName, pageUrl, ref ratingModuleId);

            p.ThePlugg.TabId = newTab.TabID;
            p.ThePlugg.RatingsModuleId = ratingModuleId;

            rep.UpdatePlugg(p.ThePlugg);
        }
コード例 #2
0
        /// <summary>
        /// Add a new component to a Plugg
        /// Existing PluggComponents must be in p.TheComponents
        /// newComponentData is of type PHText, PHLatex or YouTube
        /// newComponent must have ComponentOrder and ComponentType set
        /// </summary>
        /// <param name="p"></param>
        /// <param name="newComponent"></param>
        /// <param name="newComponentData"></param>
        public void AddComponent(PluggContainer p, PluggComponent newComponent, object newComponentData = null)
        {
            List <PluggComponent> cmps = p.GetComponentList();

            if (newComponent.ComponentOrder < 1 || newComponent.ComponentOrder > cmps.Count + 1)
            {
                throw new Exception("ComponentOrder is out of range");
            }
            if (newComponent.ComponentType == EComponentType.NotSet)
            {
                throw new Exception("You must set ComponentType");
            }

            PluggComponent pcToUpdate;

            for (int order = newComponent.ComponentOrder; order <= cmps.Count; order++)
            {
                pcToUpdate = rep.GetPluggComponent(cmps[order - 1].PluggComponentId);
                pcToUpdate.ComponentOrder += 1;
                rep.UpdatePluggComponent(pcToUpdate);
            }

            newComponent.PluggId = p.ThePlugg.PluggId;
            rep.CreatePluggComponent(newComponent);
        }
コード例 #3
0
 protected void btnSave_Click(object sender, EventArgs e)
 {
     switch (SubjectCase )
     {
         case ESubjectCase.Plugg:
             PluggContainer pc = new PluggContainer(CultureCode, ItemId);
             if (pc.ThePlugg != null && pc.ThePlugg.PluggId != 0)
             {
                 pc.ThePlugg.SubjectId = Convert.ToInt32(hdnNodeSubjectId.Value);
                 pc.UpdatePluggEntity();
             }
             Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(TabId, "", "edit=0", AttachQS));
             break;
         case ESubjectCase.Course:
             CourseContainer cc = new CourseContainer(CultureCode, ItemId);
             if (cc.TheCourse != null && cc.TheCourse.CourseId != 0)
             {
                 cc.TheCourse.SubjectId = Convert.ToInt32(hdnNodeSubjectId.Value);
                 cc.UpdateCourseEntity();
             }
             Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(TabId, "", "edit=0", AttachQS));
             break;
         case ESubjectCase.NotSet:
             throw new Exception("Subject case not set");
             break;
     }
 }
コード例 #4
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/Plugghest
        protected void btnSaveTitle_Click(object sender, EventArgs e)
        {
            BaseHandler bh = new BaseHandler();
            PluggContainer pc = new PluggContainer(new Localization().CurrentCulture);
            pc.ThePlugg.CreatedByUserId = this.UserId;
            pc.ThePlugg.ModifiedByUserId = this.UserId;
            pc.ThePlugg.PluggId = 0;
            pc.ThePlugg.WhoCanEdit = (EWhoCanEdit)Enum.Parse(typeof(EWhoCanEdit), rdEditPlug.SelectedValue);
            pc.SetTitle(txtTitle.Text);
            pc.SetDescription(txtDescription.Text);

            List<object> cmpData = new List<object>();

            foreach (string StrCmpData in hdcmpData.Value.Split(new string[] { "$#%#$%" }, StringSplitOptions.RemoveEmptyEntries))
            {
                string[] straCmpData = StrCmpData.Split(new string[] { "$$$&$$$" }, StringSplitOptions.RemoveEmptyEntries);

                switch (straCmpData[0])
                {
                    case "RichRichText":
                        PHText RichRichText = new PHText();
                        RichRichText.Text = straCmpData[1];
                        RichRichText.ItemType = ETextItemType.PluggComponentRichRichText;
                        cmpData.Add(RichRichText);
                        break;
                    case "RichText":
                        PHText RichText = new PHText();
                        RichText.Text = straCmpData[1];
                        RichText.ItemType = ETextItemType.PluggComponentRichText;
                        cmpData.Add(RichText);
                        break;
                    case "Label":
                        PHText Label = new PHText();
                        Label.Text = straCmpData[1];
                        Label.ItemType = ETextItemType.PluggComponentLabel;
                        cmpData.Add(Label);
                        break;
                    case "Latex":
                        PHLatex Latex = new PHLatex(straCmpData[1], new Localization().CurrentCulture,ELatexItemType.PluggComponentLatex);
                        cmpData.Add(Latex);
                        break;
                    case "YouTube":
                        Plugghest.Base2.YouTube objYouTube = new Plugghest.Base2.YouTube();
                        string[] strYoutubeval = straCmpData[1].Split(new string[] { "&&&$$&&&" }, StringSplitOptions.RemoveEmptyEntries);
                        objYouTube.YouTubeAuthor = strYoutubeval[3];
                        objYouTube.YouTubeCode = strYoutubeval[2];
                        objYouTube.YouTubeComment = strYoutubeval[5];
                        objYouTube.YouTubeCreatedOn = Convert.ToDateTime(strYoutubeval[4]);
                        objYouTube.YouTubeDuration = Convert.ToInt32(strYoutubeval[1]);
                        objYouTube.YouTubeTitle = strYoutubeval[0];
                        cmpData.Add(objYouTube);
                        break;
                }

            }
            bh.SavePlugg(pc, cmpData);
        }
コード例 #5
0
 protected void btnAdd_Click(object sender, EventArgs e)
 {
     PluggContainer pc = new PluggContainer("en-us", PluggId);
     pc.GetComponentList();
     PluggComponent cmp = new PluggComponent();
     cmp.ComponentOrder = ComponentOrder;
     cmp.ComponentType = (EComponentType)(ddNewComponent.SelectedIndex+1);
     cmp.PluggId = PluggId;
     BaseHandler bh = new BaseHandler();
     bh.AddComponent(pc, cmp);
     Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(TabId, "", "edit=0"));
 }
コード例 #6
0
        /// <summary>
        /// Deletes the PluggComponent at position "delOrder".
        /// Existing PluggComponents must be in p.TheComponents
        /// Deletes ComponenData as well if exist
        /// </summary>
        /// <param name="p"></param>
        /// <param name="order"></param>
        public void DeleteComponent(PluggContainer p, int delOrder)
        {
            List <PluggComponent> cmps = p.GetComponentList();

            if (delOrder < 1 || delOrder > cmps.Count)
            {
                throw new Exception("order is out of range");
            }

            PluggComponent pcToDelete = cmps[delOrder - 1];

            if (pcToDelete.PluggComponentId != 0)
            {
                switch (pcToDelete.ComponentType)
                {
                case EComponentType.Label:
                    rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentLabel);
                    break;

                case EComponentType.RichText:
                    rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentRichText);
                    break;

                case EComponentType.RichRichText:
                    rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentRichRichText);
                    break;

                case EComponentType.Latex:
                    rep.DeleteAllLatexForItem(pcToDelete.PluggComponentId, ELatexItemType.PluggComponentLatex);
                    break;

                case EComponentType.YouTube:
                    rep.DeleteYouTube(new YouTube()
                    {
                        YouTubeId = pcToDelete.PluggComponentId
                    });
                    break;
                }
            }

            rep.DeletePluggComponent(pcToDelete);

            PluggComponent pcToUpdate;

            for (int order = delOrder + 1; order <= cmps.Count; order++)
            {
                pcToUpdate = rep.GetPluggComponent(cmps[order - 1].PluggComponentId);
                pcToUpdate.ComponentOrder -= 1;
                rep.UpdatePluggComponent(pcToUpdate);
            }
        }
コード例 #7
0
        /// <summary>
        /// Add a new component to a Plugg
        /// Existing PluggComponents must be in p.TheComponents
        /// newComponentData is of type PHText, PHLatex or YouTube
        /// newComponent must have ComponentOrder and ComponentType set
        /// </summary>
        /// <param name="p"></param>
        /// <param name="newComponent"></param>
        /// <param name="newComponentData"></param>
        public void AddComponent(PluggContainer p, PluggComponent newComponent, object newComponentData = null)
        {
            List<PluggComponent> cmps = p.GetComponentList();
            if (newComponent.ComponentOrder < 1 || newComponent.ComponentOrder > cmps.Count + 1)
                throw new Exception("ComponentOrder is out of range");
            if (newComponent.ComponentType == EComponentType.NotSet)
                throw new Exception("You must set ComponentType");

            PluggComponent pcToUpdate;
            for (int order = newComponent.ComponentOrder; order <= cmps.Count; order++ )
            {
                pcToUpdate = rep.GetPluggComponent(cmps[order-1].PluggComponentId);
                pcToUpdate.ComponentOrder += 1;
                rep.UpdatePluggComponent(pcToUpdate);
            }

            newComponent.PluggId = p.ThePlugg.PluggId;
            rep.CreatePluggComponent(newComponent);
        }
コード例 #8
0
 protected void btnSave_Click(object sender, EventArgs e)
 {
     BaseHandler bh = new BaseHandler();
     PHText t = bh.GetCurrentVersionText(CultureCode, ItemId, ItemType);
     if (t == null)
     {
         t = new PHText();
         t.CreatedByUserId = UserId;
         t.CultureCode = CultureCode;
         t.ItemId = ItemId;
         t.ItemType = ItemType;
     }
     t.Text = Regex.Replace(tbTheText.Text, "<[^>]*>", String.Empty);
     t.ModifiedByUserId = UserId;
     if (Case == EControlCase.Edit)
     {
         bh.SavePhTextInAllCc(t);
         if (ItemType == ETextItemType.PluggTitle)
         {
             string newPageName = ItemId.ToString() + ": " + t.Text;
             PluggContainer pc = new PluggContainer(CultureCode, ItemId);
             DNNHelper h = new DNNHelper();
             h.RenameTab(pc.ThePlugg.TabId, newPageName);
         }
         if (ItemType == ETextItemType.CourseTitle)
         {
             string newPageName = "C" + ItemId.ToString() + ": " + t.Text;
             CourseContainer cc = new CourseContainer(CultureCode, ItemId);
             DNNHelper h = new DNNHelper();
             h.RenameTab(cc.TheCourse.TabId, newPageName);
         }
         Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(TabId, "", "edit=0", AttachQS));
     }
     else if (Case == EControlCase.Translate)
     {
         t.CultureCodeStatus = ECultureCodeStatus.HumanTranslated;
         bh.SavePhText(t);
         Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(TabId, "", "translate=0", AttachQS));
     }
 }
コード例 #9
0
        /// <summary>
        /// Deletes the PluggComponent at position "delOrder".
        /// Existing PluggComponents must be in p.TheComponents
        /// Deletes ComponenData as well if exist
        /// </summary>
        /// <param name="p"></param>
        /// <param name="order"></param>
        public void DeleteComponent(PluggContainer p, int delOrder)
        {
            List<PluggComponent> cmps = p.GetComponentList();
            if (delOrder < 1 || delOrder > cmps.Count)
                throw new Exception("order is out of range");

            PluggComponent pcToDelete = cmps[delOrder-1];
            if(pcToDelete.PluggComponentId != 0)
            {
                switch(pcToDelete.ComponentType)
                {
                    case EComponentType.Label:
                        rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentLabel);
                        break;
                    case EComponentType.RichText:
                        rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentRichText);
                        break;
                    case EComponentType.RichRichText:
                        rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentRichRichText);
                        break;
                    case EComponentType.Latex:
                        rep.DeleteAllLatexForItem(pcToDelete.PluggComponentId, ELatexItemType.PluggComponentLatex);
                        break;
                    case EComponentType.YouTube:
                        rep.DeleteYouTube(new YouTube() { YouTubeId = pcToDelete.PluggComponentId });
                        break;
                }
            }

            rep.DeletePluggComponent(pcToDelete);

            PluggComponent pcToUpdate;
            for (int order = delOrder+1; order <= cmps.Count; order++)
            {
                pcToUpdate = rep.GetPluggComponent(cmps[order-1].PluggComponentId);
                pcToUpdate.ComponentOrder -= 1;
                rep.UpdatePluggComponent(pcToUpdate);
            }
        }
コード例 #10
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/Plugghest
        protected void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtTitle.Text.Trim() == "")
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Err", "alert('Please enter title !')", true);
                    return;
                }
                BaseHandler bh = new BaseHandler();
                List<object> cmpData = new List<object>();
                PluggContainer pc = new PluggContainer(new Localization().CurrentCulture);
                pc.ThePlugg.CreatedByUserId = this.UserId;
                pc.ThePlugg.ModifiedByUserId = this.UserId;
                pc.ThePlugg.PluggId = 0;
                pc.SetTitle(txtTitle.Text);
                string subjectStr = Page.Request.QueryString["s"];
                if (subjectStr != null)
                {
                    int subid = Convert.ToInt32(subjectStr);
                    pc.ThePlugg.SubjectId = subid;
                }
                    else
                pc.ThePlugg.SubjectId = 0;

                pc.SetDescription(txtDescription.Text);
                pc.ThePlugg.WhoCanEdit = (EWhoCanEdit)Enum.Parse(typeof(EWhoCanEdit), rdbtnWhoCanEdit.SelectedValue);

                bh.CreateBasicPlugg(pc);
                txtTitle.Text = "";
                txtDescription.Text = "";
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Success", "alert('New Plugg is created successfully')", true);
            }
            catch (Exception ex)
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Error", "alert('Error : " + ex.Message + "')", true);
            }
        }
コード例 #11
0
        protected void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtTitle.Text.Trim() == "")
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Err", "alert('Please enter title !')", true);
                    return;
                }
                BaseHandler bh = new BaseHandler();
                List<object> cmpData = new List<object>();
                PluggContainer pc = new PluggContainer(new Localization().CurrentCulture);
                //pc.ThePlugg.CreatedByUserId = this.UserId;
                //pc.ThePlugg.ModifiedByUserId = this.UserId;
                pc.ThePlugg.PluggId = 0;
                pc.SetTitle(txtTitle.Text);

                //pc.SetDescription(txtDescription.Text);

                PHText RichRichText = new PHText();
                RichRichText.ItemType = ETextItemType.PluggComponentRichRichText;
                cmpData.Add(RichRichText);

                Plugghest.Base2.YouTube objYouTube = new Plugghest.Base2.YouTube();
                cmpData.Add(objYouTube);

                bh.SavePlugg(pc, cmpData);

                txtTitle.Text = "";
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Success", "alert('New Plugg is created successfully')", true);
            }
            catch (Exception ex)
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Error", "alert('Error : " + ex.Message + "')", true);
            }
        }
コード例 #12
0
ファイル: BaseHandler.cs プロジェクト: Jochumzen/PlugghestLib
 public void MovePluggComponentDown(int pcId)
 {
     PluggComponent pc = rep.GetPluggComponent(pcId);
     PluggContainer pCont = new PluggContainer("en-US", pc.PluggId);
     var theComponents = pCont.GetComponentList();
     if (pc.ComponentOrder >= theComponents.Count)
         throw new Exception("Cannot move down");
     //Put next Last
     PluggComponent pcNext = theComponents[pc.ComponentOrder];
     pcNext.ComponentOrder = theComponents.Count + 1;
     rep.UpdatePluggComponent(pcNext);
     //Move our down
     pc.ComponentOrder = pc.ComponentOrder + 1;
     rep.UpdatePluggComponent(pc);
     //Put next in old position
     pcNext.ComponentOrder = pc.ComponentOrder - 1;
     rep.UpdatePluggComponent(pcNext);
 }
コード例 #13
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/Plugghest
        protected void btnTest_Click(object sender, EventArgs e)
        {
            BaseHandler bh = new BaseHandler();
            PluggContainer pc = new PluggContainer("en-US", 31);
            List<PluggComponent> comps = pc.GetComponentList();

            foreach(PluggComponent comp in comps)
            {
            switch (comp.ComponentType)
            {
            case EComponentType.Label:
            PHText lbl = bh.GetCurrentVersionText(pc.CultureCode, comp.PluggComponentId, ETextItemType.PluggComponentLabel);
            //Handle label
            break;
            case EComponentType.RichText:
            PHText rt = bh.GetCurrentVersionText(pc.CultureCode, comp.PluggComponentId, ETextItemType.PluggComponentRichText);
            //Handle rich text
            break;
            case EComponentType.RichRichText:
            PHText rrt = bh.GetCurrentVersionText(pc.CultureCode, comp.PluggComponentId, ETextItemType.PluggComponentRichRichText);
            //Handle richrich text
            break;
            case EComponentType.Latex:
            PHLatex lt = bh.GetCurrentVersionLatexText(pc.CultureCode, comp.PluggComponentId, ELatexItemType.PluggComponentLatex);
            //Handle Latex text
            break;
            case EComponentType.YouTube:
            YouTube yt = bh.GetYouTubeByComponentId(comp.PluggComponentId);
            //Handle YouTube
            break;
            }
            }
            PHText rrText = bh.GetCurrentVersionText(pc.CultureCode, comps[0].PluggComponentId, ETextItemType.PluggComponentRichRichText);
            string myText = rrText.Text;

            //int x;
            //PluggComponent vv = comps[0];
            //foreach(PluggComponent c in comps)
            //{
            //    x = c.PluggComponentId;
            //}
            //pc.ThePlugg.CreatedByUserId = 1;
            //pc.ThePlugg.ModifiedByUserId = 1;
            //pc.ThePlugg.WhoCanEdit = EWhoCanEdit.Anyone;

            //pc.SetTitle("This is my Title");
            //pc.SetDescription("This is my description");

            //List<object> cmpData = new List<object>();

            //YouTube v = new YouTube();
            //v.YouTubeAuthor = "";
            //v.YouTubeCode = "asdasdasdas";
            //v.YouTubeComment = "";
            //v.YouTubeCreatedOn = DateTime.Now;
            //v.YouTubeDuration = 100;
            //v.YouTubeTitle = "This is my Title";
            //cmpData.Add(v);

            //PHText htmlText = new PHText();
            //htmlText.Text = "This is my Html text";
            //htmlText.ItemType = ETextItemType.PluggComponentRichRichText;
            //cmpData.Add(htmlText);

            //bh.SavePlugg(pc, cmpData);

            //PHLatex latexText = new PHLatex();
            //latexText.Text = "This is my Latex text";
            //latexText.ItemType = ELatexItemType.PluggComponentLatex;
            //cmpData.Add(latexText);

            //pc.LoadComponents();
            //switch (pc.TheComponents.GetType().Name)
            //{
            //    case "Aba":
            //        break;
            //}

            //pc.ThePlugg = bh.GetPlugg(1);
            //pc.LoadComponents();
            //foreach (var c in pc.TheComponents)
            //{
            //    switch (c.GetType().Name)
            //    {
            //        case "PHText":
            //            PHText xx = (PHText)c;
            //            string x = theTitle;
            //            break;
            //    }
            //}
        }
コード例 #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PluggId = Convert.ToInt32(((DotNetNuke.Framework.CDefault)this.Page).Title);
            CultureCode = (Page as DotNetNuke.Framework.PageBase).PageCulture.Name;
            BaseHandler bh = new BaseHandler();
            pc = new PluggContainer(CultureCode, PluggId);
            IsAuthorized = ((this.UserId != -1 && pc.ThePlugg.WhoCanEdit == EWhoCanEdit.Anyone) || pc.ThePlugg.CreatedByUserId == this.UserId || (UserInfo.IsInRole("Administator")));

            if (Request.Form["__EVENTTARGET"] == "btnWhoCanEdit")
            {
                // Fire event
                btnWhoCanEdit_Click(this, new EventArgs());
            }

            if (Request.Form["__EVENTTARGET"] == "btnListed")
            {
                // Fire event
                btnListed_Click(this, new EventArgs());
            }

            UserController uc = new UserController();
            UserInfo u = uc.GetUser(PortalId, pc.ThePlugg.CreatedByUserId);
            hlCreatedBy.Text = u.DisplayName;
            hlCreatedBy.NavigateUrl = DotNetNuke.Common.Globals.UserProfileURL(pc.ThePlugg.CreatedByUserId);
            lbltheCreatedOn.Text = pc.ThePlugg.CreatedOnDate.ToString();
            rblWhoCanEdit.Items.Clear();
            rblWhoCanEdit.Items.Add("Anyone");
            rblWhoCanEdit.Items.Add("Only me");
            rblWhoCanEdit.SelectedValue = "Anyone";
            switch (pc.ThePlugg.WhoCanEdit)
            {
                case EWhoCanEdit.Anyone:
                    lbltheWhoCanEdit.Text = "Anyone";
                    break;
                case EWhoCanEdit.OnlyMe:
                    lbltheWhoCanEdit.Text = "Only me";
                    rblWhoCanEdit.SelectedValue = "Only me";
                    break;
                case EWhoCanEdit.NotSet :
                    lbltheWhoCanEdit.Text = "Not set";
                    break;
            }
            rblListed.Items.Clear();
            rblListed.Items.Add(Localization.GetString("Listed.Text", this.LocalResourceFile));
            rblListed.Items.Add(Localization.GetString("NotListed.Text", this.LocalResourceFile));
            rblListed.SelectedIndex = 0;

            if (pc.ThePlugg.IsListed)
                lblTheListed.Text = "Yes";
            else
            {
                lblTheListed.Text = "No";
                rblListed.SelectedIndex = 1;
            }
            if (pc.ThePlugg.CreatedByUserId == this.UserId)
            {
                btnWhoCanEdit.Visible = true;
                btnListed.Visible = true;
            }
            pc.LoadDescription();
            if (pc.TheDescription != null)
                lbltheDespription.Text = pc.TheDescription.Text;
            else
                lbltheDespription.Text = "-";

            if(pc.ThePlugg.CreatedByUserId == this.UserId || UserInfo.IsInRole("Administator"))
            {
                btnDelete.Visible = true;
            }
        }
コード例 #15
0
ファイル: BaseHandler.cs プロジェクト: Jochumzen/PlugghestLib
 public void MovePluggComponentUp(int pcId)
 {
     PluggComponent pc = rep.GetPluggComponent(pcId);
     PluggContainer pCont = new PluggContainer("en-US", pc.PluggId);
     var theComponents = pCont.GetComponentList();
     if (pc.ComponentOrder == 1)
         throw new Exception("Cannot move up");
     //Put previous Last
     PluggComponent pcPrev = theComponents[pc.ComponentOrder-2];
     pcPrev.ComponentOrder = theComponents.Count + 1;
     rep.UpdatePluggComponent(pcPrev);
     //Move our up
     pc.ComponentOrder = pc.ComponentOrder - 1;
     rep.UpdatePluggComponent(pc);
     //Put next in old position
     pcPrev.ComponentOrder = pc.ComponentOrder + 1;
     rep.UpdatePluggComponent(pcPrev);
 }
コード例 #16
0
 private bool CheckAddText()
 {
     string[] itempluggs = txtAddPlugg.Text.Trim().Split(',');
     int num;
     for (int i = 0; i < itempluggs.Length; i++)
     {
         if (!int.TryParse(itempluggs[i], out num))
             return false;
     }
     for (int i = 0; i < itempluggs.Length; i++)
     {
         PluggContainer p = new PluggContainer(Language, Convert.ToInt32(itempluggs[i]));
         if (p.ThePlugg == null)
             return false;
     }
     return true;
 }
コード例 #17
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/PlugghestPanel
 protected void btnDeletePlugg_Click(object sender, EventArgs e)
 {
     BaseHandler bh = new BaseHandler();
     PluggContainer pc = new PluggContainer("en-us",Convert.ToInt32(tbDeletePlugg.Text));
     bh.DeletePlugg(pc.ThePlugg);
 }
コード例 #18
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/DisplayPlugg
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                PluggId = Convert.ToInt32(((DotNetNuke.Framework.CDefault)this.Page).Title);
                CultureCode = (Page as DotNetNuke.Framework.PageBase).PageCulture.Name;
                BaseHandler bh = new BaseHandler();
                pc = new PluggContainer(CultureCode, PluggId);
                if (pc.ThePlugg.IsDeleted)
                    Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(Convert.ToInt32(Localization.GetString("TabPluggDeleted.Text", LocalResourceFile))));
                InCreationLanguage = (pc.ThePlugg.CreatedInCultureCode == CultureCode);
                IsAuthorized = ((this.UserId != -1 && pc.ThePlugg.WhoCanEdit == EWhoCanEdit.Anyone) || pc.ThePlugg.CreatedByUserId == this.UserId || (UserInfo.IsInRole("Administator")));
                Edit = !string.IsNullOrEmpty(Page.Request.QueryString["edit"]) ? Convert.ToInt16(Page.Request.QueryString["edit"]) : -1;
                Translate = !string.IsNullOrEmpty(Page.Request.QueryString["translate"]) ? Convert.ToInt16(Page.Request.QueryString["translate"]) : -1;
                Remove = !string.IsNullOrEmpty(Page.Request.QueryString["remove"]) ? Convert.ToInt16(Page.Request.QueryString["remove"]) : -1;
                DisplayInfo = !string.IsNullOrEmpty(Page.Request.QueryString["info"]) ? Convert.ToInt16(Page.Request.QueryString["info"]) : -1;

                #region hide/display controls
                hlDisplayInfo.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "info=0");
                if(DisplayInfo == 0)
                {
                    pnlDisplayInfo.Visible = false;
                    pnlHideDisplayInfo.Visible = true;
                    hlHideDisplayInfo.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "");
                }

                if (Remove > 0 && IsAuthorized)
                {
                    bh.DeleteComponent(pc, Remove);
                    Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(TabId, "", "edit=0"));
                }

                if (!InCreationLanguage && UserId > -1 && Translate == -1)
                {
                    pnlToCreationLanguage.Visible = true;
                    hlToCreationLanguage.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "language=" + pc.ThePlugg.CreatedInCultureCode);
                    pnlTranslatePlugg.Visible = true;
                    hlTranslatePlugg.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "translate=0");
                }

                if (InCreationLanguage && UserId > -1 && Edit == -1)
                {
                    pnlEditPlugg.Visible = true;
                    hlEditPlugg.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "edit=0");
                }

                if (!InCreationLanguage && UserId > -1 && Translate > -1)
                {
                    pnlExitTranslateMode.Visible = true;
                    hlExitTranslateMode.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "");
                }

                if (InCreationLanguage && UserId > -1 && Edit > -1)
                {
                    pnlExitEditMode.Visible = true;
                    hlExitEditMode.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "");
                }
                #endregion

                pc.LoadComponents();
                phComponents.Controls.Clear();
                int controlOrder = 1;
                bool editOrTranslateMode = (Edit > -1 || Translate > -1) && UserId > -1;

                if (DisplayInfo == 0)
                {
                    DisplayPluggInfo ucDPI = (DisplayPluggInfo)this.LoadControl("/DesktopModules/DisplayPlugg/DisplayPluggInfo.ascx");
                    if (ucDPI != null)
                    {
                        ucDPI.LocalResourceFile = "/DesktopModules/DisplayPlugg/App_LocalResources/DisplayPluggInfo.ascx";
                        phComponents.Controls.Add(ucDPI);
                    }
                }

                if (editOrTranslateMode)
                {
                    string ComponentHead = "<hr /><h3>" + Localization.GetString("Subject", LocalResourceFile) + "</h3>";
                    phComponents.Controls.Add(new LiteralControl(ComponentHead));
                }
                LoadSubject(controlOrder);
                controlOrder++;

                if (editOrTranslateMode)
                {
                    string ComponentHead = "<hr /><h3>" + Localization.GetString("Title", LocalResourceFile) + "</h3>";
                    phComponents.Controls.Add(new LiteralControl(ComponentHead));
                    EditTitleAndDescription(controlOrder, ETextItemType.PluggTitle);
                    controlOrder++;

                    ComponentHead = "<hr /><h3>" + Localization.GetString("Description", LocalResourceFile) + "</h3>";
                    phComponents.Controls.Add(new LiteralControl(ComponentHead));
                    EditTitleAndDescription(controlOrder, ETextItemType.PluggDescription);
                    controlOrder++;
                }

                #region AddComponents
                int componentOrder = 1;
                foreach (PluggComponent c in pc.TheComponents)
                {
                    if (Edit == 0 && IsAuthorized)
                        Add_AddNewComponentControl(componentOrder);
                    if (editOrTranslateMode)
                    {
                        string ComponentHead = "<hr /><h3>" + Localization.GetString("Component", LocalResourceFile) + " " + c.ComponentOrder + ":  " + c.ComponentType + "</h3>";
                        phComponents.Controls.Add(new LiteralControl(ComponentHead));
                    }
                    switch (c.ComponentType)
                    {
                        case EComponentType.YouTube:
                            LoadYouTube(c, controlOrder);
                            break;
                        case EComponentType.Label:
                            LoadLabel(c, controlOrder);
                            break;
                        case EComponentType.RichRichText:
                            LoadRichRich(c, controlOrder);
                            break;
                        case EComponentType.RichText:
                            LoadRich(c, controlOrder);
                            break;
                        case EComponentType.Latex:
                            LoadLatex(c, controlOrder);
                            break;
                        default:
                            break;
                    }
                    HyperLink hl = new HyperLink();
                    if (Edit == 0 && IsAuthorized)
                    {
                        hl.Text = "Remove Component";
                        hl.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "remove=" + componentOrder);
                        phComponents.Controls.Add(hl);
                    }
                    controlOrder++;
                    componentOrder++;
                }
                if (Edit == 0 && IsAuthorized)
                    Add_AddNewComponentControl(componentOrder);
                if (editOrTranslateMode)
                    phComponents.Controls.Add(new LiteralControl("<hr />"));

                #endregion
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
コード例 #19
0
 private void CreatePlugg()
 {
     string cultureCode = (Page as DotNetNuke.Framework.PageBase).PageCulture.Name;
     PluggContainer pc = new PluggContainer(cultureCode);
     pc.ThePlugg.CreatedByUserId = UserId;
     pc.ThePlugg.ModifiedByUserId = UserId;
     pc.ThePlugg.PluggId = 0;
     pc.ThePlugg.CreatedInCultureCode = cultureCode;
     pc.SetTitle(Regex.Replace(nvc["Title"], "<[^>]*>", String.Empty));
     //string subjectStr = Page.Request.QueryString["s"];
     //if (subjectStr != null)
     //{
     //    int subid = Convert.ToInt32(subjectStr);
     //    pc.ThePlugg.SubjectId = subid;
     //}
     //else
     //    pc.ThePlugg.SubjectId = 0;
     pc.ThePlugg.SubjectId = 0;
     if (nvc["Description"] != "")
         pc.SetDescription(Regex.Replace(nvc["Description"], "<[^>]*>", String.Empty));
     pc.ThePlugg.WhoCanEdit = EWhoCanEdit.Anyone;
     BaseHandler bh = new BaseHandler();
     bh.CreateBasicPlugg(pc);
     Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(pc.ThePlugg.TabId, "", "edit=0"));
 }
コード例 #20
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/Plugghest
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                curlan = (Page as DotNetNuke.Framework.PageBase).PageCulture.Name;
                pluggid = Convert.ToInt32(((DotNetNuke.Framework.CDefault)this.Page).Title);
                p = new PluggContainer(curlan, pluggid);
                CallLocalization();
                EditStr = Page.Request.QueryString["edit"];
                IsAuthorized = (p.ThePlugg.WhoCanEdit == EWhoCanEdit.Anyone || p.ThePlugg.CreatedByUserId == this.UserId || UserInfo.IsInRole("Administator"));
                if (this.UserId==-1)
                {
                    IsAuthorized = false;
                }
                IsCase3 = (EditStr == "1" && IsAuthorized);
                IsCase2 = (EditStr == "2" && IsAuthorized);

                PageLoadFun();

            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
コード例 #21
0
        public void SavePlugg(PluggContainer p, List <object> cs)
        {
            if (p.ThePlugg.CreatedInCultureCode != null && p.CultureCode != p.ThePlugg.CreatedInCultureCode)
            {
                throw new Exception("Cannot use SavePlugg unless you are saving it in the creation language.");
            }

            p.ThePlugg.CreatedInCultureCode = p.CultureCode;

            try
            {
                bool isNew = p.ThePlugg.PluggId == 0;

                //Temporary - to avoid login - remove soon
                p.ThePlugg.CreatedByUserId  = 1;
                p.ThePlugg.ModifiedByUserId = 1;

                //Save Plugg entity
                p.ThePlugg.ModifiedOnDate = DateTime.Now;

                if (isNew)
                {
                    p.ThePlugg.CreatedOnDate = DateTime.Now;
                    rep.CreatePlugg(p.ThePlugg);
                }
                else
                {
                    rep.UpdatePlugg(p.ThePlugg);
                }

                //Save Title
                if (p.TheTitle == null || p.TheTitle.Text == null)
                {
                    throw new Exception("Cannot Save Plugg. TheTitle cannot be null");
                }

                if (p.TheTitle.TextId == 0)
                {
                    p.TheTitle.ItemId            = p.ThePlugg.PluggId;
                    p.TheTitle.ItemType          = ETextItemType.PluggTitle;
                    p.TheTitle.CultureCodeStatus = ECultureCodeStatus.InCreationLanguage;
                    p.TheTitle.CreatedByUserId   = p.ThePlugg.CreatedByUserId;
                    p.TheTitle.ModifiedByUserId  = p.ThePlugg.ModifiedByUserId;
                }
                SavePhTextInAllCc(p.TheTitle);  //Save or Update

                if (p.TheDescription != null && p.TheDescription.Text != null)
                {
                    if (p.TheDescription.TextId == 0)
                    {
                        p.TheDescription.ItemId            = p.ThePlugg.PluggId;
                        p.TheDescription.ItemType          = ETextItemType.PluggDescription;
                        p.TheDescription.CultureCodeStatus = ECultureCodeStatus.InCreationLanguage;
                        p.TheDescription.CreatedByUserId   = p.ThePlugg.CreatedByUserId;
                        p.TheDescription.ModifiedByUserId  = p.ThePlugg.ModifiedByUserId;
                    }
                    SavePhTextInAllCc(p.TheDescription);
                }

                int            cmpOrder = 1;
                PluggComponent pc       = new PluggComponent();
                pc.PluggId = p.ThePlugg.PluggId;
                foreach (object cmp in cs)
                {
                    pc.ComponentOrder = cmpOrder;
                    switch (cmp.GetType().Name)
                    {
                    case "PHText":
                        PHText theText = (PHText)cmp;
                        switch (theText.ItemType)
                        {
                        case ETextItemType.PluggComponentRichRichText:
                            pc.ComponentType = EComponentType.RichRichText;
                            break;

                        case ETextItemType.PluggComponentRichText:
                            pc.ComponentType = EComponentType.RichText;
                            break;

                        case ETextItemType.PluggComponentLabel:
                            pc.ComponentType = EComponentType.Label;
                            break;
                        }
                        rep.CreatePluggComponent(pc);
                        theText.ItemId          = pc.PluggComponentId;
                        theText.CultureCode     = p.ThePlugg.CreatedInCultureCode;
                        theText.CreatedByUserId = p.ThePlugg.CreatedByUserId;
                        SavePhTextInAllCc(theText);
                        break;

                    case "PHLatex":
                        PHLatex theLatex = (PHLatex)cmp;
                        pc.ComponentType = EComponentType.Latex;
                        rep.CreatePluggComponent(pc);
                        theLatex.ItemId          = pc.PluggComponentId;
                        theLatex.CultureCode     = p.ThePlugg.CreatedInCultureCode;
                        theLatex.CreatedByUserId = p.ThePlugg.CreatedByUserId;
                        SaveLatexTextInAllCc(theLatex);
                        break;

                    case "YouTube":
                        pc.ComponentType = EComponentType.YouTube;
                        rep.CreatePluggComponent(pc);
                        YouTube theVideo = (YouTube)cmp;
                        theVideo.CreatedByUserId  = p.ThePlugg.CreatedByUserId;
                        theVideo.PluggComponentId = pc.PluggComponentId;
                        SaveYouTube(theVideo);
                        break;
                    }
                    cmpOrder++;
                }

                //Create PluggPage
                DNNHelper d        = new DNNHelper();
                string    pageUrl  = p.ThePlugg.PluggId.ToString();
                string    pageName = pageUrl + ": " + p.TheTitle.Text;
                TabInfo   newTab   = d.AddPluggPage(pageName, pageUrl);
                p.ThePlugg.TabId = newTab.TabID;
                rep.UpdatePlugg(p.ThePlugg);
            }
            catch (Exception)
            {
                //Todo: Update
                //DeletePlugg(p.ThePlugg);
                throw;
            }
        }
コード例 #22
0
        public void SavePlugg(PluggContainer p, List<object> cs)
        {
            if (p.ThePlugg.CreatedInCultureCode != null && p.CultureCode != p.ThePlugg.CreatedInCultureCode)
                throw new Exception("Cannot use SavePlugg unless you are saving it in the creation language.");

            p.ThePlugg.CreatedInCultureCode = p.CultureCode;

            try
            {
                bool isNew = p.ThePlugg.PluggId == 0;

                //Temporary - to avoid login - remove soon
                p.ThePlugg.CreatedByUserId = 1;
                p.ThePlugg.ModifiedByUserId = 1;

                //Save Plugg entity
                p.ThePlugg.ModifiedOnDate = DateTime.Now;

                if (isNew)
                {
                    p.ThePlugg.CreatedOnDate = DateTime.Now;
                    rep.CreatePlugg(p.ThePlugg);
                }
                else
                    rep.UpdatePlugg(p.ThePlugg);

                //Save Title
                if (p.TheTitle == null || p.TheTitle.Text == null)
                    throw new Exception("Cannot Save Plugg. TheTitle cannot be null");

                if (p.TheTitle.TextId == 0)
                {
                    p.TheTitle.ItemId = p.ThePlugg.PluggId;
                    p.TheTitle.ItemType = ETextItemType.PluggTitle;
                    p.TheTitle.CultureCodeStatus = ECultureCodeStatus.InCreationLanguage;
                    p.TheTitle.CreatedByUserId = p.ThePlugg.CreatedByUserId;
                    p.TheTitle.ModifiedByUserId = p.ThePlugg.ModifiedByUserId;
                }
                SavePhTextInAllCc(p.TheTitle);  //Save or Update

                if (p.TheDescription != null && p.TheDescription.Text != null)
                {
                    if (p.TheDescription.TextId == 0)
                    {
                        p.TheDescription.ItemId = p.ThePlugg.PluggId;
                        p.TheDescription.ItemType = ETextItemType.PluggDescription;
                        p.TheDescription.CultureCodeStatus = ECultureCodeStatus.InCreationLanguage;
                        p.TheDescription.CreatedByUserId = p.ThePlugg.CreatedByUserId;
                        p.TheDescription.ModifiedByUserId = p.ThePlugg.ModifiedByUserId;
                    }
                    SavePhTextInAllCc(p.TheDescription);
                }

                int cmpOrder = 1;
                PluggComponent pc = new PluggComponent();
                pc.PluggId = p.ThePlugg.PluggId;
                foreach (object cmp in cs)
                {
                    pc.ComponentOrder = cmpOrder;
                    switch (cmp.GetType().Name)
                    {
                        case "PHText":
                            PHText theText = (PHText)cmp;
                            switch (theText.ItemType)
                            {
                                case ETextItemType.PluggComponentRichRichText:
                                    pc.ComponentType = EComponentType.RichRichText;
                                    break;
                                case ETextItemType.PluggComponentRichText:
                                    pc.ComponentType = EComponentType.RichText;
                                    break;
                                case ETextItemType.PluggComponentLabel:
                                    pc.ComponentType = EComponentType.Label;
                                    break;
                            }
                            rep.CreatePluggComponent(pc);
                            theText.ItemId = pc.PluggComponentId;
                            theText.CultureCode = p.ThePlugg.CreatedInCultureCode;
                            theText.CreatedByUserId = p.ThePlugg.CreatedByUserId;
                            SavePhTextInAllCc(theText);
                            break;
                        case "PHLatex":
                            PHLatex theLatex = (PHLatex)cmp;
                            pc.ComponentType = EComponentType.Latex;
                            rep.CreatePluggComponent(pc);
                            theLatex.ItemId = pc.PluggComponentId;
                            theLatex.CultureCode = p.ThePlugg.CreatedInCultureCode;
                            theLatex.CreatedByUserId = p.ThePlugg.CreatedByUserId;
                            SaveLatexTextInAllCc(theLatex);
                            break;
                        case "YouTube":
                            pc.ComponentType = EComponentType.YouTube;
                            rep.CreatePluggComponent(pc);
                            YouTube theVideo = (YouTube)cmp;
                            theVideo.CreatedByUserId = p.ThePlugg.CreatedByUserId;
                            theVideo.PluggComponentId = pc.PluggComponentId;
                            SaveYouTube(theVideo);
                            break;
                    }
                    cmpOrder++;
                }

                //Create PluggPage
                DNNHelper d = new DNNHelper();
                string pageUrl = p.ThePlugg.PluggId.ToString();
                string pageName = pageUrl + ": " + p.TheTitle.Text;
                TabInfo newTab = d.AddPluggPage(pageName, pageUrl);
                p.ThePlugg.TabId = newTab.TabID;
                rep.UpdatePlugg(p.ThePlugg);
            }
            catch (Exception)
            {
                //Todo: Update
                //DeletePlugg(p.ThePlugg);
                throw;
            }
        }
コード例 #23
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/CourseMenu
 private void PopulateTreeNodes(List<CoursePlugg> cps, TreeNodeCollection RootNodes)
 {
     foreach (CoursePlugg cp in cps)
     {
         TreeNode NodeToAdd = new TreeNode();
         PluggContainer p = new PluggContainer(CultureCode, cp.PluggId);
         p.LoadTitle();
         NodeToAdd.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(p.ThePlugg.TabId, "", "cp=" + cp.CoursePluggId);
         NodeToAdd.Text = p.TheTitle.Text;
         NodeToAdd.SelectAction = TreeNodeSelectAction.Select;
         if (cp.CoursePluggId == CoursePluggId)
             NodeToAdd.Text = "<strong>" + p.TheTitle.Text + "</strong>";
         RootNodes.Add(NodeToAdd);
         if (cp.children != null)
             PopulateTreeNodes((List<CoursePlugg>)cp.children, NodeToAdd.ChildNodes);
     }
 }
コード例 #24
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/CPTitle
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string CultureCode = (Page as DotNetNuke.Framework.PageBase).PageCulture.Name;
                string Title = ((DotNetNuke.Framework.CDefault)this.Page).Title;

                if(Title[0]=='C')
                {
                    Title = Title.Replace("C", "");
                    int CourseId = Convert.ToInt32(Title);
                    CourseContainer cc = new CourseContainer(CultureCode, CourseId);
                    if(cc.TheCourse.CreatedInCultureCode != CultureCode)
                    {
                        cc.LoadTitle();
                        lblTitle.Text = cc.TheTitle.Text;
                    }
                }
                else
                {
                    int PluggId = Convert.ToInt32(Title);
                    PluggContainer pc = new PluggContainer(CultureCode, PluggId);
                    if (pc.ThePlugg.CreatedInCultureCode != CultureCode)
                    {
                        pc.LoadTitle();
                        lblTitle.Text = pc.TheTitle.Text;
                    }
                }
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
コード例 #25
0
        protected void btnCheckPluggs_Click(object sender, EventArgs e)
        {
            lblPluggInfo.Text = "";
            BaseHandler ph = new BaseHandler();

            //string pluggtext = "12,56,34,45,56";
            string pluggtext = txtAddPlugg.Text.Trim();
            if (!string.IsNullOrEmpty(pluggtext))
            {
                string[] itempluggs = pluggtext.Split(',');

                //Check that entered Pluggs is in the correct format "12,56,34,45,56"
                int num;
                bool isNumeric;
                bool success = true;
                for (int i = 0; i < itempluggs.Length; i++)
                {
                    isNumeric = int.TryParse(itempluggs[i], out num);
                    if (!isNumeric)
                        success = false;
                }
                if (!success)
                {
                    lblPluggInfo.Text = Localization.GetString("IncorrectPluggString.Text", LocalResourceFile);
                    return;
                }

                StringBuilder s = new StringBuilder();
                s.Append("<ul>");
                int pluggId;
                for (int i = 0; i < itempluggs.Length; i++)
                {
                    pluggId = Convert.ToInt32(itempluggs[i]);
                    PluggContainer p = new PluggContainer(Language, pluggId);
                    s.Append("<li><strong>ID</strong>: ").Append(pluggId).Append(". ");
                    if (p.ThePlugg != null)
                    {
                        p.LoadTitle();
                        p.LoadDescription();
                        s.Append("<strong>").Append(Localization.GetString("Title.Text", LocalResourceFile)).Append("</strong>: ");
                        s.Append(p.TheTitle.Text);
                        s.Append(". <strong>").Append(Localization.GetString("Description.Text", LocalResourceFile)).Append("</strong>: ");
                        if(p.TheDescription != null)
                            s.Append(p.TheDescription.Text);
                    }
                    else
                    {
                        s.Append(Localization.GetString("NoPlugg.Text", LocalResourceFile));
                    }
                    s.Append("</li>");
                }
                lblPluggInfo.Text = s.ToString();
            }

            //return ischecked;
        }
コード例 #26
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/DisplayCourse
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string coursePageName = ((DotNetNuke.Framework.CDefault)this.Page).Title;
                coursePageName = coursePageName.Replace("C", "");
                CourseId = Convert.ToInt32(coursePageName);
                CultureCode = (Page as DotNetNuke.Framework.PageBase).PageCulture.Name;
                BaseHandler bh = new BaseHandler();
                cc = new CourseContainer(CultureCode, CourseId);
                if (cc.TheCourse.IsDeleted)
                    Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(Convert.ToInt32(Localization.GetString("TabCourseDeleted.Text", LocalResourceFile))));
                InCreationLanguage = (cc.TheCourse.CreatedInCultureCode == CultureCode);
                IsAuthorized = ((this.UserId != -1 && cc.TheCourse.WhoCanEdit == EWhoCanEdit.Anyone) || cc.TheCourse.CreatedByUserId == this.UserId || (UserInfo.IsInRole("Administator")));
                Edit = !string.IsNullOrEmpty(Page.Request.QueryString["edit"]) ? Convert.ToInt16(Page.Request.QueryString["edit"]) : -1;
                Translate = !string.IsNullOrEmpty(Page.Request.QueryString["translate"]) ? Convert.ToInt16(Page.Request.QueryString["translate"]) : -1;
                DisplayInfo = !string.IsNullOrEmpty(Page.Request.QueryString["info"]) ? Convert.ToInt16(Page.Request.QueryString["info"]) : -1;
                bool editOrTranslateMode = (Edit > -1 || Translate > -1) && UserId > -1;

                #region hide/display controls
                hlDisplayInfo.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "info=0");
                if (DisplayInfo == 0)
                {
                    pnlDisplayInfo.Visible = false;
                    pnlHideDisplayInfo.Visible = true;
                    hlHideDisplayInfo.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "");
                }

                if (!InCreationLanguage && UserId > -1 && Translate == -1)
                {
                    pnlToCreationLanguage.Visible = true;
                    hlToCreationLanguage.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "language=" + cc.TheCourse.CreatedInCultureCode);
                    pnlTranslatePlugg.Visible = true;
                    hlTranslatePlugg.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "translate=0");
                }

                if (InCreationLanguage && UserId > -1 && Edit == -1)
                {
                    pnlEditPlugg.Visible = true;
                    hlEditPlugg.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "edit=0");
                }

                if (!InCreationLanguage && UserId > -1 && Translate > -1)
                {
                    pnlExitTranslateMode.Visible = true;
                    hlExitTranslateMode.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "");
                }

                if (InCreationLanguage && UserId > -1 && Edit > -1)
                {
                    pnlExitEditMode.Visible = true;
                    hlExitEditMode.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "");
                }

                if (Edit == 0)
                {
                    plEditPluggs.Visible = true;
                    hlEditPluggs.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(133, "", "c=" + CourseId); //"/PAndC/Edit-CP/c/" + CourseId;
                }

                cc.LoadPluggs();
                if (cc.ThePluggs.Count == 0)
                {
                    lblNoPluggs.Visible = true;
                    lnkBeginCourse.Enabled = false;
                }
                else
                {
                    PluggContainer pc = new PluggContainer(CultureCode, cc.ThePluggs[0].PluggId);
                    lnkBeginCourse.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(pc.ThePlugg.TabId, "", "cp=" + cc.ThePluggs[0].CoursePluggId);
                }
                #endregion

                phComponents.Controls.Clear();
                int controlOrder = 1;

                if (DisplayInfo == 0)
                {
                    DisplayCourseInfo ucDCI = (DisplayCourseInfo)this.LoadControl("/DesktopModules/DisplayCourse/DisplayCourseInfo.ascx");
                    if (ucDCI != null)
                    {
                        ucDCI.LocalResourceFile = "/DesktopModules/DisplayCourse/App_LocalResources/DisplayCourseInfo.ascx";
                        phComponents.Controls.Add(ucDCI);
                    }
                }

                if (editOrTranslateMode)
                {
                    string ComponentHead = "<hr /><h3>" + Localization.GetString("Subject", LocalResourceFile) + "</h3>";
                    phComponents.Controls.Add(new LiteralControl(ComponentHead));
                }
                LoadSubject(controlOrder);
                controlOrder++;

                if (editOrTranslateMode)
                {
                    string ComponentHead = "<hr /><h3>" + Localization.GetString("Title", LocalResourceFile) + "</h3>";
                    phComponents.Controls.Add(new LiteralControl(ComponentHead));
                    EditTitleAndDescription(controlOrder, ETextItemType.CourseTitle);
                    controlOrder++;

                    ComponentHead = "<hr /><h3>" + Localization.GetString("Description", LocalResourceFile) + "</h3>";
                    phComponents.Controls.Add(new LiteralControl(ComponentHead));
                    EditTitleAndDescription(controlOrder, ETextItemType.CourseDescription );
                    controlOrder++;
                }

                if (editOrTranslateMode)
                {
                    string ComponentHead = "<hr /><h3>" + Localization.GetString("Content", LocalResourceFile) + "</h3>";
                    phComponents.Controls.Add(new LiteralControl(ComponentHead));
                }

                LoadRichRich(controlOrder);

            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
コード例 #27
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/CourseMenu
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    BaseHandler bh = new BaseHandler();
                    CultureCode = (Page as DotNetNuke.Framework.PageBase).PageCulture.Name;
                    PluggId = Convert.ToInt32(((DotNetNuke.Framework.CDefault)this.Page).Title);

                    string coursePluggIdStr = Page.Request.QueryString["cp"];
                    if (coursePluggIdStr == null)    //This is a Plugg outside a course: no menu
                        return;

                    bool isNum = int.TryParse(coursePluggIdStr, out CoursePluggId);
                    if (!isNum)
                        return;

                    currentCPE = bh.GetCPEntity(CoursePluggId);
                    if (currentCPE == null)
                        return;
                    CourseId = currentCPE.CourseId;
                    cc = new CourseContainer(CultureCode, CourseId);
                    if (cc == null)
                        return;
                    pnlTitle.Visible = true;
                    hlBackToCourse.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(cc.TheCourse.TabId, "", "");
                    cc.LoadPluggs();
                    CoursePlugg currentCP = bh.FindCoursePlugg(CultureCode, CourseId, CoursePluggId);
                    CoursePlugg nextCP = bh.NextCoursePlugg(currentCP);
                    if (nextCP != null)
                    {
                        PluggContainer p = new PluggContainer(CultureCode, nextCP.PluggId);
                        lnkNextPlugg.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(p.ThePlugg.TabId, "", "cp=" + nextCP.CoursePluggId );
                    }
                    else
                    {
                        lnkNextPlugg.Enabled = false;
                    }

                    PopulateTreeNodes((List<CoursePlugg>)cc.ThePluggs, TreeViewMain.Nodes);
                }

            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
コード例 #28
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/Plugghest
        protected Boolean CheckPlugg()
        {
            bool ischecked = true;

            CIInfo.Text = "";
            BaseHandler ph = new BaseHandler();

            //string pluggtext = "12,56,34,45k,56";
            string pluggtext = txtPluggs.Text.Trim();
            if (!string.IsNullOrEmpty(pluggtext))
            {
                string[] itempluggs = pluggtext.Split(',');

                for (int i = 0; i < itempluggs.Length; i++)
                {
                    int num;
                    bool isNumeric = int.TryParse(itempluggs[i], out num);//check number.....
                    if (isNumeric)
                    {
                        PluggContainer p = new PluggContainer(new Localization().CurrentCulture, num);

                       // p.ThePlugg = ph.GetPlugg(num);
                        if (p.ThePlugg != null)
                        {
                            p.CultureCode = (Page as DotNetNuke.Framework.PageBase).PageCulture.Name;
                            p.LoadTitle();
                            CIInfo.Text += num + ": " + p.TheTitle.Text + "<br />";
                        }
                        else
                        {
                            CIInfo.Text += num + ": Error – Plugg " + num + " does not exist" + "<br />";
                            ischecked = false;
                        }
                    }
                    else
                    {
                        CIInfo.Text = "Pluggs in wrong format.";
                        ischecked = false;
                    }
                }
            }

            return ischecked;
        }
コード例 #29
0
ファイル: BaseHandler.cs プロジェクト: Jochumzen/PlugghestLib
        public void DeletePlugg(Plugg p)
        {
            // Todo: Don't delete Plugg if: It has comments or ratings or its included in a course.
            if (p == null)
            {
                throw new Exception("Cannot delete: Plugg not initialized");
            }

            //Delete Plugg page
            if (p.TabId != 0)
            {
                DNNHelper h = new DNNHelper();
                h.DeleteTab(p.TabId);
            }

            //Delete Plugg title and Plugg description
            rep.DeleteAllPhTextForItem(p.PluggId, ETextItemType.PluggTitle);
            rep.DeleteAllPhTextForItem(p.PluggId, ETextItemType.PluggDescription);

            //Delete all Pluggcomponents
            PluggContainer pc = new PluggContainer("en-us", p.PluggId);
            pc.LoadComponents();
            foreach (PluggComponent c in pc.TheComponents)
            {
                switch (c.ComponentType)
                {
                    case EComponentType.YouTube:
                        YouTube yt = GetYouTubeByComponentId(c.PluggComponentId);
                        if (yt!=null)
                            rep.DeleteYouTube(yt);
                        break;
                    case EComponentType.RichRichText:
                        rep.DeleteAllPhTextForItem(c.PluggComponentId, ETextItemType.PluggComponentRichRichText);
                        break;
                    case EComponentType.RichText:
                        rep.DeleteAllPhTextForItem(c.PluggComponentId, ETextItemType.PluggComponentRichText);
                        break;
                    case EComponentType.Label:
                        rep.DeleteAllPhTextForItem(c.PluggComponentId, ETextItemType.PluggComponentLabel);
                        break;
                    case EComponentType.Latex:
                        rep.DeleteAllLatexForItem(c.PluggComponentId, ELatexItemType.PluggComponentLatex);
                        break;
                    default:
                        break;
                }
                rep.DeletePluggComponent(c);
            }

            //Delete Pluggentity
            rep.DeletePlugg(p);
        }