remove, add, and update search engines
[consearch.git] / index.php
index 646c7c9bc4d8ec5826777015eb9eaa87be791f89..e5680aecfadf8ab0633be67e0b8d77e0a5601ddb 100644 (file)
--- a/index.php
+++ b/index.php
@@ -11,7 +11,11 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
 You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses/.
 */
 
-$dse = "";
+$consearch_name = "consearch";
+$consearch_base_url = "https://fpunktk.de/consearch/";
+$consearch_url = "$consearch_base_url" . "index.php";
+
+$dse = ""; // default search engine
 if ( isset($_GET['dse']) and preg_match('/^[0-9a-z]{1,5}$/', $_GET['dse']) === 1 ) { // TODO: prevent injection, check whether dse is a valid searchengine
     $dse = $_GET['dse'];
 }
@@ -24,16 +28,16 @@ if ( isset($_GET['get']) and $_GET['get'] === "opensearchdescription" ) {
     header('Content-Type: text/xml');
     echo '<?xml version="1.0" encoding="UTF-8"?>
 <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
-<ShortName>consearch';
+<ShortName>' . "$consearch_name";
     if ( $dse ) { echo " ($dse)"; }
     echo '</ShortName>
 <Description>conveniently use different searchengines</Description>
 <Tags>consearch</Tags>
 <Contact>consearch @ f p u n k t k . de</Contact>
-<Url type="text/html" template="https://fpunktk.de/consearch/index.php';
+<Url type="text/html" template="' . "$consearch_url";
     if ( $dse ) { echo "?dse=$dse"; }
     echo '#{searchTerms}"></Url>
-<Image height="16" width="16" type="image/png">https://fpunktk.de/consearch/consearch.png</Image>
+<Image height="16" width="16" type="image/png">' . "$consearch_base_url" . 'consearch.png</Image>
 </OpenSearchDescription>';
     
     exit;
@@ -47,7 +51,7 @@ if ( isset($_GET['get']) and $_GET['get'] === "opensearchdescription" ) {
 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
 <meta name="referrer" content="no-referrer">
-<title>consearch</title>
+<title><?php echo "$consearch_name";?></title>
 <link rel="icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAACMuuz63rNKAAAAK0lEQVQI12P4/58BiM4cZ9gdDUVnboNE/n8Hoc6JDLvLGLrLGF4DyWlAcQBYKBgvsgbJOAAAAABJRU5ErkJggg==" type="image/png">
 <?php
 if ( $browserintegration ) {
@@ -55,7 +59,7 @@ if ( $browserintegration ) {
     if ( $dse ) {
         echo "&amp;dse=$dse";
     }
-    echo '" title="consearch';
+    echo '" title="' . "$consearch_name";
     if ( $dse ) {
         echo " ($dse)";
     }
@@ -118,7 +122,6 @@ b64images["osm.png"] = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA
 b64images["php.png"] = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEWAgMDX19cAAAD1ff0gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAANElEQVQI12NgQAOiIEISxJB0DGDIipq2lCF1ZlokEpEVmQYUYxELYEhhYHNgCGFgdUBoBwCrTgwE/Pwg0gAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNC0wNy0xMVQxNzowNTo0NiswMjowMA7uwncAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMTAtMjhUMTY6NTY6NTArMDE6MDBB6/VSAAAAAElFTkSuQmCC";
 b64images["sh.png"] = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAABIAAAASABGyWs+AAAA+VBMVEU5gqrgrR82f6jfqBw3gqo4gqs4g6s5g6tBiK9Dia9Fi7BGi7FHjLFMj7NTk7Zemrtmn75noL92qcV/r8mAr8mNt86UvNKcwdWewtaixdioyNq10N+60+LJ3ejN4OrS4+zY5+/a6O/fqx7frCDfrCHfrSHgriXhsS3isjHitTjjtjnjtjvjtz3kuUPkukblvErlvU7mvU7mvlDnwVrrynLr8vbs8/ftz3/w9vnx2pzx257x3KHy36jy9/nz4a325772+fv36cT36cX3+vv579T79OL79eP89uf8/f38/f79+vH9/v7++/X+/Pf+/Pj+/fn+/fr+/fv///8t5hX9AAAABHRSTlNaWuDgiHwzrgAAAAFiS0dEUg1gLZAAAACxSURBVBgZPcEHQsJQAAPQ0H6NAxXEvRCCW9xbcRdx4Mj9D2OLlveAiJzuuKd7EBcQheFl564Ug5xz342EQdZsfyfJy9vP54mEMHpm+1brG1t7TUkII6e2k/NmQz3gQNWZr+fL4zVJICvOPWxLIFlZ9b+7usBMaXal5VR3VyADM8UFp44EhuLU5MT42NCMU4cCOW+/P7UuXm1/7Ajkkvse60LERefa+4qBqHzvP9ebigu/AGwyxwJqEuAAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTUtMDUtMjJUMTg6MTk6NDArMDI6MDCIMpBxAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE1LTA1LTIyVDE4OjE5OjIzKzAyOjAwDug71wAAAABJRU5ErkJggg==";
 b64images["uu.png"] = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAIAAADAAbR1AAAABnRSTlMAAAAAAABupgeRAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAMklEQVQ4y2NgwAC/f3d3YyMh4NGj8HBsJAlg1IKBB1eukEOOWkCPOCAmjY1aMGoBLQAAutj8GeaBm/MAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTQtMDctMTFUMTc6MDU6NDcrMDI6MDComcnDAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTEwLTI4VDE2OjU2OjU0KzAxOjAwtaTRQQAAAABJRU5ErkJggg==";
-b64images["wb.png"] = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAIAAADAAbR1AAAABnRSTlMAAAAAAABupgeRAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAiklEQVQ4y2NgIBHMxAsYKAEQI57jBWRag2z0PbzgDBiQbA3NLUC2hiZG449kiAUkG33tWlUVjMRvGcluhxj6///du3Fx//+fOYPbGjITKMwCkNH4LaAIEBNEZIOCgsmTCYlQZPTixSdPwtiYIlQwGj9JpjUQbVOnrluH22iILBUswE9SIaDwk6QBAFItUWLI8uCPAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE0LTA3LTExVDE3OjA1OjQ3KzAyOjAwqJnJwwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0xMC0yOFQxNjo1Njo1NSswMTowMBPT2vUAAAAASUVORK5CYII=";
 b64images["wp.png"] = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAMFBMVEX8/fy5urlXWFdIR0ipqKl6e3rY2dhpammEg4QoKCjp6OmYmJgZGBnIx8gEAgQ8OjxFp+PiAAAACXBIWXMAAABIAAAASABGyWs+AAAAbUlEQVQI12NgwA2EDFlME4LSihg4JjJYZnVzVTOwHV+wx7eAq4CBQedC8gwHRgcGBpkG7kcMKwQYGJjN2D4zpAK1cTxh+ymwG2TApCX1BV0gRn9I6uwGEMNzCuPMCyAGsxlDJdgSxgsMiUh2AgDcjxn2cDFW0wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNC0wNy0xMVQxNzowNTo0NyswMjowMKiZycMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMTAtMjhUMTY6NTY6NTUrMDE6MDAT09r1AAAAAElFTkSuQmCC";
 b64images["yt.png"] = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAABV0lEQVRIx8VUO24CMRD1AaighQaugoREQ8UVtkTcgJqWDiIaOj4CKR3bI0EDAmkRoUWCDtOwDZ+JncXxb511siR5zezM88w8j+1F8IDnDYeVCkCtViwmEvCJfN5xBgOATmcy2e3g6UBa4AMAGHe7ov9b0Eqv16MRnQRrrO7cdRuNQoHzjlOvz2b6Bkx+pIDzeb/v9XjiZnO93u8Avi/H1QZs3b8LaLer1VTKLChSgO8fDv2+WPhyud04Px7rRzCdct7z5CNkl9hawF+DCHgjoJ+5XDIpWzrKsHg8m80GdrulfREnTDAXDARGr/vKovgFnyhALlgul0qiz0Zn4hlcArEe808njKldLlerHwlQJ6Tzcn6z2WqFCYwh4Hu8KiD8DlkIYCNUwfj5fLEQ468EYr0XAosJHI/pNP1xMItxJiP6tpblqfkYy7wggAKh6Odmf7vt1gd93wGWV/JQKq7UWwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNC0wNy0xMVQxNzowNTo0NyswMjowMKiZycMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMTAtMjhUMTY6NTY6NTYrMDE6MDAiO8BoAAAAAElFTkSuQmCC";
 b64images["imdb.png"] = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAaVBMVEUAAAC6pB303yPx3CPu1yPq0yPmziPiyCPfxSPcwCN4bREAAACplBoQDgKUgxczLAjXvSLCrh5tYBF0aREjHwVYTA5qWxFbUA6RfxeulB1xZBGhixq5oh4OCwLUtiPRsyLNrSLGpCKLexYQiDEbAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAASAAAAEgARslrPgAAAHFJREFUGBkFwTFSAzEAADGtbXAITApK/v9AOhguuSABACgAwBJJIn+LRCJpJIkk61LP8ftqPqyOcw84P6D7sI03jDnwwMtzwP7ZYOk+YJquNqaxcTjwDhZcx4nvNS1dZLuR0PjKdlOiWrYbiWD5BAD+AWj2ERU8QW3TAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE0LTA3LTExVDE3OjA3OjM0KzAyOjAwl0EKegAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNC0wNy0xMVQxNzowNjozOSswMjowMGgJuDgAAAAASUVORK5CYII=";
@@ -149,10 +152,11 @@ se["wa"] = ["wolfram", "https://www.wolframalpha.com/input/?i=", ""];
 se["si"] = ["sp_img", "https://startpage.com/do/search?cat=pics&query=", "sp.png"];
 se["gi"] = ["gg_img", "https://www.google.com/images?hl=de&safe=off&q=", "gg.png"];
 se["mg"] = ["metager", "https://metager.de/meta/meta.ger3?eingabe=", ""];
-se["wb"] = ["wb", "http://www.woerterbuch.info/?query=", "wb.png"];
-se["leo"] = ["leo", "https://dict.leo.org/ende/index_en.html#/searchLoc=0&resultOrder=basic&multiwordShowSingle=on&search=", "leo.png"];
-se["ud"] = ["ud", "http://www.urbandictionary.com/define.php?term=", "ud.png"];
+//se["wb"] = ["wb", "http://www.woerterbuch.info/?query=", ""];
+se["leo"] = ["leo", "https://dict.leo.org/german-english/", "leo.png"];
+se["dc"] = ["dict.cc", "https://www.dict.cc/?s=", ""];
 se["gt"] = ["gg_tl", "https://translate.google.de/?hl=de&tab=wT#en|de|", "gg.png"];
+se["ud"] = ["ud", "http://www.urbandictionary.com/define.php?term=", "ud.png"];
 se["osm"] = ["osm", "https://www.openstreetmap.org/?query=", "osm.png"];
 se["gm"] = ["g-maps", "https://www.google.de/maps/preview?hl=de&q=", "gm.png"];
 se["uu"] = ["uu_wiki", "http://wiki.ubuntuusers.de/", "uu.png"];
@@ -179,7 +183,7 @@ se["gpg"] = ["pgp.mit", "https://pgp.mit.edu/pks/lookup?op=index&fingerprint=on&
 se["amo"] = ["amo", "https://addons.mozilla.org/search/?q=", ""];
 se["gsm"] = ["gsm", "http://www.gsmarena.com/results.php3?sQuickSearch=yes&sName=", ""];
 se["ck"] = ["chfkch", "http://www.chefkoch.de/suche.php?wo=2&suche=", ""];
-se["ypi"] = ["ypi", "http://youpronounce.it/search.jsp?q=", ""];
+se["ye"] = ["you-eng", "https://youglish.com/search/", ""];
 se["ks"] = ["ks", "https://kraut.space/start?do=search&id=", "ks.png"];
 se["obi"] = ["obi", "https://www.obi.de/search/", ""];
 se["ikea"] = ["ikea", "https://www.ikea.com/de/de/search/?query=", ""];
@@ -234,7 +238,7 @@ if ( $dse ) {
 
 <body onload="parse_fragmentstring();">
 
-<h1><a href="./">fpunktk.de/consearch</a></h1>
+<h1><a href="./"><?php echo "$consearch_base_url";?></a></h1>
 
 <noscript>
 <p style="color: red; font-size: 200%; font-weight: bold;">
@@ -262,14 +266,14 @@ if ( $browserintegration ) {
 
 <?php
 if ( $browserintegration ) {
-    echo '</div>
+    echo "</div>
 
 <p>
-Now add consearch to your browser. In firefox this is done via the searchbar. If this does not work then consearch can be added via the following form, but this would send all queries to the server :-(
+Now add $consearch_name to your browser. In firefox this is done via the search bar or the ⋯-button in the address bar. If this does not work then $consearch_name can be added via the following form (right-click the input and select \"Add a Keyword for this Search...\"), but this would send all queries to the server and is not recommended.
 </p>
 
-<form method="GET" action="./">' . "\n";
-    if ( $dse ) { echo '<input type="hidden" name="dse" value="' . $dse . '">' . "\n"; }
+<form method=\"GET\" action=\"./\">\n";
+    if ( $dse ) { echo "<input type=\"hidden\" name=\"dse\" value=\"$dse\">\n"; }
     echo '<input type="text" name="consearchterm" value="">
 </form>
 ';