From 51eca346e871186c9c5d4a7ed69dfbff0df98266 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Wed, 8 Dec 2004 04:51:42 +0000 Subject: [PATCH] Add utility function to get an offset from a message number... Could we get an offset attribute added to the index or header objects? <hint> <hint> --- web/lib/msgslib.ssjs | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/web/lib/msgslib.ssjs b/web/lib/msgslib.ssjs index da9ae05656..089eecf090 100644 --- a/web/lib/msgslib.ssjs +++ b/web/lib/msgslib.ssjs @@ -76,20 +76,31 @@ function find_np_message(offset,next) { /* "Next" actually means the one before this one as msgs reverses everything */ var step=-1; - var hdr=null; var idx; + var last_offset; if(!next) step=1; - - for(last_offset=offset+step;(hdr=msgbase.get_msg_header(true,last_offset))!=null;last_offset+=step) { - if(hdr.attr&MSG_DELETE) +write("offset: "+offset+" step: "+step+"<BR>"); + for(last_offset=parseInt(offset)+step;last_offset>0 && (idx=msgbase.get_msg_index(true,last_offset))!=null;last_offset+=step) { +write("checking: "+last_offset+"<BR>"); + if(idx.attr&MSG_DELETE) continue; - if(sub!=mail) - return(last_offset); - if((idx=msgbase.get_msg_index(true,last_offset))==null || idx.to!=user.number) + if(sub!='mail') + return(idx.number); + if(idx.to!=user.number) + continue; + return(idx.number); + } + return(undefined); +} + +function get_msg_offset(number) +{ + for(last_offset=0; (hdr=msgbase.get_msg_header(true,last_offset)) != null;last_offset++) { + if((idx=msgbase.get_msg_index(true,last_offset))==null) continue; - return(hdr.number); + return(idx.number); } return(undefined); } -- GitLab