当前位置: 首页>>代码示例>>C++>>正文


C++ WUser::GetNumMailWaiting方法代码示例

本文整理汇总了C++中WUser::GetNumMailWaiting方法的典型用法代码示例。如果您正苦于以下问题:C++ WUser::GetNumMailWaiting方法的具体用法?C++ WUser::GetNumMailWaiting怎么用?C++ WUser::GetNumMailWaiting使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WUser的用法示例。


在下文中一共展示了WUser::GetNumMailWaiting方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: multimail

void multimail(int *pnUserNumber, int numu) {
    mailrec m, m1;
    char s[255], s2[81];
    WUser user;

    if (freek1(syscfg.msgsdir) < 10) {
        bout.nl();
        bout << "Sorry, not enough disk space left.\r\n\n";
        return;
    }
    bout.nl();

    int i = 0;
    if (getslrec(session()->GetEffectiveSl()).ability & ability_email_anony) {
        i = anony_enable_anony;
    }
    bout << "|#5Show all recipients in mail? ";
    bool show_all = yesno();
    int j = 0;
    string s1 = StringPrintf("\003""6CC: \003""1");

    m.msg.storage_type = EMAIL_STORAGE;
    strcpy(irt, "Multi-Mail");
    irt_name[0] = 0;
    File::Remove(QUOTES_TXT);
    std::string t;
    inmsg(&m.msg, &t, &i, true, "email", INMSG_FSED, "Multi-Mail", MSGED_FLAG_NONE);
    if (m.msg.stored_as == 0xffffffff) {
        return;
    }
    strcpy(m.title, t.c_str());

    bout <<  "Mail sent to:\r\n";
    sysoplog("Multi-Mail to:");

    lineadd(&m.msg, "\003""7----", "email");

    for (int cv = 0; cv < numu; cv++) {
        if (pnUserNumber[cv] < 0) {
            continue;
        }
        application()->users()->ReadUser(&user, pnUserNumber[cv]);
        if ((user.GetSl() == 255 && (user.GetNumMailWaiting() > (syscfg.maxwaiting * 5))) ||
                ((user.GetSl() != 255) && (user.GetNumMailWaiting() > syscfg.maxwaiting)) ||
                user.GetNumMailWaiting() > 200) {
            bout << user.GetUserNameAndNumber(pnUserNumber[cv]) << " mailbox full, not sent.";
            pnUserNumber[cv] = -1;
            continue;
        }
        if (user.IsUserDeleted()) {
            bout << "User deleted, not sent.\r\n";
            pnUserNumber[cv] = -1;
            continue;
        }
        strcpy(s, "  ");
        user.SetNumMailWaiting(user.GetNumMailWaiting() + 1);
        application()->users()->WriteUser(&user, pnUserNumber[cv]);
        if (pnUserNumber[cv] == 1) {
            ++fwaiting;
        }
        strcat(s, user.GetUserNameAndNumber(pnUserNumber[cv]));
        WStatus* pStatus = application()->GetStatusManager()->BeginTransaction();
        if (pnUserNumber[cv] == 1) {
            pStatus->IncrementNumFeedbackSentToday();
            session()->user()->SetNumFeedbackSentToday(session()->user()->GetNumFeedbackSentToday() + 1);
            session()->user()->SetNumFeedbackSent(session()->user()->GetNumFeedbackSent() + 1);
            ++fsenttoday;
        } else {
            pStatus->IncrementNumEmailSentToday();
            session()->user()->SetNumEmailSent(session()->user()->GetNumEmailSent() + 1);
            session()->user()->SetNumEmailSentToday(session()->user()->GetNumEmailSentToday() + 1);
        }
        application()->GetStatusManager()->CommitTransaction(pStatus);
        sysoplog(s);
        bout << s;
        bout.nl();
        if (show_all) {
            sprintf(s2, "%-22.22s  ", user.GetUserNameAndNumber(pnUserNumber[cv]));
            s1.assign(s2);
            j++;
            if (j >= 3) {
                lineadd(&m.msg, s1, "email");
                j = 0;
                s1 = "\003""1    ";
            }
        }
    }
    if (show_all) {
        if (j) {
            lineadd(&m.msg, s1, "email");
        }
    }
    s1 = StringPrintf("\003""2Mail Sent to %d Addresses!", numu);
    lineadd(&m.msg, "\003""7----", "email");
    lineadd(&m.msg, s1, "email");

    m.anony = static_cast< unsigned char >(i);
    m.fromsys = 0;
    m.fromuser = static_cast<unsigned short>(session()->usernum);
    m.tosys = 0;
//.........这里部分代码省略.........
开发者ID:wwivsoftwareservices,项目名称:wwiv,代码行数:101,代码来源:multmail.cpp

示例2: oneuser

int oneuser() {
    char s[81], *ss;
    int nUserNumber, nSystemNumber, i;
    WUser user;

    if (mml_s) {
        if (mml_started) {
            ss = strtok(nullptr, "\r\n");
        } else {
            ss = strtok(mml_s, "\r\n");
        }
        mml_started = 1;
        if (ss == nullptr) {
            free(mml_s);
            mml_s = nullptr;
            return -1;
        }
        strcpy(s, ss);
        for (i = 0; s[i] != 0; i++) {
            s[i] = upcase(s[i]);
        }
    } else {
        bout << "|#2>";
        input(s, 40);
    }
    nUserNumber = finduser1(s);
    if (nUserNumber == 65535) {
        return -1;
    }
    if (s[0] == 0) {
        return -1;
    }
    if (nUserNumber <= 0) {
        bout.nl();
        bout << "Unknown user.\r\n\n";
        return 0;
    }
    nSystemNumber = 0;
    if (ForwardMessage(&nUserNumber, &nSystemNumber)) {
        bout.nl();
        bout << "Forwarded.\r\n\n";
        if (nSystemNumber) {
            bout << "Forwarded to another system.\r\n";
            bout << "Can't send multi-mail to another system.\r\n\n";
            return 0;
        }
    }
    if (nUserNumber == 0) {
        bout.nl();
        bout << "Unknown user.\r\n\n";
        return 0;
    }
    application()->users()->ReadUser(&user, nUserNumber);
    if (((user.GetSl() == 255) && (user.GetNumMailWaiting() > (syscfg.maxwaiting * 5))) ||
            ((user.GetSl() != 255) && (user.GetNumMailWaiting() > syscfg.maxwaiting)) ||
            (user.GetNumMailWaiting() > 200)) {
        bout.nl();
        bout << "Mailbox full.\r\n\n";
        return 0;
    }
    if (user.IsUserDeleted()) {
        bout.nl();
        bout << "Deleted user.\r\n\n";
        return 0;
    }
    bout << "     -> " << user.GetUserNameAndNumber(nUserNumber) << wwiv::endl;
    return nUserNumber;
}
开发者ID:wwivsoftwareservices,项目名称:wwiv,代码行数:68,代码来源:multmail.cpp


注:本文中的WUser::GetNumMailWaiting方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。