String componentEditorUrl = CmsPropertyHandler.getComponentEditorUrl();
String componentRendererUrl = CmsPropertyHandler.getComponentRendererUrl();
ContentVO metaInfoContentVO = getPageMetaInfoContentVO(db, siteNodeId, languageId, contentId, principal);
LanguageVO masterLanguageVO = LanguageDeliveryController.getLanguageDeliveryController().getMasterLanguageForSiteNode(db, siteNodeId);
String pageComponentsString = getPageComponentsString(db, siteNodeId, languageId, contentId, principal);
if(pageComponentsString != null && pageComponentsString.length() != 0)
{
Document document = domBuilder.getDocument(pageComponentsString);
List pageComponents = getPageComponents(db, pageComponentsString, document.getRootElement(), "base", null, null, siteNodeId, languageId, principal);
InfoGlueComponent component = (InfoGlueComponent)pageComponents.get(0);
if(!component.getId().equals(componentId))
component = getComponentWithId(component, componentId);
boolean hasAccessToAccessRights = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.ChangeSlotAccess", "");
boolean hasAccessToAddComponent = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.AddComponent", "" + (component.getParentComponent() == null ? component.getContentId() : component.getParentComponent().getContentId()) + "_" + component.getSlotName());
boolean hasAccessToDeleteComponent = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.DeleteComponent", "" + (component.getParentComponent() == null ? component.getContentId() : component.getParentComponent().getContentId()) + "_" + component.getSlotName());
boolean hasAccessToChangeComponent = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.ChangeComponent", "" + (component.getParentComponent() == null ? component.getContentId() : component.getParentComponent().getContentId()) + "_" + component.getSlotName());
boolean hasSaveTemplateAccess = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "StructureTool.SaveTemplate", "");
boolean hasSavePagePartTemplateAccess = hasSaveTemplateAccess;
if(slotClicked != null && slotClicked.equalsIgnoreCase("true"))
hasAccessToAddComponent = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.AddComponent", "" + component.getContentId() + "_" + slotId);
boolean hasSubmitToPublishAccess = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.SubmitToPublish", "");
boolean hasPageStructureAccess = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.PageStructure", "");
boolean hasOpenInNewWindowAccess = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.OpenInNewWindow", "");
boolean hasViewSourceAccess = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.ViewSource", "");
boolean hasMySettingsAccess = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.MySettings", "");
boolean showNotifyUserOfPage = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.NotifyUserOfPage", "");
boolean showContentNotifications = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.ContentNotifications", "");
boolean showPageNotifications = AccessRightController.getController().getIsPrincipalAuthorized(db, principal, "ComponentEditor.PageNotifications", "");
boolean hasMaxComponents = false;
if(component.getParentComponent() != null && component.getParentComponent().getSlotList() != null)
{
Iterator slotListIterator = component.getParentComponent().getSlotList().iterator();
while(slotListIterator.hasNext())
{
Slot slot = (Slot)slotListIterator.next();
if(slot.getId().equalsIgnoreCase(slotName))
{
if(slot.getAllowedNumberOfComponents() != -1 && slot.getComponents().size() >= slot.getAllowedNumberOfComponents())
{
hasMaxComponents = true;
}
}
}
}
if(component.getContainerSlot() != null && component.getContainerSlot().getDisableAccessControl())
{
hasAccessToAddComponent = true;
hasAccessToDeleteComponent = true;
}
if(hasMaxComponents)
hasAccessToAddComponent = false;
if(component.getIsInherited())
{
StringBuilder sb2 = new StringBuilder();
return sb2.toString();
}
sb.append("<div id=\"componentMenu\" class=\"skin0 editOnSightMenuDiv\">");
Document componentTasksDocument = getComponentTasksDOM4JDocument(masterLanguageVO.getId(), metaInfoContentVO.getId(), db);
Collection componentTasks = getComponentTasks(componentId, componentTasksDocument);
int taskIndex = 0;
Iterator componentTasksIterator = componentTasks.iterator();
while(componentTasksIterator.hasNext())