Gossamer Forum
Home : Products : DBMan : Customization :

How to link?

Quote Reply
How to link?
Hi,

I have a problem to add a instant message to my dbman...

Link to inbox was ok..no problem.
But, I don't know how to link to the read message, etc

This is the code in my html.pl for inbox
and read the message


sub html_im_inbox {
# --------------------------------------------------------
# im inbox

$page_title = "IM - Inbox";
&html_page_top;

# < -- Start page text -- >

print qq|
<table border="0" width="328" cellspacing="0" >
<tr>
<td width="100%">
<table border="0" width="100%" cellspacing="1" bgcolor="#000000">
<tr>
<td width="50%" bgcolor="#CCCCCC"><b>Subject</b></td>
<td align="center" width="10%" bgcolor="#CCCCCC"><b>Received</b></td>
<td align="center" width="30%" bgcolor="#CCCCCC"><b>Sender</b></td>
<td align="center" width="10%" bgcolor="#CCCCCC"><b>Read</b></td>
</tr>
|;

open(MSGFILE, "$im_dir/$db_userid.msg") or dienice('Cannot open message file, please alert script owner.');
@msgdata = <MSGFILE>;
close(MSGFILE);
my $num = "0";
$QUERY{start} = "0" if !$QUERY{start};
$QUERY{end} = $QUERY{start} + 15;
foreach $msg (@msgdata[$QUERY{start}..$QUERY{end}]) {
if ($msg ne "") {
chomp($msg);
$messages{$num} = $msg;
$num++;
}
}

if ($QUERY{sort} eq "2") { $sort = "Oldest to Newest"; }
# elsif ($QUERY{sort} eq "3") { $sort = ""; }
else { $sort = "Newest to Oldest"; }
foreach (sort messagesort keys %messages) {
($title, $msg, $received, $sender, $read) = split(/``/,$messages{$_});
$readfont = "regfont";
$readfont = "notreadfont" if $read eq "No";

if (length($title) >15) {
$title = substr($title,0,15);
$title .= "...";
}

print qq|
<tr>
<td width="50%" bgcolor="#FFFFFF"><a href="$db_script_url?db=item&uid=$db_uid&im_read=1&message=$_">$title</a></td>
<td width="10%" align="center" bgcolor="#FFFFFF">$received</td>
<td width="30%" align="center" bgcolor="#FFFFFF">$sender</td>
<td width="10%" align="center" bgcolor="#FFFFFF">$read</td>
</tr>
|;

}


if (@msgdata[15] ne "") {
my ($link1, $link2, $min15, $add15);
$min15 = $QUERY{start} - 15;
$add15 = $QUERY{start} + 15;
$link1 = "<a href=\"$db_script_url?db=item&uid=$db_uid&im_inbox=1&start=$min15\">< Prev</a>" if ($QUERY{start} ne "0");
$link2 = "<a href=\"$db_script_url?db=item&uid=$db_uid&im_inbox=1&start=$add15\">Next ></a>" if (@msgdata[$QUERY{end} + 1] ne "");
print qq|
<tr>
<td width="50%" align="left" colspan="2">$link1</td>
<td width="50%" align="right" colspan="2">$link2</td>
</tr>
|;
}

print qq| </table>
<i>&nbsp;Filters: None - Sort By: $sort</i>
</td>
</tr>
</table>
|;

sub messagesort {
if ($sort eq "Oldest to Newest") {
if ($a < $b) {
return 1;
} elsif ($a > $b) {
return -1;
} else {
return 0;
}
} elsif ($sort eq "Newest to Oldest") {
if ($a > $b) {
return 1;
} elsif ($a < $b) {
return -1;
} else {
return 0;
}
}
}


# < -- End page text -->

&html_footer;
&html_page_bottom;
}

sub html_im_read {
# --------------------------------------------------------
# im read message

$page_title = "IM - Read Message";
&html_page_top;

# < -- Start page text -- >

open(MSGFILE, "$im_dir/$db_userid.msg") or dienice("Cannot open message file for reading, please alert script owner.");
@msgdata = <MSGFILE>;
close(MSGFILE);
($title, $message, $received, $sender, $read) = split(/``/,@msgdata[$QUERY{message}]);
if ($read ne "Yes") {
@msgdata[$QUERY{message}] = "$title``$message``$received``$sender``Yes\n";
open(MSGFILE, ">$im_dir/$db_userid.msg") or dienice("Cannot open message file for writing, please alert script owner.");
local $" = "";
print MSGFILE @msgdata;
close(MSGFILE);
foreach (keys %smilies) {
$message =~ s/\Q$_\E/<img src="http:\/\/www\.i-m-d\.net\/scripts\/msg\/smilies\/$smilies{$_}\.gif">/g;
}
}
print qq|
<table border="0" width="328" cellspacing="0">
<tr>
<td width="100%">
<table border="0" width="100%" cellspacing="1">
<tr>
<td align="center" width="100%">Read Message [$title)</td>
</tr>
<tr>
<td class="greybg" width="100%">From: <a href="$db_script_url?db=item&uid=$db_uid&im_send=1&to=$sender">$sender</a> - <a href="$db_script_url?db=item&uid=$db_uid&im_addbook=1&func=add&entry=$sender">Add $sender to Address Book</a><br>
</a>Received at: $received<br>
Subject: <b>$title</b></td>
</tr>
<tr>
<td width="100%">$message</td>
</tr>
<!--form method="POST" action="$db_script_url?db=item&uid=$db_uid&im_delete=1&message=$QUERY{message}"-->
</table>
<input onclick="javascript:location = '$db_script_url?db=item&uid=$db_uid&im_delete=1&message=$QUERY{message}';" type="submit" value="Delete">
<input onclick="javascript:location = '$db_script_url?db=item&uid=$db_uid&im_send=1&forward=$QUERY{message}&title=Fwd: $title';" type="submit" value="Forward">
<input onclick="javascript:location = '$db_script_url?db=item&uid=$db_uid&im_send=1&to=$sender&title=Re: $title';" type="submit" value="Reply">

</td>
</form>
</tr>
</table>
|;

# < -- End page text -->

&html_footer;
&html_page_bottom;
}