diff --git a/load/defs.js b/load/defs.js index 2227203..9453bf2 100644 --- a/load/defs.js +++ b/load/defs.js @@ -56,7 +56,7 @@ function TexFrame() { this.index=null; // Frame Index [a-z] this.owner=0; // The Service Provider owning the frame. this.cost=0; // The cost to view the frame @TODO - this.content=''; // The frame content + this.content=''; // The frame content, base64 encoded // Frame's owned by the system where: // isPublic is FALSE - the user must be logged in to view it diff --git a/main.js b/main.js index 882d024..d2577b2 100644 --- a/main.js +++ b/main.js @@ -710,15 +710,16 @@ while(bbs.online) { // External Frame // @todo returning from the frame, go to the 0 key if it is set case FRAME_TYPE_EXTERNAL: - log(LOG_DEBUG,'- ACTION_GOTO: EXTERNAL ['+JSON.stringify(fo.content)+']'); + var content = base64_decode(fo.content); + log(LOG_DEBUG,'- ACTION_GOTO: EXTERNAL ['+JSON.stringify(content)+']'); - switch(fo.content.replace(/\n/,'')) { + switch(content.replace(/\n/,'')) { case 'bbs.user_config()': case 'bbs.read_mail(MAIL_YOUR)': case 'bbs.scan_subs(SCAN_NEW)': case 'bbs.scan_posts()': case 'bbs.post_msg()': - eval(fo.content); + eval(content); // Check and see if our shell was changed if (user.command_shell != 'ansitex') { @@ -729,7 +730,7 @@ while(bbs.online) { break; default: - console.putmsg(JSON.stringify(fo.content)); + console.putmsg(JSON.stringify(content)); sendBaseline(ERR_ROUTE,false); action = false; break;