Пример #1
0
    if (mysql_num_rows($rsNotified) == 0) {
        // Benachrichtigung speichern
        sql("INSERT IGNORE INTO `watches_notified` (`user_id`, `object_id`, `object_type`, `date_created`) VALUES ('&1', '&2', 1, NOW())", $rNewLog['user_id'], $rNewLog['log_id']);
        process_owner_log($rNewLog['user_id'], $rNewLog['log_id']);
    }
    mysql_free_result($rsNotified);
    sql("UPDATE cache_logs SET owner_notified=1 WHERE id='&1'", $rNewLog['log_id']);
}
mysql_free_result($rsNewLogs);
/* end owner notifies */
/* begin cache_watches */
$rscw = sql("SELECT `watches_logqueue`.`log_id`, `watches_logqueue`.`user_id`, `cache_logs`.`cache_id` \n                 FROM `watches_logqueue` \n           INNER JOIN `cache_logs` ON `watches_logqueue`.`log_id`=`cache_logs`.`id`");
while ($rcw = mysql_fetch_assoc($rscw)) {
    // Benachrichtigung speichern
    sql("INSERT IGNORE INTO `watches_notified` (`user_id`, `object_id`, `object_type`, `date_created`) VALUES ('&1', '&2', 1, NOW())", $rcw['user_id'], $rcw['log_id']);
    process_log_watch($rcw['user_id'], $rcw['log_id']);
    sql("DELETE FROM `watches_logqueue` WHERE `log_id`='&1' AND `user_id`='&2'", $rcw['log_id'], $rcw['user_id']);
}
mysql_free_result($rscw);
/* end cache_watches */
/* begin send out everything that has to be sent */
$email_headers = 'From: "' . $mailfrom . '" <' . $mailfrom . '>';
$rsUsers = sql('SELECT `user`.`user_id`, `user`.`username`, `user`.`email`, `user`.`watchmail_mode`, `user`.`watchmail_hour`, `user`.`watchmail_day`, `user`.`watchmail_nextmail` FROM `user` INNER JOIN `watches_waiting` ON `user`.`user_id`=`watches_waiting`.`user_id` WHERE `user`.`watchmail_nextmail`<NOW()');
for ($i = 0; $i < mysql_num_rows($rsUsers); $i++) {
    $rUser = sql_fetch_array($rsUsers);
    if ($rUser['watchmail_nextmail'] != '0000-00-00 00:00:00') {
        $rsWatches = sql("SELECT COUNT(*) count FROM watches_waiting WHERE user_id='&1'", $rUser['user_id']);
        if (mysql_num_rows($rsWatches) > 0) {
            $r = sql_fetch_array($rsWatches);
            if ($r['count'] > 0) {
                // ok, eine mail ist fäig
Пример #2
0
        // Benachrichtigung speichern
        sql("INSERT IGNORE INTO `watches_notified` (`user_id`, `object_id`, `object_type`, `date_processed`) VALUES ('&1', '&2', 1, NOW())", $rNewLog_user_id, $rNewLog_log_id);
        process_owner_log($rNewLog_user_id, $rNewLog_log_id);
    }
    mysql_free_result($rsNotified);
    // Notify watchers
    $rscw = sql("SELECT user_id FROM cache_watches WHERE cache_id = &1", $rNewLog_cache_id);
    for ($j = 0; $j < mysql_num_rows($rscw); $j++) {
        $rcw = sql_fetch_array($rscw);
        $rcw_user_id = $rcw['user_id'];
        // kucken, ob fuer dieses Log schon benachrichtigt wurde
        $rsNotified = sql("SELECT `id` FROM watches_notified WHERE user_id='&1' AND object_id='&2' AND object_type=1", $rcw_user_id, $rNewLog_log_id);
        if (mysql_num_rows($rsNotified) == 0) {
            // Benachrichtigung speichern
            sql("INSERT IGNORE INTO `watches_notified` (`user_id`, `object_id`, `object_type`, `date_processed`) VALUES ('&1', '&2', 1, NOW())", $rcw_user_id, $rNewLog_log_id);
            process_log_watch($rcw_user_id, $rNewLog_log_id);
        }
        mysql_free_result($rsNotified);
    }
    mysql_free_result($rscw);
    sql("UPDATE cache_logs SET owner_notified=1 WHERE id='&1'", $rNewLog_log_id);
}
mysql_free_result($rsNewLogs);
/* end owner notifies and cache watches */
fprintf($diag_log_file, "after-owner-notifies-cache-watches;%s;%lf\n", date("Y-m-d H:i:s"), microtime(true) - $diag_start_time);
$diag_start_time = microtime(true);
/* begin send out everything that has to be sent */
/* First phase - send messages to users who have requested immediate notification */
$rsWatchesUsers = sql('
        SELECT watches_waiting.id AS id, watches_waiting.watchtext AS watchtext, watches_waiting.watchtype AS watchtype, `user`.user_id AS user_id, `user`.username AS username, `user`.email AS email
        FROM `user`, watches_waiting