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