diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp index 49614348d03ea44dca4dbe383139de4aaeaed2b4..03c4da93c4cde6e78d5faff3fe1ffd5ccbc5c9e7 100644 --- a/indra/newview/llpanelclassified.cpp +++ b/indra/newview/llpanelclassified.cpp @@ -1548,17 +1548,25 @@ void LLPanelClassifiedInfo::stretchSnapshot() mSnapshotStreched = true; } -void LLPanelClassifiedInfo::sendClickMessage(const std::string& type) +// static +// *TODO: move out of the panel +void LLPanelClassifiedInfo::sendClickMessage( + const std::string& type, + bool from_search, + const LLUUID& classified_id, + const LLUUID& parcel_id, + const LLVector3d& global_pos, + const std::string& sim_name) { // You're allowed to click on your own ads to reassure yourself // that the system is working. LLSD body; body["type"] = type; - body["from_search"] = fromSearch(); - body["classified_id"] = getClassifiedId(); - body["parcel_id"] = getParcelId(); - body["dest_pos_global"] = getPosGlobal().getValue(); - body["region_name"] = getSimName(); + body["from_search"] = from_search; + body["classified_id"] = classified_id; + body["parcel_id"] = parcel_id; + body["dest_pos_global"] = global_pos.getValue(); + body["region_name"] = sim_name; std::string url = gAgent.getRegion()->getCapability("SearchStatTracking"); llinfos << "Sending click msg via capability (url=" << url << ")" << llendl; @@ -1566,6 +1574,18 @@ void LLPanelClassifiedInfo::sendClickMessage(const std::string& type) LLHTTPClient::post(url, body, new LLClassifiedClickMessageResponder()); } + +void LLPanelClassifiedInfo::sendClickMessage(const std::string& type) +{ + sendClickMessage( + type, + fromSearch(), + getClassifiedId(), + getParcelId(), + getPosGlobal(), + getSimName()); +} + void LLPanelClassifiedInfo::onMapClick() { sendClickMessage("map"); diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h index 04dea00e5f4abdd25bfe45d696aec0c7cda3c664..31f585e9cc567e6727b302992cb065012b683298 100644 --- a/indra/newview/llpanelclassified.h +++ b/indra/newview/llpanelclassified.h @@ -266,6 +266,14 @@ class LLPanelClassifiedInfo : public LLPanel, public LLAvatarPropertiesObserver S32 profile, bool from_new_table); + static void sendClickMessage( + const std::string& type, + bool from_search, + const LLUUID& classified_id, + const LLUUID& parcel_id, + const LLVector3d& global_pos, + const std::string& sim_name); + void setExitCallback(const commit_callback_t& cb); void setEditClassifiedCallback(const commit_callback_t& cb); diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index 59642c6a67894d16d305aca76de343d005279890..f0860e70275dc7cfeaddc7d60d95385483243996 100644 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -578,7 +578,11 @@ void LLPanelPicks::onClickTeleport() if(pick_item) pos = pick_item->getPosGlobal(); else if(c_item) + { pos = c_item->getPosGlobal(); + LLPanelClassifiedInfo::sendClickMessage("teleport", false, + c_item->getClassifiedId(), LLUUID::null, pos, LLStringUtil::null); + } if (!pos.isExactlyZero()) { @@ -597,7 +601,11 @@ void LLPanelPicks::onClickMap() if (pick_item) pos = pick_item->getPosGlobal(); else if(c_item) + { + LLPanelClassifiedInfo::sendClickMessage("map", false, + c_item->getClassifiedId(), LLUUID::null, pos, LLStringUtil::null); pos = c_item->getPosGlobal(); + } LLFloaterWorldMap::getInstance()->trackLocation(pos); LLFloaterReg::showInstance("world_map", "center");