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
// 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