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)
{
}
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}")
As you can see you have to pass the list GUID as listName.
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