public bool DeletePhoto() { bool results = false; string url = MakeLink(Parameters.Get<string>("UrlTemplateAlbum", BXConfigurationUtility.Constants.ErrorHref), AlbumId); if (PhotoId > 0) { if ( IsForumInstalled && Parameters.GetBool("EnableComments",false)) { // have to delete comments var c = new IncludeComponent("bitrix:forum.comment.block", "blog_comments"); c.Attributes["ForumId"] = Component.Parameters.GetString("CommentForumId", "0"); c.Attributes["IdentityPropertyName"] = Component.Parameters.GetString("CommentStoragePropertyName"); c.Attributes["IdentityPropertyValue"] = PhotoId.ToString(); c.Attributes["PostOperation"] = "DeleteAll"; Page.Controls.Add(c); } BXIBlockElement.Delete(PhotoId); results = true; } if (Parameters.Get<bool>("EnableAjax", false) && !IsComponentDesignMode) { string script = string.Format("setTimeout(\"PageTransfer('{0}');\",0);", url); ScriptManager.RegisterStartupScript(Page, typeof(Page), "AJAX_BUTTON_CLICK", script, true); } else if(errorMessage == String.Empty) Response.Redirect(url); return results; }
public override bool ProcessCommand(string commandName, BXParamsBag<object> commandParameters, List<string> commandErrors) { string url; if ( commandName.Equals("delete",StringComparison.OrdinalIgnoreCase)){ int delAlbumId = commandParameters.GetInt("AlbumId", AlbumId); int parentAlbumId = 0; try { parentAlbumId = BXIBlockSection.GetById(delAlbumId).SectionId; BXIBlockSection.Delete(delAlbumId); } catch (Exception ex) { errorMessage = GetMessage("Error.FailedToDeleteAlbum"); } if (EnableSef) { if (parentAlbumId > 0) { Results["AlbumId"] = parentAlbumId; url = MakeLink(Parameters.Get<string>("SefFolder"), Parameters.Get<string>("Sef_Album"), Results); } else { url = MakeLink(Parameters.Get<string>("SefFolder"), string.Empty, Results); } } else { if (parentAlbumId > 0) { url = string.Format("{0}?{1}={2}", Request.Path, Parameters.Get<string>("ParamAlbum", "Album"), parentAlbumId); } else { url = Request.Path; } } if (errorMessage == String.Empty) { if (Parameters.Get("EnableAjax", false) && !IsComponentDesignMode) { string script = string.Format("setTimeout(\"PageTransfer('{0}');\",1);", url); ScriptManager.RegisterStartupScript(Page, typeof(Page), "AJAX_BUTTON_CLICK", script, true); } else Response.Redirect(url); return true; } } else if (commandName.Equals("deletephotos", StringComparison.OrdinalIgnoreCase)) { var photos = commandParameters.Get<List<int>>("photoIds", new List<int>()); foreach (var id in photos) { BXIBlockElement photo = null; try { photo = BXIBlockElement.GetById(id); if (photo != null) photo.Delete(); } catch (Exception ex2) { commandErrors.Add(GetMessage("UnableToDeletePhoto") + (photo != null ? " " + photo.Name : "")); } } if (BXModuleManager.IsModuleInstalled("forum") && EnableComments)// have to delete comments for all photos { var c = new IncludeComponent("bitrix:forum.comment.block", "blog_comments"); c.Attributes["ForumId"] = Component.Parameters.GetString("CommentForumId", "0"); c.Attributes["IdentityPropertyName"] = Component.Parameters.GetString("CommentStoragePropertyName"); c.Attributes["IdentityPropertyValue"] = photos[0].ToString();//required by design c.Attributes["PostOperation"] = "DeleteCommentsForEntityList"; c.Attributes["EntityList"] = BXStringUtility.ListToCsv(photos.ConvertAll(x => x.ToString())); CommentsDeletePlaceHolder.Controls.Add(c); } if (EnableSef) { if (AlbumId > 0) { Results["AlbumId"] = AlbumId; url = MakeLink(Parameters.Get<string>("SefFolder"), Parameters.Get<string>("Sef_Album"), Results); } else { url = MakeLink(Parameters.Get<string>("SefFolder"), string.Empty, Results); } } else { NameValueCollection pars = HttpUtility.ParseQueryString(Request.Url.Query); pars.Remove("target"); pars.Remove("ValidationToken"); pars.Remove("del"); url = string.Format("{0}?{1}", Request.Path, pars.ToString()); } Response.Redirect(url); } return false; }