SharePoint 2007 (MOSS/WSS) - how to remove "Download a Copy" context menu from a Document Library

SharePoint 2007 (MOSS/WSS) - how to remove "Download a Copy" context menu from a Document Library

  • Comments 10

One of my friend and colleague asked me this question. I found it tricky and a good post for my blog. Here is what you have to do:

Go to your 12 hive\TEMPLATE\LAYOUTS\1033 folder. Open up the Core.js file. Find the function AddSendSubMenu. Go to the last 3 lines:

           

strAction = "STSNavigate('" + ctx.HttpRoot + "/_layouts/download.aspx?" + "SourceUrl=" + currentItemEscapedFileUrl + "&Source=" + GetSource() + "&FldUrl=" + escapeProperly(ctx.SendToLocationUrl) + "')"; ;

            menuOption = CAMOpt(sm, L_DownloadACopy_Text, strAction, "");

            menuOption.id = "ID_DownloadACopy";

 

Now if you want to remove "Download a Copy" option from all the document libraries then comment all three lines.

If you want to remove it for some custom List Definition that you have created you may do like:

if(ctx.listTemplate !=10001)

{

           

strAction = "STSNavigate('" + ctx.HttpRoot + "/_layouts/download.aspx?" + "SourceUrl=" + currentItemEscapedFileUrl + "&Source=" + GetSource() + "&FldUrl=" + escapeProperly(ctx.SendToLocationUrl) + "')"; ;

            menuOption = CAMOpt(sm, L_DownloadACopy_Text, strAction, "");

            menuOption.id = "ID_DownloadACopy";

}

 

Where 10001 was your custom list template id.

 

If you want to do it for a specific Document Library then you would do like this:

 

if(ctx.listName !="{28958B49-8C76-4987-815C-CF5A107FF522}")

{

           

strAction = "STSNavigate('" + ctx.HttpRoot + "/_layouts/download.aspx?" + "SourceUrl=" + currentItemEscapedFileUrl + "&Source=" + GetSource() + "&FldUrl=" + escapeProperly(ctx.SendToLocationUrl) + "')"; ;

            menuOption = CAMOpt(sm, L_DownloadACopy_Text, strAction, "");

            menuOption.id = "ID_DownloadACopy";

}

  

As you can see you have to pass the list GUID as listName.

Leave a Comment
  • Please add 6 and 2 and type the answer here:
  • Post
  • Hot links - 1st Week of December 2008

  • Hey pranab.. Nice article...but i need smthing more. i need to implement audience targeting in context menus...

    I need different users to view different items in the context menu depending on the permissions they have. Can u please tell me if it is possible...

  • Esta es una nueva serie de recopilacion de articulos interesantes sobre la plataforma, donde tratare

  • Remove send TO from the item menu

  • Thanks for the info,

    it helped me very much.

    I changed the core.js and added an IF to check for the list name.

    Linked to this article in my blog post:

    http://www.dailycode.net/blog/post/Remove-send-TO-from-the-item-menu.aspx

  • What happens if the core.js is erase due to a Sharepoint pack !!??

  • God question Jo.

    This is not supported way to modified context menu.

  • You should carefully control all the unsupported changes made to your SharePoint installation. When installing a pack, you should check these changes always. It is not always possible to change SharePoint the way you like in a supported way, yet is is the best way to make changes obviously.

  • Thank you.

    I have an issue with escapeProperly function.

    When I pass a string containing %2F (character for '?') to this function, it does not escape it.

    It returns a string with %2F instead of replacing with ?.

    Can you think of a solution?

    Thanks

    Ravi

  • Actually I would like to know whether any event handlers are there related to 'Download a Copy' option

Page 1 of 1 (10 items)