Example #1
0
    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;
    }
Example #2
0
	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;

	}