diff --git a/src/sbbs3/js_archive.c b/src/sbbs3/js_archive.c index 9dfc7403bf0a684c127c9a08ef56a39df23b10de..56562d480fa378b567bb19c708d65b93f843d204 100644 --- a/src/sbbs3/js_archive.c +++ b/src/sbbs3/js_archive.c @@ -609,8 +609,8 @@ static jsSyncMethodSpec js_archive_functions[] = { #ifdef BUILD_JSDOCS static char* archive_prop_desc[] = { - "format/compression type of archive file - <small>READ ONLY</small>" - ,"filename specified in constructor - <small>READ ONLY</small>" + "Format/compression type of archive file - <small>READ ONLY</small>" + ,"Filename specified in constructor - <small>READ ONLY</small>" ,NULL }; #endif diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp index 55d72acd9babe66e2888907714eb71afd3d28c4b..9d073a00423fa9192addb3ef43c21b429c5e47df 100644 --- a/src/sbbs3/js_bbs.cpp +++ b/src/sbbs3/js_bbs.cpp @@ -153,124 +153,124 @@ enum { #ifdef BUILD_JSDOCS static const char* bbs_prop_desc[] = { - "system status bitfield (see <tt>SS_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" - ,"startup options bitfield (see <tt>BBS_OPT_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" - ,"answer time, in <i>time_t</i> format" - ,"logon time, in <i>time_t</i> format" - ,"time from which user's time left is calculated, in <i>time_t</i> format" - ,"current file new-scan time, in <i>time_t</i> format" - ,"previous file new-scan time, in <i>time_t</i> format" - ,"online (see <tt>ON_*</tt> in <tt>sbbsdefs.js</tt> for valid values)" - ,"time left (in seconds)" - ,"time of next exclusive event (in <i>time_t</i> format), or 0 if none" - ,"internal code of next exclusive event" - - ,"current node number" - ,"current node settings bitfield (see <tt>NM_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" - ,"current node status value (see <tt>nodedefs.js</tt> for valid values)" - ,"current node error counter" - ,"current node action (see <tt>nodedefs.js</tt> for valid values)" - ,"current node user number (<i>useron</i> value)" - ,"current node connection type (see <tt>nodedefs.js</tt> for valid values)" - ,"current node misc value (see <tt>nodedefs.js</tt> for valid values)" - ,"current node aux value" - ,"current node extended aux (<i>extaux</i>) value" - ,"validation feedback user for this node (or 0 for no validation feedback required)" - - ,"bytes uploaded during this session" - ,"bytes downloaded during this session" - ,"files uploaded during this session" - ,"files downloaded during this session" - ,"messages posted during this session" - ,"e-mails sent during this session" - ,"feedback messages sent during this session" - ,"messages read during this session" - - ,"menu subdirectory (overrides default)" - ,"menu file (overrides default)" - ,"total main menu commands received from user during this session" - ,"total file menu commands received from user during this session" - - ,"current message group" - ,"current message sub-board" - ,"current message sub-board internal code" - ,"current file library" - ,"current file directory" - ,"current file directory internal code" - - ,"remote connection type" - ,"login name given during RLogin negotiation" - ,"password specified during RLogin negotiation" - ,"terminal specified during RLogin negotiation" - ,"client name" - - ,"error level returned from last executed external program" + "System status bitfield (see <tt>SS_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" + ,"Startup options bitfield (see <tt>BBS_OPT_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" + ,"Answer time, in <i>time_t</i> format" + ,"Logon time, in <i>time_t</i> format" + ,"Time from which user's time left is calculated, in <i>time_t</i> format" + ,"Current file new-scan time, in <i>time_t</i> format" + ,"Previous file new-scan time, in <i>time_t</i> format" + ,"Online (see <tt>ON_*</tt> in <tt>sbbsdefs.js</tt> for valid values)" + ,"Time left (in seconds)" + ,"Time of next exclusive event (in <i>time_t</i> format), or 0 if none" + ,"Internal code of next exclusive event" + + ,"Current node number" + ,"Current node settings bitfield (see <tt>NM_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" + ,"Current node status value (see <tt>nodedefs.js</tt> for valid values)" + ,"Current node error counter" + ,"Current node action (see <tt>nodedefs.js</tt> for valid values)" + ,"Current node user number (<i>useron</i> value)" + ,"Current node connection type (see <tt>nodedefs.js</tt> for valid values)" + ,"Current node misc value (see <tt>nodedefs.js</tt> for valid values)" + ,"Current node aux value" + ,"Current node extended aux (<i>extaux</i>) value" + ,"Validation feedback user for this node (or 0 for no validation feedback required)" + + ,"Bytes uploaded during this session" + ,"Bytes downloaded during this session" + ,"Files uploaded during this session" + ,"Files downloaded during this session" + ,"Messages posted during this session" + ,"E-mails sent during this session" + ,"Feedback messages sent during this session" + ,"Messages read during this session" + + ,"Menu subdirectory (overrides default)" + ,"Menu file (overrides default)" + ,"Total main menu commands received from user during this session" + ,"Total file menu commands received from user during this session" + + ,"Current message group" + ,"Current message sub-board" + ,"Current message sub-board internal code" + ,"Current file library" + ,"Current file directory" + ,"Current file directory internal code" + + ,"Remote connection type" + ,"Login name given during RLogin negotiation" + ,"Password specified during RLogin negotiation" + ,"Terminal specified during RLogin negotiation" + ,"Client name" + + ,"Error level returned from last executed external program" /* READ ONLY */ - ,"message group name of message being read" - ,"message group description of message being read" - ,"message group number of message being read" - ,"sub-board name of message being read" - ,"sub-board description of message being read" - ,"sub-board internal code of message being read" - ,"sub-board number of message being read" - ,"message base attributes" - ,"highest message number in message base" - ,"total number of messages in message base" - ,"number of messages loaded from message base" - ,"current message number in message base" + ,"Message group name of message being read" + ,"Message group description of message being read" + ,"Message group number of message being read" + ,"Sub-board name of message being read" + ,"Sub-board description of message being read" + ,"Sub-board internal code of message being read" + ,"Sub-board number of message being read" + ,"Message base attributes" + ,"Highest message number in message base" + ,"Total number of messages in message base" + ,"Number of messages loaded from message base" + ,"Current message number in message base" /* READ ONLY */ - ,"message recipient name" - ,"message recipient extension" - ,"message recipient network address" - ,"message recipient agent type" - ,"message sender name" - ,"message sender extension" - ,"message sender network address" - ,"message sender BBS ID" - ,"message sender agent type" - ,"message reply-to name" - ,"message reply-to extension" - ,"message reply-to network address" - ,"message reply-to agent type" - ,"message subject" - ,"message date/time" - ,"message time zone" - ,"message date/time imported" - ,"message attributes" - ,"message auxiliary attributes" - ,"message network attributes" - ,"message header offset" - ,"message number (unique, monotonically incrementing)" - ,"message expiration" - ,"message forwarded" - ,"message thread identifier (0 if unknown)" - ,"message thread, back message number" - ,"message thread, next message number" - ,"message thread, message number of first reply to this message" - ,"message identifier" - ,"message replied-to identifier" - ,"message delivery attempt counter" - - ,"message header displayed at top-of-screen" - - ,"file name" - ,"file description" - ,"file directory (number)" - ,"file attribute flags" - ,"file date" - ,"file size (in bytes)" - ,"file credit value" - ,"file uploader (user name)" - ,"file upload date" - ,"file last-download date" - ,"file download count" - - ,"number of files in batch upload queue" - ,"number of files in batch download queue" - - ,"current command shell/module <i>command string</i> value" + ,"Message recipient name" + ,"Message recipient extension" + ,"Message recipient network address" + ,"Message recipient agent type" + ,"Message sender name" + ,"Message sender extension" + ,"Message sender network address" + ,"Message sender BBS ID" + ,"Message sender agent type" + ,"Message reply-to name" + ,"Message reply-to extension" + ,"Message reply-to network address" + ,"Message reply-to agent type" + ,"Message subject" + ,"Message date/time" + ,"Message time zone" + ,"Message date/time imported" + ,"Message attributes" + ,"Message auxiliary attributes" + ,"Message network attributes" + ,"Message header offset" + ,"Message number (unique, monotonically incrementing)" + ,"Message expiration" + ,"Message forwarded" + ,"Message thread identifier (0 if unknown)" + ,"Message thread, back message number" + ,"Message thread, next message number" + ,"Message thread, message number of first reply to this message" + ,"Message identifier" + ,"Message replied-to identifier" + ,"Message delivery attempt counter" + + ,"Message header displayed at top-of-screen" + + ,"File name" + ,"File description" + ,"File directory (number)" + ,"File attribute flags" + ,"File date" + ,"File size (in bytes)" + ,"File credit value" + ,"File uploader (user name)" + ,"File upload date" + ,"File last-download date" + ,"File download count" + + ,"Number of files in batch upload queue" + ,"Number of files in batch download queue" + + ,"Current command shell/module <i>command string</i> value" ,NULL }; #endif @@ -4372,20 +4372,20 @@ js_select_user(JSContext *cx, uintN argc, jsval *arglist) static jsSyncMethodSpec js_bbs_functions[] = { {"atcode", js_atcode, 1, JSTYPE_STRING, JSDOCSTR("code_string") - ,JSDOCSTR("returns @-code value, specified <i>code</i> string does not include @ character delimiters") + ,JSDOCSTR("Returns @-code value, specified <i>code</i> string does not include @ character delimiters") ,310 }, /* text.dat */ {"text", js_text, 1, JSTYPE_STRING, JSDOCSTR("line_number") - ,JSDOCSTR("returns specified text string from text.dat") + ,JSDOCSTR("Returns specified text string from text.dat") ,310 }, {"replace_text", js_replace_text, 2, JSTYPE_BOOLEAN, JSDOCSTR("line_number, text") - ,JSDOCSTR("replaces specified text string in memory") + ,JSDOCSTR("Replaces specified text string in memory") ,310 }, {"revert_text", js_revert_text, 1, JSTYPE_BOOLEAN, JSDOCSTR("[line_number=<i>all</i>]") - ,JSDOCSTR("reverts specified text string to original text string; " + ,JSDOCSTR("Reverts specified text string to original text string; " "if <i>line_number</i> unspecified, reverts all text lines") ,310 }, @@ -4395,86 +4395,87 @@ static jsSyncMethodSpec js_bbs_functions[] = { }, /* procedures */ {"newuser", js_newuser, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("interactive new user procedure") + ,JSDOCSTR("Interactive new user procedure") ,310 }, {"login", js_login, 4, JSTYPE_BOOLEAN, JSDOCSTR("user_name [,password_prompt] [,user_password] [,system_password]") - ,JSDOCSTR("login with <i>user_name</i>, displaying <i>password_prompt</i> for user's password (if required), " + ,JSDOCSTR("Login with <i>user_name</i>, displaying <i>password_prompt</i> for user's password (if required), " "optionally supplying the user's password and the system password as arguments so as to not be prompted") ,310 }, {"logon", js_logon, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("interactive logon procedure") + ,JSDOCSTR("Interactive user-logon procedure") ,310 }, {"logoff", js_logoff, 1, JSTYPE_BOOLEAN, JSDOCSTR("[prompt=<i>true</i>]") - ,JSDOCSTR("interactive logoff procedure, pass <i>false</i> for <i>prompt</i> argument to avoid yes/no prompt, returns <i>false</i> if denied logoff") + ,JSDOCSTR("Interactive user-logoff procedure, pass <i>false</i> for <i>prompt</i> argument to avoid yes/no prompt, returns <i>false</i> if denied logoff, " + "hangs-up (disconnects) upon completion of logoff") ,315 }, {"logout", js_logout, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("non-interactive logout procedure") + ,JSDOCSTR("Non-interactive user-logout procedure, invoked implicitly upon user-disconnect. Only invoke this method to force a logout without a disconnect.") ,310 }, {"hangup", js_hangup, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("hangup (disconnect) immediately") + ,JSDOCSTR("Hangup (disconnect) the connected user/client immediately") ,310 }, {"node_sync", js_nodesync, 1, JSTYPE_ALIAS }, - {"nodesync", js_nodesync, 1, JSTYPE_VOID, JSDOCSTR("[clearline=<i>false</i>]") - ,JSDOCSTR("synchronize with node database, checks for messages, interruption, etc. (AKA node_sync), " - "clears the current console line if there's a message to print when <i>clearline</i> is <i>true</i>.") + {"nodesync", js_nodesync, 1, JSTYPE_VOID, JSDOCSTR("[clear-line=<i>false</i>]") + ,JSDOCSTR("Synchronize with node database, checks for messages, interruption, etc. (AKA node_sync), " + "clears the current console line if there's a message to print when <i>clear-line</i> is <i>true</i>.") ,310 }, {"auto_msg", js_automsg, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("read/create system's auto-message") + ,JSDOCSTR("Read/create system's auto-message") ,310 }, {"time_bank", js_time_bank, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("enter the time banking system") + ,JSDOCSTR("Enter the time banking system") ,310 }, {"qwk_sec", js_qwk_sec, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("enter the QWK message packet upload/download/config section") + ,JSDOCSTR("Enter the QWK message packet upload/download/config section") ,310 }, {"text_sec", js_text_sec, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("enter the text files section") + ,JSDOCSTR("Enter the text files section") ,310 }, {"xtrn_sec", js_xtrn_sec, 0, JSTYPE_VOID, JSDOCSTR("[section]") - ,JSDOCSTR("enter the external programs section (or go directly to the specified <i>section</i>)") + ,JSDOCSTR("Enter the external programs section (or go directly to the specified <i>section</i>)") ,310 }, {"chat_sec", js_chat_sec, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("enter the chat section/menu") + ,JSDOCSTR("Enter the chat section/menu") ,320 }, {"xfer_policy", js_xfer_policy, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("display the file transfer policy") + ,JSDOCSTR("Display the file transfer policy") ,310 }, {"batch_menu", js_batchmenu, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("enter the batch file transfer menu") + ,JSDOCSTR("Enter the batch file transfer menu") ,310 }, {"batch_download", js_batchdownload, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("start a batch download") + ,JSDOCSTR("Start a batch download") ,310 }, {"batch_add_list", js_batchaddlist, 1, JSTYPE_VOID, JSDOCSTR("list_filename") - ,JSDOCSTR("add file list to batch download queue") + ,JSDOCSTR("Add file list to batch download queue") ,310 }, {"batch_clear", js_batchclear, 1, JSTYPE_BOOLEAN, JSDOCSTR("upload=false") - ,JSDOCSTR("clear batch download (or upload) queue") + ,JSDOCSTR("Clear batch download (or upload) queue") ,320 }, {"view_file", js_viewfile, 1, JSTYPE_BOOLEAN, JSDOCSTR("filename") - ,JSDOCSTR("list contents of specified filename (complete path)") + ,JSDOCSTR("List contents of specified filename (complete path)") ,319 }, {"send_file", js_sendfile, 1, JSTYPE_BOOLEAN, JSDOCSTR("filename [,protocol] [,description] [,autohang=true]") - ,JSDOCSTR("send specified filename (complete path) to user via user-prompted " + ,JSDOCSTR("Send specified filename (complete path) to user via user-prompted " "(or optionally specified) protocol.<br>" "The optional <i>description</i> string is used for logging purposes.<br>" "When <i>autohang=true</i>, disconnect after transfer based on user's default setting." @@ -4482,111 +4483,111 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,314 }, {"receive_file", js_recvfile, 1, JSTYPE_BOOLEAN, JSDOCSTR("filename [,protocol] [,autohang=true]") - ,JSDOCSTR("received specified filename (complete path) from user via user-prompted " + ,JSDOCSTR("Received specified filename (complete path) from user via user-prompted " "(or optionally specified) protocol.<br>" "When <i>autohang=true</i>, disconnect after transfer based on user's default setting." ) ,314 }, {"temp_xfer", js_temp_xfer, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("enter the temporary file tranfer menu") + ,JSDOCSTR("Enter the temporary file tranfer menu") ,310 }, {"user_sync", js_user_sync, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("read the current user data from the database") + ,JSDOCSTR("Read the current user data from the database") ,310 }, {"user_config", js_user_config, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("enter the user settings configuration menu") + ,JSDOCSTR("Enter the user settings configuration menu") ,310 }, {"sys_info", js_sys_info, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("display system information") + ,JSDOCSTR("Display system information") ,310 }, {"sub_info", js_sub_info, 1, JSTYPE_VOID, JSDOCSTR("[sub-board=<i>current</i>]") - ,JSDOCSTR("display message sub-board information (current <i>sub-board</i>, if unspecified)") + ,JSDOCSTR("Display message sub-board information (current <i>sub-board</i>, if unspecified)") ,310 }, {"dir_info", js_dir_info, 0, JSTYPE_VOID, JSDOCSTR("[directory=<i>current</i>]") - ,JSDOCSTR("display file directory information (current <i>directory</i>, if unspecified)") + ,JSDOCSTR("Display file directory information (current <i>directory</i>, if unspecified)") ,310 }, {"user_info", js_user_info, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("display current user information") + ,JSDOCSTR("Display current user information") ,310 }, {"ver", js_ver, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("display software version information") + ,JSDOCSTR("Display software version information") ,310 }, {"sys_stats", js_sys_stats, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("display system statistics") + ,JSDOCSTR("Display system statistics") ,310 }, {"node_stats", js_node_stats, 0, JSTYPE_VOID, JSDOCSTR("[node_number=<i>current</i>]") - ,JSDOCSTR("display current (or specified) node statistics") + ,JSDOCSTR("Display current (or specified) node statistics") ,310 }, {"list_users", js_userlist, 0, JSTYPE_VOID, JSDOCSTR("[mode=<tt>UL_ALL</tt>]") - ,JSDOCSTR("display user list" + ,JSDOCSTR("Display user list" "(see <tt>UL_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> values)") ,310 }, {"edit_user", js_useredit, 0, JSTYPE_VOID, JSDOCSTR("[user_number=<i>current</i>]") - ,JSDOCSTR("enter the user editor") + ,JSDOCSTR("Enter the user editor") ,310 }, {"change_user", js_change_user, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("change to a different user") + ,JSDOCSTR("Change to a different user") ,310 }, {"list_logons", js_logonlist, 0, JSTYPE_VOID, JSDOCSTR("[arguments]") - ,JSDOCSTR("display the logon list (optionally passing arguments to the logon list module)") + ,JSDOCSTR("Display the logon list (optionally passing arguments to the logon list module)") ,310 }, {"read_mail", js_readmail, 0, JSTYPE_NUMBER, JSDOCSTR("[which=<tt>MAIL_YOUR</tt>] [,user_number=<i>current</i>] [,loadmail_mode=<tt>0</tt>]") - ,JSDOCSTR("read private e-mail" + ,JSDOCSTR("Read private e-mail" "(see <tt>MAIL_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>which</i> values), returns user-modified loadmail_mode value") ,310 }, {"email", js_email, 1, JSTYPE_BOOLEAN, JSDOCSTR("to_user_number [,mode=<tt>WM_EMAIL</tt>] [,top=<i>none</i>] [,subject=<i>none</i>] [,object reply_header]") - ,JSDOCSTR("send private e-mail to a local user (<i>reply_header</i> added in v3.17c)") + ,JSDOCSTR("Send private e-mail to a local user (<i>reply_header</i> added in v3.17c)") ,310 }, {"netmail", js_netmail, 1, JSTYPE_BOOLEAN, JSDOCSTR("[string address or array of addresses] [,mode=<tt>WM_NONE</tt>] [,subject=<i>none</i>] [,object reply_header]") - ,JSDOCSTR("send private netmail (<i>reply_header</i> added in v3.17c, <i>array of addresses</i> added in v3.18a)") + ,JSDOCSTR("Send private netmail (<i>reply_header</i> added in v3.17c, <i>array of addresses</i> added in v3.18a)") ,310 }, {"bulk_mail", js_bulkmail, 0, JSTYPE_VOID, JSDOCSTR("[ars]") - ,JSDOCSTR("send bulk private e-mail, if <i>ars</i> not specified, prompt for destination users") + ,JSDOCSTR("Send bulk private e-mail, if <i>ars</i> not specified, prompt for destination users") ,310 }, {"upload_file", js_upload_file, 1, JSTYPE_BOOLEAN, JSDOCSTR("[directory=<i>current</i>]") - ,JSDOCSTR("upload file to file directory specified by number or internal code") + ,JSDOCSTR("Upload file to file directory specified by number or internal code") ,310 }, {"bulk_upload", js_bulkupload, 1, JSTYPE_BOOLEAN, JSDOCSTR("[directory=<i>current</i>]") - ,JSDOCSTR("add files (already in local storage path) to file directory " + ,JSDOCSTR("Add files (already in local storage path) to file directory " "specified by number or internal code") ,310 }, {"export_filelist", js_export_filelist, 2, JSTYPE_NUMBER, JSDOCSTR("filename [,mode=<tt>FL_NONE</tt>]") - ,JSDOCSTR("export list of files to a text file, optionally specifying a file list mode (e.g. <tt>FL_ULTIME</tt>), returning the number of files listed") + ,JSDOCSTR("Export list of files to a text file, optionally specifying a file list mode (e.g. <tt>FL_ULTIME</tt>), returning the number of files listed") ,319 }, {"list_files", js_listfiles, 1, JSTYPE_NUMBER, JSDOCSTR("[directory=<i>current</i>] [,filespec=<tt>\"*.*\"</tt> or search_string] [,mode=<tt>FL_NONE</tt>]") - ,JSDOCSTR("list files in the specified file directory, " + ,JSDOCSTR("List files in the specified file directory, " "optionally specifying a file specification (wildcards) or a description search string, " "and <i>mode</i> (bitfield)") ,310 }, {"list_file_info", js_listfileinfo, 1, JSTYPE_NUMBER, JSDOCSTR("[directory=<i>current</i>] [,filespec=<tt>\"*.*\"</tt>] [,mode=<tt>FI_INFO</tt>]") - ,JSDOCSTR("list extended file information for files in the specified file directory") + ,JSDOCSTR("List extended file information for files in the specified file directory") ,310 }, {"post_msg", js_post_msg, 1, JSTYPE_BOOLEAN, JSDOCSTR("[sub-board=<i>current</i>] [,mode=<tt>WM_NONE</tt>] [,object reply_header]") - ,JSDOCSTR("post a message in the specified message sub-board (number or internal code) " + ,JSDOCSTR("Post a message in the specified message sub-board (number or internal code) " "with optional <i>mode</i> (bitfield)<br>" "If <i>reply_header</i> is specified (a header object returned from <i>MsgBase.get_msg_header()</i>), that header " "will be used for the in-reply-to header fields.") @@ -4601,210 +4602,210 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,31802 }, {"show_msg", js_show_msg, 1, JSTYPE_BOOLEAN, JSDOCSTR("object header [,mode=<tt>P_NONE</tt>] ") - ,JSDOCSTR("show a message's header and body (text) with optional print <i>mode</i> (bitfield)<br>" + ,JSDOCSTR("Show a message's header and body (text) with optional print <i>mode</i> (bitfield)<br>" "<i>header</i> must be a header object returned from <i>MsgBase.get_msg_header()</i>)") ,31702 }, {"show_msg_header", js_show_msg_header, 1, JSTYPE_VOID, JSDOCSTR("object header [,subject] [,from] [,to]") - ,JSDOCSTR("show a message's header (only)<br>" + ,JSDOCSTR("Show a message's header (only)<br>" "<i>header</i> must be a header object returned from <i>MsgBase.get_msg_header()</i>)") ,31702 }, {"download_msg_attachments", js_download_msg_attachments, 1, JSTYPE_VOID, JSDOCSTR("object header") - ,JSDOCSTR("prompt the user to download each of the message's file attachments (if there are any)<br>" + ,JSDOCSTR("Prompt the user to download each of the message's file attachments (if there are any)<br>" "<i>header</i> must be a header object returned from <i>MsgBase.get_msg_header()</i>)") ,31702 }, {"change_msg_attr", js_change_msg_attr, 1, JSTYPE_NUMBER, JSDOCSTR("object header") - ,JSDOCSTR("prompt the user to modify the specified message header attributes") + ,JSDOCSTR("Prompt the user to modify the specified message header attributes") ,31702 }, {"cfg_msg_scan", js_msgscan_cfg, 0, JSTYPE_VOID, JSDOCSTR("[type=<tt>SCAN_CFG_NEW</tt>]") - ,JSDOCSTR("configure message scan " + ,JSDOCSTR("Configure message scan " "(<i>type</i> is either <tt>SCAN_CFG_NEW</tt> or <tt>SCAN_CFG_TOYOU</tt>)") ,310 }, {"cfg_msg_ptrs", js_msgscan_ptrs, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("change message scan pointer values") + ,JSDOCSTR("Change message scan pointer values") ,310 }, {"reinit_msg_ptrs", js_msgscan_reinit, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("re-initialize new message scan pointers to values at logon") + ,JSDOCSTR("Re-initialize new message scan pointers to values at logon") ,310 }, {"save_msg_scan", js_save_msg_scan, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("save message scan configuration and pointers to userbase") + ,JSDOCSTR("Save message scan configuration and pointers to userbase") ,320 }, {"reload_msg_scan", js_reload_msg_scan, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("re-loads message scan configuration and pointers from userbase") + ,JSDOCSTR("Re-loads message scan configuration and pointers from userbase") ,320 }, {"scan_subs", js_scansubs, 0, JSTYPE_VOID, JSDOCSTR("[mode=<tt>SCAN_NEW</tt>] [,all=<tt>false</tt>]") - ,JSDOCSTR("scan sub-boards for messages") + ,JSDOCSTR("Scan sub-boards for messages") ,310 }, {"scan_dirs", js_scandirs, 0, JSTYPE_VOID, JSDOCSTR("[mode=<tt>FL_NONE</tt>] [,all=<tt>false</tt>]") - ,JSDOCSTR("scan directories for files") + ,JSDOCSTR("Scan directories for files") ,310 }, {"scan_posts", js_scanposts, 1, JSTYPE_ALIAS }, {"scan_msgs", js_scanposts, 1, JSTYPE_BOOLEAN, JSDOCSTR("[sub-board=<i>current</i>] [,mode=<tt>SCAN_READ</tt>] [,find]") - ,JSDOCSTR("scan messages in the specified message sub-board (number or internal code), " + ,JSDOCSTR("Scan messages in the specified message sub-board (number or internal code), " "optionally search for 'find' string (AKA scan_posts)") ,310 }, {"list_msgs", js_listmsgs, 1, JSTYPE_NUMBER, JSDOCSTR("[sub-board=<i>current</i>] [,mode=<tt>SCAN_INDEX</tt>] [,message_number=<tt>0</tt>] [,find]") - ,JSDOCSTR("list messages in the specified message sub-board (number or internal code), " + ,JSDOCSTR("List messages in the specified message sub-board (number or internal code), " "optionally search for 'find' string, returns number of messages listed") ,314 }, /* menuing */ {"menu", js_menu, 1, JSTYPE_BOOLEAN, JSDOCSTR("base_filename [,mode=<tt>P_NONE</tt>] [,object scope]") - ,JSDOCSTR("display a menu file from the text/menu directory.<br>" + ,JSDOCSTR("Display a menu file from the text/menu directory.<br>" "See <tt>P_*</tt> in <tt>sbbsdefs.js</tt> for <i>mode</i> flags.<br>" "When <i>scope</i> is specified, <tt>@JS:property@</tt> codes will expand the referenced property names.<br>" "To display a randomly-chosen menu file, including wild-card (* or ?) characters in the <tt>base_filename</tt>.") ,310 }, {"menu_exists", js_menu_exists, 1, JSTYPE_BOOLEAN, JSDOCSTR("base_filename") - ,JSDOCSTR("returns true if the referenced menu file exists (i.e. in the text/menu directory)") + ,JSDOCSTR("Returns true if the referenced menu file exists (i.e. in the text/menu directory)") ,31700 }, {"log_key", js_logkey, 1, JSTYPE_BOOLEAN, JSDOCSTR("key [,comma=<tt>false</tt>]") - ,JSDOCSTR("log key to node.log (comma optional)") + ,JSDOCSTR("Log key to node.log (comma optional)") ,310 }, {"log_str", js_logstr, 1, JSTYPE_BOOLEAN, JSDOCSTR("text") - ,JSDOCSTR("log string to node.log") + ,JSDOCSTR("Log string to node.log") ,310 }, /* users */ {"finduser", js_finduser, 1, JSTYPE_NUMBER, JSDOCSTR("username_or_number") - ,JSDOCSTR("find user name (partial name support), interactive") + ,JSDOCSTR("Find user name (partial name support), interactive") ,310 }, {"trashcan", js_trashcan, 2, JSTYPE_BOOLEAN, JSDOCSTR("base_filename, search_string") - ,JSDOCSTR("search file for pseudo-regexp (search string) in trashcan file (text/base_filename.can)") + ,JSDOCSTR("Search file for pseudo-regexp (search string) in trashcan file (text/base_filename.can)") ,310 }, /* xtrn programs/modules */ {"exec", js_exec, 2, JSTYPE_NUMBER, JSDOCSTR("cmdline [,mode=<tt>EX_NONE</tt>] [,startup_dir]") - ,JSDOCSTR("execute a program, optionally changing current directory to <i>startup_dir</i> " + ,JSDOCSTR("Execute a program, optionally changing current directory to <i>startup_dir</i> " "(see <tt>EX_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> flags.)") ,310 }, {"exec_xtrn", js_exec_xtrn, 1, JSTYPE_BOOLEAN, JSDOCSTR("xtrn_number_or_code") - ,JSDOCSTR("execute external program by number or internal code") + ,JSDOCSTR("Execute external program by number or internal code") ,310 }, {"user_event", js_user_event, 1, JSTYPE_BOOLEAN, JSDOCSTR("event_type") - ,JSDOCSTR("execute user event by event type " + ,JSDOCSTR("Execute user event by event type " "(see <tt>EVENT_*</tt> in <tt>sbbsdefs.js</tt> for valid values)") ,310 }, {"telnet_gate", js_telnet_gate, 1, JSTYPE_BOOLEAN, JSDOCSTR("address[:port] [,mode=<tt>TG_NONE</tt>] [,timeout=<tt>10</tt>]") - ,JSDOCSTR("external Telnet gateway (see <tt>TG_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> flags).") + ,JSDOCSTR("External Telnet gateway (see <tt>TG_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> flags).") ,310 }, {"rlogin_gate", js_rlogin_gate, 1, JSTYPE_BOOLEAN, JSDOCSTR("address[:port] [,client-user-name=<tt>user.alias</tt>, server-user-name=<tt>user.name</tt>, terminal=<tt>console.terminal</tt>] [,mode=<tt>TG_NONE</tt>] [,timeout=<tt>10</tt>]") - ,JSDOCSTR("external RLogin gateway (see <tt>TG_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> flags).") + ,JSDOCSTR("External RLogin gateway (see <tt>TG_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> flags).") ,316 }, /* security */ {"check_filename", js_checkfname, 1, JSTYPE_BOOLEAN, JSDOCSTR("filename") - ,JSDOCSTR("verify that the specified <i>filename</i> string is legal and allowed for upload " + ,JSDOCSTR("Verify that the specified <i>filename</i> string is legal and allowed for upload " "(based on system configuration), returns <i>true</i> if the filename is allowed.<br>" "Note: Will display <tt>text/badfile.msg</tt> for matching filenames, if it exists.") ,31902 }, {"check_syspass", js_chksyspass, 0, JSTYPE_BOOLEAN, JSDOCSTR("[sys_pw]") - ,JSDOCSTR("verify system password, prompting for the password if not passed as an argument") + ,JSDOCSTR("Verify system password, prompting for the password if not passed as an argument") ,310 }, {"good_password", js_chkpass, 1, JSTYPE_BOOLEAN, JSDOCSTR("password") - ,JSDOCSTR("check if requested user password meets minimum password requirements " + ,JSDOCSTR("Check if requested user password meets minimum password requirements " "(length, uniqueness, etc.)") ,310 }, /* chat/node stuff */ {"page_sysop", js_pagesysop, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("page the sysop for chat, returns <i>false</i> if the sysop could not be paged") + ,JSDOCSTR("Page the sysop for chat, returns <i>false</i> if the sysop could not be paged") ,310 }, {"page_guru", js_pageguru, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("page the guru for chat") + ,JSDOCSTR("Page the guru for chat") ,310 }, {"multinode_chat", js_multinode_chat, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("enter multi-node chat") + ,JSDOCSTR("Enter multi-node chat") ,310 }, {"private_message", js_private_message, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("use the private inter-node message prompt") + ,JSDOCSTR("Use the private inter-node message prompt") ,310 }, {"private_chat", js_private_chat, 0, JSTYPE_VOID, JSDOCSTR("[local=<i>false</i>]") - ,JSDOCSTR("enter private inter-node chat, or local sysop chat (if <i>local</i>=<i>true</i>)") + ,JSDOCSTR("Enter private inter-node chat, or local sysop chat (if <i>local</i>=<i>true</i>)") ,310 }, {"get_node_message",js_get_node_message,1, JSTYPE_VOID, JSDOCSTR("[clearline=<i>false</i>]") - ,JSDOCSTR("receive and display an inter-node message") + ,JSDOCSTR("Receive and display an inter-node message") ,310 }, {"put_node_message",js_put_node_message,2, JSTYPE_BOOLEAN, JSDOCSTR("[node_number] [,text]") - ,JSDOCSTR("send an inter-node message (specify a <i>node_number</i> value of <tt>-1</tt> for 'all active nodes')") + ,JSDOCSTR("Send an inter-node message (specify a <i>node_number</i> value of <tt>-1</tt> for 'all active nodes')") ,31700 }, {"get_telegram", js_get_telegram, 2, JSTYPE_VOID, JSDOCSTR("[user_number=<i>current</i>], [clearline=<i>false</i>]") - ,JSDOCSTR("receive and display waiting telegrams for specified (or current) user") + ,JSDOCSTR("Receive and display waiting telegrams for specified (or current) user") ,310 }, {"put_telegram", js_put_telegram, 2, JSTYPE_BOOLEAN, JSDOCSTR("[user_number] [,text]") - ,JSDOCSTR("send a telegram (short multi-line stored message) to a user") + ,JSDOCSTR("Send a telegram (short multi-line stored message) to a user") ,31700 }, {"list_nodes", js_nodelist, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("list all nodes") + ,JSDOCSTR("List all nodes") ,310 }, {"whos_online", js_whos_online, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("list active nodes only (who's online)") + ,JSDOCSTR("List active nodes only (who's online)") ,310 }, {"spy", js_spy, 1, JSTYPE_VOID, JSDOCSTR("node_number") - ,JSDOCSTR("spy on a node") + ,JSDOCSTR("Spy on a node") ,310 }, /* misc */ {"cmdstr", js_cmdstr, 1, JSTYPE_STRING, JSDOCSTR("command_string [,fpath=<tt>\"\"</tt>] [,fspec=<tt>\"\"</tt>]") - ,JSDOCSTR("return expanded command string using Synchronet command-line specifiers") + ,JSDOCSTR("Return expanded command string using Synchronet command-line specifiers") ,310 }, /* input */ {"get_filespec", js_getfilespec, 0, JSTYPE_STRING, JSDOCSTR("") - ,JSDOCSTR("returns a file specification input by the user (optionally with wildcards)") + ,JSDOCSTR("Returns a file specification input by the user (optionally with wildcards)") ,310 }, {"get_newscantime", js_getnstime, 1, JSTYPE_NUMBER, JSDOCSTR("time=<i>current</i>") - ,JSDOCSTR("confirm or change a new-scan time, returns the new new-scan time value (<i>time_t</i> format)") + ,JSDOCSTR("Confirm or change a new-scan time, returns the new new-scan time value (<i>time_t</i> format)") ,310 }, {"select_shell", js_select_shell, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("prompt user to select a new command shell") + ,JSDOCSTR("Prompt user to select a new command shell") ,310 }, {"select_editor", js_select_editor, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("prompt user to select a new external message editor") + ,JSDOCSTR("Prompt user to select a new external message editor") ,310 }, {"get_time_left", js_get_time_left, 0, JSTYPE_NUMBER, JSDOCSTR("") - ,JSDOCSTR("check the user's available remaining time online and return the value, in seconds<br>" + ,JSDOCSTR("Check the user's available remaining time online and return the value, in seconds<br>" "This method will inform (and disconnect) the user when they are out of time") ,31401 }, {"compare_ars", js_chk_ar, 1, JSTYPE_BOOLEAN, JSDOCSTR("ars") - ,JSDOCSTR("verify the current user online meets the specified Access Requirements String") + ,JSDOCSTR("Verify the current user online meets the specified Access Requirements String") ,315 }, {"select_node", js_select_node, 1, JSTYPE_NUMBER, JSDOCSTR("all_is_an_option=<i>false</i>") diff --git a/src/sbbs3/js_client.c b/src/sbbs3/js_client.c index ced4f02af97ce03f7a1ca2ed268a376d14f43a08..3ea1b306660f12951ee2b1823ea498f920ec288e 100644 --- a/src/sbbs3/js_client.c +++ b/src/sbbs3/js_client.c @@ -52,16 +52,16 @@ enum { #ifdef BUILD_JSDOCS static char* client_prop_desc[] = { - "client's IPv4 or IPv6 address" - ,"client's host name (up to 64 characters)" - ,"client's TCP or UDP port number" - ,"date/time of initial connection (in time_t format)" - ,"protocol/service name (e.g. 'Telnet', 'FTP', etc.)" - ,"user's name/alias" - ,"user's number (non-zero if logged in)" + "Client's IPv4 or IPv6 address" + ,"Client's host name (up to 64 characters)" + ,"Client's TCP or UDP port number" + ,"Date/time of initial connection (in time_t format)" + ,"Protocol/service name (e.g. 'Telnet', 'FTP', etc.)" + ,"User's name/alias" + ,"User's number (non-zero if logged in)" /* this next one must be last */ - ,"instance of <a href=#Socket>Socket class</a> representing client's TCP/IP connection" + ,"Instance of <a href=#Socket>Socket class</a> representing client's TCP/IP connection" ,NULL }; #endif diff --git a/src/sbbs3/js_com.c b/src/sbbs3/js_com.c index 4c1592d4305824f8bbf6defd757a073474cfa3b3..03a7e6e0f10a36d13c6357f266734a0ec8c8bbf3 100644 --- a/src/sbbs3/js_com.c +++ b/src/sbbs3/js_com.c @@ -513,9 +513,9 @@ enum { #ifdef BUILD_JSDOCS static char* com_prop_desc[] = { - "error status for the last COM operation that failed - <small>READ ONLY</small>" + "Error status for the last COM operation that failed - <small>READ ONLY</small>" ,"<i>true</i> if port is in a connected state - <small>READ ONLY</small>" - ,"enable debug logging" + ,"Enable debug logging" ,"COM handle (advanced uses only)" ,"<i>true</i> if binary data is to be sent in Network Byte Order (big end first), default is <i>true</i>" ,"COM port Baud rate" @@ -696,41 +696,41 @@ static jsSyncPropertySpec js_com_properties[] = { static jsSyncMethodSpec js_com_functions[] = { {"close", js_close, 0, JSTYPE_VOID, "" - ,JSDOCSTR("close the port immediately") + ,JSDOCSTR("Close the port immediately") ,315 }, {"open", js_open, 2, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("connect to a COM port") + ,JSDOCSTR("Connect to a COM port") ,315 }, {"write", js_send, 1, JSTYPE_ALIAS }, {"send", js_send, 1, JSTYPE_BOOLEAN, JSDOCSTR("data") - ,JSDOCSTR("send a string (AKA write)") + ,JSDOCSTR("Send a string (AKA write)") ,315 }, {"sendfile", js_sendfile, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") - ,JSDOCSTR("send an entire file over the port") + ,JSDOCSTR("Send an entire file over the port") ,315 }, {"writeBin", js_sendbin, 1, JSTYPE_ALIAS }, {"sendBin", js_sendbin, 1, JSTYPE_BOOLEAN, JSDOCSTR("value [,bytes=<tt>4</tt>]") - ,JSDOCSTR("send a binary integer over the port, default number of bytes is 4 (32-bits)") + ,JSDOCSTR("Send a binary integer over the port, default number of bytes is 4 (32-bits)") ,315 }, {"read", js_recv, 1, JSTYPE_ALIAS }, {"recv", js_recv, 1, JSTYPE_STRING, JSDOCSTR("[maxlen=<tt>512</tt> [,timeout=<tt>30</tt>]]") - ,JSDOCSTR("receive a string, default maxlen is 512 characters, default timeout is 30 seconds (AKA read)") + ,JSDOCSTR("Receive a string, default maxlen is 512 characters, default timeout is 30 seconds (AKA read)") ,315 }, {"readline", js_recvline, 0, JSTYPE_ALIAS }, {"readln", js_recvline, 0, JSTYPE_ALIAS }, {"recvline", js_recvline, 0, JSTYPE_STRING, JSDOCSTR("[maxlen=<tt>512</tt>] [,timeout=<tt>30.0</tt>]") - ,JSDOCSTR("receive a line-feed terminated string, default maxlen is 512 characters, default timeout is 30 seconds (AKA readline and readln)") + ,JSDOCSTR("Receive a line-feed terminated string, default maxlen is 512 characters, default timeout is 30 seconds (AKA readline and readln)") ,315 }, {"readBin", js_recvbin, 0, JSTYPE_ALIAS }, {"recvBin", js_recvbin, 0, JSTYPE_NUMBER, JSDOCSTR("[bytes=<tt>4</tt> [,timeout=<tt>30</tt>]") - ,JSDOCSTR("receive a binary integer from the port, default number of bytes is 4 (32-bits), default timeout is 30 seconds") + ,JSDOCSTR("Receive a binary integer from the port, default number of bytes is 4 (32-bits), default timeout is 30 seconds") ,315 }, {0} diff --git a/src/sbbs3/js_console.cpp b/src/sbbs3/js_console.cpp index 171ea2583f65609d5a2a791b80aeaefb7e096e00..271e6e469e3830866067cba146eb40ea7134cb4d 100644 --- a/src/sbbs3/js_console.cpp +++ b/src/sbbs3/js_console.cpp @@ -396,36 +396,36 @@ static jsSyncPropertySpec js_console_properties[] = { #ifdef BUILD_JSDOCS static const char* con_prop_desc[] = { - "status bit-field (see <tt>CON_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" - ,"mouse mode bit-field (see <tt>MOUSE_MODE_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions, " + "Status bit-field (see <tt>CON_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" + ,"Mouse mode bit-field (see <tt>MOUSE_MODE_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions, " "set to <tt>true</tt> for default enabled mode, <tt>false</tt> to disable)" - ,"current 0-based line counter (used for automatic screen pause)" - ,"current 0-based row counter" - ,"current 0-based column counter (used to auto-increment <i>line_counter</i> when screen wraps)" - ,"length of last line sent to terminal (before a carriage-return or line-wrap)" - ,"duration of delay (in milliseconds) before each line-feed character is sent to the terminal" - ,"current display attributes (set with number or string value)" - ,"set to <i>true</i> if the terminal cursor is already at the top of the screen - <small>READ ONLY</small>" - ,"number of remote terminal screen rows (in lines)" - ,"number of remote terminal screen columns (in character cells)" - ,"current tab stop interval (tab size), in columns" - ,"bit-field of automatically detected terminal settings " + ,"Current 0-based line counter (used for automatic screen pause)" + ,"Current 0-based row counter" + ,"Current 0-based column counter (used to auto-increment <i>line_counter</i> when screen wraps)" + ,"Length of last line sent to terminal (before a carriage-return or line-wrap)" + ,"Duration of delay (in milliseconds) before each line-feed character is sent to the terminal" + ,"Current display attributes (set with number or string value)" + ,"Set to <i>true</i> if the terminal cursor is already at the top of the screen - <small>READ ONLY</small>" + ,"Number of remote terminal screen rows (in lines)" + ,"Number of remote terminal screen columns (in character cells)" + ,"Current tab stop interval (tab size), in columns" + ,"Bit-field of automatically detected terminal settings " "(see <tt>USER_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" - ,"terminal type description, possibly supplied by client (e.g. 'ANSI')" - ,"terminal type (i.e. 'ANSI', 'RIP', 'PETSCII', or 'DUMB')" - ,"terminal character set (i.e. 'UTF-8', 'CP437', 'CBM-ASCII', or 'US-ASCII')" - ,"detected CTerm (SyncTERM) version as an integer > 1000 where major version is cterm_version / 1000 and minor version is cterm_version % 1000" - ,"number of seconds before displaying warning (Are you really there?) due to user/keyboard inactivity" - ,"number of seconds before disconnection due to user/keyboard inactivity" - ,"user/keyboard inactivity timeout reference value (time_t format)" - ,"number of low time-left (5 or fewer minutes remaining) warnings displayed to user" - ,"input/output has been aborted" - ,"remote output can be asynchronously aborted with Ctrl-C" - ,"current Telnet mode bit-field (see <tt>TELNET_MODE_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" - ,"word-wrap buffer (used by getstr) - <small>READ ONLY</small>" - ,"current yes/no question (set by yesno and noyes)" - ,"cursor position offset for use with <tt>getstr(K_USEOFFSET)</tt>" - ,"control key pass-through bit-mask, set bits represent control key combinations " + ,"Terminal type description, possibly supplied by client (e.g. 'ANSI')" + ,"Terminal type (i.e. 'ANSI', 'RIP', 'PETSCII', or 'DUMB')" + ,"Terminal character set (i.e. 'UTF-8', 'CP437', 'CBM-ASCII', or 'US-ASCII')" + ,"Detected CTerm (SyncTERM) version as an integer > 1000 where major version is cterm_version / 1000 and minor version is cterm_version % 1000" + ,"Number of seconds before displaying warning (Are you really there?) due to user/keyboard inactivity" + ,"Number of seconds before disconnection due to user/keyboard inactivity" + ,"User/keyboard inactivity timeout reference value (time_t format)" + ,"Number of low time-left (5 or fewer minutes remaining) warnings displayed to user" + ,"Input/output has been aborted" + ,"Remote output can be asynchronously aborted with Ctrl-C" + ,"Current Telnet mode bit-field (see <tt>TELNET_MODE_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" + ,"Word-wrap buffer (used by getstr) - <small>READ ONLY</small>" + ,"Current yes/no question (set by yesno and noyes)" + ,"Cursor position offset for use with <tt>getstr(K_USEOFFSET)</tt>" + ,"Control key pass-through bit-mask, set bits represent control key combinations " "<i>not</i> handled by <tt>inkey()</tt> method " "This may optionally be specified as a string of characters. " "The format of this string is [+-][@-_]. If neither plus nor minus is " @@ -434,13 +434,13 @@ static const char* con_prop_desc[] = { "added to the set, and a - indicates they should be removed. " "ex: <tt>console.ctrlkey_passthru=\"-UP+AB\"</tt> will clear CTRL-U and " "CTRL-P and set CTRL-A and CTRL-B." - ,"number of bytes currently in the input buffer (from the remote client) - <small>READ ONLY</small>" - ,"number of bytes available in the input buffer - <small>READ ONLY</small>" - ,"number of bytes currently in the output buffer (from the local server) - <small>READ ONLY</small>" - ,"number of bytes available in the output buffer - <small>READ ONLY</small>" - ,"emulated serial data output rate, in bits-per-second (0 = unlimited)" - ,"number of characters current in the keyboard input buffer (from <tt>ungetstr</tt>) - <small>READ ONLY</small>" - ,"number of characters spaces available in the keyboard input buffer - <small>READ ONLY</small>" + ,"Number of bytes currently in the input buffer (from the remote client) - <small>READ ONLY</small>" + ,"Number of bytes available in the input buffer - <small>READ ONLY</small>" + ,"Number of bytes currently in the output buffer (from the local server) - <small>READ ONLY</small>" + ,"Number of bytes available in the output buffer - <small>READ ONLY</small>" + ,"Emulated serial data output rate, in bits-per-second (0 = unlimited)" + ,"Number of characters current in the keyboard input buffer (from <tt>ungetstr</tt>) - <small>READ ONLY</small>" + ,"Number of characters spaces available in the keyboard input buffer - <small>READ ONLY</small>" ,NULL }; #endif @@ -2343,38 +2343,38 @@ js_flush(JSContext *cx, uintN argc, jsval *arglist) static jsSyncMethodSpec js_console_functions[] = { {"inkey", js_inkey, 0, JSTYPE_STRING, JSDOCSTR("[mode=<tt>K_NONE</tt>] [,timeout=<tt>0</tt>]") - ,JSDOCSTR("get a single key with optional <i>timeout</i> in milliseconds (defaults to 0, for no wait).<br>" + ,JSDOCSTR("Get a single key with optional <i>timeout</i> in milliseconds (defaults to 0, for no wait).<br>" "Returns an empty string (or <tt>null</tt> when the <tt>K_NUL</tt> mode flag is used) if there is no input (e.g. timeout occurs).<br>" "See <tt>K_*</tt> in <tt>sbbsdefs.js</tt> for <i>mode</i> flags.") ,311 }, {"getkey", js_getkey, 0, JSTYPE_STRING, JSDOCSTR("[mode=<tt>K_NONE</tt>]") - ,JSDOCSTR("get a single key, with wait.<br>" + ,JSDOCSTR("Get a single key, with wait.<br>" "See <tt>K_*</tt> in <tt>sbbsdefs.js</tt> for <i>mode</i> flags.") ,310 }, {"getstr", js_getstr, 0, JSTYPE_STRING, JSDOCSTR("[string] [,maxlen=<tt>128</tt>] [,mode=<tt>K_NONE</tt>] [,history[]]") - ,JSDOCSTR("get a text string from the user.<br>" + ,JSDOCSTR("Get a text string from the user.<br>" "See <tt>K_*</tt> in <tt>sbbsdefs.js</tt> for <i>mode</i> flags.<br>" "<i>history[]</i>, added in v3.17, allows a command history (string array) to be recalled using the up/down arrow keys." ) ,310 }, {"getnum", js_getnum, 0, JSTYPE_NUMBER, JSDOCSTR("[maxnum[, default]]") - ,JSDOCSTR("get a number between 1 and <i>maxnum</i> from the user with a default value of <i>default</i>") + ,JSDOCSTR("Get a number between 1 and <i>maxnum</i> from the user with a default value of <i>default</i>") ,310 }, {"getkeys", js_getkeys, 1, JSTYPE_NUMBER, JSDOCSTR("[keys] [,maxnum] [,mode=<tt>K_UPPER</tt>]") - ,JSDOCSTR("get one key from of a list of valid command <i>keys</i> (any key, if not specified), " + ,JSDOCSTR("Get one key from of a list of valid command <i>keys</i> (any key, if not specified), " "or a number between 1 and <i>maxnum</i>") ,310 }, {"gettemplate", js_gettemplate, 1, JSTYPE_STRING, JSDOCSTR("format [,string] [,mode=<tt>0</tt>]") - ,JSDOCSTR("get an input string based on specified template") + ,JSDOCSTR("Get an input string based on specified template") ,310 }, {"ungetstr", js_ungetstr, 1, JSTYPE_VOID, JSDOCSTR("keys") - ,JSDOCSTR("put one or more characters in the keyboard input buffer") + ,JSDOCSTR("Put one or more characters in the keyboard input buffer") ,310 }, {"yesno", js_yesno, 2, JSTYPE_BOOLEAN, JSDOCSTR("question [,mode = P_NONE]") @@ -2386,106 +2386,106 @@ static jsSyncMethodSpec js_console_functions[] = { ,310 }, {"mnemonics", js_mnemonics, 1, JSTYPE_VOID, JSDOCSTR("text") - ,JSDOCSTR("print a mnemonics string, command keys highlighted with tilde (~) characters") + ,JSDOCSTR("Print a mnemonics string, command keys highlighted with tilde (~) characters") ,310 }, {"clear", js_clear, 0, JSTYPE_VOID, JSDOCSTR("[attribute] [,autopause=<tt>true</tt>]") - ,JSDOCSTR("clear screen and home cursor, " + ,JSDOCSTR("Clear screen and home cursor, " "optionally (in v3.13b+) setting current attribute first") ,310 }, {"home", js_cursor_home, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("send cursor to home position (x,y:1,1)") + ,JSDOCSTR("Send cursor to home position (x,y:1,1)") ,311 }, {"clearline", js_clearline, 0, JSTYPE_VOID, JSDOCSTR("[attribute]") - ,JSDOCSTR("clear current line, " + ,JSDOCSTR("Clear current line, " "optionally (in v3.13b+) setting current attribute first") ,310 }, {"cleartoeol", js_cleartoeol, 0, JSTYPE_VOID, JSDOCSTR("[attribute]") - ,JSDOCSTR("clear to end-of-line, " + ,JSDOCSTR("Clear to end-of-line, " "optionally (in v3.13b+) setting current attribute first") ,311 }, {"crlf", js_crlf, 0, JSTYPE_VOID, JSDOCSTR("[count=<tt>1</tt>]") - ,JSDOCSTR("output <i>count</i> number of carriage-return/line-feed pairs (new-lines)") + ,JSDOCSTR("Output <i>count</i> number of carriage-return/line-feed pairs (new-lines)") ,310 }, {"pause", js_pause, 0, JSTYPE_BOOLEAN, JSDOCSTR("[set_abort=true]") - ,JSDOCSTR("display pause prompt and wait for key hit, returns <i>false</i> if user responded with Quit/Abort key.<br>" + ,JSDOCSTR("Display pause prompt and wait for key hit, returns <i>false</i> if user responded with Quit/Abort key.<br>" "Passing <tt>false</tt> for the <i>set_abort</i> argument will prevent the ''console.aborted'' flag from being set by this method.") ,310 }, {"beep", js_beep, 1, JSTYPE_VOID, JSDOCSTR("[count=<tt>1</tt>]") - ,JSDOCSTR("beep for <i>count</i> number of times (default count is 1)") + ,JSDOCSTR("Beep for <i>count</i> number of times (default count is 1)") ,311 }, {"print", js_print, 1, JSTYPE_VOID, JSDOCSTR("[value [,value][...]] or [string [,mode=<tt>P_NONE</tt>]]") - ,JSDOCSTR("display one or more values as strings (supports Ctrl-A codes, Telnet-escaping, auto-screen pausing, etc.).<br>" + ,JSDOCSTR("Display one or more values as strings (supports Ctrl-A codes, Telnet-escaping, auto-screen pausing, etc.).<br>" "Supports a limited set of <tt>P_*</tt> flags, e.g. <tt>P_PETSCII</tt> and <tt>P_UTF8</tt>." ) ,310 }, {"write", js_write, 1, JSTYPE_VOID, JSDOCSTR("value [,value]") - ,JSDOCSTR("display one or more values as raw strings (may include NULs)") + ,JSDOCSTR("Display one or more values as raw strings (may include NULs)") ,310 }, {"writeln", js_writeln, 1, JSTYPE_VOID, JSDOCSTR("value [,value]") - ,JSDOCSTR("display one or more values as raw strings followed by a single carriage-return/line-feed pair (new-line)") + ,JSDOCSTR("Display one or more values as raw strings followed by a single carriage-return/line-feed pair (new-line)") ,315 }, {"putmsg", js_putmsg, 1, JSTYPE_VOID, JSDOCSTR("text [,mode=<tt>P_NONE</tt>] [,orig_columns=0] [,object scope]") - ,JSDOCSTR("display message text (Ctrl-A codes, @-codes, pipe codes, etc.).<br> " + ,JSDOCSTR("Display message text (Ctrl-A codes, @-codes, pipe codes, etc.).<br> " "See <tt>P_*</tt> in <tt>sbbsdefs.js</tt> for <i>mode</i> flags.<br>" "When <tt>P_WORDWRAP</tt> mode flag is specified, <i>orig_columns</i> specifies the original text column width, if known.<br>" "When <i>scope</i> is specified, <tt>@JS:property@</tt> codes will expand the referenced property names.") ,310 }, {"center", js_center, 1, JSTYPE_VOID, JSDOCSTR("text [,width]") - ,JSDOCSTR("display a string centered on the screen, with an optionally-specified screen width (in columns)") + ,JSDOCSTR("Display a string centered on the screen, with an optionally-specified screen width (in columns)") ,310 }, {"wide", js_wide, 1, JSTYPE_VOID, JSDOCSTR("text") - ,JSDOCSTR("display a string double-wide on the screen (sending \"fullwidth\" Unicode characters when possible)") + ,JSDOCSTR("Display a string double-wide on the screen (sending \"fullwidth\" Unicode characters when possible)") ,31702 }, {"progress", js_progress, 1, JSTYPE_VOID, JSDOCSTR("text, count, total [,interval = 500]") - ,JSDOCSTR("display a progress indication bar, updated every <i>interval</i> milliseconds") + ,JSDOCSTR("Display a progress indication bar, updated every <i>interval</i> milliseconds") ,31902 }, {"strlen", js_strlen, 1, JSTYPE_NUMBER, JSDOCSTR("text [,mode=<tt>P_NONE</tt>]") - ,JSDOCSTR("returns the printed-length (number of columns) of the specified <i>text</i>, accounting for Ctrl-A codes") + ,JSDOCSTR("Returns the printed-length (number of columns) of the specified <i>text</i>, accounting for Ctrl-A codes") ,310 }, {"printfile", js_printfile, 1, JSTYPE_BOOLEAN, JSDOCSTR("filename [,mode=<tt>P_NONE</tt>] [,orig_columns=0] [,object scope]") - ,JSDOCSTR("print a message text file with optional mode.<br>" + ,JSDOCSTR("Print a message text file with optional mode.<br>" "When <tt>P_WORDWRAP</tt> mode flag is specified, <i>orig_columns</i> specifies the original text column width, if known.<br>" "When <i>scope</i> is specified, <tt>@JS:property@</tt> codes will expand the referenced property names.") ,310 }, {"printtail", js_printtail, 2, JSTYPE_BOOLEAN, JSDOCSTR("filename, lines [,mode=<tt>P_NONE</tt>] [,orig_columns=0] [,object scope]") - ,JSDOCSTR("print the last <i>n</i> lines of file with optional mode, original column width, and scope.") + ,JSDOCSTR("Print the last <i>n</i> lines of file with optional mode, original column width, and scope.") ,310 }, {"editfile", js_editfile, 1, JSTYPE_BOOLEAN, JSDOCSTR("filename") - ,JSDOCSTR("edit/create a text file using the user's preferred message editor") + ,JSDOCSTR("Edit/create a text file using the user's preferred message editor") ,310 }, {"uselect", js_uselect, 0, JSTYPE_NUMBER, JSDOCSTR("[number, title, item] [,ars]") - ,JSDOCSTR("user selection menu, call for each item, then with no args to display select menu") + ,JSDOCSTR("User selection menu, call for each item, then with no args to display select menu") ,312 }, {"saveline", js_saveline, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("push the current console line of text and attributes to a (local) LIFO list of //saved lines//") + ,JSDOCSTR("Push the current console line of text and attributes to a (local) LIFO list of //saved lines//") ,310 }, {"restoreline", js_restoreline, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("pop the most recently //saved line// of text and attributes and display it on the remote console") + ,JSDOCSTR("Pop the most recently //saved line// of text and attributes and display it on the remote console") ,310 }, {"ansi", js_ansi, 1, JSTYPE_STRING, JSDOCSTR("attribute [,current_attribute]") - ,JSDOCSTR("returns ANSI sequence required to generate specified terminal <i>attribute</i> " + ,JSDOCSTR("Returns ANSI sequence required to generate specified terminal <i>attribute</i> " "(e.g. <tt>YELLOW|HIGH|BG_BLUE</tt>), " "if <i>current_attribute</i> is specified, an optimized ANSI sequence may be returned") ,310 @@ -2493,130 +2493,130 @@ static jsSyncMethodSpec js_console_functions[] = { {"ansi_save", js_pushxy, 0, JSTYPE_ALIAS }, {"ansi_pushxy", js_pushxy, 0, JSTYPE_ALIAS }, {"pushxy", js_pushxy, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("save the current cursor position (x and y coordinates) in the remote terminal") + ,JSDOCSTR("Save the current cursor position (x and y coordinates) in the remote terminal") ,311 }, {"ansi_restore", js_popxy, 0, JSTYPE_ALIAS }, {"ansi_popxy", js_popxy, 0, JSTYPE_ALIAS }, {"popxy", js_popxy, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("restore a saved cursor position to the remote terminal (requires terminal support, e.g. ANSI)") + ,JSDOCSTR("Restore a saved cursor position to the remote terminal (requires terminal support, e.g. ANSI)") ,311 }, {"ansi_gotoxy", js_gotoxy, 1, JSTYPE_ALIAS }, {"gotoxy", js_gotoxy, 1, JSTYPE_VOID, JSDOCSTR("[x,y] or [object { x,y }]") - ,JSDOCSTR("move cursor to a specific screen coordinate (ANSI or PETSCII, 1-based values), " + ,JSDOCSTR("Move cursor to a specific screen coordinate (ANSI or PETSCII, 1-based values), " "arguments can be separate x and y coordinates or an object with x and y properties " "(like that returned from <tt>console.getxy()</tt>)") ,311 }, {"ansi_up", js_cursor_up, 0, JSTYPE_ALIAS }, {"up", js_cursor_up, 0, JSTYPE_VOID, JSDOCSTR("[rows=<tt>1</tt>]") - ,JSDOCSTR("move cursor up one or more rows") + ,JSDOCSTR("Move cursor up one or more rows") ,311 }, {"ansi_down", js_cursor_down, 0, JSTYPE_ALIAS }, {"down", js_cursor_down, 0, JSTYPE_VOID, JSDOCSTR("[rows=<tt>1</tt>]") - ,JSDOCSTR("move cursor down one or more rows") + ,JSDOCSTR("Move cursor down one or more rows") ,311 }, {"ansi_right", js_cursor_right, 0, JSTYPE_ALIAS }, {"right", js_cursor_right, 0, JSTYPE_VOID, JSDOCSTR("[columns=<tt>1</tt>]") - ,JSDOCSTR("move cursor right one or more columns") + ,JSDOCSTR("Move cursor right one or more columns") ,311 }, {"ansi_left", js_cursor_left, 0, JSTYPE_ALIAS }, {"left", js_cursor_left, 0, JSTYPE_VOID, JSDOCSTR("[columns=<tt>1</tt>]") - ,JSDOCSTR("move cursor left one or more columns") + ,JSDOCSTR("Move cursor left one or more columns") ,311 }, {"ansi_getlines", js_getlines, 0, JSTYPE_ALIAS }, {"getlines", js_getlines, 0, JSTYPE_ALIAS }, {"getdimensions", js_getlines, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("query the number of rows and columns on the remote terminal") + ,JSDOCSTR("Query the number of rows and columns on the remote terminal") ,311 }, {"ansi_getxy", js_getxy, 0, JSTYPE_ALIAS }, {"getxy", js_getxy, 0, JSTYPE_OBJECT, JSDOCSTR("") - ,JSDOCSTR("query the current cursor position on the remote (ANSI) terminal " + ,JSDOCSTR("Query the current cursor position on the remote (ANSI) terminal " "and returns the coordinates as an object (with <tt>x</tt> and <tt>y</tt> properties) or <tt>false</tt> on failure") ,311 }, {"lock_input", js_lock_input, 1, JSTYPE_VOID, JSDOCSTR("[lock=<tt>true</tt>]") - ,JSDOCSTR("lock the user input thread (allowing direct client socket access)") + ,JSDOCSTR("Lock the user input thread (allowing direct client socket access)") ,310 }, {"telnet_cmd", js_telnet_cmd, 3, JSTYPE_BOOLEAN, JSDOCSTR("command [,option=<tt>0</tt>] [,timeout=<tt>0</tt>]") - ,JSDOCSTR("send Telnet command (with optional command option) to remote client" + ,JSDOCSTR("Send Telnet command (with optional command option) to remote client" ", if the optional timeout is specified (in milliseconds, added in v3.17), then an acknowledgment will be expected and" " the return value will indicate whether or not one was received") ,317 }, {"handle_ctrlkey", js_handle_ctrlkey, 1, JSTYPE_BOOLEAN, JSDOCSTR("key [,mode=<tt>K_NONE</tt>]") - ,JSDOCSTR("call internal control key handler for specified control key, returns <tt>true</tt> if handled") + ,JSDOCSTR("Call internal control key handler for specified control key, returns <tt>true</tt> if handled") ,311 }, {"term_supports", js_term_supports, 1, JSTYPE_BOOLEAN, JSDOCSTR("[terminal_flags]") - ,JSDOCSTR("either returns <i>bool</i>, indicating whether or not the current user/client " + ,JSDOCSTR("Either returns <i>bool</i>, indicating whether or not the current user/client " "supports all the specified <i>terminal_flags</i>, or returns the current user/client's " "<i>terminal_flags</i> (numeric bit-field) if no <i>terminal_flags</i> were specified") ,314 }, {"term_updated", js_term_updated, 1, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("update the node's <tt>terminal.ini</tt> file to match the current terminal settings") + ,JSDOCSTR("Update the node's <tt>terminal.ini</tt> file to match the current terminal settings") ,31802 }, {"backspace", js_backspace, 0, JSTYPE_VOID, JSDOCSTR("[count=<tt>1</tt>]") - ,JSDOCSTR("send a destructive backspace sequence") + ,JSDOCSTR("Send a destructive backspace sequence") ,315 }, {"creturn", js_creturn, 0, JSTYPE_VOID, JSDOCSTR("[count=<tt>1</tt>]") - ,JSDOCSTR("send a carriage return sequence") + ,JSDOCSTR("Send a carriage return sequence") ,31700 }, {"clearkeybuffer", js_clearkeybuf, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("clear keyboard input buffer") + ,JSDOCSTR("Clear keyboard input buffer") ,315 }, {"getbyte", js_getbyte, 1, JSTYPE_NUMBER, JSDOCSTR("[timeout=<tt>0</tt>]") - ,JSDOCSTR("returns an unprocessed input byte from the remote terminal " + ,JSDOCSTR("Returns an unprocessed input byte from the remote terminal " "with optional <i>timeout</i> in milliseconds (defaults to 0, for no wait), " "returns <i>null</i> on failure (timeout)") ,31700 }, {"putbyte", js_putbyte, 1, JSTYPE_BOOLEAN, JSDOCSTR("value") - ,JSDOCSTR("sends an unprocessed byte value to the remote terminal") + ,JSDOCSTR("Sends an unprocessed byte value to the remote terminal") ,31700 }, {"add_hotspot", js_add_hotspot, 1, JSTYPE_VOID, JSDOCSTR("cmd [,bool hungry=<tt>true</tt>] [,min_x] [,max_x] [,y]") - ,JSDOCSTR("adds a mouse hot-spot (a clickable screen area that generates keyboard input)") + ,JSDOCSTR("Adds a mouse hot-spot (a clickable screen area that generates keyboard input)") ,31800 }, {"clear_hotspots", js_clear_hotspots, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("clear all current mouse hot-spots") + ,JSDOCSTR("Clear all current mouse hot-spots") ,31800 }, {"scroll_hotspots", js_scroll_hotspots, 0, JSTYPE_VOID, JSDOCSTR("[rows=1]") - ,JSDOCSTR("scroll all current mouse hot-spots by the specific number of rows") + ,JSDOCSTR("Scroll all current mouse hot-spots by the specific number of rows") ,31800 }, {"on", js_on, 2, JSTYPE_NUMBER, JSDOCSTR("type, callback") - ,JSDOCSTR("calls callback whenever the condition type specifies is possible. Currently, only 'read' is supported for type. Returns an id suitable for use with clearOn") + ,JSDOCSTR("Calls callback whenever the condition type specifies is possible. Currently, only 'read' is supported for type. Returns an id suitable for use with clearOn") ,31900 }, {"once", js_once, 2, JSTYPE_NUMBER, JSDOCSTR("type, callback") - ,JSDOCSTR("calls callback the first time the condition type specifies is possible. Currently, only 'read' is supported for type. Returns an id suitable for use with clearOnce") + ,JSDOCSTR("Calls callback the first time the condition type specifies is possible. Currently, only 'read' is supported for type. Returns an id suitable for use with clearOnce") ,31900 }, {"clearOn", js_clearOn, 2, JSTYPE_VOID, JSDOCSTR("type, id") - ,JSDOCSTR("removes a callback installed by on") + ,JSDOCSTR("Removes a callback installed by on") ,31900 }, {"clearOnce", js_clearOnce, 2, JSTYPE_VOID, JSDOCSTR("type, id") - ,JSDOCSTR("removes a callback installed by once") + ,JSDOCSTR("Removes a callback installed by once") ,31900 }, {"flush", js_flush, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("flushes the output buffer") + ,JSDOCSTR("Flushes the output buffer") ,31902 }, {0} diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c index 59410a530b3c48c02a640d09f13a3176f09703db..2fdfff4129b50746b4280bea12635ad59eaec96c 100644 --- a/src/sbbs3/js_file.c +++ b/src/sbbs3/js_file.c @@ -2815,45 +2815,44 @@ static jsSyncPropertySpec js_file_properties[] = { #ifdef BUILD_JSDOCS static const char* file_prop_desc[] = { - "filename specified in constructor - <small>READ ONLY</small>" - ,"mode string specified in <i>open</i> call - <small>READ ONLY</small>" + "Filename specified in constructor - <small>READ ONLY</small>" + ,"Mode string specified in <i>open</i> call - <small>READ ONLY</small>" ,"<i>true</i> if the file is open or exists (case-insensitive) - <small>READ ONLY</small>" ,"<i>true</i> if the file has been opened successfully - <small>READ ONLY</small>" ,"<i>true</i> if the current file position is at the <i>end of file</i> - <small>READ ONLY</small>" - ,"the last occurred error value (use <i>clear_error</i> to clear) - <small>READ ONLY</small>" - ,"the open file descriptor (advanced use only) - <small>READ ONLY</small>" - ,"end-of-text character (advanced use only), if non-zero used by <i>read</i>, <i>readln</i>, and <i>write</i>" - ,"set to <i>true</i> to enable debug log output" - ,"the current file position (offset in bytes), change value to seek within file" - ,"last modified date/time (in time_t format)" - ,"the current length of the file (in bytes)" - ,"file type/mode flags (i.e. <tt>struct stat.st_mode</tt> value, compatible with <tt>file_chmod()</tt>)" - ,"set to <i>true</i> if binary data is to be written and read in Network Byte Order (big end first)" - ,"set to <i>true</i> to enable automatic ROT13 translation of text" - ,"set to <i>true</i> to enable automatic Unix-to-Unix encode and decode on <tt>read</tt> and <tt>write</tt> calls" - ,"set to <i>true</i> to enable automatic yEnc encode and decode on <tt>read</tt> and <tt>write</tt> calls" - ,"set to <i>true</i> to enable automatic Base64 encode and decode on <tt>read</tt> and <tt>write</tt> calls" - ,"calculated 16-bit CRC of file contents - <small>READ ONLY</small>" - ,"calculated 32-bit CRC of file contents - <small>READ ONLY</small>" - ,"calculated 32-bit checksum of file contents - <small>READ ONLY</small>" - ,"calculated 128-bit MD5 digest of file contents as hexadecimal string - <small>READ ONLY</small>" - ,"calculated 128-bit MD5 digest of file contents as base64-encoded string - <small>READ ONLY</small>" - ,"calculated 160-bit SHA1 digest of file contents as hexadecimal string - <small>READ ONLY</small>" - ,"calculated 160-bit SHA1 digest of file contents as base64-encoded string - <small>READ ONLY</small>" - ,"ini style: minimum key length (for left-justified white-space padded keys)" - ,"ini style: key prefix (e.g. '\\t', null = default prefix)" - ,"ini style: section separator (e.g. '\\n', null = default separator)" - ,"ini style: value separator (e.g. ' = ', null = default separator)" - ,"ini style: bit separator (e.g. ' | ', null = default separator)" - ,"ini style: literal separator (null = default separator)" + ,"The last occurred error value (use <i>clear_error</i> to clear) - <small>READ ONLY</small>" + ,"The open file descriptor (advanced use only) - <small>READ ONLY</small>" + ,"End-of-text character (advanced use only), if non-zero used by <i>read</i>, <i>readln</i>, and <i>write</i>" + ,"Set to <i>true</i> to enable debug log output" + ,"The current file position (offset in bytes), change value to seek within file" + ,"Last modified date/time (in time_t format)" + ,"The current length of the file (in bytes)" + ,"File type/mode flags (i.e. <tt>struct stat.st_mode</tt> value, compatible with <tt>file_chmod()</tt>)" + ,"Set to <i>true</i> if binary data is to be written and read in Network Byte Order (big end first)" + ,"Set to <i>true</i> to enable automatic ROT13 translation of text" + ,"Set to <i>true</i> to enable automatic Unix-to-Unix encode and decode on <tt>read</tt> and <tt>write</tt> calls" + ,"Set to <i>true</i> to enable automatic yEnc encode and decode on <tt>read</tt> and <tt>write</tt> calls" + ,"Set to <i>true</i> to enable automatic Base64 encode and decode on <tt>read</tt> and <tt>write</tt> calls" + ,"Calculated 16-bit CRC of file contents - <small>READ ONLY</small>" + ,"Calculated 32-bit CRC of file contents - <small>READ ONLY</small>" + ,"Calculated 32-bit checksum of file contents - <small>READ ONLY</small>" + ,"Calculated 128-bit MD5 digest of file contents as hexadecimal string - <small>READ ONLY</small>" + ,"Calculated 128-bit MD5 digest of file contents as base64-encoded string - <small>READ ONLY</small>" + ,"Calculated 160-bit SHA1 digest of file contents as hexadecimal string - <small>READ ONLY</small>" + ,"Calculated 160-bit SHA1 digest of file contents as base64-encoded string - <small>READ ONLY</small>" + ,"Ini style: minimum key length (for left-justified white-space padded keys)" + ,"Ini style: key prefix (e.g. '\\t', null = default prefix)" + ,"Ini style: section separator (e.g. '\\n', null = default separator)" + ,"Ini style: value separator (e.g. ' = ', null = default separator)" + ,"Ini style: bit separator (e.g. ' | ', null = default separator)" + ,"Ini style: literal separator (null = default separator)" ,NULL }; #endif - static jsSyncMethodSpec js_file_functions[] = { {"open", js_open, 1, JSTYPE_BOOLEAN, JSDOCSTR("[mode=<tt>\"w+\"</tt>] [,shareable=<tt>false</tt>] [,buffer_length]") - ,JSDOCSTR("open file, <i>shareable</i> defaults to <i>false</i>, <i>buffer_length</i> defaults to 2048 bytes, " + ,JSDOCSTR("Open file, <i>shareable</i> defaults to <i>false</i>, <i>buffer_length</i> defaults to 2048 bytes, " "mode (default: <tt>'w+'</tt>) specifies the type of access requested for the file, as follows:<br>" "<tt>r </tt> open for reading; if the file does not exist or cannot be found, the open call fails<br>" "<tt>w </tt> open an empty file for writing; if the given file exists, its contents are destroyed<br>" @@ -2886,7 +2885,7 @@ static jsSyncMethodSpec js_file_functions[] = { ,310 }, {"popen", js_popen, 1, JSTYPE_BOOLEAN, JSDOCSTR("[mode=<tt>\"r+\"</tt>] [,buffer_length]") - ,JSDOCSTR("open pipe to command, <i>buffer_length</i> defaults to 2048 bytes, " + ,JSDOCSTR("Open pipe to command, <i>buffer_length</i> defaults to 2048 bytes, " "mode (default: <tt>'r+'</tt>) specifies the type of access requested for the file, as follows:<br>" "<tt>r </tt> read the programs stdout;<br>" "<tt>w </tt> write to the programs stdin<br>" @@ -2896,112 +2895,112 @@ static jsSyncMethodSpec js_file_functions[] = { ,315 }, {"close", js_close, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("close file") + ,JSDOCSTR("Close file") ,310 }, {"remove", js_delete, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("remove the file from the disk") + ,JSDOCSTR("Remove the file from the disk") ,310 }, {"clearError", js_clear_error, 0, JSTYPE_ALIAS }, {"clear_error", js_clear_error, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("clears the current error value (AKA clearError)") + ,JSDOCSTR("Clears the current error value (AKA clearError)") ,310 }, {"flush", js_flush, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("flush/commit buffers to disk") + ,JSDOCSTR("Flush/commit buffers to disk") ,310 }, {"rewind", js_rewind, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("repositions the file pointer (<i>position</i>) to the beginning of a file " + ,JSDOCSTR("Repositions the file pointer (<i>position</i>) to the beginning of a file " "and clears error and end-of-file indicators") ,311 }, {"truncate", js_truncate, 0, JSTYPE_BOOLEAN, JSDOCSTR("[length=<tt>0</tt>]") - ,JSDOCSTR("changes the file <i>length</i> (default: 0) and repositions the file pointer " + ,JSDOCSTR("Changes the file <i>length</i> (default: 0) and repositions the file pointer " "(<i>position</i>) to the new end-of-file") ,314 }, {"lock", js_lock, 2, JSTYPE_BOOLEAN, JSDOCSTR("[offset=<tt>0</tt>] [,length=<i>file_length</i>-<i>offset</i>]") - ,JSDOCSTR("lock file record for exclusive access (file must be opened <i>shareable</i>)") + ,JSDOCSTR("Lock file record for exclusive access (file must be opened <i>shareable</i>)") ,310 }, {"unlock", js_unlock, 2, JSTYPE_BOOLEAN, JSDOCSTR("[offset=<tt>0</tt>] [,length=<i>file_length</i>-<i>offset</i>]") - ,JSDOCSTR("unlock file record for exclusive access") + ,JSDOCSTR("Unlock file record for exclusive access") ,310 }, {"read", js_read, 0, JSTYPE_STRING, JSDOCSTR("[maxlen=<i>file_length</i>-<i>file_position</i>]") - ,JSDOCSTR("read a string from file (optionally unix-to-unix or base64 decoding in the process), " + ,JSDOCSTR("Read a string from file (optionally unix-to-unix or base64 decoding in the process), " "<i>maxlen</i> defaults to the current length of the file minus the current file position") ,310 }, {"readln", js_readln, 0, JSTYPE_STRING, JSDOCSTR("[maxlen=<tt>512</tt>]") - ,JSDOCSTR("read a line-feed terminated string, <i>maxlen</i> defaults to 512 characters. " + ,JSDOCSTR("Read a line-feed terminated string, <i>maxlen</i> defaults to 512 characters. " "Returns <i>null</i> upon end of file.") ,310 }, {"readBin", js_readbin, 0, JSTYPE_NUMBER, JSDOCSTR("[bytes=<tt>4</tt> [,count=<tt>1</tt>]") - ,JSDOCSTR("read one or more binary integers from the file, default number of <i>bytes</i> is 4 (32-bits). " + ,JSDOCSTR("Read one or more binary integers from the file, default number of <i>bytes</i> is 4 (32-bits). " "if count is not equal to 1, an array is returned (even if no integers were read)") ,310 }, {"readAll", js_readall, 0, JSTYPE_ARRAY, JSDOCSTR("[maxlen=<tt>512</tt>]") - ,JSDOCSTR("read all lines into an array of strings, <i>maxlen</i> defaults to 512 characters") + ,JSDOCSTR("Read all lines into an array of strings, <i>maxlen</i> defaults to 512 characters") ,310 }, {"raw_read", js_raw_read, 0, JSTYPE_STRING, JSDOCSTR("[maxlen=<i>1</i>]") - ,JSDOCSTR("read a string from underlying file descriptor. " + ,JSDOCSTR("Read a string from underlying file descriptor. " "Undefined results when mixed with any other read/write methods except raw_write, including indirect ones. " "<i>maxlen</i> defaults to one") ,317 }, {"raw_pollin", js_raw_pollin, 0, JSTYPE_BOOLEAN, JSDOCSTR("[timeout]") - ,JSDOCSTR("waits up to <i>timeout</i> milliseconds (or forever if timeout is not specified) for data to be available " + ,JSDOCSTR("Waits up to <i>timeout</i> milliseconds (or forever if timeout is not specified) for data to be available " "via raw_read().") ,317 }, {"write", js_write, 1, JSTYPE_BOOLEAN, JSDOCSTR("text [,length=<i>text_length</i>]") - ,JSDOCSTR("write a string to the file (optionally unix-to-unix or base64 decoding in the process). " + ,JSDOCSTR("Write a string to the file (optionally unix-to-unix or base64 decoding in the process). " "If the specified <i>length</i> is longer than the <i>text</i>, the remaining length will be written as NUL bytes.") ,310 }, {"writeln", js_writeln, 0, JSTYPE_BOOLEAN, JSDOCSTR("[text]") - ,JSDOCSTR("write a new-line terminated string (a line of text) to the file") + ,JSDOCSTR("Write a new-line terminated string (a line of text) to the file") ,310 }, {"writeBin", js_writebin, 1, JSTYPE_BOOLEAN, JSDOCSTR("value(s) [,bytes=<tt>4</tt>]") - ,JSDOCSTR("write one or more binary integers to the file, default number of <i>bytes</i> is 4 (32-bits). " + ,JSDOCSTR("Write one or more binary integers to the file, default number of <i>bytes</i> is 4 (32-bits). " "If value is an array, writes the entire array to the file.") ,310 }, {"writeAll", js_writeall, 0, JSTYPE_BOOLEAN, JSDOCSTR("array lines") - ,JSDOCSTR("write an array of new-line terminated strings (lines of text) to the file") + ,JSDOCSTR("Write an array of new-line terminated strings (lines of text) to the file") ,310 }, {"raw_write", js_raw_write, 1, JSTYPE_BOOLEAN, JSDOCSTR("text") - ,JSDOCSTR("write a string to the underlying file descriptor. " + ,JSDOCSTR("Write a string to the underlying file descriptor. " "Undefined results when mixed with any other read/write methods except raw_read, including indirect ones.") ,317 }, {"printf", js_fprintf, 0, JSTYPE_NUMBER, JSDOCSTR("format [,args]") - ,JSDOCSTR("write a formatted string to the file (ala fprintf) - " + ,JSDOCSTR("Write a formatted string to the file (ala fprintf) - " "<small>CAUTION: for experienced C programmers ONLY</small>") ,310 }, {"iniGetSections", js_iniGetSections, 0, JSTYPE_ARRAY, JSDOCSTR("[prefix=<i>none</i>]") - ,JSDOCSTR("parse all section names from a <tt>.ini</tt> file (format = '<tt>[section]</tt>') " + ,JSDOCSTR("Parse all section names from a <tt>.ini</tt> file (format = '<tt>[section]</tt>') " "and return the section names as an <i>array of strings</i>, " "optionally, only those section names that begin with the specified <i>prefix</i>") ,311 }, {"iniGetKeys", js_iniGetKeys, 1, JSTYPE_ARRAY, JSDOCSTR("[section=<i>root</i>]") - ,JSDOCSTR("parse all key names from the specified <i>section</i> in a <tt>.ini</tt> file " + ,JSDOCSTR("Parse all key names from the specified <i>section</i> in a <tt>.ini</tt> file " "and return the key names as an <i>array of strings</i>. " "if <i>section</i> is undefined, returns key names from the <i>root</i> section") ,311 }, {"iniGetValue", js_iniGetValue, 3, JSTYPE_UNDEF, JSDOCSTR("section, key [,default=<i>none</i>]") - ,JSDOCSTR("parse a key from a <tt>.ini</tt> file and return its value (format = '<tt>key = value</tt>'). " + ,JSDOCSTR("Parse a key from a <tt>.ini</tt> file and return its value (format = '<tt>key = value</tt>'). " "returns the specified <i>default</i> value if the key or value is missing or invalid. " "to parse a key from the <i>root</i> section, pass <i>null</i> for <i>section</i>. " "Returns a <i>bool</i>, <i>number</i>, <i>string</i>, or an <i>array of strings</i> " @@ -3011,14 +3010,14 @@ static jsSyncMethodSpec js_file_functions[] = { ,311 }, {"iniSetValue", js_iniSetValue, 3, JSTYPE_BOOLEAN, JSDOCSTR("section, key, [value=<i>none</i>]") - ,JSDOCSTR("set the specified <i>key</i> to the specified <i>value</i> in the specified <i>section</i> " + ,JSDOCSTR("Set the specified <i>key</i> to the specified <i>value</i> in the specified <i>section</i> " "of a <tt>.ini</tt> file. " "to set a key in the <i>root</i> section, pass <i>null</i> for <i>section</i>. ") ,312 }, {"iniGetObject", js_iniGetObject, 1, JSTYPE_OBJECT, JSDOCSTR("[section=<i>root</i>] [,lowercase=<tt>false</tt>] " "[,blanks=<tt>false</tt>]") - ,JSDOCSTR("parse an entire section from a .ini file " + ,JSDOCSTR("Parse an entire section from a .ini file " "and return all of its keys (optionally lowercased) and values as properties of an object. " "If <i>section</i> is <tt>null</tt> or <tt>undefined</tt>, returns keys and values from the <i>root</i> section. " "If <i>blanks</i> is <tt>true</tt> then empty string (instead of <tt>undefined</tt>) values may included in the returned object." @@ -3026,7 +3025,7 @@ static jsSyncMethodSpec js_file_functions[] = { ,311 }, {"iniSetObject", js_iniSetObject, 2, JSTYPE_BOOLEAN, JSDOCSTR("section, object") - ,JSDOCSTR("write all the properties of the specified <i>object</i> as separate <tt>key=value</tt> pairs " + ,JSDOCSTR("Write all the properties of the specified <i>object</i> as separate <tt>key=value</tt> pairs " "in the specified <i>section</i> of a <tt>.ini</tt> file. " "to write an object in the <i>root</i> section, pass <i>null</i> for <i>section</i>. " "<br><b>Note:</b> this method does not remove unreferenced keys from an existing section. " @@ -3035,7 +3034,7 @@ static jsSyncMethodSpec js_file_functions[] = { }, {"iniGetAllObjects",js_iniGetAllObjects,1, JSTYPE_ARRAY, JSDOCSTR("[name_property] [,prefix=<i>none</i>] [,lowercase=<tt>false</tt>] " "[,blanks=<tt>false</tt>]") - ,JSDOCSTR("parse all sections from a .ini file and return all (non-<i>root</i>) sections " + ,JSDOCSTR("Parse all sections from a .ini file and return all (non-<i>root</i>) sections " "in an array of objects with each section's keys (optionally lowercased) as properties of each object. " "<i>name_property</i> is the name of the property to create to contain the section's name " "(optionally lowercased, default is <tt>\"name\"</tt>), " @@ -3046,24 +3045,24 @@ static jsSyncMethodSpec js_file_functions[] = { ,311 }, {"iniSetAllObjects",js_iniSetAllObjects,1, JSTYPE_BOOLEAN, JSDOCSTR("object array [,name_property=<tt>\"name\"</tt>]") - ,JSDOCSTR("write an array of objects to a .ini file, each object in its own section named " + ,JSDOCSTR("Write an array of objects to a .ini file, each object in its own section named " "after the object's <i>name_property</i> (default: <tt>name</tt>)") ,312 }, {"iniRemoveKey", js_iniRemoveKey, 2, JSTYPE_BOOLEAN, JSDOCSTR("section, key") - ,JSDOCSTR("remove specified <i>key</i> from specified <i>section</i> in <tt>.ini</tt> file.") + ,JSDOCSTR("Remove specified <i>key</i> from specified <i>section</i> in <tt>.ini</tt> file.") ,314 }, {"iniRemoveSection",js_iniRemoveSection,1, JSTYPE_BOOLEAN, JSDOCSTR("section") - ,JSDOCSTR("remove specified <i>section</i> from <tt>.ini</tt> file.") + ,JSDOCSTR("Remove specified <i>section</i> from <tt>.ini</tt> file.") ,314 }, {"iniRemoveSections",js_iniRemoveSections,1, JSTYPE_BOOLEAN, JSDOCSTR("[prefix]") - ,JSDOCSTR("remove all sections from <tt>.ini</tt> file, optionally only sections with the specified section name <i>prefix</i>.") + ,JSDOCSTR("Remove all sections from <tt>.ini</tt> file, optionally only sections with the specified section name <i>prefix</i>.") ,32000 }, {"iniReadAll", js_iniReadAll, 0, JSTYPE_ARRAY, JSDOCSTR("") - ,JSDOCSTR("read entire <tt>.ini</tt> file into an array of string (with <tt>!include</tt>ed files).") + ,JSDOCSTR("Read entire <tt>.ini</tt> file into an array of string (with <tt>!include</tt>ed files).") ,31802 }, {0} diff --git a/src/sbbs3/js_file_area.c b/src/sbbs3/js_file_area.c index 6904aa01fc2858918e07fb9b9e95e81dd2dbe2dd..54c6d99d8fde8f436c4aa3b1561330bdcfc4171c 100644 --- a/src/sbbs3/js_file_area.c +++ b/src/sbbs3/js_file_area.c @@ -25,63 +25,63 @@ #ifdef BUILD_JSDOCS static char* file_area_prop_desc[] = { - "minimum amount of available disk space (in bytes) required for user uploads to be allowed" - ,"file area settings (bitfield) - see <tt>FM_*</tt> in <tt>sbbsdefs.js</tt> for details" - ,"web file virtual path prefix <i>(introduced in v3.19c)</i>" + "Minimum amount of available disk space (in bytes) required for user uploads to be allowed" + ,"File area settings (bitfield) - see <tt>FM_*</tt> in <tt>sbbsdefs.js</tt> for details" + ,"Web file virtual path prefix <i>(introduced in v3.19c)</i>" ,NULL }; static char* lib_prop_desc[] = { - "index into lib_list array (or -1 if not in array) <i>(introduced in v3.12)</i>" - ,"unique number for this library" - ,"name" - ,"description" - ,"access requirements" - ,"virtual directory name (for FTP or HTTP access)" - ,"user has sufficient access to this library's directories <i>(introduced in v3.18)</i>" - ,"internal code prefix (for directories) <i>(introduced in v3.18c)</i>" + "Index into lib_list array (or -1 if not in array) <i>(introduced in v3.12)</i>" + ,"Unique number for this library" + ,"Name" + ,"Description" + ,"Access requirements" + ,"Virtual directory name (for FTP or HTTP access)" + ,"User has sufficient access to this library's directories <i>(introduced in v3.18)</i>" + ,"Internal code prefix (for directories) <i>(introduced in v3.18c)</i>" ,NULL }; static char* dir_prop_desc[] = { - "index into dir_list array (or -1 if not in array) <i>(introduced in v3.12)</i>" - ,"unique number for this directory" - ,"library index <i>(introduced in v3.12)</i>" - ,"library number" - ,"library name <i>(introduced in v3.12)</i>" - ,"directory internal code" - ,"directory name" - ,"directory description" - ,"directory area tag for file echoes <i>(introduced in v3.19)</i>" - ,"directory file storage location" - ,"directory access requirements" - ,"directory upload requirements" - ,"directory download requirements" - ,"directory exemption requirements" - ,"directory operator requirements" - ,"allowed file extensions (comma delimited)" - ,"upload semaphore file" - ,"directory data storage location" - ,"toggle options (bitfield)" - ,"sequential (slow storage) device number" - ,"sort order (see <tt>FileBase.SORT</tt> for valid values)" - ,"configured maximum number of files" - ,"configured maximum age (in days) of files before expiration" - ,"percent of file size awarded uploader in credits upon file upload" - ,"percent of file size awarded uploader in credits upon subsequent downloads" - ,"virtual directory name (for FTP or HTTP access)" - ,"virtual path (for FTP or HTTP access)" - ,"number of files currently in this directory <i>(introduced in v3.18c)</i>" - ,"timestamp of file base index of this directory <i>(introduced in v3.19)</i>" - ,"user has sufficient access to view this directory (e.g. list files) <i>(introduced in v3.18)</i>" - ,"user has sufficient access to upload files to this directory" - ,"user has sufficient access to download files from this directory" - ,"user is exempt from download credit costs (or the directory is configured for free downloads)" - ,"user has operator access to this directory" - ,"directory is for offline storage <i>(introduced in v3.14)</i>" - ,"directory is for uploads only <i>(introduced in v3.14)</i>" - ,"directory is for uploads to sysop only <i>(introduced in v3.14)</i>" + "Index into dir_list array (or -1 if not in array) <i>(introduced in v3.12)</i>" + ,"Unique number for this directory" + ,"Library index <i>(introduced in v3.12)</i>" + ,"Library number" + ,"Library name <i>(introduced in v3.12)</i>" + ,"Directory internal code" + ,"Directory name" + ,"Directory description" + ,"Directory area tag for file echoes <i>(introduced in v3.19)</i>" + ,"Directory file storage location" + ,"Directory access requirements" + ,"Directory upload requirements" + ,"Directory download requirements" + ,"Directory exemption requirements" + ,"Directory operator requirements" + ,"Allowed file extensions (comma delimited)" + ,"Upload semaphore file" + ,"Directory data storage location" + ,"Toggle options (bitfield)" + ,"Sequential (slow storage) device number" + ,"Sort order (see <tt>FileBase.SORT</tt> for valid values)" + ,"Configured maximum number of files" + ,"Configured maximum age (in days) of files before expiration" + ,"Percent of file size awarded uploader in credits upon file upload" + ,"Percent of file size awarded uploader in credits upon subsequent downloads" + ,"Virtual directory name (for FTP or HTTP access)" + ,"Virtual path (for FTP or HTTP access)" + ,"Number of files currently in this directory <i>(introduced in v3.18c)</i>" + ,"Timestamp of file base index of this directory <i>(introduced in v3.19)</i>" + ,"User has sufficient access to view this directory (e.g. list files) <i>(introduced in v3.18)</i>" + ,"User has sufficient access to upload files to this directory" + ,"User has sufficient access to download files from this directory" + ,"User is exempt from download credit costs (or the directory is configured for free downloads)" + ,"User has operator access to this directory" + ,"Directory is for offline storage <i>(introduced in v3.14)</i>" + ,"Directory is for uploads only <i>(introduced in v3.14)</i>" + ,"Directory is for uploads to sysop only <i>(introduced in v3.14)</i>" ,NULL }; #endif diff --git a/src/sbbs3/js_filebase.c b/src/sbbs3/js_filebase.c index 9c9953188a1d624792a9d7e50004db5b48b2fcbb..a7ddb702b517a7ee541285ee1a619cd45ce8029a 100644 --- a/src/sbbs3/js_filebase.c +++ b/src/sbbs3/js_filebase.c @@ -1592,20 +1592,20 @@ static jsSyncPropertySpec js_filebase_properties[] = { #ifdef BUILD_JSDOCS static char* filebase_prop_desc[] = { - "last occurred file base error description - <small>READ ONLY</small>" - ,"return value of last <i>SMB Library</i> function call - <small>READ ONLY</small>" - ,"base path and filename of file base - <small>READ ONLY</small>" - ,"file base open/lock retry timeout (in seconds)" - ,"delay between file base open/lock retries (in milliseconds)" - ,"first file number - <small>READ ONLY</small>" - ,"last file number - <small>READ ONLY</small>" - ,"timestamp of last file - <small>READ ONLY</small>" - ,"total number of files - <small>READ ONLY</small>" - ,"timestamp of file base index (only writable when file base is closed)" - ,"maximum number of files before expiration - <small>READ ONLY</small>" - ,"maximum age (in days) of files to store - <small>READ ONLY</small>" - ,"file base attributes - <small>READ ONLY</small>" - ,"directory number (0-based, -1 if invalid) - <small>READ ONLY</small>" + "Last occurred file base error description - <small>READ ONLY</small>" + ,"Return value of last <i>SMB Library</i> function call - <small>READ ONLY</small>" + ,"Base path and filename of file base - <small>READ ONLY</small>" + ,"File base open/lock retry timeout (in seconds)" + ,"Delay between file base open/lock retries (in milliseconds)" + ,"First file number - <small>READ ONLY</small>" + ,"Last file number - <small>READ ONLY</small>" + ,"Timestamp of last file - <small>READ ONLY</small>" + ,"Total number of files - <small>READ ONLY</small>" + ,"Timestamp of file base index (only writable when file base is closed)" + ,"Maximum number of files before expiration - <small>READ ONLY</small>" + ,"Maximum age (in days) of files to store - <small>READ ONLY</small>" + ,"File base attributes - <small>READ ONLY</small>" + ,"Directory number (0-based, -1 if invalid) - <small>READ ONLY</small>" ,"<i>true</i> if the file base has been opened successfully - <small>READ ONLY</small>" ,NULL }; @@ -1614,17 +1614,17 @@ static char* filebase_prop_desc[] = { static jsSyncMethodSpec js_filebase_functions[] = { {"open", js_open, 0, JSTYPE_BOOLEAN ,JSDOCSTR("") - ,JSDOCSTR("open file base") + ,JSDOCSTR("Open file base") ,31900 }, {"close", js_close, 0, JSTYPE_BOOLEAN ,JSDOCSTR("") - ,JSDOCSTR("close file base (if open)") + ,JSDOCSTR("Close file base (if open)") ,31900 }, {"get", js_get_file, 2, JSTYPE_OBJECT ,JSDOCSTR("filename or file-meta-object [,detail=FileBase.DETAIL.NORM]") - ,JSDOCSTR("get a file metadata object or <tt>null</tt> on failure. " + ,JSDOCSTR("Get a file metadata object or <tt>null</tt> on failure. " "The file-meta-object may contain the following properties (depending on <i>detail</i> value):<br>" "<table>" "<tr><td align=top><tt>name</tt><td>Filename <i>(required)</i>" @@ -1658,72 +1658,72 @@ static jsSyncMethodSpec js_filebase_functions[] = { }, {"get_list", js_get_file_list, 4, JSTYPE_ARRAY ,JSDOCSTR("[filespec] [,detail=FileBase.DETAIL.NORM] [,since-time=0] [,sort=true [,order]]") - ,JSDOCSTR("get a list (array) of file metadata objects" + ,JSDOCSTR("Get a list (array) of file metadata objects" ", the default sort order is the sysop-configured order or <tt>FileBase.SORT.NAME_AI</tt>" ) ,31900 }, {"get_name", js_get_file_name, 1, JSTYPE_STRING ,JSDOCSTR("path/filename") - ,JSDOCSTR("returns index-formatted (e.g. shortened) version of filename without path (file base does not have to be open)") + ,JSDOCSTR("Returns index-formatted (e.g. shortened) version of filename without path (file base does not have to be open)") ,31900 }, {"get_names", js_get_file_names, 3, JSTYPE_ARRAY ,JSDOCSTR("[filespec] [,since-time=0] [,sort=true [,order]]") - ,JSDOCSTR("get a list of index-formatted (e.g. shortened) filenames (strings) from file base index" + ,JSDOCSTR("Get a list of index-formatted (e.g. shortened) filenames (strings) from file base index" ", the default sort order is the sysop-configured order or <tt>FileBase.SORT.NAME_AI</tt>") ,31900 }, {"get_path", js_get_file_path, 1, JSTYPE_STRING ,JSDOCSTR("filename or file-meta-object") - ,JSDOCSTR("get the full path to the local file") + ,JSDOCSTR("Get the full path to the local file") ,31900 }, {"get_size", js_get_file_size, 1, JSTYPE_NUMBER ,JSDOCSTR("filename or file-meta-object") - ,JSDOCSTR("get the size of the local file, in bytes, or -1 if it does not exist") + ,JSDOCSTR("Get the size of the local file, in bytes, or -1 if it does not exist") ,31900 }, {"get_time", js_get_file_time, 1, JSTYPE_NUMBER ,JSDOCSTR("filename or file-meta-object") - ,JSDOCSTR("get the modification date/time stamp of the local file") + ,JSDOCSTR("Get the modification date/time stamp of the local file") ,31900 }, {"add", js_add_file, 1, JSTYPE_BOOLEAN ,JSDOCSTR("file-meta-object [,use_diz_always=false] [,object client=none]") - ,JSDOCSTR("add a file to the file base, returning <tt>true</tt> on success or <tt>false</tt> upon failure.") + ,JSDOCSTR("Add a file to the file base, returning <tt>true</tt> on success or <tt>false</tt> upon failure.") ,31900 }, {"remove", js_remove_file, 2, JSTYPE_BOOLEAN ,JSDOCSTR("filename [,delete=false]") - ,JSDOCSTR("remove an existing file from the file base and optionally delete file" + ,JSDOCSTR("Remove an existing file from the file base and optionally delete file" ", may throw exception on errors (e.g. file remove failure)") ,31900 }, {"update", js_update_file, 3, JSTYPE_BOOLEAN ,JSDOCSTR("filename, file-meta-object [,use_diz_always=false] [,readd_always=false]") - ,JSDOCSTR("update an existing file in the file base" + ,JSDOCSTR("Update an existing file in the file base" ", may throw exception on errors (e.g. file rename failure)") ,31900 }, {"renew", js_renew_file, 1, JSTYPE_BOOLEAN ,JSDOCSTR("filename") - ,JSDOCSTR("remove and re-add (as new) an existing file in the file base") + ,JSDOCSTR("Remove and re-add (as new) an existing file in the file base") ,31900 }, {"hash", js_hash_file, 1, JSTYPE_OBJECT ,JSDOCSTR("filename_or_fullpath") - ,JSDOCSTR("calculate hashes of a file's contents (file base does not have to be open)") + ,JSDOCSTR("Calculate hashes of a file's contents (file base does not have to be open)") ,31900 }, {"dump", js_dump_file, 1, JSTYPE_ARRAY ,JSDOCSTR("filename") - ,JSDOCSTR("dump file header fields to an array of strings for diagnostic uses") + ,JSDOCSTR("Dump file header fields to an array of strings for diagnostic uses") ,31900 }, {"format_name", js_format_file_name,1, JSTYPE_STRING ,JSDOCSTR("path/filename [,number size=12] [,boolean pad=false]") - ,JSDOCSTR("returns formatted (e.g. shortened) version of filename without path (file base does not have to be open) for display") + ,JSDOCSTR("Returns formatted (e.g. shortened) version of filename without path (file base does not have to be open) for display") ,31900 }, {0} diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index 8edf6dae7678718164d79308c68a7cc52018ee2e..f0a879ff061ee474a4e7b62250767f3130ebc64d 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -4786,13 +4786,13 @@ js_qwknet_route(JSContext *cx, uintN argc, jsval *arglist) static jsSyncMethodSpec js_global_functions[] = { {"exit", js_exit, 0, JSTYPE_VOID, "[exit_code]" - ,JSDOCSTR("stop script execution, " + ,JSDOCSTR("Stop script execution, " "optionally setting the global property <tt>exit_code</tt> to the specified numeric value") ,311 }, {"load", js_load, 1, JSTYPE_UNDEF ,JSDOCSTR("[<i>bool</i> background or <i>object</i> scope,] <i>string</i> filename [,args]") - ,JSDOCSTR("load and execute a JavaScript module (<i>filename</i>), " + ,JSDOCSTR("Load and execute a JavaScript module (<i>filename</i>), " "optionally specifying a target <i>scope</i> object (default: <i>this</i>) " "and a list of arguments to pass to the module (as <i>argv</i>). " "Returns the result (last executed statement) of the executed script " @@ -4810,7 +4810,7 @@ static jsSyncMethodSpec js_global_functions[] = { }, {"require", js_require, 1, JSTYPE_UNDEF ,JSDOCSTR("[<i>object</i> scope,] <i>string</i> filename, propname [,args]") - ,JSDOCSTR("load and execute a JavaScript module (<i>filename</i>), " + ,JSDOCSTR("Load and execute a JavaScript module (<i>filename</i>), " "optionally specifying a target <i>scope</i> object (default: <i>this</i>) " "and a list of arguments to pass to the module (as <i>argv</i>) " "IF AND ONLY IF the property named <i>propname</i> is not defined in " @@ -4822,80 +4822,80 @@ static jsSyncMethodSpec js_global_functions[] = { }, {"sleep", js_mswait, 0, JSTYPE_ALIAS }, {"mswait", js_mswait, 0, JSTYPE_NUMBER, JSDOCSTR("[milliseconds=<tt>1</tt>]") - ,JSDOCSTR("millisecond wait/sleep routine (AKA sleep), returns number of elapsed clock ticks (in v3.13)") + ,JSDOCSTR("Millisecond wait/sleep routine (AKA sleep), returns number of elapsed clock ticks (in v3.13)") ,313 }, {"yield", js_yield, 0, JSTYPE_VOID, JSDOCSTR("[forced=<tt>true</tt>]") - ,JSDOCSTR("release current thread time-slice, " + ,JSDOCSTR("Release current thread time-slice, " "a <i>forced</i> yield will yield to all other pending tasks (lowering CPU utilization), " "a non-<i>forced</i> yield will yield only to pending tasks of equal or higher priority. " "<i>forced</i> defaults to <i>true</i>") ,311 }, {"random", js_random, 1, JSTYPE_NUMBER, JSDOCSTR("max_number=<tt>100</tt>") - ,JSDOCSTR("return random integer between <tt>0</tt> and <i>max_number</i>-1") + ,JSDOCSTR("Return random integer between <tt>0</tt> and <i>max_number</i>-1") ,310 }, {"time", js_time, 0, JSTYPE_NUMBER, "" - ,JSDOCSTR("return current time and date in Unix (time_t) format " + ,JSDOCSTR("Return current time and date in Unix (time_t) format " "(number of seconds since Jan-01-1970)") ,310 }, {"beep", js_beep, 0, JSTYPE_VOID, JSDOCSTR("[frequency=<tt>500</tt>] [,duration=<tt>500</tt>]") - ,JSDOCSTR("produce a tone on the local speaker at specified frequency for specified duration (in milliseconds)") + ,JSDOCSTR("Produce a tone on the local speaker at specified frequency for specified duration (in milliseconds)") ,310 }, {"sound", js_sound, 0, JSTYPE_BOOLEAN, JSDOCSTR("[filename]") - ,JSDOCSTR("play a waveform (.wav) sound file (currently, on Windows platforms only)") + ,JSDOCSTR("Play a waveform (.wav) sound file (currently, on Windows platforms only)") ,310 }, {"ctrl", js_ctrl, 1, JSTYPE_STRING, JSDOCSTR("number or string") - ,JSDOCSTR("return ASCII control character representing character passed - Example: <tt>ctrl('C') returns '\3'</tt>") + ,JSDOCSTR("Return ASCII control character representing character passed - Example: <tt>ctrl('C') returns '\3'</tt>") ,311 }, {"ascii", js_ascii, 1, JSTYPE_UNDEF, JSDOCSTR("[string text] or [number value]") - ,JSDOCSTR("convert single character to numeric ASCII value or vice-versa (returns number OR string)") + ,JSDOCSTR("Convert single character to numeric ASCII value or vice-versa (returns number OR string)") ,310 }, {"ascii_str", js_ascii_str, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("convert extended-ASCII (CP437) characters in text string to plain US-ASCII equivalent, returns modified string") + ,JSDOCSTR("Convert extended-ASCII (CP437) characters in text string to plain US-ASCII equivalent, returns modified string") ,310 }, {"strip_ctrl", js_strip_ctrl, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("strip control characters from string, returns modified string") + ,JSDOCSTR("Strip control characters from string, returns modified string") ,310 }, {"strip_ansi", js_strip_ansi, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("strip all ANSI terminal control sequences from string, returns modified string") + ,JSDOCSTR("Strip all ANSI terminal control sequences from string, returns modified string") ,31802 }, {"strip_exascii", js_strip_exascii, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("strip all extended-ASCII characters from string, returns modified string") + ,JSDOCSTR("Strip all extended-ASCII characters from string, returns modified string") ,310 }, {"skipsp", js_skipsp, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("skip (trim) white-space characters off <b>beginning</b> of string, returns modified string") + ,JSDOCSTR("Skip (trim) white-space characters off <b>beginning</b> of string, returns modified string") ,315 }, {"truncsp", js_truncsp, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("truncate (trim) white-space characters off <b>end</b> of string, returns modified string") + ,JSDOCSTR("Truncate (trim) white-space characters off <b>end</b> of string, returns modified string") ,310 }, {"truncstr", js_truncstr, 2, JSTYPE_STRING, JSDOCSTR("text, charset") - ,JSDOCSTR("truncate (trim) string at first char in <i>charset</i>, returns modified string") + ,JSDOCSTR("Truncate (trim) string at first char in <i>charset</i>, returns modified string") ,310 }, {"lfexpand", js_lfexpand, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("expand line-feeds (LF) to carriage-return/line-feeds (CRLF), returns modified string") + ,JSDOCSTR("Expand line-feeds (LF) to carriage-return/line-feeds (CRLF), returns modified string") ,310 }, {"wildmatch", js_wildmatch, 2, JSTYPE_BOOLEAN, JSDOCSTR("[case_sensitive=<tt>false</tt>,] string [,pattern=<tt>'*'</tt>] [,path=<tt>false</tt>]") - ,JSDOCSTR("returns <tt>true</tt> if the <i>string</i> matches the wildcard <i>pattern</i> (wildcards supported are '*' and '?'), " + ,JSDOCSTR("Returns <tt>true</tt> if the <i>string</i> matches the wildcard <i>pattern</i> (wildcards supported are '*' and '?'), " "if <i>path</i> is <tt>true</tt>, '*' will not match path delimeter characters (e.g. '/')") ,314 }, {"backslash", js_backslash, 1, JSTYPE_STRING, JSDOCSTR("path") - ,JSDOCSTR("returns directory path with trailing (platform-specific) path delimeter " + ,JSDOCSTR("Returns directory path with trailing (platform-specific) path delimeter " "(i.e. \"slash\" or \"backslash\")") ,312 }, @@ -4904,45 +4904,45 @@ static jsSyncMethodSpec js_global_functions[] = { ,315 }, {"file_getname", js_getfname, 1, JSTYPE_STRING, JSDOCSTR("path/filename") - ,JSDOCSTR("returns filename portion of passed path string") + ,JSDOCSTR("Returns filename portion of passed path string") ,311 }, {"file_getext", js_getfext, 1, JSTYPE_STRING, JSDOCSTR("path/filename") - ,JSDOCSTR("returns file extension portion of passed path/filename string (including '.') " + ,JSDOCSTR("Returns file extension portion of passed path/filename string (including '.') " "or <i>undefined</i> if no extension is found") ,311 }, {"file_getcase", js_getfcase, 1, JSTYPE_STRING, JSDOCSTR("path/filename") - ,JSDOCSTR("returns correct case of filename (long version of filename on Windows) " + ,JSDOCSTR("Returns correct case of filename (long version of filename on Windows) " "or <i>undefined</i> if the file doesn't exist") ,311 }, {"file_cfgname", js_cfgfname, 2, JSTYPE_STRING, JSDOCSTR("path, filename") - ,JSDOCSTR("returns completed configuration filename from supplied <i>path</i> and <i>filename</i>, " + ,JSDOCSTR("Returns completed configuration filename from supplied <i>path</i> and <i>filename</i>, " "optionally including the local hostname (e.g. <tt>path/file.<i>host</i>.<i>domain</i>.ext</tt> " "or <tt>path/file.<i>host</i>.ext</tt>) if such a variation of the filename exists") ,312 }, {"file_getdosname", js_dosfname, 1, JSTYPE_STRING, JSDOCSTR("path/filename") - ,JSDOCSTR("returns DOS-compatible (Micros~1 shortened) version of specified <i>path/filename</i>" + ,JSDOCSTR("Returns DOS-compatible (Micros~1 shortened) version of specified <i>path/filename</i>" "(on Windows only)<br>" "returns unmodified <i>path/filename</i> on other platforms") ,315 }, {"file_exists", js_fexist, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") - ,JSDOCSTR("verify a file's existence") + ,JSDOCSTR("Verify a file's existence") ,310 }, {"file_remove", js_remove, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") - ,JSDOCSTR("delete a file") + ,JSDOCSTR("Delete a file") ,310 }, {"file_removecase", js_removecase, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") - ,JSDOCSTR("delete files case insensitively") + ,JSDOCSTR("Delete files case insensitively") ,314 }, {"file_rename", js_rename, 2, JSTYPE_BOOLEAN, JSDOCSTR("path/oldname, path/newname") - ,JSDOCSTR("rename a file, possibly moving it to another directory in the process") + ,JSDOCSTR("Rename a file, possibly moving it to another directory in the process") ,311 }, {"file_copy", js_fcopy, 2, JSTYPE_BOOLEAN, JSDOCSTR("path/source, path/destination") @@ -4950,7 +4950,7 @@ static jsSyncMethodSpec js_global_functions[] = { ,311 }, {"file_backup", js_backup, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename [,level=<tt>5</tt>] [,rename=<tt>false</tt>]") - ,JSDOCSTR("backup the specified <i>filename</i> as <tt>filename.<i>number</i>.extension</tt> " + ,JSDOCSTR("Backup the specified <i>filename</i> as <tt>filename.<i>number</i>.extension</tt> " "where <i>number</i> is the backup number 0 through <i>level</i>-1 " "(default backup <i>level</i> is 5), " "if <i>rename</i> is <i>true</i>, the original file is renamed instead of copied " @@ -4958,53 +4958,53 @@ static jsSyncMethodSpec js_global_functions[] = { ,311 }, {"file_isdir", js_isdir, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") - ,JSDOCSTR("check if specified <i>filename</i> is a directory") + ,JSDOCSTR("Check if specified <i>filename</i> is a directory") ,310 }, {"file_attrib", js_fattr, 1, JSTYPE_NUMBER, JSDOCSTR("path/filename") - ,JSDOCSTR("get a file's attributes (same as </i>file_mode()</i> on *nix). " + ,JSDOCSTR("Get a file's attributes (same as </i>file_mode()</i> on *nix). " "On Windows, the return value corresponds with <tt>_finddata_t.attrib</tt> " "(includes DOS/Windows file system-specific attributes, like <i>hidden</i>, and <i>archive</i>). " "Returns <tt>-1</tt> if the <i>path/filename</i> does not exist.") ,310 }, {"file_mode", js_fmode, 1, JSTYPE_NUMBER, JSDOCSTR("path/filename") - ,JSDOCSTR("get a file's type and mode flags (e.g. read/write/execute permissions). " + ,JSDOCSTR("Get a file's type and mode flags (e.g. read/write/execute permissions). " "The return value corresponds with <tt>struct stat.st_mode</tt>. " "Returns <tt>-1</tt> if the <i>path/filename</i> does not exist.") ,31702 }, {"file_chmod", js_chmod, 1, JSTYPE_NUMBER, JSDOCSTR("path/filename, number mode") - ,JSDOCSTR("set a file's permissions flags. " + ,JSDOCSTR("Set a file's permissions flags. " "The supported <i>mode</i> bit values are system-dependent " "(e.g. Windows only supports setting or clearing the user-write/0x80 mode flag). " "Returns <tt>true</tt> if the requested change was successful.") ,31702 }, {"file_date", js_fdate, 1, JSTYPE_NUMBER, JSDOCSTR("path/filename") - ,JSDOCSTR("get a file's last modified date/time (in time_t format). Returns <tt>-1</tt> if the <i>path/filename</i> does not exist.") + ,JSDOCSTR("Get a file's last modified date/time (in time_t format). Returns <tt>-1</tt> if the <i>path/filename</i> does not exist.") ,310 }, {"file_cdate", js_fcdate, 1, JSTYPE_NUMBER, JSDOCSTR("path/filename") - ,JSDOCSTR("get a file's creation date/time (in time_t format). Returns <tt>-1</tt> if the <i>path/filename</i> does not exist.") + ,JSDOCSTR("Get a file's creation date/time (in time_t format). Returns <tt>-1</tt> if the <i>path/filename</i> does not exist.") ,317 }, {"file_size", js_flength, 1, JSTYPE_NUMBER, JSDOCSTR("path/filename") - ,JSDOCSTR("get a file's length (in bytes). Returns <tt>-1</tt> if the <i>path/filename</i> does not exist.") + ,JSDOCSTR("Get a file's length (in bytes). Returns <tt>-1</tt> if the <i>path/filename</i> does not exist.") ,310 }, {"file_utime", js_utime, 3, JSTYPE_BOOLEAN, JSDOCSTR("path/filename [,access_time=<i>current</i>] [,mod_time=<i>current</i>]") - ,JSDOCSTR("change a file's last accessed and modification date/time (in time_t format), " + ,JSDOCSTR("Change a file's last accessed and modification date/time (in time_t format), " "or change to current time") ,311 }, {"file_touch", js_ftouch, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") - ,JSDOCSTR("updates a file's last modification date/time to current time, " + ,JSDOCSTR("Updates a file's last modification date/time to current time, " "creating an empty file if it doesn't already exist") ,311 }, {"file_mutex", js_fmutex, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename [,text=<i>local_hostname</i>] [,max_age=<tt>0</tt>]") - ,JSDOCSTR("attempts to create an mutual-exclusion (e.g. lock) file, " + ,JSDOCSTR("Attempts to create an mutual-exclusion (e.g. lock) file, " "optionally with the contents of <i>text</i>. " "If a non-zero <i>max_age</i> (supported in v3.13b+) is specified " "and the lock file exists, but is older than this value (in seconds), " @@ -5012,29 +5012,29 @@ static jsSyncMethodSpec js_global_functions[] = { ,312 }, {"file_compare", js_fcompare, 2, JSTYPE_BOOLEAN, JSDOCSTR("path/file1, path/file2") - ,JSDOCSTR("compare 2 files, returning <i>true</i> if they are identical, <i>false</i> otherwise") + ,JSDOCSTR("Compare 2 files, returning <i>true</i> if they are identical, <i>false</i> otherwise") ,314 }, {"directory", js_directory, 1, JSTYPE_ARRAY, JSDOCSTR("path/pattern [,flags=<tt>GLOB_MARK</tt>]") - ,JSDOCSTR("returns an array of directory entries, " + ,JSDOCSTR("Returns an array of directory entries, " "<i>pattern</i> is the path and filename or wildcards to search for (e.g. '/subdir/*.txt'), " "<i>flags</i> is a bitfield of optional <tt>glob</tt> flags (default is <tt>GLOB_MARK</tt>)") ,310 }, {"dir_freespace", js_freediskspace, 2, JSTYPE_NUMBER, JSDOCSTR("directory [,unit_size=<tt>1</tt>]") - ,JSDOCSTR("returns the amount of available disk space in the specified <i>directory</i> " + ,JSDOCSTR("Returns the amount of available disk space in the specified <i>directory</i> " "using the specified <i>unit_size</i> in bytes (default: 1), " "specify a <i>unit_size</i> of <tt>1024</tt> to return the available space in <i>kilobytes</i>.") ,311 }, {"disk_size", js_disksize, 2, JSTYPE_NUMBER, JSDOCSTR("directory [,unit_size=<tt>1</tt>]") - ,JSDOCSTR("returns the total disk size of the specified <i>directory</i> " + ,JSDOCSTR("Returns the total disk size of the specified <i>directory</i> " "using the specified <i>unit_size</i> in bytes (default: 1), " "specify a <i>unit_size</i> of <tt>1024</tt> to return the total disk size in <i>kilobytes</i>.") ,314 }, {"socket_select", js_socket_select, 0, JSTYPE_ARRAY, JSDOCSTR("[array of socket objects or descriptors] [,timeout=<tt>0</tt>] [,write=<tt>false</tt>]") - ,JSDOCSTR("checks an array of socket objects or descriptors for read or write ability (default is <i>read</i>), " + ,JSDOCSTR("Checks an array of socket objects or descriptors for read or write ability (default is <i>read</i>), " "default timeout value is 0.0 seconds (immediate timeout), " "returns an array of 0-based index values into the socket array, representing the sockets that were ready for reading or writing, or <i>null</i> on error. " "If multiple arrays of sockets are passed, they are presumed to be in the order of read, write, and except. In this case, the write parameter is ignored " @@ -5043,141 +5043,141 @@ static jsSyncMethodSpec js_global_functions[] = { ,311 }, {"socket_strerror", js_socket_strerror, 1, JSTYPE_STRING, JSDOCSTR("error") - ,JSDOCSTR("get the description(string representation) of a numeric socket error value (e.g. <tt>socket_errno</tt>)") + ,JSDOCSTR("Get the description(string representation) of a numeric socket error value (e.g. <tt>socket_errno</tt>)") ,31802 }, {"strerror", js_strerror, 1, JSTYPE_STRING, JSDOCSTR("error") - ,JSDOCSTR("get the description(string representation) of a numeric system error value (e.g. <tt>errno</tt>)") + ,JSDOCSTR("Get the description(string representation) of a numeric system error value (e.g. <tt>errno</tt>)") ,31802 }, {"mkdir", js_mkdir, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/directory") - ,JSDOCSTR("make a directory") + ,JSDOCSTR("Make a directory on a local file system") ,310 }, {"mkpath", js_mkpath, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/directory") - ,JSDOCSTR("make a path to a directory (creating all necessary sub-directories). Returns true if the directory already exists.") + ,JSDOCSTR("Make a path to a directory (creating all necessary sub-directories). Returns true if the directory already exists.") ,315 }, {"rmdir", js_rmdir, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/directory") - ,JSDOCSTR("remove a directory") + ,JSDOCSTR("Remove a directory") ,310 }, {"rmfiles", js_rmfiles, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/directory [,file-spec='*'] [,files-to-keep=0]") - ,JSDOCSTR("remove all files and sub-directories in the specified directory, recursively - <b>use with caution!</b>") + ,JSDOCSTR("Remove all files and sub-directories in the specified directory, recursively - <b>use with caution!</b>") ,320 }, {"strftime", js_strftime, 1, JSTYPE_STRING, JSDOCSTR("format [,time=<i>current</i>]") - ,JSDOCSTR("return a formatted time string (ala C strftime)") + ,JSDOCSTR("Return a formatted time string (ala C strftime)") ,310 }, {"format", js_format, 1, JSTYPE_STRING, JSDOCSTR("format [,args]") - ,JSDOCSTR("return a formatted string (ala the standard C <tt>sprintf</tt> function)") + ,JSDOCSTR("Return a formatted string (ala the standard C <tt>sprintf</tt> function)") ,310 }, {"html_encode", js_html_encode, 1, JSTYPE_STRING, JSDOCSTR("text [,ex_ascii=<tt>true</tt>] [,white_space=<tt>true</tt>] [,ansi=<tt>true</tt>] [,ctrl_a=<tt>true</tt>] [, state (object)]") - ,JSDOCSTR("return an HTML-encoded text string (using standard HTML character entities), " + ,JSDOCSTR("Return an HTML-encoded text string (using standard HTML character entities), " "escaping IBM extended-ASCII (CP437), white-space characters, ANSI codes, and CTRL-A codes by default." "Optionally storing the current ANSI state in <i>state</i> object") ,311 }, {"html_decode", js_html_decode, 1, JSTYPE_STRING, JSDOCSTR("html") - ,JSDOCSTR("return a decoded HTML-encoded text string") + ,JSDOCSTR("Return a decoded HTML-encoded text string") ,311 }, {"word_wrap", js_word_wrap, 1, JSTYPE_STRING, JSDOCSTR("text [,line_length=<tt>79</tt> [, orig_line_length=<tt>79</tt> [, handle_quotes=<tt>true</tt> [, is_utf8=<tt>false</tt>]]]]") - ,JSDOCSTR("returns a word-wrapped version of the text string argument optionally handing quotes magically, " + ,JSDOCSTR("Returns a word-wrapped version of the text string argument optionally handing quotes magically, " "<i>line_length</i> defaults to <i>79</i>, <i>orig_line_length</i> defaults to <i>79</i>, " "<i>handle_quotes</i> defaults to <i>true</i>, and <i>is_utf8</i> defaults to <i>false</i>") ,311 }, {"quote_msg", js_quote_msg, 1, JSTYPE_STRING, JSDOCSTR("text [,line_length=<tt>79</tt>] [,prefix=<tt>\" > \"</tt>]") - ,JSDOCSTR("returns a quoted version of the message text string argument, <i>line_length</i> defaults to <i>79</i>, " + ,JSDOCSTR("Returns a quoted version of the message text string argument, <i>line_length</i> defaults to <i>79</i>, " "<i>prefix</i> defaults to <tt>\" > \"</tt>") ,311 }, {"rot13_translate", js_rot13, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("returns ROT13-translated version of text string (will encode or decode text)") + ,JSDOCSTR("Returns ROT13-translated version of text string (will encode or decode text)") ,311 }, {"base64_encode", js_b64_encode, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("returns base64-encoded version of text string or <i>null</i> on error") + ,JSDOCSTR("Returns base64-encoded version of text string or <i>null</i> on error") ,311 }, {"base64_decode", js_b64_decode, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("returns base64-decoded text string or <i>null</i> on error") + ,JSDOCSTR("Returns base64-decoded text string or <i>null</i> on error") ,311 }, {"crc16_calc", js_crc16, 1, JSTYPE_NUMBER, JSDOCSTR("text") - ,JSDOCSTR("calculate and return 16-bit CRC of text string") + ,JSDOCSTR("Calculate and return 16-bit CRC of text string") ,311 }, {"crc32_calc", js_crc32, 1, JSTYPE_NUMBER, JSDOCSTR("text") - ,JSDOCSTR("calculate and return 32-bit CRC of text string") + ,JSDOCSTR("Calculate and return 32-bit CRC of text string") ,311 }, {"chksum_calc", js_chksum, 1, JSTYPE_NUMBER, JSDOCSTR("text") - ,JSDOCSTR("calculate and return 32-bit checksum of text string") + ,JSDOCSTR("Calculate and return 32-bit checksum of text string") ,311 }, {"md5_calc", js_md5_calc, 1, JSTYPE_STRING, JSDOCSTR("text [,hex=<tt>false</tt>]") - ,JSDOCSTR("calculate and return 128-bit MD5 digest of text string, result encoded in base64 (default) or hexadecimal") + ,JSDOCSTR("Calculate and return 128-bit MD5 digest of text string, result encoded in base64 (default) or hexadecimal") ,311 }, {"sha1_calc", js_sha1_calc, 1, JSTYPE_STRING, JSDOCSTR("text [,hex=false]") - ,JSDOCSTR("calculate and return 160-bit SHA-1 digest of text string, result encoded in base64 (default) or hexadecimal") + ,JSDOCSTR("Calculate and return 160-bit SHA-1 digest of text string, result encoded in base64 (default) or hexadecimal") ,31900 }, {"gethostbyname", js_resolve_ip, 1, JSTYPE_ALIAS }, {"resolve_ip", js_resolve_ip, 1, JSTYPE_STRING, JSDOCSTR("hostname [,array=<tt>false</tt>]") - ,JSDOCSTR("resolve IP address of specified hostname (AKA gethostbyname). If <i>array</i> is true (added in 3.17), will return " + ,JSDOCSTR("Resolve IP address of specified hostname (AKA gethostbyname). If <i>array</i> is true (added in 3.17), will return " "an array of all addresses rather than just the first one (upon success).") ,311 }, {"gethostbyaddr", js_resolve_host, 1, JSTYPE_ALIAS }, {"resolve_host", js_resolve_host, 1, JSTYPE_STRING, JSDOCSTR("ip_address") - ,JSDOCSTR("resolve hostname of specified IP address (AKA gethostbyaddr)") + ,JSDOCSTR("Resolve hostname of specified IP address (AKA gethostbyaddr)") ,311 }, {"netaddr_type", js_netaddr_type, 1, JSTYPE_NUMBER, JSDOCSTR("email_address") - ,JSDOCSTR("returns the proper message <i>net_type</i> for the specified <i>email_address</i>, " + ,JSDOCSTR("Returns the proper message <i>net_type</i> for the specified <i>email_address</i>, " "(e.g. <tt>NET_INTERNET</tt> for Internet e-mail or <tt>NET_NONE</tt> for local e-mail)") ,312 }, {"list_named_queues",js_list_named_queues,0,JSTYPE_ARRAY, JSDOCSTR("") - ,JSDOCSTR("returns an array of <i>named queues</i> (created with the <i>Queue</i> constructor)") + ,JSDOCSTR("Returns an array of <i>named queues</i> (created with the <i>Queue</i> constructor)") ,312 }, {"flags_str", js_flags_str, 1, JSTYPE_UNDEF, JSDOCSTR("[string] or [number]") - ,JSDOCSTR("convert a string of security flags (letters) into their numeric value or vice-versa " + ,JSDOCSTR("Convert a string of security flags (letters) into their numeric value or vice-versa " "(returns number OR string) - (added in v3.13)") ,313 }, {"utf8_encode", js_utf8_encode, 1, JSTYPE_STRING, JSDOCSTR("[string CP437] or [string UTF16] or [number codepoint]") - ,JSDOCSTR("returns UTF-8 encoded version of the specified CP437 text string, UTF-16 encoded text string, or a single Unicode <i>codepoint</i>") + ,JSDOCSTR("Returns UTF-8 encoded version of the specified CP437 text string, UTF-16 encoded text string, or a single Unicode <i>codepoint</i>") ,31702 }, {"utf8_decode", js_utf8_decode, 1, JSTYPE_STRING, JSDOCSTR("text") - ,JSDOCSTR("returns CP437 representation of UTF-8 encoded text string or <i>null</i> on error (invalid UTF-8)") + ,JSDOCSTR("Returns CP437 representation of UTF-8 encoded text string or <i>null</i> on error (invalid UTF-8)") ,31702 }, {"utf8_get_width", js_utf8_get_width, 1, JSTYPE_NUMBER, JSDOCSTR("text") - ,JSDOCSTR("returns the fixed printed-width of the specified string of UTF-8 encoded characters") + ,JSDOCSTR("Returns the fixed printed-width of the specified string of UTF-8 encoded characters") ,31702 }, {"str_is_utf8", js_str_is_utf8, 1, JSTYPE_BOOLEAN, JSDOCSTR("text") - ,JSDOCSTR("returns <tt>true</tt> if the specified string contains only valid UTF-8 encoded and US-ASCII characters") + ,JSDOCSTR("Returns <tt>true</tt> if the specified string contains only valid UTF-8 encoded and US-ASCII characters") ,31702 }, {"str_is_utf16", js_str_is_utf16, 1, JSTYPE_BOOLEAN, JSDOCSTR("text") - ,JSDOCSTR("returns <tt>true</tt> if the specified string contains one or more UTF-16 encoded characters") + ,JSDOCSTR("Returns <tt>true</tt> if the specified string contains one or more UTF-16 encoded characters") ,31702 }, {"str_is_ascii", js_str_is_ascii, 1, JSTYPE_BOOLEAN, JSDOCSTR("text") - ,JSDOCSTR("returns <tt>true</tt> if the specified string contains only US-ASCII (no CP437 or UTF-8) characters") + ,JSDOCSTR("Returns <tt>true</tt> if the specified string contains only US-ASCII (no CP437 or UTF-8) characters") ,31702 }, {"str_has_ctrl", js_str_has_ctrl, 1, JSTYPE_BOOLEAN, JSDOCSTR("text") - ,JSDOCSTR("returns <tt>true</tt> if the specified string contains any control characters (ASCII 0x01 - 0x1F)") + ,JSDOCSTR("Returns <tt>true</tt> if the specified string contains any control characters (ASCII 0x01 - 0x1F)") ,31702 }, {0} diff --git a/src/sbbs3/js_internal.c b/src/sbbs3/js_internal.c index 84197136a2c02f82a08e82ebd287a68f58689ff2..bfe425eb5a769555302bae17e80721450a94880e 100644 --- a/src/sbbs3/js_internal.c +++ b/src/sbbs3/js_internal.c @@ -206,28 +206,28 @@ static jsSyncPropertySpec js_properties[] = { #ifdef BUILD_JSDOCS static char* prop_desc[] = { "JavaScript engine version information (AKA system.js_version)" - ,"set to <i>false</i> to disable the automatic termination of the script upon external request" - ,"termination has been requested (stop execution as soon as possible)" - ,"number of operation callbacks performed in this runtime" - ,"maximum number of operation callbacks, used for infinite-loop detection (0=disabled)" - ,"interval of periodic time-slice yields (lower number=higher frequency, 0=disabled)" - ,"interval of periodic garbage collection attempts (lower number=higher frequency, 0=disabled)" - ,"number of garbage collections attempted in this runtime - <small>READ ONLY</small>" + ,"Set to <i>false</i> to disable the automatic termination of the script upon external request" + ,"Termination has been requested (stop execution as soon as possible)" + ,"Number of operation callbacks performed in this runtime" + ,"Maximum number of operation callbacks, used for infinite-loop detection (0=disabled)" + ,"Interval of periodic time-slice yields (lower number=higher frequency, 0=disabled)" + ,"Interval of periodic garbage collection attempts (lower number=higher frequency, 0=disabled)" + ,"Number of garbage collections attempted in this runtime - <small>READ ONLY</small>" #ifdef jscntxt_h___ - ,"number of garbage collections performed in this runtime - <small>READ ONLY</small>" - ,"number of heap bytes in use after last garbage collection - <small>READ ONLY</small>" - ,"number of heap bytes currently in use - <small>READ ONLY</small>" - ,"maximum number of bytes available for heap" + ,"Number of garbage collections performed in this runtime - <small>READ ONLY</small>" + ,"Number of heap bytes in use after last garbage collection - <small>READ ONLY</small>" + ,"Number of heap bytes currently in use - <small>READ ONLY</small>" + ,"Maximum number of bytes available for heap" #endif - ,"global (top level) object - <small>READ ONLY</small>" - ,"option flags - <small>READ ONLY</small>" - ,"do callbacks after script finishes running" + ,"Global (top level) object - <small>READ ONLY</small>" + ,"Option flags - <small>READ ONLY</small>" + ,"Do callbacks after script finishes running" /* New properties go here... */ - ,"full path and filename of JS file executed" + ,"Full path and filename of JS file executed" ,"JS filename executed (with no path)" - ,"directory of executed JS file" + ,"Directory of executed JS file" ,"Either the configured startup directory in SCFG (for externals) or the cwd when jsexec is started" - ,"global scope for this script" + ,"Global scope for this script" ,"load() search path array.<br>For relative load paths (e.g. not beginning with '/' or '\\'), " "the path is assumed to be a sub-directory of the (configurable) mods or exec directories " "and is searched accordingly. " @@ -1434,62 +1434,62 @@ done: static jsSyncMethodSpec js_functions[] = { {"eval", js_eval, 0, JSTYPE_UNDEF, JSDOCSTR("script") - ,JSDOCSTR("evaluate a JavaScript string in its own (secure) context, returning the result") + ,JSDOCSTR("Evaluate a JavaScript string in its own (secure) context, returning the result") ,311 }, {"gc", js_gc, 0, JSTYPE_VOID, JSDOCSTR("forced=<tt>true</tt>") - ,JSDOCSTR("perform a garbage collection operation (freeing memory for unused allocated objects), " + ,JSDOCSTR("Perform a garbage collection operation (freeing memory for unused allocated objects), " "if <i>forced</i> is <i>true</i> (the default) a garbage collection is always performed, " "otherwise it is only performed if deemed appropriate by the JavaScript engine") ,311 }, {"on_exit", js_on_exit, 1, JSTYPE_VOID, JSDOCSTR("to_eval") - ,JSDOCSTR("add a string to evaluate/execute (LIFO stack) upon script's termination") + ,JSDOCSTR("Add a string to evaluate/execute (LIFO stack) upon script's termination (e.g. call of <tt>exit()</tt>)") ,313 }, {"report_error", js_report_error, 1, JSTYPE_VOID, JSDOCSTR("error [,fatal=<tt>false</tt>]") - ,JSDOCSTR("report an error using the standard JavaScript error reporting mechanism " + ,JSDOCSTR("Report an error using the standard JavaScript error reporting mechanism " "(including script filename and line number), " "if <i>fatal</i> is <i>true</i>, immediately terminates script") ,313 }, {"get_parent", js_get_parent, 1, JSTYPE_OBJECT, JSDOCSTR("object") - ,JSDOCSTR("return the parent of the specified object") + ,JSDOCSTR("Return the parent of the specified object") ,314 }, {"get_size", js_getsize, 1, JSTYPE_NUMBER, JSDOCSTR("[object]") - ,JSDOCSTR("return the size in bytes the object uses in memory (forces GC) ") + ,JSDOCSTR("Return the size in bytes the object uses in memory (forces GC) ") ,316 }, {"flatten_string", js_flatten, 1, JSTYPE_VOID, JSDOCSTR("[string]") - ,JSDOCSTR("flatten a string, optimizing allocated memory used for concatenated strings") + ,JSDOCSTR("Flatten a string, optimizing allocated memory used for concatenated strings") ,316 }, - {"exec", js_execfile, 1, JSTYPE_NUMBER, JSDOCSTR("filename [, startup_dir], <i>object</i> scope [,...]") - ,JSDOCSTR("execute a script within the specified scope. The main difference between this method " - "and <tt>load()</tt> is that scripts called this way can call <tt>exit()</tt> without terminating the caller. If it does, any " - "<tt>on_exit()</tt> handlers will be evaluated in scripts scope when the script exists. <br>" + {"exec", js_execfile, 1, JSTYPE_NUMBER, JSDOCSTR("filename [,startup_dir], <i>object</i> scope [,...]") + ,JSDOCSTR("Execute a script within the specified <i>scope</i>. The main difference between this method " + "and <tt>load()</tt> is that scripts invoked in this way can call <tt>exit()</tt> without terminating the caller. If it does, any " + "<tt>on_exit()</tt> handlers will be evaluated in the script's scope when the script exits. <br>" "NOTE: to get a child of the current scope, you need to create an object in the current scope. " "An anonymous object can be created using '<tt>new function(){}</tt>'. <br>" - "NOTE: Use <tt>js.exec.apply()</tt> if you need to pass a variable number of arguments to the executed script.") + "TIP: Use <tt>js.exec.apply()</tt> if you need to pass a variable number of arguments to the executed script.") ,31702 }, - {"setTimeout", js_setTimeout, 2, JSTYPE_NUMBER, JSDOCSTR("callback, time [, thisObj]") - ,JSDOCSTR("install a timeout timer. <tt>callback()<.tt> will be called <tt>time</tt> (milliseconds) after this function is called. " + {"setTimeout", js_setTimeout, 2, JSTYPE_NUMBER, JSDOCSTR("callback, time [,thisObj]") + ,JSDOCSTR("Install a timeout timer. <tt>callback()</tt> will be called <tt>time</tt> (milliseconds) after this function is called. " "Returns an id which can be passed to <tt>clearTimeout()</tt>") ,31900 }, - {"setInterval", js_setInterval, 2, JSTYPE_NUMBER, JSDOCSTR("callback, period [, thisObj]") - ,JSDOCSTR("install an interval timer. <tt>callback()</tt> will be called every <tt>period</tt> (milliseconds) after <tt>setInterval()</tt> is called. " + {"setInterval", js_setInterval, 2, JSTYPE_NUMBER, JSDOCSTR("callback, period [,thisObj]") + ,JSDOCSTR("Install an interval timer. <tt>callback()</tt> will be called every <tt>period</tt> (milliseconds) after <tt>setInterval()</tt> is called. " "Returns an id which can be passed to <tt>clearInterval()</tt>") ,31900 }, {"clearTimeout", js_clearTimeout, 1, JSTYPE_VOID, JSDOCSTR("id") - ,JSDOCSTR("remove a timeout timer") + ,JSDOCSTR("Remove a timeout timer") ,31900 }, {"clearInterval", js_clearInterval, 1, JSTYPE_VOID, JSDOCSTR("id") - ,JSDOCSTR("remove an interval timer") + ,JSDOCSTR("Remove an interval timer") ,31900 }, {"addEventListener", js_addEventListener, 2, JSTYPE_NUMBER, JSDOCSTR("eventName, callback") @@ -1500,11 +1500,11 @@ static jsSyncMethodSpec js_functions[] = { ,JSDOCSTR("Remove listeners added with <tt>js.addEventListener()</tt>. <tt>id</tt> can be a string or an id returned by <tt>addEventListener()</tt>. This does not remove already triggered callbacks from the run queue.") ,31900 }, - {"dispatchEvent", js_dispatchEvent, 1, JSTYPE_VOID, JSDOCSTR("eventName [, thisObj]") + {"dispatchEvent", js_dispatchEvent, 1, JSTYPE_VOID, JSDOCSTR("eventName [,thisObj]") ,JSDOCSTR("Add all listeners of eventName to the end of the run queue. If <tt>thisObj</tt> is passed, specifies <tt>this</tt> in the callback (the <tt>js</tt> object is used otherwise).") ,31900 }, - {"setImmediate", js_setImmediate, 1, JSTYPE_VOID, JSDOCSTR("callback[, thisObj]") + {"setImmediate", js_setImmediate, 1, JSTYPE_VOID, JSDOCSTR("callback [,thisObj]") ,JSDOCSTR("Adds <tt>callback</tt> to the end of the run queue, where it will be called after all pending events are processed") ,31900 }, diff --git a/src/sbbs3/js_msg_area.c b/src/sbbs3/js_msg_area.c index 106ab4daa3eac1f4dd886421883a65d0483d313a..5eaa4e4db36630869c0d637b39466e20b879ca56 100644 --- a/src/sbbs3/js_msg_area.c +++ b/src/sbbs3/js_msg_area.c @@ -26,63 +26,63 @@ #ifdef BUILD_JSDOCS static char* msg_area_prop_desc[] = { - "message area settings (bitfield) - see <tt>MM_*</tt> in <tt>sbbsdefs.js</tt> for details" + "Message area settings (bitfield) - see <tt>MM_*</tt> in <tt>sbbsdefs.js</tt> for details" ,"FidoNet NetMail settings (bitfield) - see <tt>NMAIL_*</tt> in <tt>sbbsdefs.js</tt> for details" ,"Internet NetMail settings (bitfield) - see <tt>NMAIL_*</tt> in <tt>sbbsdefs.js</tt> for details" ,NULL }; static char* msg_grp_prop_desc[] = { - "index into grp_list array (or -1 if not in array) <i>(introduced in v3.12)</i>" - ,"unique number for this message group" - ,"group name" - ,"group description" - ,"group access requirements" - ,"user has sufficient access to list this group's sub-boards <i>(introduced in v3.18)</i>" - ,"internal code prefix (for sub-boards) <i>(introduced in v3.18c)</i>" + "Index into grp_list array (or -1 if not in array) <i>(introduced in v3.12)</i>" + ,"Unique number for this message group" + ,"Group name" + ,"Group description" + ,"Group access requirements" + ,"User has sufficient access to list this group's sub-boards <i>(introduced in v3.18)</i>" + ,"Internal code prefix (for sub-boards) <i>(introduced in v3.18c)</i>" ,NULL }; static char* msg_sub_prop_desc[] = { - "index into sub_list array (or -1 if not in array) <i>(introduced in v3.12)</i>" - ,"group's index into grp_list array <i>(introduced in v3.12)</i>" - ,"unique number for this sub-board" - ,"group number" - ,"group name <i>(introduced in v3.12)</i>" - ,"sub-board internal code" - ,"sub-board name" - ,"sub-board description" + "Index into sub_list array (or -1 if not in array) <i>(introduced in v3.12)</i>" + ,"Group's index into grp_list array <i>(introduced in v3.12)</i>" + ,"Unique number for this sub-board" + ,"Group number" + ,"Group name <i>(introduced in v3.12)</i>" + ,"Sub-board internal code" + ,"Sub-board name" + ,"Sub-board description" ,"QWK conference name" - ,"area tag for FidoNet-style echoes, a.k.a. EchoTag <i>(introduced in v3.19)</i>" - ,"newsgroup name (as configured or dynamically generated)" - ,"sub-board access requirements" - ,"sub-board reading requirements" - ,"sub-board posting requirements" - ,"sub-board operator requirements" - ,"sub-board moderated-user requirements (if non-blank)" - ,"sub-board data storage location" + ,"Area tag for FidoNet-style echoes, a.k.a. EchoTag <i>(introduced in v3.19)</i>" + ,"Newsgroup name (as configured or dynamically generated)" + ,"Sub-board access requirements" + ,"Sub-board reading requirements" + ,"Sub-board posting requirements" + ,"Sub-board operator requirements" + ,"Sub-board moderated-user requirements (if non-blank)" + ,"Sub-board data storage location" ,"FidoNet node address" ,"FidoNet origin line" ,"QWK Network tagline" - ,"toggle options (bitfield) - see <tt>SUB_*</tt> in <tt>sbbsdefs.js</tt> for details" - ,"index into message scan configuration/pointer file" + ,"Toggle options (bitfield) - see <tt>SUB_*</tt> in <tt>sbbsdefs.js</tt> for details" + ,"Index into message scan configuration/pointer file" ,"QWK conference number" - ,"configured maximum number of message CRCs to store (for dupe checking)" - ,"configured maximum number of messages before purging" - ,"configured maximum age (in days) of messages before expiration" - ,"additional print mode flags to use when printing messages - see <tt>P_*</tt> in <tt>sbbsdefs.js</tt> for details" - ,"print mode flags to <i>negate</i> when printing messages - see <tt>P_*</tt> in <tt>sbbsdefs.js</tt> for details" + ,"Configured maximum number of message CRCs to store (for dupe checking)" + ,"Configured maximum number of messages before purging" + ,"Configured maximum age (in days) of messages before expiration" + ,"Additional print mode flags to use when printing messages - see <tt>P_*</tt> in <tt>sbbsdefs.js</tt> for details" + ,"Print mode flags to <i>negate</i> when printing messages - see <tt>P_*</tt> in <tt>sbbsdefs.js</tt> for details" /* Insert here */ - ,"user has sufficient access to see this sub-board" - ,"user has sufficient access to read messages in this sub-board" - ,"user has sufficient access to post messages in this sub-board" - ,"user has operator access to this sub-board" - ,"user's posts are moderated" - ,"user's current new message scan pointer (highest-read message number)" - ,"user's message scan configuration (bitfield) - see <tt>SCAN_CFG_*</tt> in <tt>sbbsdefs.js</tt> for details" - ,"user's last-read message number" - ,"number of messages currently posted to this sub-board <i>(introduced in v3.18c)</i>" + ,"User has sufficient access to see this sub-board" + ,"User has sufficient access to read messages in this sub-board" + ,"User has sufficient access to post messages in this sub-board" + ,"User has operator access to this sub-board" + ,"User's posts are moderated" + ,"User's current new message scan pointer (highest-read message number)" + ,"User's message scan configuration (bitfield) - see <tt>SCAN_CFG_*</tt> in <tt>sbbsdefs.js</tt> for details" + ,"User's last-read message number" + ,"Number of messages currently posted to this sub-board <i>(introduced in v3.18c)</i>" ,NULL }; #endif diff --git a/src/sbbs3/js_msgbase.c b/src/sbbs3/js_msgbase.c index 3c7d80650aa40e807373c80da70332e4cdb4ce51..179dbbf4f56c46d4cf34b960828ec0f44dfab107 100644 --- a/src/sbbs3/js_msgbase.c +++ b/src/sbbs3/js_msgbase.c @@ -3077,19 +3077,19 @@ static jsSyncPropertySpec js_msgbase_properties[] = { #ifdef BUILD_JSDOCS static char* msgbase_prop_desc[] = { - "last occurred message base error - <small>READ ONLY</small>" - ,"return value of last <i>SMB Library</i> function call - <small>READ ONLY</small>" - ,"base path and filename of message base - <small>READ ONLY</small>" - ,"message base open/lock retry timeout (in seconds)" - ,"delay between message base open/lock retries (in milliseconds)" - ,"first message number - <small>READ ONLY</small>" - ,"last message number - <small>READ ONLY</small>" - ,"total number of messages - <small>READ ONLY</small>" - ,"maximum number of message CRCs to store (for dupe checking) - <small>READ ONLY</small>" - ,"maximum number of messages before expiration - <small>READ ONLY</small>" - ,"maximum age (in days) of messages to store - <small>READ ONLY</small>" - ,"message base attributes - <small>READ ONLY</small>" - ,"sub-board number (0-based, 65535 for e-mail) - <small>READ ONLY</small>" + "Last occurred message base error - <small>READ ONLY</small>" + ,"Return value of last <i>SMB Library</i> function call - <small>READ ONLY</small>" + ,"Base path and filename of message base - <small>READ ONLY</small>" + ,"Message base open/lock retry timeout (in seconds)" + ,"Delay between message base open/lock retries (in milliseconds)" + ,"First message number - <small>READ ONLY</small>" + ,"Last message number - <small>READ ONLY</small>" + ,"Total number of messages - <small>READ ONLY</small>" + ,"Maximum number of message CRCs to store (for dupe checking) - <small>READ ONLY</small>" + ,"Maximum number of messages before expiration - <small>READ ONLY</small>" + ,"Maximum age (in days) of messages to store - <small>READ ONLY</small>" + ,"Message base attributes - <small>READ ONLY</small>" + ,"Sub-board number (0-based, 65535 for e-mail) - <small>READ ONLY</small>" ,"<i>true</i> if the message base has been opened successfully - <small>READ ONLY</small>" ,NULL }; @@ -3097,15 +3097,15 @@ static char* msgbase_prop_desc[] = { static jsSyncMethodSpec js_msgbase_functions[] = { {"open", js_open, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("open message base") + ,JSDOCSTR("Open message base") ,310 }, {"close", js_close, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("close message base (if open)") + ,JSDOCSTR("Close message base (if open)") ,310 }, {"get_msg_header", js_get_msg_header, 4, JSTYPE_OBJECT, JSDOCSTR("[by_offset=<tt>false</tt>,] number_or_offset_or_id [,expand_fields=<tt>true</tt>] [,include_votes=<tt>false</tt>]") - ,JSDOCSTR("returns a specific message header, <i>null</i> on failure. " + ,JSDOCSTR("Returns a specific message header, <i>null</i> on failure. " "<br><i>New in v3.12:</i> Pass <i>false</i> for the <i>expand_fields</i> argument (default: <i>true</i>) " "if you will be re-writing the header later with <i>put_msg_header()</i>" "<br>" @@ -3114,18 +3114,18 @@ static jsSyncMethodSpec js_msgbase_functions[] = { ,312 }, {"get_all_msg_headers", js_get_all_msg_headers, 1, JSTYPE_OBJECT, JSDOCSTR("[include_votes=<tt>false</tt>] [,expand_fields=<tt>true</tt>]") - ,JSDOCSTR("returns an object (associative array) of all message headers \"indexed\" by message number.<br>" + ,JSDOCSTR("Returns an object (associative array) of all message headers \"indexed\" by message number.<br>" "Message headers returned by this function include additional properties: <tt>upvotes</tt>, <tt>downvotes</tt> and <tt>total_votes</tt>.<br>" "Vote messages are excluded by default.") ,316 }, {"put_msg_header", js_put_msg_header, 2, JSTYPE_BOOLEAN, JSDOCSTR("[by_offset=<tt>false</tt>,] [number_or_offset_or_id,] object header") - ,JSDOCSTR("modify an existing message header (must have been 'got' without expanded fields)") + ,JSDOCSTR("Modify an existing message header (must have been 'got' without expanded fields)") ,310 }, {"get_msg_body", js_get_msg_body, 2, JSTYPE_STRING, JSDOCSTR("[by_offset=<tt>false</tt>,] number_or_offset_or_id_or_header [,strip_ctrl_a=<tt>false</tt>] " "[,dot_stuffing=<tt>false</tt>] [,include_tails=<tt>true</tt>] [,plain_text=<tt>false</tt>]") - ,JSDOCSTR("returns the entire body text of a specific message as a single String, <i>null</i> on failure. " + ,JSDOCSTR("Returns the entire body text of a specific message as a single String, <i>null</i> on failure. " "The default behavior is to leave Ctrl-A codes intact, do not stuff dots (e.g. per RFC-821), and to include tails (if any) in the " "returned body text. When <i>plain_text</i> is true, only the first plain-text portion of a multi-part MIME encoded message body is returned. " "The first argument (following the optional <i>by_offset</i> boolean) must be either a number (message number or index-offset), string (message-ID), or object (message header). " @@ -3137,11 +3137,11 @@ static jsSyncMethodSpec js_msgbase_functions[] = { ,310 }, {"get_msg_tail", js_get_msg_tail, 2, JSTYPE_STRING, JSDOCSTR("[by_offset=<tt>false</tt>,] number_or_offset_or_id_or_header [,strip_ctrl_a]=<tt>false</tt>") - ,JSDOCSTR("returns the tail text of a specific message, <i>null</i> on failure") + ,JSDOCSTR("Returns the tail text of a specific message, <i>null</i> on failure") ,310 }, {"get_msg_index", js_get_msg_index, 3, JSTYPE_OBJECT, JSDOCSTR("[by_offset=<tt>false</tt>,] number_or_offset, [include_votes=<tt>false</tt>]") - ,JSDOCSTR("returns a specific message index record, <i>null</i> on failure. " + ,JSDOCSTR("Returns a specific message index record, <i>null</i> on failure. " "The index object will contain the following properties:<br>" "<table>" "<tr><td align=top><tt>attr</tt><td>Attribute bitfield" @@ -3164,17 +3164,17 @@ static jsSyncMethodSpec js_msgbase_functions[] = { ,311 }, {"get_index", js_get_index, 0, JSTYPE_ARRAY, JSDOCSTR("") - ,JSDOCSTR("return an array of message index records represented as objects, the same format as returned by <i>get_msg_index()</i>" + ,JSDOCSTR("Return an array of message index records represented as objects, the same format as returned by <i>get_msg_index()</i>" "<br>" "This is the fastest method of obtaining a list of all message index records.") ,31702 }, {"remove_msg", js_remove_msg, 2, JSTYPE_BOOLEAN, JSDOCSTR("[by_offset=<tt>false</tt>,] number_or_offset_or_id") - ,JSDOCSTR("mark message for deletion") + ,JSDOCSTR("Mark message for deletion") ,311 }, {"save_msg", js_save_msg, 2, JSTYPE_BOOLEAN, JSDOCSTR("object header [,client=<i>none</i>] [,body_text=<tt>\"\"</tt>] [,array rcpt_list=<i>none</i>]") - ,JSDOCSTR("create a new message in message base, the <i>header</i> object may contain the following properties:<br>" + ,JSDOCSTR("Create a new message in message base, the <i>header</i> object may contain the following properties:<br>" "<table>" "<tr><td align=top><tt>subject</tt><td>Message subject <i>(required)</i>" "<tr><td align=top><tt>to</tt><td>Recipient's name <i>(required)</i>" @@ -3257,7 +3257,7 @@ static jsSyncMethodSpec js_msgbase_functions[] = { ,312 }, {"vote_msg", js_vote_msg, 1, JSTYPE_BOOLEAN, JSDOCSTR("object header") - ,JSDOCSTR("create a new vote in message base, the <i>header</i> object should contain the following properties:<br>" + ,JSDOCSTR("Create a new vote in message base, the <i>header</i> object should contain the following properties:<br>" "<table>" "<tr><td align=top><tt>from</tt><td>Sender's name <i>(required)</i>" "<tr><td align=top><tt>from_ext</tt><td>Sender's user number (if applicable)" @@ -3271,7 +3271,7 @@ static jsSyncMethodSpec js_msgbase_functions[] = { ,317 }, {"add_poll", js_add_poll, 1, JSTYPE_BOOLEAN, JSDOCSTR("object header") - ,JSDOCSTR("create a new poll in message base, the <i>header</i> object should contain the following properties:<br>" + ,JSDOCSTR("Create a new poll in message base, the <i>header</i> object should contain the following properties:<br>" "<table>" "<tr><td align=top><tt>subject</tt><td>Polling question <i>(required)</i>" "<tr><td align=top><tt>from</tt><td>Sender's name <i>(required)</i>" @@ -3283,7 +3283,7 @@ static jsSyncMethodSpec js_msgbase_functions[] = { ,317 }, {"close_poll", js_close_poll, 2, JSTYPE_BOOLEAN, JSDOCSTR("message number, user name or alias") - ,JSDOCSTR("close an existing poll") + ,JSDOCSTR("Close an existing poll") ,317 }, {"how_user_voted", js_how_user_voted, 2, JSTYPE_NUMBER, JSDOCSTR("message number, user name or alias") @@ -3291,7 +3291,7 @@ static jsSyncMethodSpec js_msgbase_functions[] = { ,317 }, {"dump_msg_header", js_dump_msg_header, 1, JSTYPE_ARRAY, JSDOCSTR("object header") - ,JSDOCSTR("dump a message header object to an array of strings for diagnostic uses") + ,JSDOCSTR("Dump a message header object to an array of strings for diagnostic uses") ,31702 }, {0} diff --git a/src/sbbs3/js_queue.c b/src/sbbs3/js_queue.c index aed059c39c9e9908e396c08febd0347885958b80..ce2ae64a028ab69576f9f8a2ddd9c311464ff698 100644 --- a/src/sbbs3/js_queue.c +++ b/src/sbbs3/js_queue.c @@ -1,7 +1,5 @@ /* Synchronet JavaScript "Queue" Object */ -/* $Id: js_queue.c,v 1.57 2019/08/22 01:41:23 rswindell Exp $ */ - /**************************************************************************** * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * @@ -15,21 +13,9 @@ * See the GNU General Public License for more details: gpl.txt or * * http://www.fsf.org/copyleft/gpl.html * * * - * Anonymous FTP access to the most recent released source is available at * - * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * - * * - * Anonymous CVS access to the development source and modification history * - * is available at cvs.synchro.net:/cvsroot/sbbs, example: * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login * - * (just hit return, no password is necessary) * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs checkout src * - * * * For Synchronet coding style and modification guidelines, see * * http://www.synchro.net/source.html * * * - * You are encouraged to submit any modifications (preferably in Unix diff * - * format) via e-mail to mods@synchro.net * - * * * Note: If this box doesn't appear square, then you need to fix your tabs. * ****************************************************************************/ @@ -277,10 +263,10 @@ enum { #ifdef BUILD_JSDOCS static char* queue_prop_desc[] = { - "name of the queue (if it has one)" + "Name of the queue (if it has one)" ,"<i>true</i> if data is waiting to be read from queue" - ,"number of values in the read queue" - ,"number of values in the write queue" + ,"Number of values in the read queue" + ,"Number of values in the write queue" ,"<i>true</i> if current thread is the owner/creator of the queue" ,"<i>true</i> if the owner of the queue has detached from the queue" ,NULL @@ -350,24 +336,24 @@ static jsSyncPropertySpec js_queue_properties[] = { static jsSyncMethodSpec js_queue_functions[] = { {"poll", js_poll, 1, JSTYPE_UNDEF, "[timeout=<tt>0</tt>]" - ,JSDOCSTR("wait for any value to be written to the queue for up to <i>timeout</i> milliseconds " + ,JSDOCSTR("Wait for any value to be written to the queue for up to <i>timeout</i> milliseconds " "(default: <i>0</i>), returns <i>true</i> or the <i>name</i> (string) of " "the value waiting (if it has one), or <i>false</i> if no values are waiting") ,312 }, {"read", js_read, 1, JSTYPE_UNDEF, "[string name] or [timeout=<tt>0</tt>]" - ,JSDOCSTR("read a value from the queue, if <i>name</i> not specified, reads next value " + ,JSDOCSTR("Read a value from the queue, if <i>name</i> not specified, reads next value " "from the bottom of the queue (waiting up to <i>timeout</i> milliseconds)") ,313 }, {"peek", js_peek, 1, JSTYPE_UNDEF, "[timeout=<tt>0</tt>]" - ,JSDOCSTR("peek at the value at the bottom of the queue, " + ,JSDOCSTR("Peek at the value at the bottom of the queue, " "wait up to <i>timeout</i> milliseconds for any value to be written " "(default: <i>0</i>)") ,313 }, {"write", js_write, 1, JSTYPE_BOOLEAN, "value [,name=<i>none</i>]" - ,JSDOCSTR("write a value (optionally named) to the queue") + ,JSDOCSTR("Write a value (optionally named) to the queue") ,312 }, {0} diff --git a/src/sbbs3/js_server.c b/src/sbbs3/js_server.c index f0650fa03f247080e3ce07e3b3c7c57fa4d3f6ea..8f47c397d265c021461a6074d7e2f1187079d4ba 100644 --- a/src/sbbs3/js_server.c +++ b/src/sbbs3/js_server.c @@ -120,11 +120,11 @@ static jsSyncPropertySpec js_server_properties[] = { #ifdef BUILD_JSDOCS static char* server_prop_desc[] = { - "server name and version number" - ,"detailed version/build information" + "Server name and version number" + ,"Detailed version/build information" ,"First bound IPv4 address (<tt>0.0.0.0</tt> = <i>ANY</i>) (obsolete since 3.17, see interface_ip_addr_list)" - ,"bit-field of server-specific startup options" - ,"number of active clients (if available)" + ,"Bit-field of server-specific startup options" + ,"Number of active clients (if available)" ,"Array of IP addresses of bound network interface (<tt>0.0.0.0</tt> = <i>ANY</i>)" ,NULL }; @@ -248,7 +248,7 @@ JSObject* js_CreateServerObject(JSContext* cx, JSObject* parent return(NULL); #ifdef BUILD_JSDOCS - js_DescribeSyncObject(cx,obj,"Server-specifc properties",310); + js_DescribeSyncObject(cx,obj,"Server-specific properties",310); js_CreateArrayOfStrings(cx,obj,"_property_desc_list", server_prop_desc, JSPROP_READONLY); #endif diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index 8426006c8cde4df3077e372ead62a4a851620c89..693442399d16c1622cb04c81c993fa63e0d19907 100644 --- a/src/sbbs3/js_socket.c +++ b/src/sbbs3/js_socket.c @@ -2239,28 +2239,28 @@ enum { #ifdef BUILD_JSDOCS static char* socket_prop_desc[] = { /* Regular properties */ - "error status for the last socket operation that failed - <small>READ ONLY</small>" - ,"error description for the last socket operation that failed - <small>READ ONLY</small>" + "Error status for the last socket operation that failed - <small>READ ONLY</small>" + ,"Error description for the last socket operation that failed - <small>READ ONLY</small>" ,"<i>true</i> if socket is in a connected state - <small>READ ONLY</small>" ,"<i>true</i> if socket can accept written data - Setting to false will shutdown the write end of the socket." - ,"alias for is_writeable" + ,"Alias for is_writeable" ,"<i>true</i> if data is waiting to be read from socket - <small>READ ONLY</small>" - ,"number of bytes waiting to be read - TLS sockets will never return more than 1 - <small>READ ONLY</small>" - ,"enable debug logging" - ,"socket descriptor (advanced uses only)" - ,"use non-blocking operation (default is <i>false</i>)" - ,"local IP address (string in dotted-decimal format)" - ,"local TCP or UDP port number" - ,"remote IP address (string in dotted-decimal format)" - ,"remote TCP or UDP port number" - ,"socket type, <tt>SOCK_STREAM</tt> (TCP) or <tt>SOCK_DGRAM</tt> (UDP)" - ,"socket protocol family, <tt>PF_INET</tt> (IPv4) or <tt>PF_INET6</tt> (IPv6)" + ,"Number of bytes waiting to be read - TLS sockets will never return more than 1 - <small>READ ONLY</small>" + ,"Enable debug logging" + ,"Socket descriptor (advanced uses only)" + ,"Use non-blocking operation (default is <i>false</i>)" + ,"Local IP address (string in dotted-decimal format)" + ,"Local TCP or UDP port number" + ,"Remote IP address (string in dotted-decimal format)" + ,"Remote TCP or UDP port number" + ,"Socket type, <tt>SOCK_STREAM</tt> (TCP) or <tt>SOCK_DGRAM</tt> (UDP)" + ,"Socket protocol family, <tt>PF_INET</tt> (IPv4) or <tt>PF_INET6</tt> (IPv6)" ,"<i>true</i> if binary data is to be sent in Network Byte Order (big end first), default is <i>true</i>" - ,"set to <i>true</i> to enable SSL as a client on the socket" - ,"set to <i>true</i> to enable SSL as a server on the socket" + ,"Set to <i>true</i> to enable SSL as a client on the socket" + ,"Set to <i>true</i> to enable SSL as a server on the socket" /* statically-defined properties: */ - ,"array of socket option names supported by the current platform" + ,"Array of socket option names supported by the current platform" ,NULL }; #endif @@ -2597,110 +2597,110 @@ static jsSyncPropertySpec js_socket_properties[] = { static jsSyncMethodSpec js_socket_functions[] = { {"close", js_close, 0, JSTYPE_VOID, "" - ,JSDOCSTR("close (shutdown) the socket immediately") + ,JSDOCSTR("Close (shutdown) the socket immediately") ,310 }, {"bind", js_bind, 0, JSTYPE_BOOLEAN, JSDOCSTR("[port] [,ip_address]") - ,JSDOCSTR("bind socket to a TCP or UDP <i>port</i> (number or service name), " + ,JSDOCSTR("Bind socket to a TCP or UDP <i>port</i> (number or service name), " "optionally specifying a network interface (via <i>ip_address</i>)") ,311 }, {"connect", js_connect, 2, JSTYPE_BOOLEAN, JSDOCSTR("host, port [,timeout=<tt>10.0</tt>]") - ,JSDOCSTR("connect to a remote port (number or service name) on the specified host (IP address or host name)" + ,JSDOCSTR("Connect to a remote port (number or service name) on the specified host (IP address or host name)" ", default <i>timeout</i> value is <i>10.0</i> (seconds)") ,311 }, {"listen", js_listen, 0, JSTYPE_BOOLEAN, JSDOCSTR("") - ,JSDOCSTR("place socket in a state to listen for incoming connections (use before an accept)") + ,JSDOCSTR("Place socket in a state to listen for incoming connections (use before an accept)") ,310 }, {"accept", js_accept, 0, JSTYPE_OBJECT, JSDOCSTR("") - ,JSDOCSTR("accept an incoming connection, returns a new <i>Socket</i> object representing the new connection") + ,JSDOCSTR("Accept an incoming connection, returns a new <i>Socket</i> object representing the new connection") ,310 }, {"write", js_send, 1, JSTYPE_ALIAS }, {"send", js_send, 1, JSTYPE_NUMBER, JSDOCSTR("data") - ,JSDOCSTR("send a string (AKA write). Returns the number of bytes sent or undefined if an error occured. " + ,JSDOCSTR("Send a string (AKA write). Returns the number of bytes sent or undefined if an error occured. " "Versions before 3.17 returned a bool true if all bytes were sent and false otherwise.") ,310 }, {"writeln", js_sendline, 1, JSTYPE_ALIAS }, {"sendline", js_sendline, 1, JSTYPE_BOOLEAN, JSDOCSTR("data") - ,JSDOCSTR("send a string (AKA write) with a carriage return line feed appended") + ,JSDOCSTR("Send a string (AKA write) with a carriage return line feed appended") ,317 }, {"sendto", js_sendto, 3, JSTYPE_BOOLEAN, JSDOCSTR("data, address, port") - ,JSDOCSTR("send data to a specific host (IP address or host name) and port (number or service name), for UDP sockets") + ,JSDOCSTR("Send data to a specific host (IP address or host name) and port (number or service name), for UDP sockets") ,310 }, {"sendfile", js_sendfile, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") - ,JSDOCSTR("send an entire file over the socket") + ,JSDOCSTR("Send an entire file over the socket") ,310 }, {"writeBin", js_sendbin, 1, JSTYPE_ALIAS }, {"sendBin", js_sendbin, 1, JSTYPE_BOOLEAN, JSDOCSTR("value [,bytes=<tt>4</tt>]") - ,JSDOCSTR("send a binary integer over the socket, default number of bytes is 4 (32-bits)") + ,JSDOCSTR("Send a binary integer over the socket, default number of bytes is 4 (32-bits)") ,311 }, {"read", js_recv, 1, JSTYPE_ALIAS }, {"recv", js_recv, 1, JSTYPE_STRING, JSDOCSTR("[maxlen=<tt>512</tt>, [timeout_sec=<tt>120</tt>]]") - ,JSDOCSTR("receive a string, default maxlen is 512 characters (AKA read)") + ,JSDOCSTR("Receive a string, default maxlen is 512 characters (AKA read)") ,310 }, {"peek", js_peek, 0, JSTYPE_STRING, JSDOCSTR("[maxlen=<tt>512</tt>]") - ,JSDOCSTR("receive a string, default maxlen is 512 characters, leaves string in receive buffer (TLS sockets will never return more than one byte)") + ,JSDOCSTR("Receive a string, default maxlen is 512 characters, leaves string in receive buffer (TLS sockets will never return more than one byte)") ,310 }, {"readline", js_recvline, 0, JSTYPE_ALIAS }, {"readln", js_recvline, 0, JSTYPE_ALIAS }, {"recvline", js_recvline, 0, JSTYPE_STRING, JSDOCSTR("[maxlen=<tt>512</tt>] [,timeout=<tt>30.0</tt>]") - ,JSDOCSTR("receive a line-feed terminated string, default maxlen is 512 characters, default timeout is 30 seconds (AKA readline and readln)") + ,JSDOCSTR("Receive a line-feed terminated string, default maxlen is 512 characters, default timeout is 30 seconds (AKA readline and readln)") ,310 }, {"recvfrom", js_recvfrom, 0, JSTYPE_OBJECT, JSDOCSTR("[binary=<tt>false</tt>] [,maxlen=<tt>512</tt> or int_size=<tt>4</tt>]") - ,JSDOCSTR("receive data (string or integer) from a socket (typically UDP)" + ,JSDOCSTR("Receive data (string or integer) from a socket (typically UDP)" "<p>returns object with <i>ip_address</i> and <i>port</i> of sender along with <i>data</i> properties" "<p><i>binary</i> defaults to <i>false</i>, <i>maxlen</i> defaults to 512 chars, <i>int_size</i> defaults to 4 bytes (32-bits)") ,311 }, {"readBin", js_recvbin, 0, JSTYPE_ALIAS }, {"recvBin", js_recvbin, 0, JSTYPE_NUMBER, JSDOCSTR("[bytes=<tt>4</tt>]") - ,JSDOCSTR("receive a binary integer from the socket, default number of bytes is 4 (32-bits)") + ,JSDOCSTR("Receive a binary integer from the socket, default number of bytes is 4 (32-bits)") ,311 }, {"getoption", js_getsockopt, 1, JSTYPE_NUMBER, JSDOCSTR("option") - ,JSDOCSTR("get socket option value, option may be socket option name " + ,JSDOCSTR("Get socket option value, option may be socket option name " "(see <tt>sockopts</tt> in <tt>sockdefs.js</tt>) or number") ,310 }, {"setoption", js_setsockopt, 2, JSTYPE_BOOLEAN, JSDOCSTR("option, value") - ,JSDOCSTR("set socket option value, option may be socket option name " + ,JSDOCSTR("Set socket option value, option may be socket option name " "(see <tt>sockopts</tt> in <tt>sockdefs.js</tt>) or number") ,310 }, {"ioctl", js_ioctlsocket, 1, JSTYPE_NUMBER, JSDOCSTR("command [,argument=<tt>0</tt>]") - ,JSDOCSTR("send socket IOCTL (advanced)") + ,JSDOCSTR("Send socket IOCTL (advanced)") ,310 }, {"poll", js_poll, 1, JSTYPE_NUMBER, JSDOCSTR("[timeout=<tt>0</tt>] [,write=<tt>false</tt>]") - ,JSDOCSTR("poll socket for read or write ability (default is <i>read</i>), " + ,JSDOCSTR("Poll socket for read or write ability (default is <i>read</i>), " "default timeout value is 0.0 seconds (immediate timeout)") ,310 }, {"on", js_on, 2, JSTYPE_NUMBER, JSDOCSTR("('read' | 'write'), callback") - ,JSDOCSTR("execute callback whenever socket is readable/writable. Returns an id to be passed to js.clearOn()") + ,JSDOCSTR("Execute callback whenever socket is readable/writable. Returns an id to be passed to js.clearOn()") ,31900 }, {"once", js_once, 2, JSTYPE_NUMBER, JSDOCSTR("('read' | 'write'), callback") - ,JSDOCSTR("execute callback next time socket is readable/writable Returns and id to be passed to js.clearOnce()") + ,JSDOCSTR("Execute callback next time socket is readable/writable Returns and id to be passed to js.clearOnce()") ,31900 }, {"clearOn", js_clearOn, 2, JSTYPE_NUMBER, JSDOCSTR("('read' | 'write'), id") - ,JSDOCSTR("remove callback installed by Socket.on()") + ,JSDOCSTR("Remove callback installed by Socket.on()") ,31900 }, {"clearOnce", js_clearOnce, 2, JSTYPE_NUMBER, JSDOCSTR("('read' | 'write'), id") - ,JSDOCSTR("remove callback installed by Socket.once()") + ,JSDOCSTR("Remove callback installed by Socket.once()") ,31900 }, {0} diff --git a/src/sbbs3/js_system.c b/src/sbbs3/js_system.c index 45ef6fbf511dc9221ea6723f9f831646ec6ef57b..66b44430a0f3760785e1a2a37270e04ee2ee4f69 100644 --- a/src/sbbs3/js_system.c +++ b/src/sbbs3/js_system.c @@ -480,83 +480,83 @@ static jsSyncPropertySpec js_system_properties[] = { #ifdef BUILD_JSDOCS static char* sys_prop_desc[] = { "BBS name" - ,"operator name" - ,"operator is available for chat" - ,"system QWK-ID (for QWK packets)" - ,"settings bitfield (see <tt>SYS_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" + ,"Operator name" + ,"Operator is available for chat" + ,"System QWK-ID (for QWK packets)" + ,"Settings bitfield (see <tt>SYS_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" ,"Internet address (host or domain name)" - ,"location (city, state)" - ,"timezone (use <i>system.zonestr()</i> to get string representation)" - ,"days between forced user password changes (<tt>0</tt>=<i>never</i>)" - ,"minimum number of characters in user passwords" - ,"maximum number of characters in user passwords" - ,"days to preserve deleted user records, record will not be reused/overwritten during this period" - ,"days of user inactivity before auto-deletion (<tt>0</tt>=<i>disabled</i>), N/A to P-exempt users" - - ,"last user record number in user database (includes deleted and inactive user records)" - ,"name of last user to logoff" - ,"amount of free disk space (in bytes)" - ,"amount of free disk space (in kilobytes)" - - ,"total number of BBS nodes" - ,"last displayable node number" - - ,"new user password" - ,"new user magic word" - ,"new user level" - ,"new user flag set #1" - ,"new user flag set #2" - ,"new user flag set #3" - ,"new user flag set #4" - ,"new user restriction flags" - ,"new user exemption flags" - ,"new user credits" - ,"new user extra minutes" - ,"new user command shell" - ,"new user external editor" - ,"new user settings" - ,"new user file transfer protocol (command key)" - ,"new user expiration days" - ,"new user questions bitfield (see <tt>UQ_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" - - ,"expired user level" - ,"expired user flag set #1" - ,"expired user flag set #2" - ,"expired user flag set #3" - ,"expired user flag set #4" - ,"expired user restriction flags" - ,"expired user exemption flags" + ,"Location (city, state)" + ,"Timezone (use <i>system.zonestr()</i> to get string representation)" + ,"Days between forced user password changes (<tt>0</tt>=<i>never</i>)" + ,"Minimum number of characters in user passwords" + ,"Maximum number of characters in user passwords" + ,"Days to preserve deleted user records, record will not be reused/overwritten during this period" + ,"Days of user inactivity before auto-deletion (<tt>0</tt>=<i>disabled</i>), N/A to P-exempt users" + + ,"Last user record number in user database (includes deleted and inactive user records)" + ,"Name of last user to logoff" + ,"Amount of free disk space (in bytes)" + ,"Amount of free disk space (in kilobytes)" + + ,"Total number of BBS nodes" + ,"Last displayable node number" + + ,"New user password" + ,"New user magic word" + ,"New user level" + ,"New user flag set #1" + ,"New user flag set #2" + ,"New user flag set #3" + ,"New user flag set #4" + ,"New user restriction flags" + ,"New user exemption flags" + ,"New user credits" + ,"New user extra minutes" + ,"New user command shell" + ,"New user external editor" + ,"New user settings" + ,"New user file transfer protocol (command key)" + ,"New user expiration days" + ,"New user questions bitfield (see <tt>UQ_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions)" + + ,"Expired user level" + ,"Expired user flag set #1" + ,"Expired user flag set #2" + ,"Expired user flag set #3" + ,"Expired user flag set #4" + ,"Expired user restriction flags" + ,"Expired user exemption flags" /* directories */ - ,"node directory" - ,"control file directory" - ,"data file directory" - ,"text file directory" - ,"temporary file directory" - ,"executable file directory" - ,"modified modules directory (optional)" - ,"log file directory" + ,"Node directory" + ,"Control file directory" + ,"Data file directory" + ,"Text file directory" + ,"Temporary file directory" + ,"Executable file directory" + ,"Modified modules directory (optional)" + ,"Log file directory" /* filenames */ - ,"platform-specific \"null\" device filename" - ,"platform-specific temporary file directory" - ,"platform-specific command processor/shell" + ,"Platform-specific \"null\" device filename" + ,"Platform-specific temporary file directory" + ,"Platform-specific command processor/shell" /* clock */ - ,"amount of elapsed time in clock 'ticks'" - ,"number of clock ticks per second" - ,"high-resolution timer, in seconds (fractional seconds supported)" + ,"Amount of elapsed time in clock 'ticks'" + ,"Number of clock ticks per second" + ,"High-resolution timer, in seconds (fractional seconds supported)" - ,"private host name that uniquely identifies this system on the local network" - ,"array of nameservers in use by the system" + ,"Private host name that uniquely identifies this system on the local network" + ,"Array of nameservers in use by the system" /* INSERT new tabled properties here */ /* Manually created (non-tabled) properties */ - ,"public host name that uniquely identifies this system on the Internet (usually the same as <i>system.inet_addr</i>)" - ,"socket library version information" - ,"time/date system was brought online (in time_t format)" + ,"Public host name that uniquely identifies this system on the Internet (usually the same as <i>system.inet_addr</i>)" + ,"Socket library version information" + ,"Time/date system was brought online (in time_t format)" ,"Synchronet full version information (e.g. '3.10k Beta Debug')" - ,"date and time compiled" + ,"Date and time compiled" ,"Synchronet version number (e.g. '3.10')" ,"Synchronet revision letter (e.g. 'k')" ,"Synchronet alpha/beta designation (e.g. ' beta')" @@ -565,14 +565,14 @@ static char* sys_prop_desc[] = { ,"Synchronet version number in hexadecimal (e.g. 0x31301 for v3.13b)" ,"Synchronet Git repository branch name" ,"Synchronet Git repository commit hash" - ,"platform description (e.g. 'Win32', 'Linux', 'FreeBSD')" - ,"architecture description (e.g. 'i386', 'i686', 'x86_64')" - ,"message base library version information" - ,"compiler used to build Synchronet" + ,"Platform description (e.g. 'Win32', 'Linux', 'FreeBSD')" + ,"Architecture description (e.g. 'i386', 'i686', 'x86_64')" + ,"Message base library version information" + ,"Compiler used to build Synchronet" ,"Synchronet copyright display" ,"JavaScript engine version information" - ,"operating system version information" - ,"array of FidoNet Technology Network (FTN) addresses associated with this system" + ,"Operating system version information" + ,"Array of FidoNet Technology Network (FTN) addresses associated with this system" ,NULL }; #endif @@ -738,23 +738,23 @@ static jsSyncPropertySpec js_sysstats_properties[] = { #if !defined(JSDOOR) && defined(BUILD_JSDOCS) static char* sysstat_prop_desc[] = { - "total logons" - ,"logons today" - ,"total time used" - ,"time used today" - ,"total files in file bases" - ,"files uploaded today" - ,"bytes uploaded today" - ,"files downloaded today" - ,"bytes downloaded today" - ,"total messages in message bases" - ,"messages posted today" - ,"total messages in mail base" - ,"email sent today" - ,"total feedback messages waiting" - ,"feedback sent today" - ,"total user records (does not include deleted or inactive user records)" - ,"new users today" + "Total logons" + ,"Logons today" + ,"Total time used" + ,"Time used today" + ,"Total files in file bases" + ,"Files uploaded today" + ,"Bytes uploaded today" + ,"Files downloaded today" + ,"Bytes downloaded today" + ,"Total messages in message bases" + ,"Messages posted today" + ,"Total messages in mail base" + ,"Email sent today" + ,"Total feedback messages waiting" + ,"Feedback sent today" + ,"Total user records (does not include deleted or inactive user records)" + ,"New users today" ,NULL }; #endif @@ -2127,24 +2127,24 @@ js_text(JSContext *cx, uintN argc, jsval *arglist) static jsSyncMethodSpec js_system_functions[] = { #ifndef JSDOOR {"username", js_username, 1, JSTYPE_STRING, JSDOCSTR("user_number") - ,JSDOCSTR("returns name of user in specified user record <i>number</i>, or empty string if not found") + ,JSDOCSTR("Returns name of user in specified user record <i>number</i>, or empty string if not found") ,311 }, {"alias", js_alias, 1, JSTYPE_STRING, JSDOCSTR("alias") - ,JSDOCSTR("returns name of user that matches alias (if found in <tt>ctrl/alias.cfg</tt>)") + ,JSDOCSTR("Returns name of user that matches alias (if found in <tt>ctrl/alias.cfg</tt>)") ,310 }, {"find_login_id", js_find_login_id, 1, JSTYPE_NUMBER, JSDOCSTR("user-id") - ,JSDOCSTR("find a user's login ID (alias, real name, or number), returns matching user record number or 0 if not found") + ,JSDOCSTR("Find a user's login ID (alias, real name, or number), returns matching user record number or 0 if not found") ,32000 }, {"matchuser", js_matchuser, 1, JSTYPE_NUMBER, JSDOCSTR("username [,sysop_alias=<tt>true</tt>]") - ,JSDOCSTR("exact user name matching, returns number of user whose name/alias matches <i>username</i> " + ,JSDOCSTR("Exact user name matching, returns number of user whose name/alias matches <i>username</i> " " or 0 if not found, matches well-known sysop aliases by default") ,310 }, {"matchuserdata", js_matchuserdata, 2, JSTYPE_NUMBER, JSDOCSTR("field, data [,match_del=<tt>false</tt>] [,usernumber, match_next=<tt>false</tt>]") - ,JSDOCSTR("search user database for data in a specific field (see <tt>U_*</tt> in <tt>sbbsdefs.js</tt>), " + ,JSDOCSTR("Search user database for data in a specific field (see <tt>U_*</tt> in <tt>sbbsdefs.js</tt>), " "if <i>match_del</i> is <tt>true</tt>, deleted user records are searched, " "returns first matching user record number, optional <i>usernumber</i> specifies user record to skip, " "or record at which to begin searching if optional <i>match_next</i> is <tt>true</tt>") @@ -2152,133 +2152,133 @@ static jsSyncMethodSpec js_system_functions[] = { }, #endif {"trashcan", js_trashcan, 2, JSTYPE_BOOLEAN, JSDOCSTR("basename, find_string") - ,JSDOCSTR("search <tt>text/<i>basename</i>.can</tt> for pseudo-regexp") + ,JSDOCSTR("Search <tt>text/<i>basename</i>.can</tt> for pseudo-regexp") ,310 }, {"findstr", js_findstr, 2, JSTYPE_BOOLEAN, JSDOCSTR("path/filename or array of strings, find_string") - ,JSDOCSTR("search any trashcan/filter file or array of pattern strings (in <tt>*.can</tt> format) for <i>find_string</i>") + ,JSDOCSTR("Search any trashcan/filter file or array of pattern strings (in <tt>*.can</tt> format) for <i>find_string</i>") ,310 }, {"zonestr", js_zonestr, 0, JSTYPE_STRING, JSDOCSTR("[timezone=<i>local</i>]") - ,JSDOCSTR("convert time zone integer to string, defaults to system timezone if <i>timezone</i> not specified") + ,JSDOCSTR("Convert time zone integer to string, defaults to system timezone if <i>timezone</i> not specified") ,310 }, {"timestr", js_timestr, 0, JSTYPE_STRING, JSDOCSTR("[time=<i>current</i>]") - ,JSDOCSTR("convert time_t integer into a time string, " + ,JSDOCSTR("Convert time_t integer into a time string, " "defaults to current time if <i>time</i> not specified") ,310 }, {"datestr", js_datestr, 0, JSTYPE_STRING, JSDOCSTR("[time=<i>current</i>]") - ,JSDOCSTR("convert time_t integer into a date string (in either <tt>MM/DD/YY</tt> or <tt>DD/MM/YY</tt> format), " + ,JSDOCSTR("Convert time_t integer into a date string (in either <tt>MM/DD/YY</tt> or <tt>DD/MM/YY</tt> format), " "defaults to current date if <i>time</i> not specified. " "If <i>time</i> is a string in the appropriate format, returns the time_t.") ,310 }, {"secondstr", js_secondstr, 0, JSTYPE_STRING, JSDOCSTR("seconds") - ,JSDOCSTR("convert elapsed time in seconds into a string in <tt>hh:mm:ss</tt> format") + ,JSDOCSTR("Convert elapsed time in seconds into a string in <tt>hh:mm:ss</tt> format") ,310 }, #ifndef JSDOOR {"spamlog", js_spamlog, 6, JSTYPE_BOOLEAN, JSDOCSTR("[protocol, action, reason, host, ip, to, from]") - ,JSDOCSTR("log a suspected SPAM attempt") + ,JSDOCSTR("Log a suspected SPAM attempt") ,310 }, {"hacklog", js_hacklog, 5, JSTYPE_BOOLEAN, JSDOCSTR("[protocol, user, text, host, ip, port]") - ,JSDOCSTR("log a suspected hack attempt") + ,JSDOCSTR("Log a suspected hack attempt") ,310 }, {"filter_ip", js_filter_ip, 4, JSTYPE_BOOLEAN, JSDOCSTR("[protocol, reason, host, ip, username, filename]") - ,JSDOCSTR("add an IP address (with comment) to an IP filter file. If filename is not specified, the ip.can file is used") + ,JSDOCSTR("Add an IP address (with comment) to an IP filter file. If filename is not specified, the ip.can file is used") ,311 }, {"get_node", js_get_node, 1, JSTYPE_OBJECT, JSDOCSTR("node_number") - ,JSDOCSTR("read a node data record all at once (and leaving the record unlocked) " + ,JSDOCSTR("Read a node data record all at once (and leaving the record unlocked) " "returning an object matching the elements of <tt>system.node_list</tt>") ,31702 }, {"get_node_message",js_get_node_message,0, JSTYPE_STRING, JSDOCSTR("node_number") - ,JSDOCSTR("read any messages waiting for the specified node and return in a single string") + ,JSDOCSTR("Read any messages waiting for the specified node and return in a single string") ,311 }, {"put_node_message",js_put_node_message,2, JSTYPE_BOOLEAN, JSDOCSTR("node_number, message_text") - ,JSDOCSTR("send a node a short text message, delivered immediately") + ,JSDOCSTR("Send a node a short text message, delivered immediately") ,310 }, {"get_telegram", js_get_telegram, 1, JSTYPE_STRING, JSDOCSTR("user_number") - ,JSDOCSTR("returns any short text messages waiting for the specified user") + ,JSDOCSTR("Returns any short text messages waiting for the specified user") ,311 }, {"put_telegram", js_put_telegram, 2, JSTYPE_BOOLEAN, JSDOCSTR("user_number, message_text") - ,JSDOCSTR("sends a user a short text message, delivered immediately or during next logon") + ,JSDOCSTR("Sends a user a short text message, delivered immediately or during next logon") ,310 }, {"notify", js_notify, 2, JSTYPE_BOOLEAN, JSDOCSTR("user_number, subject [,message_text]") - ,JSDOCSTR("notify a user or operator via both email and a short text message about an important event") + ,JSDOCSTR("Notify a user or operator via both email and a short text message about an important event") ,31801 }, {"newuser", js_new_user, 1, JSTYPE_ALIAS }, {"new_user", js_new_user, 1, JSTYPE_OBJECT, JSDOCSTR("name/alias [,client object]") - ,JSDOCSTR("creates a new user record, returns a new <a href=#User>User</a> object representing the new user account, on success.<br>" + ,JSDOCSTR("Creates a new user record, returns a new <a href=#User>User</a> object representing the new user account, on success.<br>" "returns an numeric error code on failure (optional <i>client</i> object argument added in v3.15a. As of 3.16c, the global " "client object is used if the argument is omitted)") ,310 }, {"del_user", js_del_user, 1, JSTYPE_BOOLEAN, JSDOCSTR("user_number") - ,JSDOCSTR("delete the specified user account") + ,JSDOCSTR("Delete the specified user account") ,316 }, #endif {"exec", js_sys_exec, 0, JSTYPE_NUMBER, JSDOCSTR("command-line") - ,JSDOCSTR("executes a native system/shell command-line, returns <i>0</i> on success") + ,JSDOCSTR("Executes a native system/shell command-line, returns <i>0</i> on success") ,311 }, {"popen", js_popen, 0, JSTYPE_ARRAY, JSDOCSTR("command-line") - ,JSDOCSTR("executes a native system/shell command-line, returns array of captured output lines on success " + ,JSDOCSTR("Executes a native system/shell command-line, returns array of captured output lines on success " "(<b>only functional on UNIX systems</b>)") ,311 }, #ifndef JSDOOR {"check_syspass", js_chksyspass, 1, JSTYPE_BOOLEAN, JSDOCSTR("password") - ,JSDOCSTR("compares the supplied <i>password</i> against the system password and returns <i>true</i> if it matches") + ,JSDOCSTR("Compares the supplied <i>password</i> against the system password and returns <i>true</i> if it matches") ,311 }, {"check_name", js_chkname, 1, JSTYPE_BOOLEAN, JSDOCSTR("name/alias") - ,JSDOCSTR("checks that the provided name/alias string is suitable for a new user account, " + ,JSDOCSTR("Checks that the provided name/alias string is suitable for a new user account, " "returns <i>true</i> if it is valid") ,315 }, {"check_filename", js_chkfname, 1, JSTYPE_BOOLEAN, JSDOCSTR("filename") - ,JSDOCSTR("verify that the specified <i>filename</i> string is legal and allowed for upload by users " + ,JSDOCSTR("Verify that the specified <i>filename</i> string is legal and allowed for upload by users " "(based on system configuration), returns <i>true</i> if the filename is allowed") ,31902 }, {"allowed_filename", js_allowed_fname, 1, JSTYPE_BOOLEAN, JSDOCSTR("filename") - ,JSDOCSTR("verify that the specified <i>filename</i> string is allowed for upload by users " + ,JSDOCSTR("Verify that the specified <i>filename</i> string is allowed for upload by users " "(based on system configuration), returns <i>true</i> if the filename is allowed") ,31902 }, {"safest_filename", js_safest_fname, 1, JSTYPE_BOOLEAN, JSDOCSTR("filename") - ,JSDOCSTR("verify that the specified <i>filename</i> string contains only the safest subset of characters") + ,JSDOCSTR("Verify that the specified <i>filename</i> string contains only the safest subset of characters") ,31902 }, {"illegal_filename", js_illegal_fname, 1, JSTYPE_BOOLEAN, JSDOCSTR("filename") - ,JSDOCSTR("check if the specified <i>filename</i> string contains illegal characters or sequences, " + ,JSDOCSTR("Check if the specified <i>filename</i> string contains illegal characters or sequences, " "returns <i>true</i> if it is an illegal filename") ,31902 }, #endif {"check_pid", js_chkpid, 1, JSTYPE_BOOLEAN, JSDOCSTR("process-ID") - ,JSDOCSTR("checks that the provided process ID is a valid executing process on the system, " + ,JSDOCSTR("Checks that the provided process ID is a valid executing process on the system, " "returns <i>true</i> if it is valid") ,315 }, {"terminate_pid", js_killpid, 1, JSTYPE_BOOLEAN, JSDOCSTR("process-ID") - ,JSDOCSTR("terminates executing process on the system with the specified process ID, " + ,JSDOCSTR("Terminates executing process on the system with the specified process ID, " "returns <i>true</i> on success") ,315 }, {"text", js_text, 1, JSTYPE_STRING, JSDOCSTR("number") - ,JSDOCSTR("returns specified text string from text.dat (like <tt>bbs.text()</tt>) or returns <i>null</i> upon error") + ,JSDOCSTR("Returns specified text string from text.dat (like <tt>bbs.text()</tt>) or returns <i>null</i> upon error") ,31802 }, {0} @@ -2301,15 +2301,15 @@ enum { #ifdef BUILD_JSDOCS static char* node_prop_desc[] = { - "status (see <tt>nodedefs.js</tt> for valid values)" - ,"error counter" - ,"current user action (see <tt>nodedefs.js</tt>)" - ,"current user number" - ,"connection speed (<tt>0xffff</tt> = Telnet or RLogin)" - ,"miscellaneous bitfield (see <tt>nodedefs.js</tt>)" - ,"auxillary value" - ,"extended auxillary value" - ,"node directory" + "Status (see <tt>nodedefs.js</tt> for valid values)" + ,"Error counter" + ,"Current user action (see <tt>nodedefs.js</tt>)" + ,"Current user number" + ,"Connection speed (<tt>0xffff</tt> = Telnet or RLogin)" + ,"Miscellaneous bitfield (see <tt>nodedefs.js</tt>)" + ,"Auxillary value" + ,"Extended auxillary value" + ,"Node directory" ,NULL }; #endif diff --git a/src/sbbs3/js_uifc.c b/src/sbbs3/js_uifc.c index a4de390b4a128438c2faa498d7dc1b1abcbb765d..5670d87c62fdd08330dd0a5b796b77c5569f47a2 100644 --- a/src/sbbs3/js_uifc.c +++ b/src/sbbs3/js_uifc.c @@ -1,5 +1,5 @@ -/* js_uifc.c */ /* Synchronet "uifc" (user interface) object */ + /**************************************************************************** * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * @@ -13,21 +13,9 @@ * See the GNU General Public License for more details: gpl.txt or * * http://www.fsf.org/copyleft/gpl.html * * * - * Anonymous FTP access to the most recent released source is available at * - * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * - * * - * Anonymous CVS access to the development source and modification history * - * is available at cvs.synchro.net:/cvsroot/sbbs, example: * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login * - * (just hit return, no password is necessary) * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs checkout src * - * * * For Synchronet coding style and modification guidelines, see * * http://www.synchro.net/source.html * * * - * You are encouraged to submit any modifications (preferably in Unix diff * - * format) via e-mail to mods@synchro.net * - * * * Note: If this box doesn't appear square, then you need to fix your tabs. * ****************************************************************************/ #ifndef JAVASCRIPT @@ -1135,28 +1123,28 @@ js_finalize(JSContext *cx, JSObject *obj) } static jsSyncMethodSpec js_functions[] = { {"init", js_uifc_init, 1, JSTYPE_BOOLEAN, JSDOCSTR("string title [, string mode]") - ,JSDOCSTR("initialize. <tt>mode</tt> is a string representing the desired conio mode... one of STDIO, AUTO, " + ,JSDOCSTR("Initialize. <tt>mode</tt> is a string representing the desired conio mode... one of STDIO, AUTO, " "X, CURSES, ANSI, CONIO, or SDL.") ,314 }, {"bail", js_uifc_bail, 0, JSTYPE_VOID, JSDOCSTR("") - ,JSDOCSTR("uninitialize") + ,JSDOCSTR("Uninitialize") ,314 }, {"msg", js_uifc_msg, 1, JSTYPE_VOID, JSDOCSTR("string text") - ,JSDOCSTR("print a message") + ,JSDOCSTR("Print a message") ,314 }, {"pop", js_uifc_pop, 1, JSTYPE_VOID, JSDOCSTR("[string text]") - ,JSDOCSTR("popup (or down) a message") + ,JSDOCSTR("Pop-up (or down) a message. Pop-down by passing no <i>text</i> argument.") ,314 }, {"input", js_uifc_input, 0, JSTYPE_STRING, JSDOCSTR("[number mode] [,number left] [,number top] [,string default] [,number maxlen] [,number kmode]") - ,JSDOCSTR("prompt for a string input") + ,JSDOCSTR("Prompt for a string input") ,314 }, {"list", js_uifc_list, 0, JSTYPE_NUMBER, JSDOCSTR("[number mode,] string title, array options [,uifc.list.CTX object]") - ,JSDOCSTR("select from a list of options.<br>" + ,JSDOCSTR("Select from a list of options.<br>" "The context object can be created using new uifc.list.CTX() and if the same object is passed, allows WIN_SAV to work correctly.<br>" "The context object has the following properties:<br>cur, bar, top, left, width" ) @@ -1263,7 +1251,7 @@ JSObject* js_CreateUifcObject(JSContext* cx, JSObject* parent) if(!JS_SetPrivate(cx, obj, api)) /* Store a pointer to uifcapi_t */ return(NULL); #ifdef BUILD_JSDOCS - js_DescribeSyncObject(cx,obj,"User InterFaCe object - used for jsexec menus" ,314); + js_DescribeSyncObject(cx,obj,"User InterFaCe object - Text User Interface (TUI) menu system for JSexec" ,314); js_CreateArrayOfStrings(cx, obj, "_property_desc_list", uifc_prop_desc, JSPROP_READONLY); #endif return(obj); diff --git a/src/sbbs3/js_user.c b/src/sbbs3/js_user.c index 15c3ce52b9ab82b340cddd1adcf64eef0ba18620..3b654494f8bfdd3cd59ac2c75cb72c7b9258c3e8 100644 --- a/src/sbbs3/js_user.c +++ b/src/sbbs3/js_user.c @@ -837,46 +837,46 @@ static jsSyncPropertySpec js_user_properties[] = { #ifdef BUILD_JSDOCS static char* user_prop_desc[] = { - "record number (1-based)" - ,"alias/name" - ,"real name" - ,"chat handle" + "Record number (1-based)" + ,"Alias/name" + ,"Real name" + ,"Chat handle" ,"IP address last logged on from" ,"Sysop note (AKA ip_address on 3.16 and before)" - ,"host name last logged on from" + ,"Host name last logged on from" ,"AKA host_name" - ,"sysop's comment" - ,"external e-mail address" - ,"local Internet e-mail address - <small>READ ONLY</small>" - ,"street address" - ,"location (e.g. city, state)" - ,"zip/postal code" - ,"phone number" - ,"birth date in 'YYYYMMDD' format or legacy format: 'MM/DD/YY' or 'DD/MM/YY', depending on system configuration" - ,"birth year" - ,"birth month (1-12)" - ,"birth day of month (1-31)" - ,"calculated age in years - <small>READ ONLY</small>" - ,"connection type (protocol)" + ,"Sysop's comment" + ,"External e-mail address" + ,"Local Internet e-mail address - <small>READ ONLY</small>" + ,"Street address" + ,"Location (e.g. city, state)" + ,"Zip/postal code" + ,"Phone number" + ,"Birth date in 'YYYYMMDD' format or legacy format: 'MM/DD/YY' or 'DD/MM/YY', depending on system configuration" + ,"Birth year" + ,"Birth month (1-12)" + ,"Birth day of month (1-31)" + ,"Calculated age in years - <small>READ ONLY</small>" + ,"Connection type (protocol)" ,"AKA connection" - ,"terminal rows (0 = auto-detect)" - ,"terminal columns (0 = auto-detect)" - ,"gender type (e.g. M or F or any single-character)" - ,"current/last message sub-board (internal code)" - ,"current/last file directory (internal code)" - ,"current/last external program (internal code) run" - ,"external message editor (internal code) or <i>blank</i> if none" - ,"command shell (internal code)" - ,"settings bitfield - see <tt>USER_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions" + ,"Terminal rows (0 = auto-detect)" + ,"Terminal columns (0 = auto-detect)" + ,"Gender type (e.g. M or F or any single-character)" + ,"Current/last message sub-board (internal code)" + ,"Current/last file directory (internal code)" + ,"Current/last external program (internal code) run" + ,"External message editor (internal code) or <i>blank</i> if none" + ,"Command shell (internal code)" + ,"Settings bitfield - see <tt>USER_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions" ,"QWK packet settings bitfield - see <tt>QWK_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions" - ,"chat settings bitfield - see <tt>CHAT_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions" - ,"mail settings bitfield - see <tt>MAIL_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions" - ,"temporary file type (extension)" - ,"new file scan date/time (time_t format)" - ,"file transfer protocol (command key)" - ,"logon time (time_t format)" - ,"record is currently cached in memory" - ,"user has a System Operator's security level" + ,"Chat settings bitfield - see <tt>CHAT_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions" + ,"Mail settings bitfield - see <tt>MAIL_*</tt> in <tt>sbbsdefs.js</tt> for bit definitions" + ,"Temporary file type (extension)" + ,"New file scan date/time (time_t format)" + ,"File transfer protocol (command key)" + ,"Logon time (time_t format)" + ,"Record is currently cached in memory" + ,"User has a System Operator's security level" ,NULL }; #endif @@ -906,20 +906,20 @@ static jsSyncPropertySpec js_user_security_properties[] = { #ifdef BUILD_JSDOCS static char* user_security_prop_desc[] = { - "password" - ,"date password last modified (time_t format)" - ,"security level (0-99)" - ,"flag set #1 (bitfield) can use +/-[A-?] notation" - ,"flag set #2 (bitfield) can use +/-[A-?] notation" - ,"flag set #3 (bitfield) can use +/-[A-?] notation" - ,"flag set #4 (bitfield) can use +/-[A-?] notation" - ,"exemption flags (bitfield) can use +/-[A-?] notation" - ,"restriction flags (bitfield) can use +/-[A-?] notation" - ,"credits" - ,"free credits (for today only)" - ,"extra minutes (time bank)" - ,"extra minutes (for today only)" - ,"expiration date/time (time_t format)" + "Password" + ,"Date password last modified (time_t format)" + ,"Security level (0-99)" + ,"Flag set #1 (bitfield) can use +/-[A-?] notation" + ,"Flag set #2 (bitfield) can use +/-[A-?] notation" + ,"Flag set #3 (bitfield) can use +/-[A-?] notation" + ,"Flag set #4 (bitfield) can use +/-[A-?] notation" + ,"Exemption flags (bitfield) can use +/-[A-?] notation" + ,"Restriction flags (bitfield) can use +/-[A-?] notation" + ,"Credits" + ,"Free credits (for today only)" + ,"Extra minutes (time bank)" + ,"Extra minutes (for today only)" + ,"Expiration date/time (time_t format)" ,NULL }; #endif @@ -945,13 +945,13 @@ static jsSyncPropertySpec js_user_limits_properties[] = { #ifdef BUILD_JSDOCS static char* user_limits_prop_desc[] = { - "time (in minutes) per logon" - ,"time (in minutes) per day" - ,"logons per day" - ,"lines per message (post or email)" - ,"email sent per day" - ,"messages posted per day" - ,"free credits given per day" + "Time (in minutes) per logon" + ,"Time (in minutes) per day" + ,"Logons per day" + ,"Lines per message (post or email)" + ,"Email sent per day" + ,"Messages posted per day" + ,"Free credits given per day" ,NULL }; #endif @@ -993,29 +993,29 @@ static jsSyncPropertySpec js_user_stats_properties[] = { #ifdef BUILD_JSDOCS static char* user_stats_prop_desc[] = { - "date of previous logon (time_t format)" - ,"date of first logon (time_t format)" - ,"total number of logons" - ,"total logons today" - ,"total time used (in minutes)" - ,"time used today (in minutes)" - ,"time used last session (in minutes)" - ,"total messages posted" - ,"total e-mails sent" - ,"total feedback messages sent" - ,"e-mail sent today" - ,"messages posted today" - ,"total bytes uploaded" - ,"total files uploaded" - ,"total bytes downloaded" - ,"total files downloaded" - ,"latest average download rate, in characters (bytes) per second" - ,"suspected leech downloads" - ,"total number of e-mail messages currently waiting in inbox" - ,"number of read e-mail messages currently waiting in inbox" - ,"number of unread e-mail messages currently waiting in inbox" - ,"number of SPAM e-mail messages currently waiting in inbox" - ,"number of e-mail messages sent, currently pending deletion" + "Date of previous logon (time_t format)" + ,"Date of first logon (time_t format)" + ,"Total number of logons" + ,"Total logons today" + ,"Total time used (in minutes)" + ,"Time used today (in minutes)" + ,"Time used last session (in minutes)" + ,"Total messages posted" + ,"Total e-mails sent" + ,"Total feedback messages sent" + ,"E-mail sent today" + ,"Messages posted today" + ,"Total bytes uploaded" + ,"Total files uploaded" + ,"Total bytes downloaded" + ,"Total files downloaded" + ,"Latest average download rate, in characters (bytes) per second" + ,"Suspected leech downloads" + ,"Total number of e-mail messages currently waiting in inbox" + ,"Number of read e-mail messages currently waiting in inbox" + ,"Number of unread e-mail messages currently waiting in inbox" + ,"Number of SPAM e-mail messages currently waiting in inbox" + ,"Number of e-mail messages sent, currently pending deletion" ,NULL }; #endif diff --git a/src/sbbs3/js_xtrn_area.c b/src/sbbs3/js_xtrn_area.c index a54c20fc8e3b747202adca463110cdca5c7fad95..b86d6f755ffcca03a41743ba46737628650c9e74 100644 --- a/src/sbbs3/js_xtrn_area.c +++ b/src/sbbs3/js_xtrn_area.c @@ -27,65 +27,65 @@ static char* xtrn_sec_prop_desc[] = { - "index into sec_list array (or -1 if not in index) <i>(introduced in v3.12)</i>" - ,"unique number for this external program section" - ,"external program section internal code" - ,"external program section name" - ,"external program section access requirements" - ,"user has sufficient access to enter this section <i>(introduced in v3.15)</i>" + "Index into sec_list array (or -1 if not in index) <i>(introduced in v3.12)</i>" + ,"Unique number for this external program section" + ,"External program section internal code" + ,"External program section name" + ,"External program section access requirements" + ,"User has sufficient access to enter this section <i>(introduced in v3.15)</i>" ,NULL }; static char* xtrn_prog_prop_desc[] = { - "index into prog_list array (or -1 if not in index) <i>(introduced in v3.12)</i>" - ,"program number" - ,"program section index <i>(introduced in v3.12)</i>" - ,"program section number" - ,"program section internal code <i>(introduced in v3.12)</i>" - ,"internal code" - ,"name" - ,"command-line" - ,"clean-up command-line" - ,"startup directory" - ,"access requirements" - ,"execution requirements" - ,"toggle options (bitfield)" - ,"drop file type" - ,"event type (0=none)" - ,"extra time given to users running this program" - ,"maximum time allowed in program" - ,"execution cost (credits to run this program)" + "Index into prog_list array (or -1 if not in index) <i>(introduced in v3.12)</i>" + ,"Program number" + ,"Program section index <i>(introduced in v3.12)</i>" + ,"Program section number" + ,"Program section internal code <i>(introduced in v3.12)</i>" + ,"Internal code" + ,"Name" + ,"Command-line" + ,"Clean-up command-line" + ,"Startup directory" + ,"Access requirements" + ,"Execution requirements" + ,"Toggle options (bitfield)" + ,"Drop file type" + ,"Event type (0=none)" + ,"Extra time given to users running this program" + ,"Maximum time allowed in program" + ,"Execution cost (credits to run this program)" /* Insert here */ - ,"user has sufficient access to see this program" - ,"user has sufficient access to run this program" + ,"User has sufficient access to see this program" + ,"User has sufficient access to run this program" ,NULL }; static char* event_prop_desc[] = { - "command-line" - ,"startup directory" - ,"node number" - ,"time to execute (minutes since midnight)" - ,"frequency to execute" - ,"days of week to execute (bitfield)" - ,"days of month to execute (bitfield)" - ,"months of year to execute (bitfield)" - ,"date/time of last run (in time_t format)" - ,"date/time of next run (in time_t format)" - ,"error log level" - ,"toggle options (bitfield)" + "Command-line" + ,"Startup directory" + ,"Node number" + ,"Time to execute (minutes since midnight)" + ,"Frequency to execute" + ,"Days of week to execute (bitfield)" + ,"Days of month to execute (bitfield)" + ,"Months of year to execute (bitfield)" + ,"Date/time of last run (in time_t format)" + ,"Date/time of next run (in time_t format)" + ,"Error log level" + ,"Toggle options (bitfield)" ,NULL }; static char* xedit_prop_desc[] = { - "name" - ,"command-line" - ,"access requirements" - ,"toggle options (bitfield)" - ,"drop file type" + "Name" + ,"Command-line" + ,"Access requirements" + ,"Toggle options (bitfield)" + ,"Drop file type" ,NULL }; diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index 929b54f4c75683a621ce317cd8f5afc4b12581f8..abb3a29d7b24ca7059420a7d2d565a2dbd75c80e 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -735,7 +735,7 @@ static jsSyncMethodSpec js_global_functions[] = { {"log", js_log, 1}, {"read", js_read, 1}, {"readln", js_readln, 0, JSTYPE_STRING, JSDOCSTR("[count]") - ,JSDOCSTR("read a single line, up to count characters, from input stream") + ,JSDOCSTR("Read a single line, up to count characters, from input stream") ,311 }, {"write", js_write, 0}, diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index b641c805f6771c4c145df6d4fbc768c2c51f7c43..a87cb9d5cc49123f4658711b5b2d0570eb396fc9 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -1198,52 +1198,52 @@ js_prompt(JSContext *cx, uintN argc, jsval *arglist) static jsSyncMethodSpec js_global_functions[] = { {"log", js_log, 1, JSTYPE_STRING, JSDOCSTR("[level,] value [,value]") - ,JSDOCSTR("add a line of text to the server and/or system log, " + ,JSDOCSTR("Add a line of text to the server and/or system log, " "<i>values</i> are typically string constants or variables, " "<i>level</i> is the debug level/priority (default: <tt>LOG_INFO</tt>)") ,311 }, {"read", js_read, 0, JSTYPE_STRING, JSDOCSTR("[count]") - ,JSDOCSTR("read up to count characters from input stream") + ,JSDOCSTR("Read up to count characters from input stream") ,311 }, {"readln", js_readln, 0, JSTYPE_STRING, JSDOCSTR("[count]") - ,JSDOCSTR("read a single line, up to count characters, from input stream") + ,JSDOCSTR("Read a single line, up to count characters, from input stream") ,311 }, {"write", js_write, 0, JSTYPE_VOID, JSDOCSTR("value [,value]") - ,JSDOCSTR("send one or more values (typically strings) to the server output") + ,JSDOCSTR("Send one or more values (typically strings) to the server output") ,311 }, {"write_raw", js_write_raw, 0, JSTYPE_VOID, JSDOCSTR("value [,value]") - ,JSDOCSTR("send a stream of bytes (possibly containing NULLs or special control code sequences) to the server output") + ,JSDOCSTR("Send a stream of bytes (possibly containing NULLs or special control code sequences) to the server output") ,314 }, {"print", js_writeln, 0, JSTYPE_ALIAS }, {"writeln", js_writeln, 0, JSTYPE_VOID, JSDOCSTR("value [,value]") - ,JSDOCSTR("send a line of text to the console or event log with automatic line termination (CRLF), " + ,JSDOCSTR("Send a line of text to the console or event log with automatic line termination (CRLF), " "<i>values</i> are typically string constants or variables (AKA print)") ,311 }, {"printf", js_printf, 1, JSTYPE_STRING, JSDOCSTR("string format [,value][,value]") - ,JSDOCSTR("print a formatted string - <small>CAUTION: for experienced C programmers ONLY</small>") + ,JSDOCSTR("Print a formatted string - <small>CAUTION: for experienced C programmers ONLY</small>") ,310 }, {"alert", js_alert, 1, JSTYPE_VOID, JSDOCSTR("value") - ,JSDOCSTR("print an alert message (ala client-side JS)") + ,JSDOCSTR("Print an alert message (ala client-side JS)") ,310 }, {"prompt", js_prompt, 1, JSTYPE_STRING, JSDOCSTR("[text] [,value] [,mode=K_EDIT]") - ,JSDOCSTR("displays a prompt (<i>text</i>) and returns a string of user input (ala client-side JS)") + ,JSDOCSTR("Displays a prompt (<i>text</i>) and returns a string of user input (ala client-side JS)") ,310 }, {"confirm", js_confirm, 1, JSTYPE_BOOLEAN, JSDOCSTR("value") - ,JSDOCSTR("displays a Yes/No prompt and returns <i>true</i> or <i>false</i> " + ,JSDOCSTR("Displays a Yes/No prompt and returns <i>true</i> or <i>false</i> " "based on user's confirmation (ala client-side JS, <i>true</i> = yes)") ,310 }, {"deny", js_deny, 1, JSTYPE_BOOLEAN, JSDOCSTR("value") - ,JSDOCSTR("displays a No/Yes prompt and returns <i>true</i> or <i>false</i> " + ,JSDOCSTR("Displays a No/Yes prompt and returns <i>true</i> or <i>false</i> " "based on user's denial (<i>true</i> = no)") ,31501 },