Пример #1
0
        protected void RescanDirectory()
        {
            //Increase timeout
            Server.ScriptTimeout = 600;

            //get list of files
            IEnumerable<FileInfo> filelist = FileUtility.GetSafeFileList(PicturePath, GetExcludedFiles(), GetSortOrder());

            int filelistcount = filelist.Count();
            //If there are any process them
            if (filelistcount > 0)
            {
                //get list from db
                var tc = new ItemController();
                IEnumerable<Item> dblist = tc.GetItems(ModuleId);

                foreach (FileInfo file in filelist)
                {
                    bool isinDB = false;

                    //see if this file is in dm
                    foreach (Item picture in dblist)
                    {
                        if (file.FileName.Contains("thm_") || file.FileName == picture.ItemFileName)
                        {
                            isinDB = true;
                            break;
                        }
                    }
                    if (!isinDB)  //picture is not in db so add it and create thumbnail
                    {
                        Item addPic = new Item();
                        //check for bad filename
                        string goodFileName = RemoveCharactersFromString(file.FileName," '&#<>");
                        if(goodFileName != file.FileName)
                        {
                            //rename the file and use goodfilename instead of file.filename

                            string myPath = Server.MapPath("portals/" + PortalId + "/Gallery/Nano/" + ModuleId + "/");
                            string myOldPath = myPath + file.FileName;
                            string myNewPath = myPath + goodFileName;

                            System.IO.FileInfo f = new System.IO.FileInfo(myOldPath);

                            f.CopyTo(myNewPath);

                            f.Delete();

                        }
                        addPic.ItemFileName = goodFileName;
                        addPic.ItemTitle = goodFileName;
                        addPic.ItemKind = "";
                        addPic.AlbumID = 0;
                        addPic.ItemDescription = "New Picture";
                        addPic.CreatedOnDate = DateTime.Now;
                        addPic.LastModifiedOnDate = DateTime.Now;
                        addPic.LastModifiedByUserId = UserId;
                        addPic.ModuleId = ModuleId;

                        //add to db
                        var tc1 = new ItemController();
                        tc1.CreateItem(addPic);

                        // Get image
                        System.Drawing.Image image = System.Drawing.Image.FromFile(PicturePath + "\\" + goodFileName);

                        float x = image.Width;
                        float y = image.Height;
                        float scale = x / y;
                        int newx = 120;
                        int newy = Convert.ToInt32(120 / scale);
                        if (newy > 120)
                        {
                            newy = 120;
                            newx = Convert.ToInt32(120 * scale);
                        }
                        //create thumbnail
                        System.Drawing.Image thumb = image.GetThumbnailImage(newx, newy, () => false, IntPtr.Zero);
                        thumb.Save(PicturePath + "\\thm_" + goodFileName);
                    }
                }
            }
            //Reload page
            Response.Redirect(DotNetNuke.Common.Globals.NavigateURL());
        }
Пример #2
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            var t = new Item();
            var tc = new ItemController();

            if (ItemId > 0)
            {
                t = tc.GetItem(ItemId, ModuleId);
                t.ItemTitle = txtTitle.Text.Trim();
                t.ItemFileName = txtFileName.Text.Trim();
                t.ItemDescription = txtDescription.Text.Trim();
                t.ItemKind = rblItemKind.SelectedValue;

                if (ddlAlbumID.SelectedValue != "0") t.AlbumID = Convert.ToInt32(ddlAlbumID.SelectedValue);
                else t.AlbumID = 0;

                t.LastModifiedByUserId = UserId;
                t.LastModifiedOnDate = DateTime.Now;
            }
            else
            {
                //make sure there are no ' in title or description
                string newTitle = txtTitle.Text.Trim();
                string newDescription = txtDescription.Text.Trim();
                newTitle = newTitle.Replace("'", "");
                newDescription = newDescription.Replace("'", "");

                t = new Item()
                {
                    CreatedByUserId = UserId,
                    CreatedOnDate = DateTime.Now,

                    ItemTitle = newTitle,
                    ItemFileName = txtFileName.Text.Trim(),
                    ItemDescription = newDescription,
                    ItemKind = "",
                    AlbumID = 0
                };
            }
            t.LastModifiedOnDate = DateTime.Now;
            t.LastModifiedByUserId = UserId;
            t.ModuleId = ModuleId;
            if (t.ItemId > 0)
            {
                tc.UpdateItem(t);
            }
            else
            {
                tc.CreateItem(t);
            }
            //reload
            LoadGalleryList();
            LoadAlbumList();
            SetPanels(true);
        }