use of app.hongs.action.anno.Action in project HongsCORE by ihongs.
the class FileAction method delete.
@Override
@Action("delete")
public void delete(ActionHelper helper) throws HongsException {
CoreLocale lang = CoreLocale.getInstance("manage");
Set<String> list = Synt.asSet(helper.getRequestData().get("path"));
if (list == null || list.isEmpty()) {
helper.fault(lang.translate("core.manage.file.path.required"));
return;
}
for (String path : list) {
File file;
if (path == null) {
helper.fault(lang.translate("core.manage.file.path.required"));
return;
}
path = realPath(path);
if (path == null) {
helper.fault(lang.translate("core.manage.file.path.is.error"));
return;
}
file = new File(path);
if (!file.exists()) {
helper.fault(lang.translate("core.manage.file.path.is.not.exist"));
return;
}
if (isDenyDire(file)) {
helper.fault(lang.translate("core.manage.file.path.is.not.empty"));
return;
}
if (isDenyFile(file)) {
helper.fault(lang.translate("core.manage.file.interdicted"));
return;
}
if (!file.delete()) {
helper.fault(lang.translate("core.manage.file.delete.failed"));
return;
}
}
helper.reply("");
}
use of app.hongs.action.anno.Action in project HongsCORE by ihongs.
the class InfoAction method search.
@Action("search")
public void search(ActionHelper helper) throws HongsException {
Map rsp = new HashMap();
Map req = helper.getRequestData();
long now = System.currentTimeMillis();
Set rb = Synt.toTerms(req.get("rb"));
// 当前时间
rsp.put("now_msec", now);
// 应用信息
if (rb == null || rb.contains("app_info")) {
Map app = new HashMap();
rsp.put("app_info", app);
long tim = Core.STARTS_TIME;
app.put("server_id", Core.SERVER_ID);
app.put("base_href", Core.BASE_HREF);
app.put("base_path", Core.BASE_PATH);
app.put("open_time", tim);
app.put("live_time", Tool.humanTime(now - tim));
}
// 系统信息
if (rb == null || rb.contains("sys_info")) {
Map inf = new HashMap();
rsp.put("sys_info", inf);
Properties pps = System.getProperties();
inf.put("name", pps.getProperty("os.name"));
inf.put("arch", pps.getProperty("os.arch"));
inf.put("vers", pps.getProperty("os.version"));
inf.put("user", pps.getProperty("user.name"));
inf.put("java", pps.getProperty("java.version"));
try {
InetAddress hst = InetAddress.getLocalHost();
inf.put("addr", hst.getHostAddress());
inf.put("host", hst.getHostName());
} catch (UnknownHostException e) {
// Nothing todo.
}
}
// 运行信息
if (rb == null || rb.contains("run_info")) {
OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean();
MemoryMXBean mm = ManagementFactory.getMemoryMXBean();
MemoryUsage nm = mm.getNonHeapMemoryUsage();
MemoryUsage hm = mm.getHeapMemoryUsage();
Runtime rt = Runtime.getRuntime();
double avg = os.getSystemLoadAverage();
long siz = rt.totalMemory();
long fre = rt.freeMemory();
long max = rt.maxMemory();
long stk = nm.getUsed();
long use = hm.getUsed();
Map inf = new HashMap();
rsp.put("run_info", inf);
inf.put("load", new Object[] { avg, String.valueOf(avg), "负载" });
inf.put("size", new Object[] { siz, Tool.humanSize(max), "全部" });
inf.put("free", new Object[] { fre, Tool.humanSize(fre), "空闲" });
inf.put("dist", new Object[] { max, Tool.humanSize(fre), "可用" });
inf.put("used", new Object[] { use, Tool.humanSize(use), "已用" });
inf.put("uses", new Object[] { stk, Tool.humanSize(stk), "非堆" });
}
// 磁盘情况
if (rb == null || rb.contains("dir_info")) {
rsp.put("base_dir", getAllSize(new File(Core.BASE_PATH)));
rsp.put("data_dir", getAllSize(new File(Core.DATA_PATH)));
rsp.put("conf_dir", getAllSize(new File(Core.CONF_PATH)));
rsp.put("core_dir", getAllSize(new File(Core.CORE_PATH)));
}
/**
* 公共核心情况和锁情况
*/
if (rb != null && rb.contains("core_info")) {
rsp.put("core_set", Core.GLOBAL_CORE.keySet());
}
if (rb != null && rb.contains("lock_info")) {
rsp.put("lock_map", app.hongs.util.Block.counts());
}
helper.reply("", rsp);
}
use of app.hongs.action.anno.Action in project HongsCORE by ihongs.
the class CaptAction method create.
@Action("create")
public void create(ActionHelper helper) throws HongsException, IOException {
int h = Synt.declare(helper.getParameter("h"), 40);
String b = Synt.declare(helper.getParameter("b"), "");
String f = Synt.declare(helper.getParameter("f"), "");
String e = Synt.declare(helper.getParameter("e"), "png");
Capts vc = Capts.captcha(h, b, f, e);
// 设置会话
String ss = CoreConfig.getInstance().getProperty("core.capt.session", "capt");
helper.setSessibute(ss + "_code", /**/
vc.getCode());
helper.setSessibute(ss + "_time", System.currentTimeMillis());
// 禁止缓存
helper.getResponse().setContentType("image/" + e);
helper.getResponse().setDateHeader("Expires", 0);
helper.getResponse().setHeader("Pragma", "no-cache");
helper.getResponse().setHeader("Cache-Control", "no-cache");
vc.write(e, helper.getResponse().getOutputStream());
}
use of app.hongs.action.anno.Action in project HongsCORE by ihongs.
the class MineAction method mineUpdate.
@Action("update")
@Verify(conf = "master", form = "mine", type = 1, trim = 1)
public void mineUpdate(ActionHelper ah) throws HongsException {
Map rd = ah.getRequestData();
String id = (String) ah.getSessibute(Cnst.UID_SES);
// 禁止危险修改
rd.put("id", id);
rd.remove("roles");
rd.remove("rtime");
rd.remove("mtime");
rd.remove("ctime");
rd.remove("state");
// 验证原始密码
String pw = (String) rd.get("password");
String po = (String) rd.get("passolde");
if (pw != null && !"".equals(pw)) {
Map xd = new HashMap();
Map ed = new HashMap();
xd.put("errs", ed);
xd.put("ok", false);
xd.put("msg", CoreLocale.getInstance().translate("fore.form.invalid"));
if (po != null && !"".equals(po)) {
Map row = DB.getInstance("master").getTable("user").fetchCase().filter("id = ?", id).select("password").one();
po = AuthKit.getCrypt(po);
if (!po.equals(row.get("password"))) {
ed.put("passolde", "旧密码不正确");
ah.reply(xd);
return;
}
} else {
ed.put("passolde", "请填写旧密码");
ah.reply(xd);
return;
}
}
UserAction ua = new UserAction();
ua.doSave(ah);
}
use of app.hongs.action.anno.Action in project HongsCORE by ihongs.
the class SignAction method signDelete.
/**
* 登出
* 此动作可以清除会话数据
* @param ah
* @throws HongsException
*/
@Action("delete")
public void signDelete(ActionHelper ah) throws HongsException {
HttpSession ss = ah.getRequest().getSession(false);
if (null == ss) {
ah.reply(AuthKit.getWrong(null, "core.sign.phase.invalid"));
return;
}
AuthKit.signOut(ss);
ah.reply("");
}
Aggregations