From 2ef880b621807bfaba1313ce763531149a6a4ac6 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Sat, 23 Jun 2001 00:51:18 +0000 Subject: [PATCH] Added menu and chksyspass methods. --- src/sbbs3/js_bbs.cpp | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp index 1921616665..8a9e55f4a1 100644 --- a/src/sbbs3/js_bbs.cpp +++ b/src/sbbs3/js_bbs.cpp @@ -283,7 +283,7 @@ static struct JSPropertySpec js_bbs_properties[] = { { "new_file_time" ,BBS_PROP_NS_TIME ,JSPROP_ENUMERATE ,NULL,NULL}, { "last_new_file_time",BBS_PROP_LAST_NS_TIME ,JSPROP_ENUMERATE ,NULL,NULL}, { "online" ,BBS_PROP_ONLINE ,JSPROP_ENUMERATE ,NULL,NULL}, - { "timeleft" ,BBS_PROP_TIMELEFT ,JSPROP_ENUMERATE ,NULL,NULL}, + { "time_left" ,BBS_PROP_TIMELEFT ,JSPROP_ENUMERATE ,NULL,NULL}, { "node_num" ,BBS_PROP_NODE_NUM ,BBS_PROP_READONLY ,NULL,NULL}, { "node_settings" ,BBS_PROP_NODE_MISC ,JSPROP_ENUMERATE ,NULL,NULL}, { "node_val_user" ,BBS_PROP_NODE_VAL_USER ,JSPROP_ENUMERATE ,NULL,NULL}, @@ -309,6 +309,24 @@ static struct JSPropertySpec js_bbs_properties[] = { /* bbs Object Methods */ /**************************/ +static JSBool +js_menu(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + JSString* str; + sbbs_t* sbbs; + + if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) + return(JS_FALSE); + + str = JS_ValueToString(cx, argv[0]); + if (!str) + return(JS_FALSE); + + sbbs->menu(JS_GetStringBytes(str)); + + return(JS_TRUE); +} + static JSBool js_hangup(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { @@ -396,12 +414,26 @@ js_user_event(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval return(JS_TRUE); } +static JSBool +js_chksyspass(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + sbbs_t* sbbs; + + if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) + return(JS_FALSE); + + *rval = BOOLEAN_TO_JSVAL(sbbs->chksyspass()); + + return(JS_TRUE); +} static JSFunctionSpec js_bbs_functions[] = { + {"menu", js_menu, 1}, // show menu {"hangup", js_hangup, 0}, // hangup immediately {"exec", js_exec, 2}, // execute command line with mode {"exec_xtrn", js_exec_xtrn, 1}, // execute external program by code {"user_event", js_user_event, 1}, // execute user event by event type + {"check_syspass", js_chksyspass, 0}, // verify system password {0} }; -- GitLab