HTMLPage htmlPage = (HTMLPage) InodeFactory.getInode(req.getParameter("htmlPage"), HTMLPage.class);
Identifier identifier = APILocator.getIdentifierAPI().find(htmlPage);
//gets the current working asset
WebAsset workingHTMLPage = (WebAsset) APILocator.getVersionableAPI().findWorkingVersion(identifier,APILocator.getUserAPI().getSystemUser(),false);
if ("unlockHTMLPage".equals(subcmd)) {
WebAssetFactory.unLockAsset(workingHTMLPage);
}
if (workingHTMLPage.isLocked() && !workingHTMLPage.getModUser().equals(user.getUserId())) {
req.setAttribute(WebKeys.HTMLPAGE_EDIT, workingHTMLPage);
setForward(req,"portlet.ext.director.unlock_htmlpage");
return;
}
else if (workingHTMLPage.isLocked()) {
//it's locked by the same user
WebAssetFactory.unLockAsset(workingHTMLPage);
}
java.util.Map params = new java.util.HashMap();
params.put("struts_action",new String[] {"/ext/htmlpages/edit_htmlpage"});
params.put("cmd",new String[] { "edit" });
params.put("inode",new String[] { workingHTMLPage.getInode() + "" });
params.put("referer",new String[] {UtilMethods.encodeURL(referer)});
String af = com.dotmarketing.util.PortletURLUtil.getActionURL(httpReq,WindowState.MAXIMIZED.toString(),params);
_sendToReferral(req, res, af);
return;
}
if (cmd!=null && cmd.equals("viewStatistics")) {
Logger.debug(DirectorAction.class, "Director :: editHTMLPage");
HTMLPage htmlPage = (HTMLPage) InodeFactory.getInode(req.getParameter("htmlPage"), HTMLPage.class);
java.util.Map params = new java.util.HashMap();
params.put("struts_action",new String[] {"/ext/htmlpageviews/view_htmlpage_views"});
params.put("htmlpage",new String[] { htmlPage.getInode() + "" });
params.put("referer",new String[] { referer });
String af = com.dotmarketing.util.PortletURLUtil.getRenderURL(httpReq,WindowState.MAXIMIZED.toString(),params);
_sendToReferral(req, res, af);
return;
}
if (cmd!=null && cmd.equals("editFile")) {
Logger.debug(DirectorAction.class, "Director :: editFile");
String fileAssetInode = "";
if(UtilMethods.isSet(req.getParameter("file")))
fileAssetInode = req.getParameter("file");
else
return;
Identifier identifier = APILocator.getIdentifierAPI().findFromInode(fileAssetInode);
if(identifier.getAssetType().equals("contentlet")){
try {
Contentlet cont = APILocator.getContentletAPI().find(fileAssetInode, user, false);
java.util.Map params = new java.util.HashMap();
params.put("struts_action",new String[] {"/ext/contentlet/edit_contentlet"});
params.put("cmd",new String[] { "edit" });
params.put("inode",new String[] { cont.getInode() + "" });
params.put("referer",new String[] { referer });
String af = com.dotmarketing.util.PortletURLUtil.getActionURL(httpReq,WindowState.MAXIMIZED.toString(),params);
_sendToReferral(req, res, af);
} catch (DotSecurityException e) {
Logger.error(this, e.getMessage());
return;
}
}else{
try {
//gets the current working asset
WebAsset workingFile = (WebAsset) APILocator.getVersionableAPI().findWorkingVersion(identifier,APILocator.getUserAPI().getSystemUser(),false);
if ("unlockFile".equals(subcmd)) {
WebAssetFactory.unLockAsset(workingFile);
}
if (workingFile.isLocked() && !workingFile.getModUser().equals(user.getUserId())) {
req.setAttribute(WebKeys.FILE_EDIT, workingFile);
setForward(req,"portlet.ext.director.unlock_file");
return;
}
else if (workingFile.isLocked()) {
//it's locked by the same user
WebAssetFactory.unLockAsset(workingFile);
}
java.util.Map params = new java.util.HashMap();
params.put("struts_action",new String[] {"/ext/files/edit_file"});
params.put("cmd",new String[] { "edit" });
params.put("inode",new String[] { workingFile.getInode() + "" });
params.put("referer",new String[] { referer });
String af = com.dotmarketing.util.PortletURLUtil.getActionURL(httpReq,WindowState.MAXIMIZED.toString(),params);
_sendToReferral(req, res, af);
} catch (DotStateException e) {
Logger.error(this, e.getMessage());
return;
} catch (DotSecurityException e) {
Logger.error(this, e.getMessage());
return;
}
}
return;
}
if (cmd!=null && cmd.equals("editTemplate")) {
Logger.debug(DirectorAction.class, "Director :: editTemplate");
HTMLPage htmlPage = new HTMLPage();
WebAsset workingTemplate = new Template();
if (req.getParameter("htmlPage")!=null) {
htmlPage = (HTMLPage) InodeFactory.getInode(req.getParameter("htmlPage"), HTMLPage.class);
workingTemplate = HTMLPageFactory.getHTMLPageTemplate(htmlPage, true);
} else if (req.getParameter("template")!=null) {
workingTemplate = (Template) InodeFactory.getInode(req.getParameter("template"), Template.class);
}
if ("unlockTemplate".equals(subcmd)) {
WebAssetFactory.unLockAsset(workingTemplate);
}
if (workingTemplate.isLocked() && !workingTemplate.getModUser().equals(user.getUserId())) {
req.setAttribute(WebKeys.HTMLPAGE_EDIT, htmlPage);
req.setAttribute(WebKeys.TEMPLATE_EDIT, workingTemplate);
setForward(req,"portlet.ext.director.unlock_template");
return;
}
else if (workingTemplate.isLocked()) {
//it's locked by the same user
WebAssetFactory.unLockAsset(workingTemplate);
}
java.util.Map params = new java.util.HashMap();
params.put("struts_action",new String[] {"/ext/templates/edit_template"});
params.put("cmd",new String[] { "edit" });
params.put("inode",new String[] { workingTemplate.getInode() + "" });
params.put("referer",new String[] { referer });
String af = com.dotmarketing.util.PortletURLUtil.getActionURL(httpReq,WindowState.MAXIMIZED.toString(),params);
_sendToReferral(req, res, af);
return;
}
if (cmd!=null && cmd.equals("publishHTMLPage")) {
Logger.debug(DirectorAction.class, "Director :: publishHTMLPage");
HTMLPage htmlPage = (HTMLPage) InodeFactory.getInode(req.getParameter("htmlPage"), HTMLPage.class);
java.util.Map params = new java.util.HashMap();
params.put("struts_action",new String[] {"/ext/htmlpages/publish_htmlpages"});
params.put("cmd",new String[] { "prepublish" });
params.put("publishInode",new String[] { htmlPage.getInode() + "" });
params.put("referer",new String[] { referer });
String af = com.dotmarketing.util.PortletURLUtil.getActionURL(httpReq,WindowState.MAXIMIZED.toString(),params);
_sendToReferral(req, res, af);
return;
}
if (cmd!=null && cmd.equals("editContainer")) {
Logger.debug(DirectorAction.class, "Director :: editContainer" + subcmd);
Container container = (Container) InodeFactory.getInode(req.getParameter("container"), Container.class);
Identifier identifier = APILocator.getIdentifierAPI().find(container);
//gets the current working asset
WebAsset workingContainer = (WebAsset) APILocator.getVersionableAPI().findWorkingVersion(identifier,APILocator.getUserAPI().getSystemUser(),false);
if ("unlockContainer".equals(subcmd)) {
WebAssetFactory.unLockAsset(workingContainer);
}
if (workingContainer.isLocked() && !workingContainer.getModUser().equals(user.getUserId())) {
req.setAttribute(WebKeys.CONTAINER_EDIT, workingContainer);
setForward(req,"portlet.ext.director.unlock_container");
return;
}
else if (workingContainer.isLocked()) {
//it's locked by the same user
WebAssetFactory.unLockAsset(workingContainer);
}
java.util.Map params = new java.util.HashMap();
params.put("struts_action",new String[] {"/ext/containers/edit_container"});
params.put("cmd",new String[] { "edit" });
params.put("inode",new String[] { workingContainer.getInode() + "" });
params.put("referer",new String[] { referer });
String af = com.dotmarketing.util.PortletURLUtil.getActionURL(httpReq,WindowState.MAXIMIZED.toString(),params);
_sendToReferral(req, res, af);
return;
}
if (cmd!=null && cmd.equals("editLink")) {
Logger.debug(DirectorAction.class, "Director :: editLink");
String popup = req.getParameter("popup");
Link link = (Link) InodeFactory.getInode(req.getParameter("link"), Link.class);
Identifier identifier = APILocator.getIdentifierAPI().find(link);
//gets the current working asset
WebAsset workingLink = (WebAsset) APILocator.getVersionableAPI().findWorkingVersion(identifier,APILocator.getUserAPI().getSystemUser(),false);
if ("unlockLink".equals(subcmd)) {
WebAssetFactory.unLockAsset(workingLink);
}
if (workingLink.isLocked() && !workingLink.getModUser().equals(user.getUserId())) {
req.setAttribute(WebKeys.LINK_EDIT, workingLink);
if (UtilMethods.isSet(popup)) {
Logger.debug(DirectorAction.class, "Going to SIX I have popup!!!!!!!!!!!!!!!!");
setForward(req,"portlet.ext.director.unlock_popup_link");
return;
}
else {
Logger.debug(DirectorAction.class, "Going to FIVE I dont have popup!!!!!!!!!!!!!!!!");
setForward(req,"portlet.ext.director.unlock_link");
return;
}
}
else if (workingLink.isLocked()) {
//it's locked by the same user
WebAssetFactory.unLockAsset(workingLink);
}
String popURL = "";
if (UtilMethods.isSet(popup)){
popURL = "_popup";
}
java.util.Map params = new java.util.HashMap();
params.put("struts_action",new String[] {"/ext/links/edit_link"});
params.put("cmd",new String[] { "edit" });
params.put("inode",new String[] { workingLink.getInode() + "" });
params.put("popup",new String[] { popup });
params.put("referer",new String[] { referer });
params.put("child", new String[] { (req.getParameter("child")!=null) ? req.getParameter("child") : "" });
params.put("page_width", new String[] { (req.getParameter("page_width")!=null) ? req.getParameter("page_width") : ""});
params.put("browse", new String[] { (req.getParameter("browse")!=null) ? req.getParameter("browse") : "" });