Example #1
0
 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();
 }