diff --git a/web/root/blogs/blog_config.js b/web/root/blogs/blog_config.js index 87690a574ca637d97495b6374c8932802453b069..93c870ec818aa18a2d219ecf555ca5fda8cea955 100644 --- a/web/root/blogs/blog_config.js +++ b/web/root/blogs/blog_config.js @@ -1,29 +1,27 @@ // User editable settings... -// Internal code of the message base -var msg_code="GENERAL"; - // Number of posts to show per page. var max_posts=16; // Minimum number of characters in an exerpt var min_chars=400; +// Number of pixels per level to indent comments +var indent_pixels=20; + // // Don't change stuff down here. // // User name of the blogger var parameters=http_request.path_info.substr(1).split("/"); -var poster=parameters[0]; -var year=parseInt(parameters[1],10); -var month=parseInt(parameters[2],10); -var day=parseInt(parameters[3],10); -var msgid=parseInt(parameters[4],10); -var subject=parameters[5]; -if(poster.indexOf("/")>=0) { - poster=poster.substr(0,poster.indexOf("/")); -} +var msg_code=parameters[0]; +var poster=parameters[1]; +var year=parseInt(parameters[2],10); +var month=parseInt(parameters[3],10); +var day=parseInt(parameters[4],10); +var msgid=parseInt(parameters[5],10); +var subject=parameters[6]; //var pnum=system.matchuser(poster); //if(pnum==0) { @@ -41,7 +39,7 @@ if(!isNaN(msgid)) { if(subject==undefined || subject=="") { var hdr=msgbase.get_msg_header(parseInt(msgid)); http_reply.status="301 Moved Permanently"; - http_reply.header["Location"]="http://"+http_request.host+http_request.virtual_path+poster+"/"+format("%04d",year)+"/"+format("%02d",month)+"/"+format("%02d",day)+"/"+msgid+"/"+clean_subject(hdr.subject); + http_reply.header["Location"]="http://"+http_request.host+http_request.virtual_path+msg_code+"/"+hdr.from+"/"+format("%04d",year)+"/"+format("%02d",month)+"/"+format("%02d",day)+"/"+msgid+"/"+clean_subject(hdr.subject); exit(0); } } diff --git a/web/root/blogs/blog_item.xjs b/web/root/blogs/blog_item.xjs index d15cca6c2c1ad08dc08a66bc245a7d3b8222f256..5ac6cb91f6a044a66193596c6715901c3ccdb97f 100644 --- a/web/root/blogs/blog_item.xjs +++ b/web/root/blogs/blog_item.xjs @@ -1,10 +1,28 @@ <?xjs -load("/synchronet/src/web/root/blogs/blog_config.js"); +load(cwd+"/blog_config.js"); ?> <html> <head> <title>The Blogifier!</title> +<script> +<!-- +function toggle_display(itemID, buttonID) +{ + var item = document.getElementById(itemID); + var button = document.getElementById(buttonID); + + if (item.style.display != "none") { + item.style.display = "none"; + button.src="<?xjs write(http_request.virtual_path)?>plus.gif"; + } + else { + item.style.display = "block"; + button.src="<?xjs write(http_request.virtual_path)?>minus.gif"; + } +} +//--> +</script> </head> <body> @@ -96,12 +114,13 @@ while(1) { body=body.split(" ").join("<br>"); ?> -<div style="padding-left: <?xjs write(thread_depth*10) ?>px"> -<b><?xjs write(hdr.subject); ?></b> (<?xjs write(date); ?>)<br> -By: <?xjs write(hdr.from); ?><br> -<p><?xjs write(body); ?></p> +<div style="padding-left: <?xjs write(thread_depth*indent_pixels) ?>px"> +<a onClick="toggle_display('msg-<?xjs write(msgid)?>','button-<?xjs write(msgid) ?>');"><img src="<?xjs write(http_request.virtual_path) ?>plus.gif" id="button-<?xjs write(msgid); ?>"></a> <b><?xjs write(hdr.subject); ?></b> (<?xjs write(date); ?>)<br> +By: <i><?xjs write(hdr.from); ?></i><br> +<div id="msg-<?xjs write(msgid) ?>" style="display: none"><?xjs write(body); ?> <hr> </div> +</div> <?xjs } diff --git a/web/root/blogs/index.xjs b/web/root/blogs/index.xjs index a8dd93f3e82db2878deae07311153c458b348209..5c02f59b67417a0073d3c70b59420d49427328c5 100644 --- a/web/root/blogs/index.xjs +++ b/web/root/blogs/index.xjs @@ -1,5 +1,6 @@ <?xjs -load("/synchronet/src/web/root/blogs/blog_config.js"); +load("sbbsdefs.js"); +load(cwd+"/blog_config.js"); if(!isNaN(msgid)) { xjs_load("blog_item.xjs"); exit(0); @@ -13,14 +14,20 @@ if(!isNaN(msgid)) { <body> <p> - Welcome to the <?xjs write(msgbase.cfg.name); ?> Blogifier for <?xjs write(poster); ?> + Welcome to the <?xjs write(msgbase.cfg.name); ?> Blogifier <?xjs if(poster != '') write("for "+poster); ?> </p> <?xjs for(i=msgbase.last_msg; i>=msgbase.first_msg; i--) { var hdr=msgbase.get_msg_header(i); - if(hdr.from.toUpperCase() != poster.toUpperCase()) + if(hdr==null) continue; + if(hdr.attr & (MSG_PRIVATE|MSG_DELETE)) + continue; + if(poster!=undefined && poster!='') { + if(hdr.from.toUpperCase() != poster.toUpperCase()) + continue; + } // if(hdr.from_ext != pnum) // continue; if(hdr.thread_back) @@ -55,11 +62,11 @@ for(i=msgbase.last_msg; i>=msgbase.first_msg; i--) { exerpt=exerpt.split(" ").join("<br>"); ?> -<b><?xjs write(hdr.subject); ?></b> (<?xjs write(date); ?>)<br> +<b><?xjs write(hdr.subject); ?></b> (<?xjs write(date); ?>) - <i><?xjs write(hdr.from) ?></i><br> <p><?xjs write(exerpt); if(read_more) write("<b>...</b>"); ?></p> <p><a href="<?xjs -write("http://"+http_request.host+http_request.virtual_path+poster+"/"+format("%04d",this_year)+"/"+format("%02d",this_month)+"/"+format("%02d",this_day)+"/"+i+"/"+clean_subject(hdr.subject)); +write("http://"+http_request.host+http_request.virtual_path+msg_code+"/"+hdr.from+"/"+format("%04d",this_year)+"/"+format("%02d",this_month)+"/"+format("%02d",this_day)+"/"+i+"/"+clean_subject(hdr.subject)); ?>">Comments...</a></p> <?xjs diff --git a/web/root/blogs/minus.gif b/web/root/blogs/minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..7b9d3341576ffbec1271f054797d05f07151d8e0 Binary files /dev/null and b/web/root/blogs/minus.gif differ diff --git a/web/root/blogs/plus.gif b/web/root/blogs/plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..c5af2ba220c31c7fb42eaad06d22c50d54b154e4 Binary files /dev/null and b/web/root/blogs/plus.gif differ