Exemple #1
0
$mail_fullpath = bbs_setmailfile($currentuser["userid"], $mail_path);
$mail_num = bbs_getmailnum2($mail_fullpath);
if ($mail_num < 0 || $mail_num > 30000) {
    html_error_quit("Too many mails!");
}
$num = 19;
if ($start > $mail_num - 19) {
    $start = $mail_num - 19;
}
if ($start < 0) {
    $start = 0;
    if ($num > $mail_num) {
        $num = $mail_num;
    }
}
$maildata = bbs_getmails($mail_fullpath, $start, $num);
if ($maildata == FALSE) {
    html_error_quit("读取邮件数据失败!");
}
//system mailboxs
$mail_box = array(".DIR", ".SENT", ".DELETED");
$mail_boxtitle = array("收件箱", "发件箱", "垃圾箱");
//$mail_boxnums = array(bbs_getmailnum2(bbs_setmailfile($currentuser["userid"],".DIR")),bbs_getmailnum2(bbs_setmailfile($currentuser["userid"],".SENT")),bbs_getmailnum2(bbs_setmailfile($currentuser["userid"],".DELETED")));
//custom mailboxs
$mail_cusbox = bbs_loadmaillist($currentuser["userid"]);
//$totle_mails = $mail_boxnums[0]+$mail_boxnums[1]+$mail_boxnums[2];
$i = 2;
if ($mail_cusbox != -1) {
    foreach ($mail_cusbox as $mailbox) {
        $i++;
        $mail_box[$i] = $mailbox["pathname"];
Exemple #2
0
function atomic_mail()
{
    global $currentuser;
    atomic_mail_header();
    $mail_fullpath = bbs_setmailfile($currentuser["userid"], ".DIR");
    $mail_num = bbs_getmailnum2($mail_fullpath);
    if ($mail_num <= 0 || $mail_num > 30000) {
        atomic_error("读取邮件数据失败!");
    }
    $start = isset($_GET["start"]) ? @intval($_GET["start"]) : 999999;
    $num = ARTCNT;
    if ($start > $mail_num - ARTCNT + 1) {
        $start = $mail_num - ARTCNT + 1;
    }
    if ($start <= 0) {
        $start = 1;
        if ($num > $mail_num) {
            $num = $mail_num;
        }
    }
    $maildata = bbs_getmails($mail_fullpath, $start - 1, $num);
    if ($maildata == FALSE) {
        atomic_error("读取邮件数据失败!");
    }
    $html = '<form action="?" method="get"><input type="hidden" name="act" value="mail"/>';
    $html .= '<a href="?act=mailpost">写信</a> ';
    if ($start > 1) {
        $i = $start - ARTCNT;
        if ($i < 1) {
            $i = 1;
        }
        $html .= '<a href="?act=mail&start=1">第一页</a> ';
        $html .= '<a href="?act=mail&start=' . $i . '">上一页</a> ';
    } else {
        $html .= '第一页 上一页 ';
    }
    if ($start <= $mail_num - ARTCNT) {
        $i = $start + ARTCNT;
        if ($i > $mail_num) {
            $i = $mail_num;
        }
        $html .= '<a href="?act=mail&start=' . $i . '">下一页</a> ';
        $html .= '<a href="?act=mail">最后一页</a> ';
    } else {
        $html .= '下一页 最后一页 ';
    }
    $html .= '<input type="submit" value="跳转到"/> 第 <input type="text" name="start" size="3" /> 篇</form>';
    $html .= '<pre> 编号    发信者       日  期  标  题<br/>';
    for ($i = 0; $i < count($maildata); $i++) {
        $article = $maildata[$i];
        $title = $article["TITLE"];
        if (strncmp($title, "Re: ", 4) != 0) {
            $title = "★ " . $title;
        }
        $html .= sprintf("%5d ", $start + $i);
        $html .= $maildata[$i]["FLAGS"];
        $html .= sprintf(" %-12.12s ", $article["OWNER"]);
        $html .= strftime("%b %e ", $article["POSTTIME"]);
        $html .= $maildata[$i]["ATTACHPOS"] > 0 ? "@" : " ";
        $html .= "<a href='?act=mailread&num=" . ($start + $i) . "'>" . htmlspecialchars($title) . " </a> (" . sizestring($maildata[$i]['EFFSIZE']) . ")<br/>";
    }
    $html .= "</pre>";
    echo $html;
    atomic_footer();
}
Exemple #3
0
<?php

require "www2-funcs.php";
login_init();
page_header($currentuser["userid"] . " 的信箱");
assert_login();
$mail_fullpath = bbs_setmailfile($currentuser["userid"], ".DIR");
$mail_num = bbs_getmailnum2($mail_fullpath);
if ($mail_num < 0 || $mail_num > 30000) {
    html_error_quit("Too many mails!");
}
$maildata = bbs_getmails($mail_fullpath, 0, $mail_num);
if ($maildata == FALSE) {
    html_error_quit("读取邮件数据失败!");
}
mailbox_header("新信件列表");
?>
<table class="main wide adj">
<caption>新信件列表</caption>
<col class="center"/><col class="center"/><col class="center"/><col class="center"/><col/>
<tbody><tr><th>序号</th><th>状态</th><th>发信人</th><th>日期</th><th>信件标题</th>
<?php 
$newtotal = 0;
$start = 0;
for ($i = 0; $i < $mail_num; $i++) {
    if ($maildata[$i]["FLAGS"][0] == 'N') {
        $newtotal++;
        ?>
<tr><td><?php 
        echo $start + $i + 1;
        ?>
Exemple #4
0
 public function getRecord($start, $num)
 {
     $start = $this->getMailNum() - $start + 1 - $num;
     $arr = bbs_getmails($this->getFullPath(), $start, $num);
     if (!$arr) {
         throw new MailDataNullException();
     } else {
         if ($arr == -1) {
             return array();
         }
     }
     foreach ($arr as $k => &$v) {
         $v = new Mail($v, $this, $start + $k);
     }
     return array_reverse($arr);
 }