From 9617ae17ce798e903502868cd071d0ca693e52f4 Mon Sep 17 00:00:00 2001
From: James Cook <james@lindenlab.com>
Date: Thu, 24 Jan 2008 23:26:05 +0000
Subject: svn merge -r 78173:78397 search-milestone2-1 for classified
 click-through logging for Streambase so data warehousing can figure out
 ROI/purchase history immediately after a teleport from an ad.  DEV-9204

---
 indra/llcommon/lllog.cpp            |  3 ++-
 indra/newview/llpanelclassified.cpp | 43 ++++++++++++++-----------------------
 indra/newview/llpanelclassified.h   |  4 ++--
 3 files changed, 20 insertions(+), 30 deletions(-)

diff --git a/indra/llcommon/lllog.cpp b/indra/llcommon/lllog.cpp
index b665a2e080..178f02e215 100644
--- a/indra/llcommon/lllog.cpp
+++ b/indra/llcommon/lllog.cpp
@@ -69,7 +69,8 @@ void LLLogImpl::log(const std::string message, LLSD& info)
 			}
 		}
 	}
-	llinfos << "LLLOGMESSAGE (" << (sequence++) << ") " << message << " " << LLSDNotationStreamer(info) << llendl;
+	llinfos << "LLLOGMESSAGE (" << (sequence++) << ") " << message 
+		<< " " << LLSDNotationStreamer(info) << llendl;
 }
 
 //@brief Function to check if specified legacy log message should be sent.
diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp
index bc74562d6d..8332cdc166 100644
--- a/indra/newview/llpanelclassified.cpp
+++ b/indra/newview/llpanelclassified.cpp
@@ -104,6 +104,9 @@ public:
 static LLDispatchClassifiedClickThrough sClassifiedClickThrough;
 
 
+/* Re-expose this if we need to have classified ad HTML detail
+   pages.  JC
+
 // We need to count classified teleport clicks from the search HTML detail pages,
 // so we need have a teleport that also sends a click count message.
 class LLClassifiedTeleportHandler : public LLCommandHandler
@@ -139,7 +142,7 @@ public:
 };
 // Creating the object registers with the dispatcher.
 LLClassifiedTeleportHandler gClassifiedTeleportHandler;
-
+*/
 
 LLPanelClassified::LLPanelClassified(BOOL in_finder, bool from_search)
 :	LLPanel("Classified Panel"),
@@ -881,7 +884,7 @@ void LLPanelClassified::onClickTeleport(void* data)
         gAgent.teleportViaLocation(self->mPosGlobal);
         gFloaterWorldMap->trackLocation(self->mPosGlobal);
 
-		sendClassifiedClickMessage(self->mClassifiedID, "teleport", self->mFromSearch);
+		self->sendClassifiedClickMessage("teleport");
     }
 }
 
@@ -893,7 +896,7 @@ void LLPanelClassified::onClickMap(void* data)
 	gFloaterWorldMap->trackLocation(self->mPosGlobal);
 	LLFloaterWorldMap::show(NULL, TRUE);
 
-	sendClassifiedClickMessage(self->mClassifiedID, "map", self->mFromSearch);
+	self->sendClassifiedClickMessage("map");
 }
 
 // static
@@ -901,7 +904,7 @@ void LLPanelClassified::onClickProfile(void* data)
 {
 	LLPanelClassified* self = (LLPanelClassified*)data;
 	LLFloaterAvatarInfo::showFromDirectory(self->mCreatorID);
-	sendClassifiedClickMessage(self->mClassifiedID, "profile", self->mFromSearch);
+	self->sendClassifiedClickMessage("profile");
 }
 
 // static
@@ -975,35 +978,21 @@ void LLPanelClassified::onFocusReceived(LLFocusableElement* ctrl, void* data)
 }
 
 
-// static
-void LLPanelClassified::sendClassifiedClickMessage(const LLUUID& classified_id,
-												   const char* type,
-												   bool from_search)
+void LLPanelClassified::sendClassifiedClickMessage(const char* type)
 {
 	// You're allowed to click on your own ads to reassure yourself
 	// that the system is working.
-	std::vector<std::string> strings;
-	strings.push_back(classified_id.asString());
-	strings.push_back(type);
-	LLUUID no_invoice;
-
-	// New classified click-through handling
 	LLSD body;
 	body["type"] = type;
-	body["from_search"] = from_search;
-	body["classified_id"] = classified_id;
-	std::string url = gAgent.getRegion()->getCapability("SearchStatTracking");
+	body["from_search"] = mFromSearch;
+	body["classified_id"] = mClassifiedID;
+	body["parcel_id"] = mParcelID;
+	body["dest_pos_global"] = mPosGlobal.getValue();
+	body["region_name"] = mSimName;
 
-	// If the capability exists send to the new database, otherwise send to the old one.
-	if (!url.empty())
-	{
-		llinfos << "LLPanelClassified::sendClassifiedClickMessage via capability" << llendl;
-		LLHTTPClient::post(url, body, new LLHTTPClient::Responder());
-	}
-	else
-	{
-		send_generic_message("classifiedclick", strings, no_invoice);
-	}
+	std::string url = gAgent.getRegion()->getCapability("SearchStatTracking");
+	llinfos << "LLPanelClassified::sendClassifiedClickMessage via capability" << llendl;
+	LLHTTPClient::post(url, body, new LLHTTPClient::Responder());
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h
index 89939f243f..cc82d33d33 100644
--- a/indra/newview/llpanelclassified.h
+++ b/indra/newview/llpanelclassified.h
@@ -101,7 +101,7 @@ public:
 
 	static void callbackGotPriceForListing(S32 option, LLString text, void* data);
 	static void callbackConfirmPublish(S32 option, void* data);
-	static void sendClassifiedClickMessage(const LLUUID& classified_id, const char* type, bool from_search);
+	void sendClassifiedClickMessage(const char* type);
 
 protected:
 	static void saveCallback(S32 option, void* data);
@@ -119,7 +119,7 @@ protected:
 
 protected:
 	BOOL mInFinder;
-	bool mFromSearch;
+	bool mFromSearch;		// from web-based "All" search sidebar
 	BOOL mDirty;
 	bool mForceClose;
 	bool mLocationChanged;
-- 
cgit v1.2.3