149 lines
2.8 KiB
C++
149 lines
2.8 KiB
C++
#define Use_MsgBase
|
|
|
|
#include <string.h>
|
|
#include "proboard.hpp"
|
|
|
|
void
|
|
Message::forward()
|
|
{
|
|
int areanum = 0;
|
|
MsgArea ma;
|
|
char newto[ 36 ];
|
|
|
|
|
|
if ( msgArea->msgKind == MSG_LOCAL )
|
|
{
|
|
io << "\n\n"
|
|
<< S_FORWARD_IN_SAME_AREA;
|
|
}
|
|
|
|
|
|
if ( msgArea->msgKind != MSG_LOCAL ||
|
|
! io.ask( TRUE ) )
|
|
{
|
|
io << "\n\f\n";
|
|
|
|
linecounter( 0 );
|
|
|
|
set_msgarea( "* -N /L" );
|
|
|
|
io << '\n'
|
|
<< S_SELECT_MSG_AREA_TO_FORWARD_MESSAGE_IN;
|
|
|
|
io.read( areanum, 5 );
|
|
|
|
|
|
if ( areanum < 1 )
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
areanum = areaNum();
|
|
}
|
|
|
|
|
|
if ( ! ma.read( areanum ) )
|
|
{
|
|
io << "\n\n"
|
|
<< S_UNKNOWN_MESSAGE_AREA
|
|
<< "\n\n"
|
|
<< S_PRESS_ENTER_TO_CONTINUE;
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
for ( ; ; )
|
|
{
|
|
User tuser;
|
|
|
|
|
|
io << "\n\n"
|
|
<< S_FORWARD_MESSAGE_TO;
|
|
|
|
io.read( newto,
|
|
35,
|
|
READMODE_UPFIRST );
|
|
|
|
|
|
if ( ! newto[ 0 ] )
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
if ( ! strcmpl( newto, "Sysop" ) )
|
|
{
|
|
strcpy( newto, msgArea->sysop );
|
|
}
|
|
|
|
|
|
if ( ma.msgKind != MSG_LOCAL ||
|
|
tuser.search( newto ) )
|
|
{
|
|
break;
|
|
}
|
|
|
|
|
|
io << "\n\n"
|
|
<< S_USER_NOT_LOCATED
|
|
<< '\n';
|
|
}
|
|
|
|
|
|
io << "\n\n"
|
|
<< S_FORWARDING_MESSAGE;
|
|
|
|
|
|
File tmpf;
|
|
|
|
|
|
if ( ! tmpf.open( "MSGTMP", fmode_create ) )
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
tmpf << "----------------------------------------------------------------------\r\n";
|
|
|
|
tmpf << form( " ** Original message to : %s\r\n\r\n",
|
|
to );
|
|
|
|
tmpf << form( " ** Original post date/time : %d-%s-%02d %02d:%02d\r\n\r\n",
|
|
postDate[ 0 ],
|
|
months_short[ postDate[ 1 ] ],
|
|
postDate[ 2 ] % 100, // Y2K FIX: JDR
|
|
// postDate[ 2 ], // Y2K BUG! FIXED
|
|
postTime[ 0 ],
|
|
postTime[ 1 ] );
|
|
|
|
tmpf << form( " ** Forwarded by %s using ProBoard v" VERSION "\r\n",
|
|
user.name);
|
|
|
|
tmpf << "----------------------------------------------------------------------\r\n\r\n";
|
|
|
|
|
|
tmpf.close();
|
|
|
|
createMsgTextFile( "MSGTMP", TRUE );
|
|
|
|
|
|
if ( post_message( from,
|
|
newto,
|
|
subj,
|
|
areanum,
|
|
( attr & MSGATTR_PRIVATE )
|
|
? TRUE
|
|
: FALSE ) < 0 )
|
|
{
|
|
io << S_SAVING_MESSAGE_ERROR;
|
|
}
|
|
|
|
|
|
io << "\n\n"
|
|
<< S_PRESS_ENTER_TO_CONTINUE;
|
|
}
|
|
|