public AjaxResponse ImageRotate(string imageID, bool isBackRotate) { try { var storage = StorageFactory.GetStorage(); var store = Data.Storage.StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), "photo"); var albumItem = storage.GetAlbumItem(Convert.ToInt64(imageID)); var pathPreview = PhotoConst.ImagesPath + albumItem.ExpandedStorePreview; var pathThumb = PhotoConst.ImagesPath + albumItem.ExpandedStoreThumb; int j; try { j = Convert.ToInt32(GetFileNameIndex(albumItem.Location)); } catch { j = 1; } while (store.IsFile((PhotoConst.ImagesPath + albumItem.ExpandedStoreThumb))) { albumItem.Location = GetNextFileName(albumItem.Location, j++); } var newPathPreview = PhotoConst.ImagesPath + albumItem.ExpandedStorePreview; var newPathThumb = PhotoConst.ImagesPath + albumItem.ExpandedStoreThumb; Rotate(pathPreview, newPathPreview, isBackRotate, store); Rotate(pathThumb, newPathThumb, isBackRotate, store); albumItem.PreviewSize = new Size(albumItem.PreviewSize.Height, albumItem.PreviewSize.Width); albumItem.ThumbnailSize = new Size(albumItem.ThumbnailSize.Height, albumItem.ThumbnailSize.Width); storage.SaveAlbumItem(albumItem); return(new AjaxResponse { rs1 = albumItem.Id.ToString(), rs2 = albumItem.Name.HtmlEncode(), rs3 = ImageHTMLHelper.GetImageUrl(albumItem.ExpandedStorePreview, store), rs4 = ImageHTMLHelper.GetImageUrl(albumItem.ExpandedStoreThumb, store), rs5 = albumItem.PreviewSize.Width.ToString(), rs6 = albumItem.PreviewSize.Height.ToString() }); } catch { return(new AjaxResponse { rs1 = "0", rs2 = string.Empty, rs3 = WebImageSupplier.GetAbsoluteWebPath("no_photo.png", PhotoConst.ModuleID), rs4 = WebImageSupplier.GetAbsoluteWebPath("photo_icon.png", PhotoConst.ModuleID), rs5 = "100", rs6 = "100" }); } }
private string GetHTMLComment(Comment comment, bool isPreview) { var info = new CommentInfo { CommentID = comment.Id.ToString(), UserID = new Guid(comment.UserID), TimeStamp = comment.Timestamp, TimeStampStr = comment.Timestamp.Ago(), IsRead = true, Inactive = comment.Inactive, CommentBody = comment.Text, UserFullName = DisplayUserSettings.GetFullUserName(new Guid(comment.UserID)), UserAvatar = ImageHTMLHelper.GetHTMLImgUserAvatar(new Guid(comment.UserID)), UserPost = CoreContext.UserManager.GetUsers(new Guid(comment.UserID)).Title }; if (!isPreview) { info.IsEditPermissions = CommunitySecurity.CheckPermissions(image, PhotoConst.Action_EditRemoveComment); info.IsResponsePermissions = CommunitySecurity.CheckPermissions(PhotoConst.Action_AddComment); } var defComment = new CommentsList(); ConfigureCommentsList(defComment, null); return(Web.Controls.CommentInfoHelper.CommentsHelper.GetOneCommentHtmlWithContainer(defComment, info, comment.ParentId <= 0, false)); }
private void AppendChildsComments(ref List <CommentInfo> commentsInfo, IList <Comment> comments) { foreach (var comment in comments) { var info = new CommentInfo { CommentID = comment.Id.ToString(), UserID = new Guid(comment.UserID), TimeStampStr = comment.Timestamp.Ago(), IsRead = SecurityContext.DemoMode || comment.IsRead, Inactive = comment.Inactive, CommentBody = comment.Text, UserFullName = DisplayUserSettings.GetFullUserName(new Guid(comment.UserID)), UserAvatar = ImageHTMLHelper.GetHTMLImgUserAvatar(new Guid(comment.UserID)), UserPost = CoreContext.UserManager.GetUsers(new Guid(comment.UserID)).Title, IsEditPermissions = CommunitySecurity.CheckPermissions(image, PhotoConst.Action_EditRemoveComment), IsResponsePermissions = CommunitySecurity.CheckPermissions(PhotoConst.Action_AddComment) }; // postParser.Parse(comment.Text); var tempComments = new List <CommentInfo>(); AppendChildsComments(ref tempComments, comment.Comments); info.CommentList = tempComments; commentsInfo.Add(info); } }
public AjaxResponse AddComment(string parrentCommentID, string photoID, string text, string pid) { var resp = new AjaxResponse { rs1 = parrentCommentID }; CommunitySecurity.DemandPermissions(PhotoConst.Action_AddComment); var storage = StorageFactory.GetStorage(); image = storage.GetAlbumItem(Convert.ToInt64(photoID)); var newComment = new Comment(image.Id) { Text = text, Timestamp = ASC.Core.Tenants.TenantUtil.DateTimeNow(), UserID = SecurityContext.CurrentAccount.ID.ToString() }; if (!string.IsNullOrEmpty(parrentCommentID)) { newComment.ParentId = Convert.ToInt64(parrentCommentID); } var count = storage.SaveComment(image, newComment); storage.ReadAlbumItem(newComment.ItemID, SecurityContext.CurrentAccount.ID.ToString()); var odd = count % 2 == 1; var comment = newComment; var info = new CommentInfo { CommentID = comment.Id.ToString(), UserID = new Guid(comment.UserID), TimeStampStr = comment.Timestamp.Ago(), IsRead = true, Inactive = comment.Inactive, CommentBody = comment.Text, UserFullName = DisplayUserSettings.GetFullUserName(new Guid(comment.UserID)), UserAvatar = ImageHTMLHelper.GetHTMLImgUserAvatar(new Guid(comment.UserID)), UserPost = CoreContext.UserManager.GetUsers(new Guid(comment.UserID)).Title, IsEditPermissions = CommunitySecurity.CheckPermissions(image, PhotoConst.Action_EditRemoveComment), IsResponsePermissions = CommunitySecurity.CheckPermissions(PhotoConst.Action_AddComment) }; //postParser.Parse(comment.Text); var defComment = new CommentsList(); ConfigureCommentsList(defComment, image); resp.rs2 = CommentsHelper.GetOneCommentHtmlWithContainer(defComment, info, newComment.ParentId == 0, odd); return(resp); }
public AjaxResponse GetImage(long albumID, int index) { return(new AjaxResponse() { rs1 = LoadImage(albumID, index).ToString(), rs2 = ImageHTMLHelper.GetImageUrl(image.ExpandedStorePreview, ASC.Data.Storage.StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), "photo")), rs3 = image.Name }); }
public AjaxResponse GetImage(string imageID) { var storage = StorageFactory.GetStorage(); var store = Data.Storage.StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), "photo"); var currentItem = storage.GetAlbumItem(Convert.ToInt64(imageID)); if (currentItem == null) { return new AjaxResponse { status = "error", message = "have no photo", rs2 = "", rs3 = WebImageSupplier.GetAbsoluteWebPath("blank.gif") } } ; var items = storage.GetAlbumItems(currentItem.Album); var pos = items.IndexOf(currentItem); var htw = new HtmlTextWriter(new StringWriter()); var imageComments = StorageFactory.GetStorage().GetComments(currentItem.Id); var comments = new List <CommentInfo>(); AppendChildsComments(ref comments, imageComments); var CommentsList = new CommentsList(); ConfigureCommentsList(CommentsList, currentItem); CommentsList.Items = comments; CommentsList.RenderControl(htw); if (!SecurityContext.DemoMode) { storage.ReadAlbumItem(currentItem.Id, currentUserID.ToString()); } return(new AjaxResponse { rs1 = currentItem.Id.ToString(), rs2 = (currentItem.Name ?? string.Empty).HtmlEncode(), rs3 = ImageHTMLHelper.GetImageUrl(currentItem.ExpandedStorePreview, store), rs4 = (currentItem.Description ?? string.Empty).HtmlEncode(), rs5 = currentItem.PreviewSize.Width.ToString(), rs6 = currentItem.PreviewSize.Height.ToString(), rs7 = Grammatical.ViewsCount(currentItem.ViewsCount), rs8 = Grammatical.CommentsCount(currentItem.CommentsCount), rs9 = RenderEditPhotoLink(currentItem), rs10 = RenderSlideShowLink(currentItem), rs11 = pos > 0 ? items[pos - 1].Id.ToString() : "", rs12 = pos < items.Count - 1 ? items[pos + 1].Id.ToString() : "", rs13 = htw.InnerWriter.ToString() }); }
private string GetHTMLSmallThumb(AlbumItem image, int maxSize, string link, Data.Storage.IDataStore store) { var sb = new StringBuilder(); var limit = ImageHTMLHelper.GetImageSizeLimit(image, maxSize); sb.Append("<span style=\"padding: 3px; display: inline-block; position: relative; text-align: center; vertical-align: top;\" >"); sb.Append("<table border=0 cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"text-align:center;vertical-align:middle;border:solid 0px #cfcfcf;height:" + maxSize + "px;width:" + maxSize + "px;table-layout:fixed;\">"); sb.Append("<a href=\"" + link + "\">"); sb.Append("<img " + limit + " title=\"" + (image != null ? HttpUtility.HtmlEncode(image.Name) : "") + "\" src=\"" + (image != null ? ImageHTMLHelper.GetImageUrl(image.ExpandedStoreThumb, store) : "") + "\" class=\"borderBase\">"); sb.Append("</a></td></tr></table></span>"); return(sb.ToString()); }
public PhotoAlbumItemWrapper(AlbumItem faceItem) { Id = faceItem.Id; Title = faceItem.Name; Updated = Created = (ApiDateTime)faceItem.Timestamp; Description = faceItem.Description; var storage = Data.Storage.StorageFactory.GetStorage( CoreContext.TenantManager.GetCurrentTenant().TenantId.ToString(), "photo"); Thumbnail = ImageHTMLHelper.GetImageUrl(faceItem.ExpandedStorePreview, storage); Location = ImageHTMLHelper.GetImageUrl(faceItem.ExpandedStoreThumb, storage); Comments = faceItem.CommentsCount; }
private void LoadThumbnails(Album AlbumItem) { var storage = StorageFactory.GetStorage(); var store = Data.Storage.StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), "photo"); var items = storage.GetAlbumItems(AlbumItem); var thumbnails = new List <Dictionary <String, String> >(); for (int i = 0, n = items.Count; i < n; i++) { var thumbnail = new Dictionary <String, String>(); thumbnail.Add("Id", items[i].Id.ToString()); thumbnail.Add("Name", (items[i].Name ?? string.Empty).HtmlEncode()); thumbnail.Add("Src", ImageHTMLHelper.GetImageUrl(items[i].ExpandedStoreThumb, store)); thumbnails.Add(thumbnail); } PhotoThumbnails.DataSource = thumbnails; PhotoThumbnails.DataBind(); }
private void LoadUserAllPhoto(string userID, Data.Storage.IDataStore store) { mainContainer.BreadCrumbs.Add(new Web.Controls.BreadCrumb { Caption = PhotoManagerResource.PhotoTitle, NavigationUrl = PhotoConst.PAGE_DEFAULT }); mainContainer.BreadCrumbs.Add(new Web.Controls.BreadCrumb { Caption = DisplayUserSettings.GetFullUserName(new Guid(userID), false) }); var list = StorageFactory.GetStorage().GetAlbums(0, userID); if (list == null || list.Count == 0) { var emptyScreenControl = new EmptyScreenControl { ImgSrc = WebImageSupplier.GetAbsoluteWebPath("150x_photo_icon.png", PhotoConst.ModuleID), Describe = PhotoManagerResource.EmptyScreenText }; if (userID == SecurityContext.CurrentAccount.ID.ToString()) { emptyScreenControl.Header = PhotoManagerResource.YouHaveNoPhotosTitle; emptyScreenControl.ButtonHTML = CommunitySecurity.CheckPermissions(PhotoConst.Action_AddPhoto) ? String.Format("<a class='linkAddMediumText' href='" + PhotoConst.PAGE_ADD_PHOTO + "'>{0}</a>", PhotoManagerResource.EmptyScreenLink) : String.Empty; } else { emptyScreenControl.Header = PhotoManagerResource.UserHaveNoPhotosTitle; } _contentHolder.Controls.Add(emptyScreenControl); } else { _contentHolder.Controls.Add(new Literal { Text = ImageHTMLHelper.DrawAlbumsAlone(list, store) }); } }
private string AddAlbumItem(AlbumItem albumItem, bool isFace) { StringBuilder sb = new StringBuilder(); if (countItems != 0 && countItems % 3 == 0) { sb.Append("</div>"); } if (countItems % 3 == 0) { sb.Append("<div class=\"borderLight tintMediumLight clearFix\" style=\"padding:20px; border-left:none;border-right:none;margin-bottom:8px;\">"); } sb.Append("<div style='float:left;margin-bottom:5px;" + (countItems % 3 == 0 ? "" : "margin-left:22px; ") + "'>"); sb.Append("<span>"); sb.Append("<input name=\"" + ASC.PhotoManager.PhotoConst.PARAM_EDIT_ITEMID + countItems + "\" name=\"" + ASC.PhotoManager.PhotoConst.PARAM_EDIT_ITEMID + countItems + "\" type=\"hidden\" value=\"" + albumItem.Id + "\" />"); sb.Append("<div style=\"width: 200px;height:200px;background-color: #EBF0F4;padding:5px;\">" + ImageHTMLHelper.GetHTMLThumb(ImageHTMLHelper.GetImageUrl(albumItem.ExpandedStorePreview, store), 200, albumItem.PreviewSize.Width, albumItem.PreviewSize.Height) + "</div>"); sb.Append("<div class='textBigDescribe clearFix' style=\" padding-left:5px;padding-top:5px;width:200px;\">"); sb.Append("<div style=\"padding-top: 5px; float: left;\">" + PhotoManagerResource.EditPhotoNameTitle + "</div>"); sb.Append("<div style=\"float: right;\">"); sb.Append("<label class='textMediumDescribe' for=\"face_" + countItems + "\">"); sb.Append(PhotoManagerResource.AlbumCoverTitle + "</label><input type=\"radio\" id=\"face_" + countItems + "\" name=\"album_face\" value=\"" + albumItem.Id + "\" " + (isFace ? "checked" : "") + " /></div></div>"); sb.Append("<div><input class=\"textEdit\" style=\"width:200px;margin-top:5px;\" maxlength=\"255\" name=\"" + ASC.PhotoManager.PhotoConst.PARAM_EDIT_NAME + countItems + "\" id=\"" + ASC.PhotoManager.PhotoConst.PARAM_EDIT_NAME + countItems + "\" value='" + HttpUtility.HtmlEncode(albumItem.Name) + "' type=\"text\"/></div>"); sb.Append("</span>"); sb.Append("</div>"); countItems++; return(sb.ToString()); }
void LoadImages() { if (Current != null && ItemsList != null && ItemsList.Count != 0) { ASC.Data.Storage.IDataStore store = ASC.Data.Storage.StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), "photo"); if (ItemsList.IndexOf(Current) == 0) { LeftBtnEnabled = false; } else { LeftBtnEnabled = true; } if (ItemsList.IndexOf(Current) == ItemsList.Count - 1) { RightBtnEnabled = false; } else { RightBtnEnabled = true; } int countEmptyRegions = (_imagesCount - 1) / 2; for (int i = 0; i < countEmptyRegions; i++) { ItemsList.Insert(0, AlbumItem.Empty); } for (int i = 0; i < countEmptyRegions; i++) { ItemsList.Insert(ItemsList.Count, AlbumItem.Empty); } int imageIndex = ItemsList.IndexOf(Current); int totalImageCount = ItemsList.Count; int currentPosition = imageIndex - countEmptyRegions; ltrPhotoList.Text = "<input id=\"startPosition\" type=\"hidden\" value=\"" + currentPosition + "\" /><table border='0' cellpadding=\"0\" cellspacing=\"0\" style='margin: 0px 7px;'><tr id=\"imageList\">"; for (int i = 0; i < totalImageCount; i++) { if (i >= totalImageCount) { break; } bool imageSeleted; string imgPath = ASC.PhotoManager.PhotoConst.ImagesPath + ItemsList[i].ExpandedStoreThumb; if (Current == ItemsList[i]) { imageSeleted = true; } else { imageSeleted = false; } if (i >= currentPosition && i < currentPosition + _imagesCount) { ltrPhotoList.Text += ImageHTMLHelper.GetHTMLSmallThumb(ItemsList[i], 46, "onclick=\"loadPhoto('" + ItemsList[i].Id + "', '" + (string.IsNullOrEmpty(SetParam) ? string.Empty : "&set=" + SetParam) + "')\"", imageSeleted, true, store); } else { ltrPhotoList.Text += ImageHTMLHelper.GetHTMLSmallThumb(ItemsList[i], 46, "onclick=\"loadPhoto('" + ItemsList[i].Id + "', '" + (string.IsNullOrEmpty(SetParam) ? string.Empty : "&set=" + SetParam) + "')\"", imageSeleted, false, store); } } hdnStartPosiotion.Value = currentPosition.ToString(); ltrPhotoList.Text += "</tr></table>"; } }
protected override void PageLoad() { lbtnEdit.CssClass = "linkAction" + (SetupInfo.WorkMode == WorkMode.Promo ? " promoAction" : ""); confirmContainer.Options.IsPopup = true; var store = Data.Storage.StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), "photo"); var storage = StorageFactory.GetStorage(); service = storage; InitPageParams(); if (!IsPostBack) { countAlbumItems = 0; if (!String.IsNullOrEmpty(AlbumID)) { mainContainer.BreadCrumbs.Add(new Web.Controls.BreadCrumb { Caption = PhotoManagerResource.PhotoTitle, NavigationUrl = PhotoConst.PAGE_DEFAULT }); pnlCurrentAlbum.Visible = true; pnlUserAlbums.Visible = false; album = storage.GetAlbum(Convert.ToInt64(AlbumID)); if (album != null) { var editRemovePermissions = CommunitySecurity.CheckPermissions(album, PhotoConst.Action_EditRemovePhoto); if (album == null) { Response.Redirect(PhotoConst.PAGE_DEFAULT); } if (editRemovePermissions) { pnlEditPhoto.Visible = true; } ltrLinkAllPhoto.Text = "<a href='" + PhotoConst.PAGE_PHOTO + "?" + PhotoConst.PARAM_USER + "=" + album.UserID + "'>" + PhotoManagerResource.AllAuthorAlbumsTitle + "</a>"; var caption = (string.IsNullOrEmpty(album.Caption) ? DisplayUserSettings.GetFullUserName(new Guid(album.UserID), false) : album.Caption); mainContainer.BreadCrumbs.Add(new Web.Controls.BreadCrumb { Caption = album.Event.Name, NavigationUrl = PhotoConst.PAGE_DEFAULT + "?" + PhotoConst.PARAM_EVENT + "=" + album.Event.Id }); mainContainer.BreadCrumbs.Add(new Web.Controls.BreadCrumb { Caption = caption }); var cssStyle = ImageHTMLHelper.GetImagePreviewSizeLimit(album.FaceItem, 260); if (album.FaceItem != null) { ltrAlbumFace.Text = "<a href='" + PhotoConst.PAGE_PHOTO_DETAILS + "?" + PhotoConst.PARAM_PHOTO + "=" + album.FaceItem.Id + "'><img " + cssStyle + " style='border:0px solid #000;margin:8px 0px;' src=\"" + ImageHTMLHelper.GetImageUrl(album.FaceItem.ExpandedStorePreview, store) + "\" /></a>"; } var countComments = album.CommentsCount; var countViews = album.ViewsCount; LoadAlbumsLinks(album.Event); ltrAlbumInfo.Text = "<div class=\"textMediumDescribe\" style=\"padding: 15px 10px 0px;\"><span class='textBaseSmall'>" + Grammatical.PhotosCount(album.ImagesCount) + "</span><span class='splitter'>|</span>" + Grammatical.ViewsCount(countViews) + "<span class='splitter'>|</span>" + Grammatical.CommentsCount(countComments) + "</div>" + "<div class=\"textMediumDescribe\" style=\"padding: 5px 10px; max-width:255px; overflow:hidden;\">" + PhotoManagerResource.PostedByTitle + ": " + CoreContext.UserManager.GetUsers(new Guid(album.UserID)).RenderProfileLink(Product.CommunityProduct.ID) + "</div><div class=\"textMediumDescribe\" style=\"padding: 0px 10px;\">" + PhotoManagerResource.LastUpdateTitle + ": " + album.LastUpdate.ToShortDateString() + "</div>"; foreach (var albumItem in storage.GetAlbumItems(album)) { ltrPhoto.Text += ImageHTMLHelper.GetSmallHTMLImage(albumItem, countAlbumItems, false, 75, store); countAlbumItems++; } } else { pnlCurrentAlbum.Controls.Clear(); pnlCurrentAlbum.Controls.Add(new Literal { Text = string.Format("<div class=\"noContentBlock\">{0}</div>", PhotoManagerResource.NoFoundMessage) }); albumsContainer.Visible = false; } } else { pnlCurrentAlbum.Visible = false; pnlUserAlbums.Visible = true; albumsContainer.Visible = false; LoadUserAllPhoto(!String.IsNullOrEmpty(UserID) ? UserID : currentUserID.ToString(), store); } } Title = HeaderStringHelper.GetPageTitle(PhotoManagerResource.AddonName, mainContainer.BreadCrumbs); sideRecentActivity.TenantId = TenantProvider.CurrentTenantID; sideRecentActivity.ProductId = Product.CommunityProduct.ID; sideRecentActivity.ModuleId = PhotoConst.ModuleID; }
private void ShowBlogDetails(Post post) { if (post == null) { return; } var sb = new StringBuilder(); var user = CoreContext.UserManager.GetUsers(post.UserID); if (IsPreview) { sb.Append("<div style='margin-bottom: 20px'>"); sb.Append("<div id=\"previewTitle\" class='containerHeaderBlock' style='padding: 0 8px;'>" + HttpUtility.HtmlEncode(post.Title) + "</div>"); } else { sb.Append("<div>"); } sb.Append("<table class='MainBlogsTable' cellspacing='0' cellpadding='8' border='0'>"); sb.Append("<tr>"); sb.Append("<td valign='top' class='avatarContainer'>"); sb.Append("<div>" + ImageHTMLHelper.GetHTMLUserAvatar(post.UserID) + "</div>"); sb.Append("</td>"); sb.Append("<td valign='top'>"); sb.Append("<div class=\"author-title describe-text\">" + BlogsResource.PostedTitle + ":</div>"); sb.Append("<div class=\"author-name\">"); sb.AppendFormat("<a class='linkMedium' href=\"{0}\">{1}</a>", user.GetUserProfilePageURL(), user.DisplayUserName()); sb.Append("</div>"); sb.Append("<div>"); sb.AppendFormat("<a class='linkMedium gray-text' href='{0}?userid={1}'>{2}</a>", VirtualPathUtility.ToAbsolute(ASC.Blogs.Core.Constants.BaseVirtualPath), user.ID, BlogsResource.AllRecordsOfTheAutor); sb.Append("</div>"); sb.Append("<div class='describe-text' style='margin-top:10px'>"); sb.AppendFormat("{0}<span style='margin-left:20px'>{1}</span>", post.Datetime.ToString("d"), post.Datetime.ToString("t")); sb.Append("</div>"); if (!IsPreview) { sb.Append("<div id=\"blogActionsMenuPanel\" class=\"studio-action-panel\">"); sb.Append("<ul class=\"dropdown-content\">"); if (CommunitySecurity.CheckPermissions(post, ASC.Blogs.Core.Constants.Action_EditRemovePost)) { sb.Append("<li><a class=\"dropdown-item\" href=\"editblog.aspx?blogid=" + Request.QueryString["blogid"] + "\" >" + BlogsResource.EditBlogLink + "</a></li>"); sb.Append("<li><a class=\"dropdown-item\" onclick=\"javascript:return confirm('" + BlogsResource.ConfirmRemovePostMessage + "');\" href=\"editblog.aspx?blogid=" + Request.QueryString["blogid"] + "&action=delete\" >" + BlogsResource.DeleteBlogLink + "</a></li>"); } sb.Append("</ul>"); sb.Append("</div>"); } sb.Append("</td></tr></table>"); sb.Append("<div id='previewBody' class='longWordsBreak ContentMainBlog'>"); sb.Append(HtmlUtility.GetFull(post.Content)); sb.Append("</div>"); if (!IsPreview) { sb.Append("<div class='clearFix'>"); if (post.TagList.Count > 0) { sb.Append("<div class=\"text-medium-describe TagsMainBlog\">"); sb.Append("<img class=\"TagsImgMainBlog\" src=\"" + WebImageSupplier.GetAbsoluteWebPath("tags.png", BlogsSettings.ModuleID) + "\">"); var j = 0; foreach (var tag in post.TagList) { if (j != 0) { sb.Append(", "); } j++; sb.Append("<a style='margin-left:5px;' class=\"linkMedium gray-text\" href=\"./?tagname=" + HttpUtility.UrlEncode(tag.Content) + "\">" + HttpUtility.HtmlEncode(tag.Content) + "</a>"); } sb.Append("</div>"); } sb.Append("</div>"); } sb.Append("</div>"); ltrContent.Text = sb.ToString(); }
private string AddPreviewImage(string fileName, string imageName, long imageID, bool isAlbumFace, int imageNumber, int width, int height) { var sb = new StringBuilder(); sb.Append("<span><input name=\"image_id_" + imageNumber + "\" name=\"image_id_" + imageNumber + "\" type=\"hidden\" value=\"" + imageID + "\" />"); sb.Append("<div style=\"width: 200px;height:200px;background-color: #EBF0F4;padding:5px;\">" + ImageHTMLHelper.GetHTMLThumb(fileName, 200, width, height) + "</div><div></div>"); sb.Append("<div class='textBigDescribe clearFix' style=\"padding-left:5px;padding-top:5px;width: 200px;\"><div style='padding-top: 5px;float:left'>" + PhotoManagerResource.EditPhotoNameTitle + "</div><div style='float:right'><label class='textMediumDescribe' for=\"face_" + imageNumber + "\">" + PhotoManagerResource.AlbumCoverTitle + "</label><input maxlength=\"255\" type=\"radio\" id=\"face_" + imageNumber + "\" name=\"album_face\" value=\"" + imageID + "\" " + (isAlbumFace ? "checked" : "") + " /></div></div><div><input class=\"textEdit\" style=\"width:200px;margin-top:5px;\" name=\"" + ASC.PhotoManager.PhotoConst.PARAM_EDIT_NAME + imageNumber + "\" id=\"" + ASC.PhotoManager.PhotoConst.PARAM_EDIT_NAME + imageNumber + "\" value='" + imageName + "' type=\"text\"/></div>"); sb.Append("</span>"); return(sb.ToString()); }
protected void btnUpload_Click(object sender, EventArgs e) { var photoCount = 0; var simpleUploader = false; var sb = new StringBuilder(); IList <AlbumItem> images = new List <AlbumItem>(); var storage = StorageFactory.GetStorage(); try { var eventID = Convert.ToInt64(Request.Form["events_selector"]); var authorID = SecurityContext.CurrentAccount.ID.ToString(); Album currentAlbum = null; if (selectedAlbum != null) { currentAlbum = selectedAlbum; } else if (string.IsNullOrEmpty(authorID)) { return; } else if (authorID != "0") { var albums = storage.GetAlbums(eventID, authorID); currentAlbum = 0 < albums.Count ? albums[0] : null; } if (currentAlbum == null) { var Event = storage.GetEvent(eventID); currentAlbum = new Album(); currentAlbum.Event = Event; currentAlbum.UserID = SecurityContext.CurrentAccount.ID.ToString(); storage.SaveAlbum(currentAlbum); } var imagesInfo = !simpleUploader?CreateImagesInfo(Request.Form["phtm_imagesInfo"]) : CreateImagesInfoBySimple(); if (imagesInfo != null) { var i = 0; var store = Data.Storage.StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), "photo"); foreach (var info in imagesInfo) { var item = storage.GetAlbumItem(Convert.ToInt64(info)); images.Add(item); if (photoCount != 0 && photoCount % 3 == 0) { sb.Append("</div>"); } if (photoCount % 3 == 0) { sb.Append("<div class=\"borderLight tintMediumLight clearFix\" style=\"padding:20px; border-left:none;border-right:none;margin-bottom:8px;\">"); } sb.Append("<div style='float:left;margin-bottom:5px;" + (photoCount % 3 == 0 ? "" : "margin-left:22px; ") + "'>"); sb.Append(AddPreviewImage(ImageHTMLHelper.GetImageUrl(item.ExpandedStorePreview, store), item.Name, item.Id, i == 0, i, item.PreviewSize.Width, item.PreviewSize.Height)); sb.Append("</div>"); i++; photoCount++; } } sb.Append("</div>"); ltrUploadedImages.Text = sb.ToString(); pnlImageForm.Visible = false; pnlSave.Visible = true; storage.SaveAlbum(currentAlbum, images); } catch (Exception) { } }
private void ShowBlogDetails(Post post) { if (post == null) { } else { var sb = new StringBuilder(); sb.Append("<div style=\"padding: 0px " + (IsPreview ? "" : " 14px;") + "\">"); if (IsPreview) { sb.Append("<div id=\"previewTitle\" class='containerHeaderBlock' style='padding:0px 0px 10px 0px;'>" + HttpUtility.HtmlEncode(post.Title) + "</div>"); // //sb.Append("<script type=\"text/javascript\">jq(document).ready (function(){window.scrollTo(jq('#blogs_preview').position().top, {speed:500});});</script>"); } sb.Append("<table class='MainBlogsTable' cellspacing='0' cellpadding='0' border='0'><tr><td valign='top'>"); sb.Append("<div style='padding-top:4px;'>" + ImageHTMLHelper.GetLinkUserAvatar(post.UserID) + "</div>"); sb.Append("</td><td><div class='InfoMainBlog'>"); sb.Append("<div class='clearFix CreaterMainBlog'>"); sb.Append("<div style='float:left'>"); sb.Append("<a class='linkHeaderSmall' href='" + VirtualPathUtility.ToAbsolute(ASC.Blogs.Core.Constants.BaseVirtualPath) + "?userid=" + post.UserID + "'><span style='font-weight:normal;'>" + ASC.Blogs.Core.Resources.BlogsResource.BlogOfTitle + ": </span>" + DisplayUserSettings.GetFullUserName(post.UserID) + "</a>"); sb.Append("</div>"); sb.Append("</div>"); sb.Append("<div >"); sb.Append("<span class='textMediumDescribe' style='margin-right:5px;'>" + ASC.Blogs.Core.Resources.BlogsResource.PostedTitle + ":</span> " + CoreContext.UserManager.GetUsers(post.UserID).RenderProfileLink(ASC.Web.Community.Product.CommunityProduct.ID)); sb.Append("<span class='textMediumDescribe'> " + post.Datetime.Ago() + "</span>"); sb.Append("</div>"); sb.Append("</div>"); //if (post.Question != null) // sb.Append(PollForm(post)); sb.Append("<div id='previewBody' class='longWordsBreak ContentMainBlog'>"); sb.Append(HtmlUtility.GetFull(post.Content, Product.CommunityProduct.ID)); sb.Append("</div>"); if (!IsPreview) { sb.Append("<div class='clearFix CommentsMainBlog'>"); if (post.TagList.Count > 0) { sb.Append("<div class=\"textMediumDescribe TagsMainBlog\">"); sb.Append("<img class=\"TagsImgMainBlog\" src=\"" + WebImageSupplier.GetAbsoluteWebPath("tags.png", BlogsSettings.ModuleID) + "\">"); var j = 0; foreach (var tag in post.TagList) { if (j != 0) { sb.Append(", "); } j++; sb.Append("<a style='margin-left:5px;' class=\"linkDescribe\" href=\"./?tagname=" + HttpUtility.UrlEncode(tag.Content) + "\">" + HttpUtility.HtmlEncode(tag.Content) + "</a>"); } sb.Append("</div>"); } if (CommunitySecurity.CheckPermissions(post, ASC.Blogs.Core.Constants.Action_EditRemovePost) && !IsPreview) { sb.Append("<div class='FunctionsMainBlog'>"); sb.Append("<a class=\"linkAction" + (SetupInfo.WorkMode == WorkMode.Promo ? " promoAction" : "") + "\" href=\"editblog.aspx?blogid=" + Request.QueryString["blogID"] + "\" >" + ASC.Blogs.Core.Resources.BlogsResource.EditBlogLink + "</a>"); sb.Append("<span class=\"splitter\">|</span><a class=\"linkAction" + (SetupInfo.WorkMode == WorkMode.Promo ? " promoAction" : "") + "\" onclick=\"javascript:return confirm('" + ASC.Blogs.Core.Resources.BlogsResource.ConfirmRemovePostMessage + "');\" href=\"editblog.aspx?blogid=" + Request.QueryString["blogID"] + "&action=delete\" >" + ASC.Blogs.Core.Resources.BlogsResource.DeleteBlogLink + "</a> "); sb.Append("</div>"); } sb.Append("</div>"); } sb.Append("</td></tr></table>"); sb.Append("</div>"); ltrContent.Text = sb.ToString(); } }
private void RenderImagesList(IList <AlbumItem> list) { var sb = new StringBuilder(); var storage = StorageFactory.GetStorage(); var i = 0; var store = Data.Storage.StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), "photo"); sb.Append("<table cellpadding=\"3\" cellspacing=\"0\" border=\"0\" class=\"borderBase\" width='100%' style=\"border-right:none;border-left:none;border-bottom:none;\">"); foreach (var image in list) { var limit = ImageHTMLHelper.GetImageSizeLimit(image, 75); //var comments = storage.GetComments(image.Id); var count = image.CommentsCount; var countViews = image.ViewsCount; sb.Append("<tr " + (i % 2 == 0 ? "class='tintMedium'" : "") + " valign='top'><td class=\"borderBase\" style=\"border-top:none; border-right:none; border-left:none; width:105px;\"><div style='padding:15px 10px;'>"); sb.Append("<a href=\"" + PhotoConst.PAGE_PHOTO_DETAILS + "?" + PhotoConst.PARAM_PHOTO + "=" + image.Id + "\"><img style='border: 0px solid;' " + limit + " title=\"" + HttpUtility.HtmlEncode(image.Name) + "\" src=\"" + ImageHTMLHelper.GetImageUrl(image.ExpandedStoreThumb, store) + "\" /></a></div></td>"); sb.Append("<td class=\"borderBase\" style=\"border-top:none; border-right:none; border-left:none;\"><div style='padding-top:10px;padding-bottom:10px;width: 620px;word-wrap: break-word;overflow: hidden;'>"); sb.Append("<a class='linkHeaderLight' href=\"" + PhotoConst.PAGE_PHOTO_DETAILS + "?" + PhotoConst.PARAM_PHOTO + "=" + image.Id + "\">" + HttpUtility.HtmlEncode(image.Name) + "</a></span>"); sb.Append("<div style='margin-top:5px;'><span class='textMediumDescribe'>" + PhotoManagerResource.PostedToTitle + ": <a class='linkDescribe' href=\"" + PhotoConst.PAGE_DEFAULT + "?" + PhotoConst.PARAM_EVENT + "=" + image.Album.Event.Id + "\">" + HttpUtility.HtmlEncode(image.Album.Event.Name) + "</a><span class='textMediumDescribe'>, </span>"); sb.Append("<a class='linkDescribe' href=\"" + PhotoConst.PAGE_PHOTO + "?" + PhotoConst.PARAM_ALBUM + "=" + image.Album.Id + "\">" + DisplayUserSettings.GetFullUserName(new Guid(image.UserID)) + "</a></div>"); sb.Append("<div style='margin-top:15px;' class=\"textBigDescribe\">" + Grammatical.ViewsCount(countViews) + " <span class='splitter'>|</span>" + Grammatical.CommentsCount(count) + "</div>"); var comments = storage.GetLatestCommentsByImage(image.Id, 5); foreach (var comment in comments) { //Comment comment = comments[j]; sb.Append("<div style='padding:30px 0px 0px;'>"); sb.Append("<table cellpadding='0' cellspacing='0' border='0'>"); sb.Append("<tr><td valign='top' width='34' rowspan='2'>"); sb.Append(ImageHTMLHelper.GetHTMLImgUserAvatar(new Guid(comment.UserID))); sb.Append("</td>"); sb.Append("<td>"); sb.Append("<div style='margin-left:15px;'><a class='linkHeaderSmall' href='" + CommonLinkUtility.GetUserProfile(new Guid(comment.UserID), Product.CommunityProduct.ID) + "'>" + DisplayUserSettings.GetFullUserName(new Guid(comment.UserID)) + "</a>"); sb.Append("<span class='textMediumDescribe' style='padding-left:10px;'>" + PhotoManagerResource.SaidTitle + ":</span></div>"); sb.Append("<div class='textMediumDescribe' style='margin:5px 0px 0px 15px;'>" + comment.Timestamp.AgoSentence() + "</div>"); sb.Append("</td>"); sb.Append("</tr>"); sb.Append("<tr>"); sb.Append("<td>"); sb.Append("<div style='margin:15px 0px 0px 15px;'>" + comment.Text + "</div>"); sb.Append("</td>"); sb.Append("</tr>"); sb.Append("</table>"); sb.Append("</div>"); } i++; sb.Append("<div style='float:right; padding:0px 20px 10px'><a href='" + PhotoConst.PAGE_PHOTO_DETAILS + "?" + PhotoConst.PARAM_PHOTO + "=" + image.Id + "'>" + PhotoManagerResource.AddCommentLink + "</a></div>"); sb.Append("</td></tr>"); } sb.Append("</table>"); _contentHolder.Controls.Add(new Literal { Text = sb.ToString() }); }
protected string RenderImagePath() { return(ImageHTMLHelper.GetImageUrl(image.ExpandedStorePreview, ASC.Data.Storage.StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), "photo"))); }
private void LoadData() { InitPageParams(); if (!IsPostBack) { var storage = StorageFactory.GetStorage(); var store = Data.Storage.StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), "photo"); var sb = new StringBuilder(); #region all events if (String.IsNullOrEmpty(Request.QueryString[PhotoConst.PARAM_EVENT])) { var events = storage.GetEvents((_selectedPage - 1) * _CountEventPerPage, _CountEventPerPage); mainContainer.BreadCrumbs.Add(new Web.Controls.BreadCrumb { Caption = PhotoManagerResource.PhotoTitle, NavigationUrl = PhotoConst.PAGE_DEFAULT }); var count = storage.GetEventsCount(); var pageNavigator = new Web.Controls.PageNavigator { PageUrl = PhotoConst.PAGE_DEFAULT + "?t=", CurrentPageNumber = _selectedPage, EntryCountOnPage = _CountEventPerPage, VisiblePageCount = 5, ParamName = "page", EntryCount = (int)count }; pageNavigatorHolder.Controls.Add(pageNavigator); sb.Append(ImageHTMLHelper.DrawEvents(events, store)); } #endregion #region selected event else { var Event = storage.GetEvent(Convert.ToInt64(Request.QueryString[PhotoConst.PARAM_EVENT])); mainContainer.BreadCrumbs.Add(new Web.Controls.BreadCrumb { Caption = PhotoManagerResource.PhotoTitle, NavigationUrl = PhotoConst.PAGE_DEFAULT }); if (Event != null) { mainContainer.BreadCrumbs.Add(new Web.Controls.BreadCrumb { Caption = Event != null ? Event.Name : Request.QueryString[PhotoConst.PARAM_EVENT] }); if (storage.GetAlbumsCount(Event.Id, null) == 0) { sb.Append("<center><div style='margin: 40px 0px 80px 0px;' class=\"headerPanel\">" + PhotoManagerResource.EventHaveNoAlbumsMsg.Replace(":UPLOAD_LINK", "<a class=\"linkHeaderLight\" style=\"text-decoration: underline;\" href=\"" + ASC.PhotoManager.PhotoConst.PAGE_ADD_PHOTO + "?" + "event=" + Event.Id + "\">" + PhotoManagerResource.UploadPhotosLink + "</a>").Replace(":REMOVE_LINK", "<a class=\"linkHeaderLight\" style=\"text-decoration: underline;\" href=\"javascript:EventsManager.RemoveEvent(" + Event.Id + ");\">" + PhotoManagerResource.RemoveButton + "</a>") + "</div><center>"); } sb.Append(ImageHTMLHelper.DrawEvent(Event, store)); } else { sb.AppendFormat("<div class=\"noContentBlock\">{0}</div>", PhotoManagerResource.NoFoundMessage); } } #endregion if (String.IsNullOrEmpty(sb.ToString())) { var emptyScreenControl = new EmptyScreenControl { ImgSrc = WebImageSupplier.GetAbsoluteWebPath("150x_photo_icon.png", PhotoConst.ModuleID), Header = PhotoManagerResource.EmptyScreenCaption, Describe = PhotoManagerResource.EmptyScreenText, ButtonHTML = CommunitySecurity.CheckPermissions(PhotoConst.Action_AddPhoto) ? String.Format("<a class='linkAddMediumText' href='" + PhotoConst.PAGE_ADD_PHOTO + "'>{0}</a>", PhotoManagerResource.EmptyScreenLink) : String.Empty }; _contentHolder.Controls.Add(emptyScreenControl); } else { _contentHolder.Controls.Add(new Literal { Text = sb.ToString() }); } } }