public static function sendRemoveLogNotification($emailTemplateFile, GeoCacheLog $log, User $loggedUser) { $formattedMessage = new EmailFormatter($emailTemplateFile); $formattedMessage->setVariable("log_owner", $log->getUser()->getUserName()); $formattedMessage->setVariable("waypointId", $log->getGeoCache()->getWaypointId()); $formattedMessage->setVariable("serviceUrl", OcConfig::getAbsolute_server_URI()); $formattedMessage->setVariable("logRemover", $loggedUser->getUserName()); $formattedMessage->setVariable("logRemoverId", $loggedUser->getUserId()); $formattedMessage->setVariable("cache_name", $log->getGeoCache()->getCacheName()); $formattedMessage->setVariable("log_entry", $log->getText()); $formattedMessage->setVariable("removedLog_01", tr('removedLog_01')); $formattedMessage->setVariable("removedLog_02", tr('removedLog_02')); $formattedMessage->addFooterAndHeader($log->getUser()->getUserName()); $email = new Email(); $email->addToAddr($log->getUser()->getEmail()); $email->setReplyToAddr(OcConfig::getNoreplyEmailAddress()); $email->setFromAddr(OcConfig::getNoreplyEmailAddress()); $email->setSubject(tr('removed_log_title')); $email->setBody($formattedMessage->getEmailContent(), true); $email->send(); }
private function updateGeocacheAfterLogRemove(GeoCacheLog $log, OcDb $db) { $geoCache = $log->getGeoCache(); if ($log->getType() == GeoCacheLog::LOGTYPE_FOUNDIT || $log->getType() == GeoCacheLog::LOGTYPE_ATTENDED) { $geoCache->setFounds($geoCache->getFounds() - 1); } elseif ($log->getType() == GeoCacheLog::LOGTYPE_DIDNOTFIND || $log->getType() == 8) { $geoCache->setNotFounds($geoCache->getNotFounds() - 1); } elseif ($log->getType() == GeoCacheLog::LOGTYPE_COMMENT) { $geoCache->setNotesCount($geoCache->getNotesCount() - 1); } //Update last found $lastfoundQuery = "SELECT MAX(`cache_logs`.`date`) AS `date` FROM `cache_logs` WHERE ((cache_logs.`type`=1) AND (cache_logs.`cache_id`= :1 ))"; $s = $db->multiVariableQuery($lastfoundQuery, $geoCache->getCacheId()); $lastfoundRecord = $db->dbResultFetchOneRowOnly($s); if ($lastfoundRecord['date'] === NULL) { $lastFound = null; } else { $lastFound = $lastfoundRecord['date']; } $geoCache->setLastFound($lastFound)->updateGeocacheLogenteriesStats(); }