📄 cmsadminpicgalleries.java
字号:
// set the access rights for 'other' users
if(read != ((flag & C_ACCESS_PUBLIC_READ) != 0)) {
flag ^= C_ACCESS_PUBLIC_READ;
}
if(write != ((flag & C_ACCESS_PUBLIC_WRITE) != 0)) {
flag ^= C_ACCESS_PUBLIC_WRITE;
}
if((flag & C_ACCESS_GROUP_READ) == 0){
flag ^= C_ACCESS_GROUP_READ;
}
if((flag & C_ACCESS_GROUP_WRITE) == 0){
flag ^= C_ACCESS_GROUP_WRITE;
}
if((flag & C_ACCESS_GROUP_VISIBLE) == 0){
flag ^= C_ACCESS_GROUP_VISIBLE;
}
if((flag & C_PERMISSION_READ ) == 0){
flag ^= C_PERMISSION_READ;
}
if((flag & C_PERMISSION_WRITE) == 0){
flag ^= C_PERMISSION_WRITE;
}
if((flag & C_PERMISSION_VIEW) == 0){
flag ^= C_PERMISSION_VIEW;
}
if((flag & C_ACCESS_PUBLIC_VISIBLE) == 0){
flag ^= C_ACCESS_PUBLIC_VISIBLE;
}
cms.chmod(cms.readAbsolutePath(folder), flag);
*/
cms.unlockResource(cms.getSitePath(folder));
}
catch(CmsException ex) {
xmlTemplateDocument.setData("ERRORDETAILS", CmsException.getStackTraceAsString(ex));
templateSelector = "error";
}
}
else {
templateSelector = "datamissing";
}
}
else {
if("upload".equals(action)) {
// get filename and file content if available
String filename = null;
byte[] filecontent = new byte[0];
// get the filename
Enumeration files = CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getFileNames();
while(files.hasMoreElements()) {
filename = (String)files.nextElement();
}
if(filename != null) {
session.putValue(CmsWorkplaceDefault.C_PARA_RESOURCE, filename);
}
filename = (String)session.getValue(CmsWorkplaceDefault.C_PARA_RESOURCE);
// get the filecontent
if(filename != null) {
filecontent = CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getFile(filename);
}
if(filecontent != null) {
session.putValue(CmsWorkplaceDefault.C_PARA_FILECONTENT, filecontent);
}
filecontent = (byte[])session.getValue(CmsWorkplaceDefault.C_PARA_FILECONTENT);
if("0".equals(step)) {
templateSelector = "";
}
else {
if("1".equals(step)) {
// display the select filetype screen
if(filename != null) {
// check if the file size is 0
if(filecontent.length == 0) {
templateSelector = "error";
xmlTemplateDocument.setData("details", filename);
}
// check if the file size is larger than the maximum allowed upload size
else if ((maxFileSize > 0) && (filecontent.length > (maxFileSize * 1024))) {
templateSelector = "errorfilesize";
xmlTemplateDocument.setData("details", filename+": "+(filecontent.length/1024)+" kb, max. "+maxFileSize+" kb.");
}
else {
if(unzip != null) {
// try to unzip the file here ...
CmsImportFolder zip = new CmsImportFolder(
filecontent, foldername, cms, true);
if( zip.isValidZipFile() ) {
// remove the values form the session
session.removeValue(CmsWorkplaceDefault.C_PARA_RESOURCE);
session.removeValue(CmsWorkplaceDefault.C_PARA_FILECONTENT);
session.removeValue(CmsWorkplaceDefault.C_PARA_NEWTYPE);
session.removeValue("unzip");
// return to the filelist
try {
if((lasturl != null) && (lasturl != "")) {
CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).sendRedirect(lasturl);
}
else {
CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).sendCmsRedirect(
getConfigFile(cms).getWorkplaceActionPath() + CmsWorkplaceAction.getExplorerFileUri(CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getOriginalRequest()));
}
} catch(Exception ex) {
throw new CmsLegacyException(
"Redirect fails :" + getConfigFile(cms).getWorkplaceActionPath()
+ CmsWorkplaceAction.getExplorerFileUri(CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getOriginalRequest()), ex);
}
return null;
}
} // else, zip was not valid, so continue ...
xmlTemplateDocument.setData("MIME", filename);
xmlTemplateDocument.setData("SIZE", "Not yet available");
xmlTemplateDocument.setData("FILESIZE",
new Integer(filecontent.length).toString() + " Bytes");
xmlTemplateDocument.setData("FILENAME", filename);
xmlTemplateDocument.setData("IMAGEDESCRIPTION",imagedescription);
templateSelector = "step1";
}
}
}
else {
if("2".equals(step)) {
// check if a new filename is given
if(newname != null) {
filename = newname;
}
try {
CmsFile file = (CmsFile)cms.createResource(foldername + filename, CmsResourceTypeImage.getStaticTypeId(), filecontent, null);
if(title != null) {
String filepath = cms.getSitePath(file);
cms.writeProperty(filepath, CmsPropertyDefinition.PROPERTY_TITLE, title);
}
if(imagedescription != null) {
String filepath = cms.getSitePath(file);
cms.writeProperty(filepath, CmsPropertyDefinition.PROPERTY_DESCRIPTION, imagedescription);
}
}
catch(CmsException ex) {
xmlTemplateDocument.setData("details", CmsException.getStackTraceAsString(ex));
templateSelector = "error";
xmlTemplateDocument.setData("link_value", foldername);
xmlTemplateDocument.setData("lasturl", lasturl);
return startProcessing(cms, xmlTemplateDocument, elementName,
parameters, templateSelector);
}
try {
CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).sendRedirect(lasturl);
}
catch(Exception ex) {
throw new CmsLegacyException("Redirect fails :" + getConfigFile(cms).getWorkplaceActionPath() +
lasturl, ex);
}
return null;
}
}
}
}
}
xmlTemplateDocument.setData("link_value", foldername);
xmlTemplateDocument.setData("lasturl", lasturl);
xmlTemplateDocument.setData("galleryRootFolder", CmsWorkplaceDefault.C_VFS_GALLERY_PICS);
// Finally start the processing
return startProcessing(cms, xmlTemplateDocument, elementName, parameters,
templateSelector);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -