1

私は tiki バージョン 15.3 を使用しています。私が編集者であるという新しいフォーラム スレッドがある場合、「マイ ウォッチ」で電子メール通知を受信するように設定しました。しかし、私は電子メールを受け取っていません。ただし、ブログと新規ユーザー登録には機能します。したがって、メールの設定は問題ありません。コードをデバッグしていると、コードにいくつか問題があることがわかりました。 ファイル内: /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 テーブルには、新しく作成されたスレッド ID ではなく、スレッドの親 ID が格納されるためです。第二に、

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はありません。この条件は、ユーザーがスレッドとトピックの両方を監視しているときに、メールを 1 つだけ送信することであると理解しています。ただし、監視しているのはそのうちの 1 つだけです。あるべきだと思います」

else{ $nots[] = $n;}

このようにして、$nots はコードの後半部分で電子メールを送信するものを持ちます。

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

私が間違っている場合はアドバイスしてください。

4

1 に答える 1