Tikiwiki 15.3版用户设置论坛帖子

时间:2017-03-29 17:44:23

标签: tiki-wiki

我正在使用tiki版本15.3 我设置了我的偏好,如果有一个新的论坛帖子,我是一名编辑,我会在"我的手表"中收到一封电子邮件通知。但是,我还没有收到任何电子邮件。它适用于博客和新用户注册。所以电子邮件设置没问题。当我调试代码时,我在代码中发现了一些问题: 在File:/lib/notification/notificationemaillib.php中 行:112

$nots_raw = $tikilib->get_event_watches($event, $event == 'forum_post_topic'? $forum_info['forumId']: $threadId, $forum_info);

$ threadId应该是$ parentId吗?由于Tiki_user_Watch表存储了Thread Parent Id而不是新创建的threadId。 其次,

第122行:

foreach ( $nots_raw as $n ) {
        if ($n['user'] != $author
                && !in_array($n['user'], $users)) {
            // make sure user receive only one notification even if he is monitoring both the topic and thread
            $n['language'] = $tikilib->get_user_preference($n['user'], "language", $defaultLanguage);
            $nots[] = $n;
            $users[] = $n['user'];
        }

此if条款没有其他内容。我知道这个条件是当用户监控线程和主题时只发送一封电子邮件。但是,我只监控其中的一个,我认为应该有一个"

else{ $nots[] = $n;}

这样,$ nots会在代码的后半部分发送电子邮件。

if (count($nots)) {
    include_once('lib/webmail/tikimaillib.php');
    $smarty->assign('mail_forum', $forum_info["name"]);...

请告知我是不是错了。

1 个答案:

答案 0 :(得分:0)

你是对的。我相信我已经用this commit修复了它,它将在15版的下一个版本中(也承诺版本16,17和trunk)。

正如您所指出的那样,需要使用父ID而不是线程ID(感谢您 - 使大部分调试工作变得更加容易!)。正确识别现有手表也存在问题。我不认为if语句需要其他语句,但请告诉我这是否不适合你。