diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 7fcd0a9c1b..9467be4675 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -126,10 +126,7 @@ set(viewer_SOURCE_FILES chatbar_as_cmdline.cpp daeexport.cpp dialogstack.cpp - exoflickr.cpp - exoflickrauth.cpp exogroupmutelist.cpp - exopanelsnapshotflickr.cpp exopostprocess.cpp floatermedialists.cpp fsareasearch.cpp @@ -847,8 +844,6 @@ set(viewer_HEADER_FILES chatbar_as_cmdline.h daeexport.h dialogstack.h - exoflickr.h - exoflickrauth.h exogroupmutelist.h exopostprocess.h floatermedialists.h @@ -1539,16 +1534,6 @@ set(viewer_HEADER_FILES NACLfloaterexploresounds.h ) -# -# Generate the flickr keys header. -configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/exoflickrkeys.h.in - ${CMAKE_CURRENT_BINARY_DIR}/exoflickrkeys.h - @ONLY -) -list(APPEND viewer_HEADER_FILES ${CMAKE_CURRENT_BINARY_DIR}/exoflickrkeys.h) -# - # Generate the version information header file. configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/fsversionvalues.h.in diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index d6b395967c..85e993a302 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -7551,17 +7551,6 @@ Value 4 - LastSnapshotToFlickrResolution - - Comment - At what resolution should snapshots be taken for Flickr upload. 0=Current Window, 1=320x240, 2=640x480, 3=800x600, 4=1024x768, 5=1280x1024, 6=1600x1200, 7=Custom - Persist - 1 - Type - S32 - Value - 4 - SnapshotToDiskQuality Comment @@ -14335,17 +14324,6 @@ Change of this parameter will affect the layout of buttons in notification toast Value 0 - FlickrSnapshotFormat - - Comment - Save snapshots for Flickr in this format (0 = PNG, 1 = JPEG, 2 = BMP) - Persist - 1 - Type - S32 - Value - 0 - SnapshotQuality Comment @@ -20135,50 +20113,6 @@ Change of this parameter will affect the layout of buttons in notification toast Value Grey - ExodusFlickrLastTags - - Comment - Pre-filled tags for Flickr uploads - Persist - 1 - Type - String - Value - "Second Life" - - ExodusFlickrLastRating - - Comment - Last rating for Flickr upload. 1 = safe, 2 = moderate, 3 = restricted - Persist - 1 - Type - S32 - Value - 1 - - ExodusFlickrShowPosition - - Comment - Whether to tag a Flickr upload with the location at which it was taken. - Persist - 1 - Type - Boolean - Value - 1 - - ExodusFlickrIncludeSLURL - - Comment - If showing the position of an image, whether an SLurl should be appended to the description. - Persist - 1 - Type - Boolean - Value - 1 - FSReleaseCandidateChannelId Comment diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml index 4cfd651064..dbf406a2a3 100755 --- a/indra/newview/app_settings/settings_per_account.xml +++ b/indra/newview/app_settings/settings_per_account.xml @@ -776,63 +776,6 @@ - - ExodusFlickrToken - - Comment - Flickr OAuth Token - Persist - 1 - Type - String - Value - - - ExodusFlickrTokenSecret - - Comment - Flickr OAuth Token Secret - Persist - 1 - Type - String - Value - - - ExodusFlickrNSID - - Comment - Flickr User ID - Persist - 1 - Type - String - Value - - - ExodusFlickrUsername - - Comment - Flickr Username - Persist - 1 - Type - String - Value - - - ExodusFlickrFullName - - Comment - Flickr Username - Persist - 1 - Type - String - Value - - - FSStoredCameraPos Comment diff --git a/indra/newview/exoflickr.cpp b/indra/newview/exoflickr.cpp deleted file mode 100644 index 7147ddaab6..0000000000 --- a/indra/newview/exoflickr.cpp +++ /dev/null @@ -1,321 +0,0 @@ -/** - * @file exoflickr - * @brief Lightweight wrapper around the Flickr API for signing and such - * - * $LicenseInfo:firstyear=2012&license=viewerlgpl$ - * Copyright (C) 2012 Katharine Berry - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llbufferstream.h" -#include "lluri.h" -#include "llhttpclient.h" -#include "llxmltree.h" -#include "llsdserialize.h" -#include "llviewercontrol.h" -#include "llbase64.h" - -// third-party -#if LL_STANDALONE -#include "jsoncpp/reader.h" // JSON -#else -#include "reader.h" // JSON -#endif - -#include -#include - -#include "exoflickr.h" - -class exoFlickrResponse : public LLHTTPClient::Responder -{ -public: - exoFlickrResponse(exoFlickr::response_callback_t &callback); - /* virtual */ void completedRaw( - const LLChannelDescriptors& channels, - const LLIOPipe::buffer_ptr_t& buffer); -private: - exoFlickr::response_callback_t mCallback; -}; - -class exoFlickrUploadResponse : public LLHTTPClient::Responder -{ -public: - exoFlickrUploadResponse(exoFlickr::response_callback_t &callback); - /* virtual */ void completedRaw( - const LLChannelDescriptors& channels, - const LLIOPipe::buffer_ptr_t& buffer); -private: - exoFlickr::response_callback_t mCallback; -}; - -//static -void exoFlickr::request(const std::string& method, const LLSD& args, response_callback_t callback) -{ - LLSD params(args); - params["format"] = "json"; - params["method"] = method; - params["nojsoncallback"] = 1; - signRequest(params, "GET", "https://api.flickr.com/services/rest/"); - LLHTTPClient::get("https://api.flickr.com/services/rest/", params, new exoFlickrResponse(callback)); -} - -void exoFlickr::signRequest(LLSD& params, std::string method, std::string url) -{ - // Oauth junk - params["oauth_consumer_key"] = EXO_FLICKR_API_KEY; - std::string oauth_token = gSavedPerAccountSettings.getString("ExodusFlickrToken"); - if(oauth_token.length()) - { - params["oauth_token"] = oauth_token; - } - params["oauth_signature_method"] = "HMAC-SHA1"; - params["oauth_timestamp"] = (LLSD::Integer)time(NULL); - params["oauth_nonce"] = ll_rand(); - params["oauth_version"] = "1.0"; - params["oauth_signature"] = getSignatureForCall(params, url, method); // This must be the last one set. -} - -//static -void exoFlickr::uploadPhoto(const LLSD& args, LLImageFormatted *image, response_callback_t callback) -{ - LLSD params(args); - signRequest(params, "POST", "https://up.flickr.com/services/upload/"); - - // It would be nice if there was an easy way to do multipart form data. Oh well. - const std::string boundary = "------------abcdefgh012345"; - std::ostringstream post_stream; - post_stream << "--" << boundary; - // Add all the parameters from LLSD to the query. - for(LLSD::map_const_iterator itr = params.beginMap(); itr != params.endMap(); ++itr) - { - post_stream << "\r\nContent-Disposition: form-data; name=\"" << itr->first << "\""; - post_stream << "\r\n\r\n" << itr->second.asString(); - post_stream << "\r\n" << "--" << boundary; - } - // Headers for the photo - post_stream << "\r\nContent-Disposition: form-data; name=\"photo\"; filename=\"snapshot." << image->getExtension() << "\""; - post_stream << "\r\nContent-Type: "; - // Apparently LLImageFormatted doesn't know what mimetype it has. - if(image->getExtension() == "jpg") - { - post_stream << "image/jpeg"; - } - else if(image->getExtension() == "png") - { - post_stream << "image/png"; - } - else // This will (probably) only happen if someone decides to put the BMP entry back in the format selection floater. - { // I wonder if Flickr would do the right thing. - post_stream << "application/x-wtf"; - LL_WARNS("FlickrAPI") << "Uploading unknown image type." << LL_ENDL; - } - post_stream << "\r\n\r\n"; - - // Now we build the postdata array, including the photo in the middle of it. - std::string post_str = post_stream.str(); - size_t total_data_size = image->getDataSize() + post_str.length() + boundary.length() + 6; // + 6 = "\r\n" + "--" + "--" - char* post_data = new char[total_data_size + 1]; - memcpy(post_data, post_str.data(), post_str.length()); - char* address = post_data + post_str.length(); - memcpy(address, image->getData(), image->getDataSize()); - address += image->getDataSize(); - std::string post_tail = "\r\n--" + boundary + "--"; - memcpy(address, post_tail.data(), post_tail.length()); - address += post_tail.length(); - llassert(address <= post_data + total_data_size /* After all that, check we didn't overrun */); - - // We have a post body! Now we can go about building the actual request... - LLSD headers; - headers["Content-Type"] = "multipart/form-data; boundary=" + boundary; - // Patch from Exodus: - // The default timeout (one minute) isn't enough for a large picture. - // 10 minutes is arbitrary, but should be long enough. - LLHTTPClient::postRaw("https://up.flickr.com/services/upload/", (U8*)post_data, total_data_size, new exoFlickrUploadResponse(callback), headers, 600); - // - // The HTTP client takes ownership of our post_data array, - // and will delete it when it's done. -} - -//static -std::string exoFlickr::getSignatureForCall(const LLSD& parameters, std::string url, std::string method) -{ - std::vector keys; - for(LLSD::map_const_iterator itr = parameters.beginMap(); itr != parameters.endMap(); ++itr) - { - keys.push_back(itr->first); - } - std::sort(keys.begin(), keys.end()); - std::ostringstream q; - q << LLURI::escape(method); - q << "&" << LLURI::escape(url) << "&"; - for(std::vector::const_iterator itr = keys.begin(); itr != keys.end(); ++itr) - { - if(itr != keys.begin()) - { - q << "%26"; - } - q << LLURI::escape(*itr); - q << "%3D" << LLURI::escape(LLURI::escape(parameters[*itr])); - } - - unsigned char data[EVP_MAX_MD_SIZE]; - unsigned int length; - std::string key = std::string(EXO_FLICKR_API_SECRET) + "&" + gSavedPerAccountSettings.getString("ExodusFlickrTokenSecret"); - - std::string to_hash = q.str(); - HMAC(EVP_sha1(), (void*)key.c_str(), key.length(), (unsigned char*)to_hash.c_str(), to_hash.length(), data, &length); - std::string signature = LLBase64::encode((U8*)data, length); - return signature; -} - -exoFlickrUploadResponse::exoFlickrUploadResponse(exoFlickr::response_callback_t &callback) -: mCallback(callback) -{ -} - -void exoFlickrUploadResponse::completedRaw( - const LLChannelDescriptors& channels, - const LLIOPipe::buffer_ptr_t& buffer) -{ - LLBufferStream istr(channels, buffer.get()); - std::stringstream strstrm; - strstrm << istr.rdbuf(); - std::string result = std::string(strstrm.str()); - - LLSD output; - bool success; - - LLXmlTree tree; - if(!tree.parseString(result)) - { - LL_WARNS("FlickrAPI") << "Couldn't parse flickr response(" << getStatus() << "): " << result << LL_ENDL; - mCallback(false, LLSD()); - return; - } - LLXmlTreeNode* root = tree.getRoot(); - if(!root->hasName("rsp")) - { - LL_WARNS("FlickrAPI") << "Bad root node: " << root->getName() << LL_ENDL; - mCallback(false, LLSD()); - return; - } - std::string stat; - root->getAttributeString("stat", stat); - output["stat"] = stat; - if(stat == "ok") - { - success = true; - LLXmlTreeNode* photoid_node = root->getChildByName("photoid"); - if(photoid_node) - { - output["photoid"] = photoid_node->getContents(); - } - } - else - { - success = false; - LLXmlTreeNode* err_node = root->getChildByName("err"); - if(err_node) - { - S32 code; - std::string msg; - err_node->getAttributeS32("code", code); - err_node->getAttributeString("msg", msg); - output["code"] = code; - output["msg"] = msg; - } - } - mCallback(success, output); -} - -static void JsonToLLSD(const Json::Value &root, LLSD &output) -{ - if(root.isObject()) - { - Json::Value::Members keys = root.getMemberNames(); - for(Json::Value::Members::const_iterator itr = keys.begin(); itr != keys.end(); ++itr) - { - LLSD elem; - JsonToLLSD(root[*itr], elem); - output[*itr] = elem; - } - } - else if(root.isArray()) - { - for(Json::Value::const_iterator itr = root.begin(); itr != root.end(); ++itr) - { - LLSD elem; - JsonToLLSD(*itr, elem); - output.append(elem); - } - } - else - { - switch(root.type()) - { - case Json::intValue: - output = root.asInt(); - break; - case Json::realValue: - case Json::uintValue: - output = root.asDouble(); - break; - case Json::stringValue: - output = root.asString(); - break; - case Json::booleanValue: - output = root.asBool(); - break; - case Json::nullValue: - output = LLSD(); - break; - default: - break; - } - } -} - - -exoFlickrResponse::exoFlickrResponse(exoFlickr::response_callback_t &callback) : -mCallback(callback) -{ -} - -void exoFlickrResponse::completedRaw( - const LLChannelDescriptors& channels, - const LLIOPipe::buffer_ptr_t& buffer) -{ - LLBufferStream istr(channels, buffer.get()); - std::stringstream strstrm; - strstrm << istr.rdbuf(); - std::string result = strstrm.str(); - Json::Value root; - Json::Reader reader; - - bool success = reader.parse(result, root); - if(!success) - { - mCallback(false, LLSD()); - return; - } - else - { - LL_INFOS("FlickrAPI") << "Got response string: " << result << LL_ENDL; - LLSD response; - JsonToLLSD(root, response); - mCallback(isGoodStatus(), response); - } -} diff --git a/indra/newview/exoflickr.h b/indra/newview/exoflickr.h deleted file mode 100644 index e16db2d214..0000000000 --- a/indra/newview/exoflickr.h +++ /dev/null @@ -1,44 +0,0 @@ -/** - * @file exoflickr.h - * @brief Lightweight wrapper around the Flickr API for signing and such - * - * $LicenseInfo:firstyear=2012&license=viewerlgpl$ - * Copyright (C) 2012 Katharine Berry - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * $/LicenseInfo$ - */ - -#ifndef EXOFLICKR_H -#define EXOFLICKR_H - -#include "llimage.h" -#include "llsd.h" - -#include - -// This include file defines the API key/secret. -// It is generated by cmake. -#include "exoflickrkeys.h" - -class exoFlickr -{ -public: - typedef boost::function response_callback_t; - - static void request(const std::string& method, const LLSD& args, response_callback_t callback); - static void uploadPhoto(const LLSD& args, LLImageFormatted *image, response_callback_t callback); - - static void signRequest(LLSD& params, std::string method, std::string url); - static std::string getSignatureForCall(const LLSD& parameters, std::string url, std::string method); -}; - -#endif diff --git a/indra/newview/exoflickrauth.cpp b/indra/newview/exoflickrauth.cpp deleted file mode 100644 index b78deae5f8..0000000000 --- a/indra/newview/exoflickrauth.cpp +++ /dev/null @@ -1,210 +0,0 @@ -/** - * @file exoflickrauth.cpp - * @brief Handles all Flickr authentication issues - * - * $LicenseInfo:firstyear=2012&license=viewerlgpl$ - * Copyright (C) 2012 Katharine Berry - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llwindow.h" -#include "llviewerwindow.h" -#include "llbufferstream.h" -#include "lluri.h" -#include "llhttpclient.h" -#include "llviewercontrol.h" -#include "llnotificationsutil.h" -#include "exoflickr.h" - -#include "exoflickrauth.h" - -class exoFlickrAuthResponse : public LLHTTPClient::Responder -{ -public: - exoFlickrAuthResponse(exoFlickrAuth::authorized_callback_t callback); - /* virtual */ void completedRaw( - const LLChannelDescriptors& channels, - const LLIOPipe::buffer_ptr_t& buffer); -private: - exoFlickrAuth::authorized_callback_t mCallback; -}; - -bool exoFlickrAuth::sAuthorisationInProgress = false; - -exoFlickrAuth::exoFlickrAuth(authorized_callback_t callback) -: mCallback(callback) -{ - // Avoid doubled authentication attempts. - if(sAuthorisationInProgress) - { - delete this; - return; - } - mAuthenticating = true; - sAuthorisationInProgress = true; - if(gSavedPerAccountSettings.getString("ExodusFlickrToken").empty() || gSavedPerAccountSettings.getString("ExodusFlickrTokenSecret").empty()) - { - beginAuthorisation(); - } - else - { - checkAuthorisation(); - } -} - -exoFlickrAuth::~exoFlickrAuth() -{ - if(mAuthenticating) - { - sAuthorisationInProgress = false; - } -} - -void exoFlickrAuth::checkAuthorisation() -{ - exoFlickr::request("flickr.test.login", LLSD(), boost::bind(&exoFlickrAuth::checkResult, this, _1, _2)); -} - -void exoFlickrAuth::checkResult(bool success, const LLSD &response) -{ - if(!success) - { - LL_WARNS("Flickr") << "Login test failed (HTTP). Reauthenticating." << LL_ENDL; - beginAuthorisation(); - } - else - { - if(response["stat"].asString() != "ok") - { - LL_WARNS("Flickr") << "Login test failed: " << response["message"] << "(" << response["code"] << "). Reauthenticating." << LL_ENDL; - beginAuthorisation(); - } - else - { - LL_INFOS("Flickr") << "Stored Flickr tokens are valid." << LL_ENDL; - mCallback(true, LLSD()); - delete this; - return; - } - } -} - - -void exoFlickrAuth::beginAuthorisation() -{ - // Explain and confirm the process to the user. - LLNotificationsUtil::add("ExodusFlickrVerificationExplanation", LLSD(), LLSD(), boost::bind(&exoFlickrAuth::explanationCallback, this, _1, _2)); -} - -void exoFlickrAuth::explanationCallback(const LLSD& notification, const LLSD& response) -{ - int option = LLNotificationsUtil::getSelectedOption(notification, response); - if(option == 0) // OK - { - // Clear out any old authentication tokens - gSavedPerAccountSettings.setString("ExodusFlickrToken", ""); - gSavedPerAccountSettings.setString("ExodusFlickrTokenSecret",""); - - // Initiate authentication step one. - LLSD params; - params["oauth_callback"] = "oob"; - LL_INFOS("Flickr") << "Initialising OAuth authorisation process." << LL_ENDL; - exoFlickr::signRequest(params, "GET", "http://www.flickr.com/services/oauth/request_token"); - LLHTTPClient::get("http://www.flickr.com/services/oauth/request_token", params, new exoFlickrAuthResponse(boost::bind(&exoFlickrAuth::gotRequestToken, this, _1, _2))); - } - else - { - mCallback(false, LLSD()); - delete this; - return; - } -} - -void exoFlickrAuth::gotRequestToken(bool success, const LLSD& params) -{ - LL_INFOS("Flickr") << "Got request token, success = " << success << LL_ENDL; - if(!success) - { - mCallback(false, LLSD()); - delete this; - return; - } - std::string token = params["oauth_token"].asString(); - std::string secret = params["oauth_token_secret"].asString(); - gSavedPerAccountSettings.setString("ExodusFlickrToken", token); - gSavedPerAccountSettings.setString("ExodusFlickrTokenSecret", secret); - LL_INFOS("Flickr") << "Token = '" << token << "', secret = '" << secret - << "'" << LL_ENDL; - - // Proceed with stage two. - // We spawn the browser using spawnWebBrowser instead of LLWeb to bypass the - // browser prompt. This would a) be redundant to our earlier notice, and b) - // is unclickable because we have also presented a modal dialog. - gViewerWindow->getWindow()->spawnWebBrowser("http://www.flickr.com/services/oauth/authorize?perms=write&oauth_token=" + token, true); - LLNotificationsUtil::add("ExodusFlickrVerificationPrompt", LLSD(), LLSD(), boost::bind(&exoFlickrAuth::gotVerifier, this, _1, _2)); -} - -void exoFlickrAuth::gotVerifier(const LLSD& notification, const LLSD& response) -{ - int option = LLNotificationsUtil::getSelectedOption(notification, response); - if(option == 1) // Cancel - { - mCallback(false, LLSD()); - delete this; - return; - } - - // Proceed with stage three. - LLSD params; - params["oauth_verifier"] = response["oauth_verifier"]; - exoFlickr::signRequest(params, "GET", "http://www.flickr.com/services/oauth/access_token"); - LLHTTPClient::get("http://www.flickr.com/services/oauth/access_token", params, new exoFlickrAuthResponse(boost::bind(&exoFlickrAuth::gotAccessToken, this, _1, _2))); -} - -void exoFlickrAuth::gotAccessToken(bool success, const LLSD& params) -{ - if(success) - { - // Save all the information we got back. - gSavedPerAccountSettings.setString("ExodusFlickrToken", params["oauth_token"].asString()); - gSavedPerAccountSettings.setString("ExodusFlickrTokenSecret", params["oauth_token_secret"].asString()); - gSavedPerAccountSettings.setString("ExodusFlickrFullName", params["fullname"].asString()); - gSavedPerAccountSettings.setString("ExodusFlickrNSID", params["user_nsid"].asString()); - gSavedPerAccountSettings.setString("ExodusFlickrUsername", params["username"].asString()); - mCallback(true, params); - } - else - { - LLNotificationsUtil::add("ExodusFlickrVerificationFailed"); - mCallback(false, params); - } - - delete this; -} - -exoFlickrAuthResponse::exoFlickrAuthResponse(exoFlickrAuth::authorized_callback_t callback) -: mCallback(callback) -{ -} - -void exoFlickrAuthResponse::completedRaw(const LLChannelDescriptors& channels, const LLIOPipe::buffer_ptr_t& buffer) -{ - LLBufferStream istr(channels, buffer.get()); - std::ostringstream oss; - oss << istr.rdbuf(); - std::string str = oss.str(); - LLSD result = LLURI::queryMap(str); - mCallback((getStatus() == HTTP_OK), result); -} diff --git a/indra/newview/exoflickrauth.h b/indra/newview/exoflickrauth.h deleted file mode 100644 index 1b72c9a275..0000000000 --- a/indra/newview/exoflickrauth.h +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @file exoflickrauth.h - * @brief Handles all Flickr authentication issues - * - * $LicenseInfo:firstyear=2012&license=viewerlgpl$ - * Copyright (C) 2012 Katharine Berry - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * $/LicenseInfo$ - */ - -#include - -// This class's function is described by the flow chart at -// http://www.flickr.com/services/api/auth.oauth.html -class exoFlickrAuth -{ -public: - typedef boost::function authorized_callback_t; - - exoFlickrAuth(authorized_callback_t callback); - ~exoFlickrAuth(); - -private: - authorized_callback_t mCallback; - bool mAuthenticating; - static bool sAuthorisationInProgress; - - void beginAuthorisation(); - void checkAuthorisation(); - void checkResult(bool success, const LLSD& response); - void explanationCallback(const LLSD& notification, const LLSD& response); - - void gotRequestToken(bool success, const LLSD& params); // Stage 1 response (HTTP) - void gotVerifier(const LLSD& notification, const LLSD& response); // Stage 2 response (LLNotification) - void gotAccessToken(bool success, const LLSD& params); // Stage 3 response (HTTP) -}; diff --git a/indra/newview/exoflickrkeys.h.in b/indra/newview/exoflickrkeys.h.in deleted file mode 100644 index d4bc0e5123..0000000000 --- a/indra/newview/exoflickrkeys.h.in +++ /dev/null @@ -1,7 +0,0 @@ -// THIS FILE IS AUTOGENERATED BY THE BUILD PROCESS -// You can either set the keys in Variables.cmake or at the autobuild command -// For Exodus release builds the latter is *required* to maintain the -// secrecy of the API keys. - -#define EXO_FLICKR_API_KEY "@FLICKR_API_KEY@" -#define EXO_FLICKR_API_SECRET "@FLICKR_API_SECRET@" diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 3fda108309..cf9cbca69d 100755 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -649,9 +649,6 @@ with the same filename but different name - - - diff --git a/indra/newview/skins/default/xui/de/exo_panel_flickr_settings.xml b/indra/newview/skins/default/xui/de/exo_panel_flickr_settings.xml deleted file mode 100644 index 49bbbb3b71..0000000000 --- a/indra/newview/skins/default/xui/de/exo_panel_flickr_settings.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - ([QLVL]) - - - - \ No newline at end of file diff --git a/indra/newview/skins/default/xui/de/exo_panel_snapshot_flickr.xml b/indra/newview/skins/default/xui/de/exo_panel_snapshot_flickr.xml deleted file mode 100644 index 8d4ef2662f..0000000000 --- a/indra/newview/skins/default/xui/de/exo_panel_snapshot_flickr.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - Hochladen... - - - - - - - Titel: - - - Tags: - - - Einstuf.: - - - - - - - - - - Beschreibung (optional): - - - - - - - - - diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 7187354b8f..cc38b9f02d 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -11458,59 +11458,6 @@ We strongly recommend that you not set the bandwidth above 1500 KBPS. This is un - - -To use the Flickr upload feature you must authorize [APP_NAME] to access your account. If you proceed, your web browser will open Flickr's website, where you will be prompted to log in and authorize [APP_NAME]. You will then be given a code to copy back into [APP_NAME]. - -Would you like to authorize [APP_NAME] to post to your Flickr account? - fail - - - - -Please authorize [APP_NAME] to post to your Flickr account in your web browser, then type the code given by the website below: - confirm -
- -