PutCommandExecutor.java
package cn.bluejoe.elfinder.controller.executors;
import java.io.OutputStream;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.IOUtils;
import org.json.JSONObject;
import cn.bluejoe.elfinder.controller.executor.AbstractJsonCommandExecutor;
import cn.bluejoe.elfinder.controller.executor.FsItemEx;
import cn.bluejoe.elfinder.service.FsService;
import sk.iway.iwcm.Identity;
import sk.iway.iwcm.i18n.Prop;
import sk.iway.iwcm.users.UsersDB;
public class PutCommandExecutor extends AbstractJsonCommandExecutor
{
@Override
public void execute(FsService fsService, HttpServletRequest request, ServletContext servletContext, JSONObject json)
throws Exception
{
String target = request.getParameter("target");
FsItemEx fsi = super.findItem(fsService, target);
Prop prop = Prop.getInstance(request);
Identity user = sk.iway.iwcm.system.elfinder.FsService.getCurrentUser();
if (user!=null && UsersDB.isFolderWritable(user.getWritableFolders(), fsi.getParent().getPath()))
{
//skus odhadnut encoding
String content = request.getParameter("content");
String encoding = GetCommandExecutor.getEncoding(fsi, content);
OutputStream os = fsi.openOutputStream();
IOUtils.write(content, os, encoding);
os.close();
json.put("changed", new Object[] { super.getFsItemInfo(request, fsi) });
}
else
{
json.put("error", prop.getText("components.elfinder.commands.put.error", fsi.getParent().getPath()));
}
}
}