aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Plugin.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2020-10-18 18:27:11 +0200
committerdec05eba <dec05eba@protonmail.com>2020-10-18 18:27:11 +0200
commit4fe0a037c82332e84b16a6f0e2847a2f9a0bd5d7 (patch)
tree1789706873ccc7095414f44b1a85fe64b6e62345 /src/plugins/Plugin.cpp
parentf5dc7e2c85436877606af46a011c2fba112185a9 (diff)
Matrix: add a proper URI parser instead of regex for opening links. Show related body item image when pressing enter (for showing replied to media)
Diffstat (limited to 'src/plugins/Plugin.cpp')
-rw-r--r--src/plugins/Plugin.cpp61
1 files changed, 0 insertions, 61 deletions
diff --git a/src/plugins/Plugin.cpp b/src/plugins/Plugin.cpp
index 3f76b4c..0b554ae 100644
--- a/src/plugins/Plugin.cpp
+++ b/src/plugins/Plugin.cpp
@@ -1,67 +1,6 @@
#include "../../plugins/Plugin.hpp"
-#include "../../include/StringUtils.hpp"
-#include <sstream>
-#include <iomanip>
-#include <array>
namespace QuickMedia {
- struct HtmlEscapeSequence {
- char unescape_char;
- std::string escape_sequence;
- };
-
- void html_escape_sequences(std::string &str) {
- const std::array<HtmlEscapeSequence, 6> escape_sequences = {
- HtmlEscapeSequence { '&', "&amp;" }, // This should be first, to not accidentally replace a new sequence caused by replacing this
- HtmlEscapeSequence { '"', "&quot;" },
- HtmlEscapeSequence { '\'', "&#39;" },
- HtmlEscapeSequence { '<', "&lt;" },
- HtmlEscapeSequence { '>', "&gt;" },
- HtmlEscapeSequence { '\n', "<br>" }
- };
-
- for(const HtmlEscapeSequence &escape_sequence : escape_sequences) {
- string_replace_all(str, escape_sequence.unescape_char, escape_sequence.escape_sequence);
- }
- }
-
- struct HtmlUnescapeSequence {
- std::string escape_sequence;
- std::string unescaped_str;
- };
-
- void html_unescape_sequences(std::string &str) {
- const std::array<HtmlUnescapeSequence, 6> unescape_sequences = {
- HtmlUnescapeSequence { "&quot;", "\"" },
- HtmlUnescapeSequence { "&#039;", "'" },
- HtmlUnescapeSequence { "&#39;", "'" },
- HtmlUnescapeSequence { "&lt;", "<" },
- HtmlUnescapeSequence { "&gt;", ">" },
- HtmlUnescapeSequence { "&amp;", "&" } // This should be last, to not accidentally replace a new sequence caused by replacing this
- };
-
- for(const HtmlUnescapeSequence &unescape_sequence : unescape_sequences) {
- string_replace_all(str, unescape_sequence.escape_sequence, unescape_sequence.unescaped_str);
- }
- }
-
- std::string url_param_encode(const std::string &param) {
- std::ostringstream result;
- result.fill('0');
- result << std::hex;
-
- for(char c : param) {
- if(isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') {
- result << c;
- } else {
- result << std::uppercase;
- result << "%" << std::setw(2) << (int)(unsigned char)(c);
- }
- }
-
- return result.str();
- }
-
SuggestionResult download_result_to_suggestion_result(DownloadResult download_result) { return (SuggestionResult)download_result; }
PluginResult download_result_to_plugin_result(DownloadResult download_result) { return (PluginResult)download_result; }
SearchResult download_result_to_search_result(DownloadResult download_result) { return (SearchResult)download_result; }