gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r4228 - Extractor-docs/WWW


From: grothoff
Subject: [GNUnet-SVN] r4228 - Extractor-docs/WWW
Date: Sat, 6 Jan 2007 16:15:08 -0800 (PST)

Author: grothoff
Date: 2007-01-06 16:15:04 -0800 (Sat, 06 Jan 2007)
New Revision: 4228

Removed:
   Extractor-docs/WWW/commitMassTranslation.php
   Extractor-docs/WWW/commitTranslation.php
   Extractor-docs/WWW/demo.php3
   Extractor-docs/WWW/editor.php
   Extractor-docs/WWW/i18nhtml.inc.php
   Extractor-docs/WWW/i18nhtml_config.inc.php
   Extractor-docs/WWW/start.php
   Extractor-docs/WWW/status.php
   Extractor-docs/WWW/translate.php
   Extractor-docs/WWW/vote.php
Modified:
   Extractor-docs/WWW/html_header.php3
Log:
i18nhtml update

Deleted: Extractor-docs/WWW/commitMassTranslation.php
===================================================================
--- Extractor-docs/WWW/commitMassTranslation.php        2007-01-07 00:06:26 UTC 
(rev 4227)
+++ Extractor-docs/WWW/commitMassTranslation.php        2007-01-07 00:15:04 UTC 
(rev 4228)
@@ -1,101 +0,0 @@
-<?php
-/*
-     (C) 2003, 2004, 2005 Christian Grothoff
-
-     This code is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
-     option) any later version.
-
-     The code 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
-     General Public License for more details.
-
-     You should have received a copy of the GNU General Public License
-     along with the code; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-include("i18nhtml.inc.php");
-if (!$connection) {
-  echo "Database is down. Cannot edit translations.";
-  die();
-}
-if ($xlang == "English") {
-  W("Translating to English currently not allowed.\n");
-  die();
-}
-DOCTYPE("HTML", "Transitional");
-echo "<html><head>";
-TITLE("WWW translation: commit");
-echo "</head><body>";
-W("Processing translations...");
-P();
-$skip = 0;
-foreach($_POST as $dec=>$val) {
-  if ( ($dec == "xlang") || ($dec == "start") )
-    continue;
-  if ($val == "") {
-    $skip++;
-    continue;
-  }
-  $val = fix($val);
-  $query = "SELECT c FROM ".$i18nHTMLsqlPrefix."pending WHERE lang=\"$xlang\"";
-  $result = mysql_query($query, $connection);
-  $num = 0;
-  if ($result)
-    $num = mysql_numrows($result);
-  while ($num > 0) {
-    $num--;
-    $row = mysql_fetch_array($result);
-    $cx_plain = fix($row["c"]);
-    $cx_sql = mysql_real_escape_string($cx_plain);
-    if ($dec == bin2hex(md5($cx_plain))) {
-      $enc_sql = $cx_sql;
-      break;
-    }
-  }
-  if ($num == 0) {
-    W("Did not find &quot;%s&quot; in pending translations, skipping.",
-      $dec);
-    P();
-    continue;
-  }
-  $query = "DELETE FROM ".$i18nHTMLsqlPrefix."pending WHERE lang=\"$lang\" AND 
c=\"$enc_sql\"";
-  mysql_query($query, $connection);
-  $val_sql = mysql_real_escape_string(to_unicode($val));
-  $query = "SELECT ranking FROM ".$i18nHTMLsqlPrefix."map WHERE 
name=\"$enc_sql\"" .
-           " AND lang=\"$lang\" AND translation=\"$val_sql\"";
-  $result = mysql_query($query, $connection);
-  $num = 0;
-  if ($result)
-    $num = mysql_numrows($result);
-  if ($num == 0) {
-    $txtCnt = count_chars(stripslashes($enc_sql), 1);
-    $tCnt = count_chars(stripslashes($val_sql), 1);
-    if ($txtCnt[ord('%')] != $tCnt[ord('%')]) {
-      W("Commit '%s->%s' failed.", stripslashes($enc_sql), 
stripslashes($val_sql));
-      W("The number of percent signs in source text and translation do not 
match.");
-      W("Note that you must preserve all %%s expressions unchanged.");
-      W("Also, a single displayed %% sign must be translated into two (%%%%) 
such signs.");
-      P();
-    } else {
-      $query = "INSERT INTO ".$i18nHTMLsqlPrefix."map VALUES(\"$enc_sql\", 
\"$lang\", " .
-               "\"$val_sql\", 1, \"" . $_SERVER['REMOTE_ADDR'] . "\");";
-      mysql_query($query, $connection);
-      W("Storing translation for &quot;%s&quot = &quot;%s&quot;.",
-        ARRAY(stripslashes($enc_sql),
-             stripslashes($val_sql)));
-      BR();
-    }
-  }
-}
-P();
-echo "<a href=\"" . $i18nHTMLbase . "editor.php?xlang=" . $lang . "&start=" . 
($start + $skip) . "\">";
-$t = TRANSLATE("Continue mass-editing...");
-echo "</a>";
-if ($t == 1)
-  translateLink($b);
-echo "</body></html>";
-?>

Deleted: Extractor-docs/WWW/commitTranslation.php
===================================================================
--- Extractor-docs/WWW/commitTranslation.php    2007-01-07 00:06:26 UTC (rev 
4227)
+++ Extractor-docs/WWW/commitTranslation.php    2007-01-07 00:15:04 UTC (rev 
4228)
@@ -1,96 +0,0 @@
-<?php
-/*
-     (C) 2003, 2004, 2005 Christian Grothoff
-
-     This code is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
-     option) any later version.
-
-     The code 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
-     General Public License for more details.
-
-     You should have received a copy of the GNU General Public License
-     along with the code; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-include("i18nhtml.inc.php");
-if (!$connection) {
-  echo "Database is down. Cannot edit translations.";
-  die();
-}
-if ($xlang == "English") {
-  W("Translating to English is not allowed.\n");
-  die();
-}
-if (strstr($xlang, "@")) {
-  W("Invalid language.\n");
-  die();
-}
-$text            = urldecode($_REQUEST['text']);
-$text_sql        = mysql_real_escape_string($text);
-$translation     = fix($_REQUEST['translation']);
-$translation_sql = mysql_real_escape_string(to_unicode($translation));
-
-$back            = $_REQUEST['back'];
-// check for identical translation
-$query = "SELECT ranking,translation FROM ".$i18nHTMLsqlPrefix."map WHERE 
name=\"$text_sql\"" .
-  " AND lang=\"$lang\"";
-
-$result = mysql_query($query, $connection);
-$num = 0;
-if ($result)
-  $num = mysql_numrows($result);
-$exists = 0;
-$max = 0;
-for ($ii=0;$ii<$num;$ii++) {
-  $row = mysql_fetch_array($result);
-  if ($row["translation"] == $translation_sql)
-    $exists = 1;
-  if ($row["rank"] > $max)
-    $max = $row["rank"];
- }
-
-if ($exists == 1) {
-  echo "<html><head>";
-  TITLE("Translation exists.");
-  echo "</head><body>";
-  W("Translation '%s' of sentence '%s' exists.",
-    ARRAY(fix($translation), $text));
-  extlink($back, "Back...");
-  generateFooter();
-  echo "</body></html>";
-} else {
-  $txtCnt = count_chars($text, 1);
-  $tCnt   = count_chars($translation, 1);
-  if ($txtCnt[ord('%')] != $tCnt[ord('%')]) {
-      echo "<html><head>";
-      TITLE("Commit failed.");
-      echo "</head><body>";
-      W("Commit failed ('%s' and '%s').", ARRAY($text, $translation));
-      W("The number of percent signs in source text and translation does not 
match.");
-      W("Note that you must preserve all %%s expressions unchanged.");
-      W("Also, a single displayed %% sign must be translated into two (%%%%) 
such signs.");
-      echo "</body></html>";
-  } else {
-    $query = "INSERT INTO ".$i18nHTMLsqlPrefix."map VALUES(\"$text_sql\", 
\"$lang\", " .
-             "\"$translation_sql\", $max+1, \"" . $_SERVER['REMOTE_ADDR'] . 
"\");";
-    $result = mysql_query($query, $connection);
-    if ($result) {
-      $query = "DELETE FROM ".$i18nHTMLsqlPrefix."pending WHERE lang=\"$lang\" 
AND c=\"$text_sql\"";
-      mysql_query($query, $connection);
-      header("Location: " . $back); /* Redirect browser */
-    } else {
-      echo "<html><head>";
-      TITLE("Commit failed.");
-      echo "</head><body>";
-      W("Commit ('%s') failed: ", $query);
-      echo mysql_error();
-      echo "</body></html>";
-    }
-  }
-}
-?>

Deleted: Extractor-docs/WWW/demo.php3
===================================================================
--- Extractor-docs/WWW/demo.php3        2007-01-07 00:06:26 UTC (rev 4227)
+++ Extractor-docs/WWW/demo.php3        2007-01-07 00:15:04 UTC (rev 4228)
@@ -1,37 +0,0 @@
-<?php
-$title="libExtractor - Demo";
-$email="address@hidden";
-$keywords="keyword, extraction, mp3, html, pdf, images, jpeg, gif, ps, mime";
-$author="Vids Samanta";
-$page="demo";
-include("html_header.php3");
-W("You can see how the tool works by uploading a file you want to extract 
keywords from here.");
-echo "<form enctype=\"multipart/form-data\" method=\"post\" 
action=\"do_upload.php\">";
-P();
-W("File to Upload:");
-BR();
-echo "<input type=\"file\" name=\"img1\" size=\"30\">";
-P();
-W("Run with binary extractor (choose language, or none):");
-$vals=array("Danish"=>"1",
-           "English"=>"2", 
-           "Finnish"=>"3",
-           "Frensh"=>"4",
-           "Gaelic"=>"5",
-           "German"=>"6",
-           "Italian"=>"7",
-           "Norwegian"=>"8",
-           "Portuguese"=>"9",
-           "Swedish"=>"10");
-foreach($vals as $tlang=>$number) {
-  W($tlang);
-  echo "<input type=\"radio\" NAME=\"binary\" VALUE=\"$number\">";
-}
-W("none:");
-echo "<input type=\"radio\" NAME=\"binary\" VALUE=\"0\" Checked>";
-P();
-echo "<input type=\"submit\" name=\"submit\" value=\"Run Demo\">";
-W("This demo is limited to files smaller than 16 MB.");
-echo "</form>";
-include("html_footer.php3"); 
-?>

Deleted: Extractor-docs/WWW/editor.php
===================================================================
--- Extractor-docs/WWW/editor.php       2007-01-07 00:06:26 UTC (rev 4227)
+++ Extractor-docs/WWW/editor.php       2007-01-07 00:15:04 UTC (rev 4228)
@@ -1,142 +0,0 @@
-<?php
-/*
-     (C) 2003, 2004, 2005 Christian Grothoff
-
-     This code is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
-     option) any later version.
-
-     The code 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
-     General Public License for more details.
-
-     You should have received a copy of the GNU General Public License
-     along with the code; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-include("i18nhtml.inc.php");
-if (!$connection) {
-  echo "Database is down. Cannot edit translations.";
-  die();
-}
-DOCTYPE("HTML", "Transitional");
-echo "<html><head>";
-TITLE("WWW translation");
-echo "</head><body>";
-generateLanguageBar();
-if ( (! $xlang) || ($xlang == "English") ) {
-  echo "Cannot translate to English.";
-  die();
- }
-$start = $_REQUEST['start'];
-if (! $start)
-  $start = 0;
-H2("Mass translation to %s", $xlang);
-W("This page is for translating lots of sentences at once.");
-W("The sentences are ordered by the frequency that they are requested by 
users.");
-$max = 10; /* apache limits! */
-$end = $start + $max;
-W("The page lists the top %s requested, untranslated sentences in the selected 
language.",
-  $max);
-W("Do not copy the quotes (&quot;) from the original messages into the 
translations.");
-W("Leave translations that you cannot do blank.");
-
-$query = "SELECT c FROM ".$i18nHTMLsqlPrefix."pending WHERE lang=\"$lang\" 
ORDER BY count DESC";
-$result = mysql_query($query, $connection);
-$num = 0;
-if ($result)
-  $num = mysql_numrows($result);
-if ($end > $num) {
-  $end = $num;
-  $start = $end - $max;
-}
-if ($start < 0)
-    $start = 0;
-
-if ($num == 0) {
-  P();
-  W("No missing translations for the selected target language were found.");
-} else {
-  P();
-  W("%s translations to %s have been requested and were not available.",
-    ARRAY($num,
-         W_($lang)));
-  W("Displaying entries %s to %s (ordered by request frequency).",
-    ARRAY($start, $end));
-  P();
-
-  echo "<form method=\"POST\" action=\"" . $i18nHTMLbase . 
"commitMassTranslation.php\">";
-  echo "<input type=hidden name=\"xlang\" value=\"$xlang\">";
-  echo "<input type=hidden name=\"start\" value=\"$start\">";
-
-  echo "<table border=5>";
-  echo "<tr>";
-  TH("Original");
-  TH("Translation");
-  echo "</tr>";
-  for ($ii=0;$ii<$end;$ii++) {
-    $row = mysql_fetch_array($result);
-    if ($ii < $start)
-      continue;
-    $cx_plain = fix($row["c"]);
-    $cx_sql = mysql_real_escape_string($cx_plain);
-
-    $query = "SELECT ranking FROM ".$i18nHTMLsqlPrefix."map WHERE 
name=\"$cx_sql\" AND lang=\"$lang\"";
-    $result2 = mysql_query($query, $connection);
-    $num2 = 0;
-    if ($result2)
-      $num2 = mysql_numrows($result2);
-    echo "<tr><td width=\"45%\">";
-    echo "&quot;" . htmlentities($cx_plain) . "&quot;";
-    echo "</td>\n\t<td width=\"50%\">";
-    if ($num2 > 0) {
-      $query = "DELETE FROM ".$i18nHTMLsqlPrefix."pending WHERE lang=\"$lang\" 
AND c=\"$cx_sql\"";
-      mysql_query($query, $connection);
-      W("Skipped (already translated).");
-    } else {
-      echo "<input size=\"49%\" maxlength=\"65535\" name=\"" . 
bin2hex(md5($cx_plain)) . "\"></td></tr>\n";
-    }
-  }
-  echo "</tr></table>";
-  echo "<input type=submit value=\"" .
-       TRANSLATE_("I hereby give all these translations into the Public Domain 
(commit)") .
-       "\">";
-  echo "</form>";
-}
-if ($end < $num) {
-  P();
-  echo "<a href=\"" . $i18nHTMLbase . "editor.php?xlang=" . $lang . "&start=" 
. $end . "\">";
-  $t = TRANSLATE("Skip these sentences, continue with next set.");
-  echo "</a>";
-  if ($t == 1)
-    translateLink($b);
-} else {
-  W("Statistics about translation progress can be found %s.\n",
-    intlink_($i18nHTMLbase . "status.php", "here"));
-}
-P();
-H2("Remarks");
-H3("The percent sign");
-W("The %% sign is a special character.");
-W("You must use %%%% in the text to print a single percent sign.");
-W("The sequence %%s is used as a placeholder for links.");
-W("Currently, the translation can only access the links in the same order as 
the original text.");
-P();
-
-H3("Language specific special characters");
-W("Various languages use special characters.");
-W("The code has not been tested with certain character sets, such as 
Chinese.");
-W("If you are trying to translate the page to such a language, please contact 
the developerws if you encounter any problems.");
-P();
-
-H3("Copyright");
-W("The original english text is released under the GNU Free Documentation 
License (FDL).");
-W("Translations submitted to the webpage must be released to the public domain 
to ensure that we will not have any legal trouble.");
-W("If you have concerns or remarks regarding this policy, feel free to bring 
them to our attention.");
-
-generateFooter();
-echo "</body></html>\n";
-?>

Modified: Extractor-docs/WWW/html_header.php3
===================================================================
--- Extractor-docs/WWW/html_header.php3 2007-01-07 00:06:26 UTC (rev 4227)
+++ Extractor-docs/WWW/html_header.php3 2007-01-07 00:15:04 UTC (rev 4228)
@@ -1,5 +1,5 @@
 <?php
-include("i18nhtml.inc.php");
+include_once("i18nHTML/i18nhtml.php");
 DOCTYPE("HTML", "Transitional");
 echo "<html><head>\n";
 if ($title) {
@@ -14,7 +14,7 @@
  }
 if ($author) {
   echo "<meta name=\"author\" content=\"$author\">\n";
-  echo "<meta name=\"rights\" content=\"(C) 2002,2003,2004,2005 by 
$author\">\n";
+  echo "<meta name=\"rights\" content=\"(C) 2002,2003,2004,2005,2006,2007 by 
$author\">\n";
  }
 if ($date) 
   echo "<meta name=\"date\" content=\"$date\">\n";

Deleted: Extractor-docs/WWW/i18nhtml.inc.php
===================================================================
--- Extractor-docs/WWW/i18nhtml.inc.php 2007-01-07 00:06:26 UTC (rev 4227)
+++ Extractor-docs/WWW/i18nhtml.inc.php 2007-01-07 00:15:04 UTC (rev 4228)
@@ -1,913 +0,0 @@
-<?php
-/*
-     (C) 2003, 2004, 2005 Christian Grothoff and other contributing authors.
-
-     This code is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
-     option) any later version.
-
-     The code 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
-     General Public License for more details.
-
-     You should have received a copy of the GNU General Public License
-     along with the code; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-  // This file defines the functions that will be used
-  // to build the webpage.  The set may not contain everything
-  // you might want, so feel free to define your own extensions.
-
-  // Use W("text") to output translations.
-  // $lang/xlang are used to specify the language
-  // $editor can be set to create a translation
-  // tag even if a translation is already available.
-  // there is currently no security.
-  //
-  // An "_" is used for functions that return the
-  // translated string instead of printing it directly.
-  // These functions are used for "%s" printing with W().
-  //
-  // Most of the code should be straight forward. Look
-  // at some of the example files that use it and compare with
-  // the generated pages.
-// obtain user db specific configuration parameters
-include("i18nhtml_config.inc.php");
-header("Content-type: text/html; charset=utf-8");
-
-// if (get_magic_quotes_gpc())
-//   die('PHP misconfigured.  Disable get_magic_quotes.');
-
-// establish default connection to database server
-$connection = @mysql_connect($i18nHTMLsqlServer,
-                            $i18nHTMLsqlUser,
-                            $i18nHTMLsqlPass);
-if (!$connection) {
-   die ('Failure connecting to ' . $i18nHTMLsqlServer . ' : ' . mysql_error());
-}
-
-// and select database on server that holds translations
-if ($connection) {
-  $db_selected = mysql_select_db($i18nHTMLsqlDB,
-                 $connection);
-  if (!$db_selected) {
-     die ('Error selecting db : ' . mysql_error());
-  }
-}
-
-// ensure the mapping and pending tables exist, creating them if not
-$query="CREATE TABLE IF NOT EXISTS ".$i18nHTMLsqlPrefix."map" .
-       " (name BLOB, lang TINYBLOB, translation BLOB, ranking INT, ip 
TINYTEXT, " .
-       "INDEX(name(10)), INDEX(lang(4)), INDEX(ranking), 
INDEX(translation(10)))";
-$result = mysql_query($query, $connection);
-if (($i18nHTMLdebug == 1) && (!$result)) {
-  die('Unable to validate map table.  Invalid query: ' . mysql_error());
-}
-
-$query="CREATE TABLE IF NOT EXISTS ".$i18nHTMLsqlPrefix."pending" .
-       " (c BLOB, lang TINYBLOB, count INT, " .
-       "INDEX(c(10)), INDEX(lang(4)), INDEX(count))";
-$result = mysql_query($query, $connection);
-if (($i18nHTMLdebug == 1) && (!$result)) {
-  die('Unable to validate pending table.  Invalid query: ' . mysql_error());
-}
-
-/* mapping of real-names to language codes */
-$languagecodes = array("English"=>"en",
-                      "German"=>"de",
-                      "French"=>"fr",
-                      "Portuguese"=>"pt",
-                      "Russian"=>"ru",
-                      "Romanian"=>"ro",
-                      "Spanish"=>"es",
-                      "Italian"=>"it",
-                      "Simplified chinese"=>"zh_CN",
-                      "Catalan"=>"ca",
-                      "Basque"=>"eu",
-                      "Arabic"=>"ar",
-                      "Bulgarian"=>"bg",
-                      "Czech"=>"cs",
-                      "Dutch"=>"nl",
-                      "Esperanto"=>"eo",
-                      "Hebrew"=>"he",
-                      "Japanese"=>"ja",
-                      "Norwegian"=>"no",
-                      "Polish"=>"po",
-                      "Ukrainian"=>"uk",
-                      "Danish"=>"da",
-                      "Swedish"=>"sv");
-
-/* try to automagically figure out user preferences */
-$hlang = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
-if ($hlang) {
-  $tok = strtok($hlang, ";");
-  while ($tok) {
-    foreach($languagecodes as $name=>$code) {
-      if (0 == strncmp($tok, $code, 2)) {
-        $lang = $name;
-        break 2;
-      }
-    }
-    $tok = strtok(";");
-  }
-}
-// If no language is specified, use english.
-if ( (! $lang) || ($lang=="") )
-  $lang = "English";
-$xlang = $_REQUEST['xlang'];
-if ($xlang)
-  $lang = $xlang;
-$lang = ucfirst(strtolower($lang));
-$lang = quote_smart($lang);
-$editor = $_REQUEST['editor'];
-$i18nHTMLhasTranslation = 0; // set by last call to translation_query()
-
-/**
- * Replace certain HTML named special characters with their
- * numeric codes (some browsers don't work with the symbolic names).
- */
-$htmlin  = array("&rsquo;", "&gt;",  "&quot;", "&prime;", "&amp;", "\"",    
"'",      "`",       "&lsquo;");
-$htmlout = array("&#8217;", "&#62;", "&#34;" , "&#8242;", "&#38;", "&#34;", 
"&#8242;", "&#8217;", "&#8216;");
-function fix($a) {
-  global $htmlin;
-  global $htmlout;
-  return str_replace($htmlin, $htmlout, $a);
-}
-
-// Quote variable to make safe from
-// http://fr.php.net/manual/en/function.mysql-real-escape-string.php
-function quote_smart($value)
-{
-   // Stripslashes
-   if (get_magic_quotes_gpc()) {
-       $value = stripslashes($value);
-   }
-   $value = mysql_real_escape_string($value);
-   return $value;
-}
-
-// *************************************************
-// i18nHTML configuration API functions
-// *************************************************
-
-// change the marker text shown to indicate text
-// is translatable (link to translate page text)
-function setTranslateLinkMarker($marker) {
-  global $i18nHTMLmarker;
-
-  if ($marker == "")
-    $i18nHTMLmarker = "*";  // reset to default value
-  else
-    $i18nHTMLmarker = $marker;
-}
-
-// ***************************************************
-// i18nHTML _internal_ API functions (don't look here)
-// ***************************************************
-
-// returns a HTML string to link to enable one to translate the given
-// text ($a) when $editor has a nonzero value or
-// $i18nHTMLhasTranslation is 0; otherwise and empty string ("") is
-// returned.
-function translateLink_($a) {
-  global $lang;
-  global $HTTP_SERVER_VARS;
-  global $editor;
-  global $i18nHTMLhasTranslation;
-  global $i18nHTMLmarker;
-  global $i18nHTMLbase;
-
-  if ($hasTranslation == "")
-    $hasTranslation = $i18nHTMLhasTranslation;
-  if ( ($editor) || ($i18nHTMLhasTranslation == 0) ) {
-    $protocol = "http";
-    if ($HTTP_SERVER_VARS["HTTPS"] == "on") {
-       $protocol = "https"; // switch to https
-    }
-    $back = $protocol . "://" . $HTTP_SERVER_VARS["HTTP_HOST"] . 
$HTTP_SERVER_VARS["REQUEST_URI"];
-    return "<a href=\"" . $i18nHTMLbase . "translate.php?xlang="
-      . $lang
-      . "&amp;text=" . urlencode(fix($a))
-      . "&amp;back=" . urlencode($back)
-      . "\" title=\""
-      .fix($a)
-      ."\">" . $i18nHTMLmarker . "</a>\n";
-  } else
-    return "";
-}
-
-// displays a link to the page to enable one to
-// translate the given text ($a)
-// see translateLink_
-function translateLink($a) {
-  echo translateLink_($a);
-}
-
-/**
- * transcode unicode entities to/from HTML entities
- *
- * Also, this function transforms HTML entities into their equivalent Unicode 
entities.
- * For example, w.bloggar posts pages using HTML entities.
- * If you have to modify these pages using web forms, you would like to get 
UTF-8 instead.
- *
- * @link 
http://www.evolt.org/article/A_Simple_Character_Entity_Chart/17/21234/ A Simple 
Character Entity Chart
- *
- * @param string the string to be transcoded
- * @param boolean TRUE to transcode to Unicode, FALSE to transcode to HTML
- * @return a transcoded string
- */
-function transcode($input, $to_unicode=TRUE) {
-  // initialize tables only once
-  static $html_entities, $unicode_entities;
-  if(!is_array($html_entities)) {
-
-
-    // numerical order
-    $codes = array(
-                  '&#160;'     => '&nbsp;',    // non-breaking space
-                  '&#161;'     => '&iexcl;',   // inverted exclamation mark
-                  '&#162;'     => '&cent;',    // cent sign
-                  '&#163;'     => '&pound;',   // pound sign
-                  '&#164;'     => '&curren;',  // currency sign
-                  '&#165;'     => '&yen;',             // yen sign
-                  '&#166;'     => '&brvbar;',  // broken bar
-                  '&#167;'     => '&sect;',    // section sign
-                  '&#168;'     => '&uml;',             // diaeresis
-                  '&#169;'     => '&copy;',    // copyright sign
-                  '&#170;'     => '&ordf;',    // feminine ordinal indicator
-                  '&#171;'     => '&laquo;',   // left-pointing double angle 
quotation mark
-                  '&#172;'     => '&not;',             // not sign
-                  '&#173;'     => '&shy;',             // soft hyphen
-                  '&#174;'     => '&reg;',             // registered sign
-                  '&#175;'     => '&macr;',    // macron
-                  '&#176;'     => '&deg;',             // degree sign
-                  '&#177;'     => '&plusmn;',  // plus-minus sign
-                  '&#178;'     => '&sup2;',    // superscript two
-                  '&#179;'     => '&sup3;',    // superscript three
-                  '&#180;'     => '&acute;',   // acute accent
-                  '&#181;'     => '&micro;',   // micro sign
-                  '&#182;'     => '&para;',    // pilcrow sign
-                  '&#183;'     => '&middot;',  // middle dot
-                  '&#184;'     => '&cedil;',   // cedilla
-                  '&#185;'     => '&sup1;',    // superscript one
-                  '&#186;'     => '&ordm;',    // masculine ordinal indicator
-                  '&#187;'     => '&raquo;',   // right-pointing double angle 
quotation mark
-                  '&#188;'     => '&frac14;',  // vulgar fraction one quarter
-                  '&#189;'     => '&frac12;',  // vulgar fraction one half
-                  '&#190;'     => '&frac34;',  // vulgar fraction three 
quarters
-                  '&#191;'     => '&iquest;',  // inverted question mark
-                  '&#192;'     => '&Agrave;',  // latin capital letter A with 
grave
-                  '&#193;'     => '&Aacute;',  // latin capital letter A with 
acute
-                  '&#194;'     => '&Acirc;',   // latin capital letter A with 
circumflex
-                  '&#195;'     => '&Atilde;',  // latin capital letter A with 
tilde
-                  '&#196;'     => '&Auml;',    // latin capital letter A with 
diaeresis
-                  '&#197;'     => '&Aring;',   // latin capital letter A with 
ring above
-                  '&#198;'     => '&AElig;',   // latin capital letter AE
-                  '&#199;'     => '&Ccedil;',  // latin capital letter C with 
cedilla
-                  '&#200;'     => '&Egrave;',  // latin capital letter E with 
grave
-                  '&#201;'     => '&Eacute;',  // latin capital letter E with 
acute
-                  '&#202;'     => '&Ecirc;',   // latin capital letter E with 
circumflex
-                  '&#203;'     => '&Euml;',    // latin capital letter E with 
diaeresis
-                  '&#204;'     => '&Igrave;',  // latin capital letter I with 
grave
-                  '&#205;'     => '&Iacute;',  // latin capital letter I with 
acute
-                  '&#206;'     => '&Icirc;',   // latin capital letter I with 
circumflex
-                  '&#207;'     => '&Iuml;',    // latin capital letter I with 
diaeresis
-                  '&#208;'     => '&ETH;',             // latin capital letter 
ETH
-                  '&#209;'     => '&Ntilde;',  // latin capital letter N with 
tilde
-                  '&#210;'     => '&Ograve;',  // latin capital letter O with 
grave
-                  '&#211;'     => '&Oacute;',  // latin capital letter O with 
acute
-                  '&#212;'     => '&Ocirc;',   // latin capital letter O with 
circumflex
-                  '&#213;'     => '&Otilde;',  // latin capital letter O with 
tilde
-                  '&#214;'     => '&Ouml;',    // latin capital letter O with 
diaeresis
-                  '&#215;'     => '&times;',   // multiplication sign
-                  '&#216;'     => '&Oslash;',  // latin capital letter O with 
stroke
-                  '&#217;'     => '&Ugrave;',  // latin capital letter U with 
grave
-                  '&#218;'     => '&Uacute;',  // latin capital letter U with 
acute
-                  '&#219;'     => '&Ucirc;',   // latin capital letter U with 
circumflex
-                  '&#220;'     => '&Uuml;',    // latin capital letter U with 
diaeresis
-                  '&#221;'     => '&Yacute;',  // latin capital letter Y with 
acute
-                  '&#222;'     => '&THORN;',   // latin capital letter THORN
-                  '&#223;'     => '&szlig;',   // latin small letter sharp s
-                  '&#224;'     => '&agrave;',  // latin small letter a with 
grave
-                  '&#225;'     => '&aacute;',  // latin small letter a with 
acute
-                  '&#226;'     => '&acirc;',   // latin small letter a with 
circumflex
-                  '&#227;'     => '&atilde;',  // latin small letter a with 
tilde
-                  '&#228;'     => '&auml;',    // latin small letter a with 
diaeresis
-                  '&#229;'     => '&aring;',   // latin small letter a with 
ring above
-                  '&#230;'     => '&aelig;',   // latin small letter ae
-                  '&#231;'     => '&ccedil;',  // latin small letter c with 
cedilla
-                  '&#232;'     => '&egrave;',  // latin small letter e with 
grave
-                  '&#233;'     => '&eacute;',  // latin small letter e with 
acute
-                  '&#234;'     => '&ecirc;',   // latin small letter e with 
circumflex
-                  '&#235;'     => '&euml;',    // latin small letter e with 
diaeresis
-                  '&#236;'     => '&igrave;',  // latin small letter i with 
grave
-                  '&#237;'     => '&iacute;',  // latin small letter i with 
acute
-                  '&#238;'     => '&icirc;',   // latin small letter i with 
circumflex
-                  '&#239;'     => '&iuml;',    // latin small letter i with 
diaeresis
-                  '&#240;'     => '&eth;',             // latin small letter 
eth
-                  '&#241;'     => '&ntilde;',  // latin small letter n with 
tilde
-                  '&#242;'     => '&ograve;',  // latin small letter o with 
grave
-                  '&#243;'     => '&oacute;',  // latin small letter o with 
acute
-                  '&#244;'     => '&ocirc;',   // latin small letter o with 
circumflex
-                  '&#245;'     => '&otilde;',  // latin small letter o with 
tilde
-                  '&#246;'     => '&ouml;',    // latin small letter o with 
diaeresis
-                  '&#247;'     => '&divide;',  // division sign
-                  '&#248;'     => '&oslash;',  // latin small letter o with 
stroke
-                  '&#249;'     => '&ugrave;',  // latin small letter u with 
grave
-                  '&#250;'     => '&uacute;',  // latin small letter u with 
acute
-                  '&#251;'     => '&ucirc;',   // latin small letter u with 
circumflex
-                  '&#252;'     => '&uuml;',    // latin small letter u with 
diaeresis
-                  '&#253;'     => '&yacute;',  // latin small letter y with 
acute
-                  '&#254;'     => '&thorn;',   // latin small letter thorn
-                  '&#255;'     => '&yuml;',    //
-                  '&#338;'     => '&OElig;',   // latin capital ligature OE
-                  '&#339;'     => '&oelig;',   // latin small ligature oe
-                  '&#352;'     => '&Scaron;',  // latin capital letter S with 
caron
-                  '&#353;'     => '&scaron;',  // latin small letter s with 
caron
-                  '&#376;'     => '&Yuml;',    // latin capital letter Y with 
diaeresis
-                  '&#402;'     => '&fnof;' ,   // latin small f with hook
-                  '&#710;'     => '&circ;',    // modifier letter circumflex 
accent
-                  '&#732;'     => '&tilde;',   // small tilde
-                  '&#913;'     => '&Alpha;',   // greek capital letter alpha
-                  '&#914;'     => '&Beta;',    // greek capital letter beta
-                  '&#915;'     => '&Gamma;',   // greek capital letter gamma
-                  '&#916;'     => '&Delta;',   // greek capital letter delta
-                  '&#917;'     => '&Epsilon;', // greek capital letter epsilon
-                  '&#918;'     => '&Zeta;',    // greek capital letter zeta
-                  '&#919;'     => '&Eta;',             // greek capital letter 
eta
-                  '&#920;'     => '&Theta;',   // greek capital letter theta
-                  '&#921;'     => '&Iota;',    // greek capital letter iota
-                  '&#922;'     => '&Kappa;',   // greek capital letter kappa
-                  '&#923;'     => '&Lambda;',  // greek capital letter lambda
-                  '&#924;'     => '&Mu;',              // greek capital letter 
mu
-                  '&#925;'     => '&Nu;',              // greek capital letter 
nu
-                  '&#926;'     => '&Xi;',              // greek capital letter 
xi
-                  '&#927;'     => '&Omicron;', // greek capital letter omicron
-                  '&#928;'     => '&Pi;',              // greek capital letter 
pi
-                  '&#929;'     => '&Rho;',             // greek capital letter 
rho
-                  '&#931;'     => '&Sigma;',   // greek capital letter sigma
-                  '&#932;'     => '&Tau;',             // greek capital letter 
tau
-                  '&#933;'     => '&Upsilon;', // greek capital letter upsilon
-                  '&#934;'     => '&Phi;',             // greek capital letter 
phi
-                  '&#935;'     => '&Chi;',             // greek capital letter 
chi
-                  '&#936;'     => '&Psi;',             // greek capital letter 
psi
-                  '&#937;'     => '&Omega;',   // greek capital letter omega
-                  '&#945;'     => '&alpha;',   // greek small letter alpha
-                  '&#946;'     => '&beta;',    // greek small letter beta
-                  '&#947;'     => '&gamma;',   // greek small letter gamma
-                  '&#948;'     => '&delta;',   // greek small letter delta
-                  '&#949;'     => '&epsilon;', // greek small letter epsilon
-                  '&#950;'     => '&zeta;',    // greek small letter zeta
-                  '&#951;'     => '&eta;',             // greek small letter 
eta
-                  '&#952;'     => '&theta;',   // greek small letter theta
-                  '&#953;'     => '&iota;',    // greek small letter iota
-                  '&#954;'     => '&kappa;',   // greek small letter kappa
-                  '&#955;'     => '&lambda;',  // greek small letter lambda
-                  '&#956;'     => '&mu;',              // greek small letter mu
-                  '&#957;'     => '&nu;',              // greek small letter nu
-                  '&#958;'     => '&xi;',              // greek small letter xi
-                  '&#959;'     => '&omicron;', // greek small letter omicron
-                  '&#960;'     => '&pi;',              // greek small letter pi
-                  '&#961;'     => '&rho;',             // greek small letter 
rho
-                  '&#962;'     => '&sigmaf;',  // greek small letter final 
sigma
-                  '&#963;'     => '&sigma;',   // greek small letter sigma
-                  '&#964;'     => '&tau;',             // greek small letter 
tau
-                  '&#965;'     => '&upsilon;', // greek small letter upsilon
-                  '&#966;'     => '&phi;',             // greek small letter 
phi
-                  '&#967;'     => '&chi;',             // greek small letter 
chi
-                  '&#968;'     => '&psi;',             // greek small letter 
psi
-                  '&#969;'     => '&omega;',   // greek small letter omega
-                  '&#977;'     => '&thetasym;',        // greek small letter 
theta symbol
-                  '&#978;'     => '&upsih;',   // greek upsilon with hook 
symbol
-                  '&#982;'     => '&piv;',             // greek pi symbol
-                  '&#8194;'    => '&ensp;',    // en space
-                  '&#8195;'    => '&emsp;',    // em space
-                  '&#8201;'    => '&thinsp;',  // thin space
-                  '&#8204;'    => '&zwnj;',    // zero width non-joiner
-                  '&#8205;'    => '&zwj;',             // zero width joiner
-                  '&#8206;'    => '&lrm;',             // left-to-right mark
-                  '&#8207;'    => '&rlm;',             // right-to-left mark
-                  '&#8211;'    => '&ndash;',   // en dash
-                  '&#8212;'    => '&mdash;',   // em dash
-                  '&#8216;'    => '&lsquo;',   // left single quotation mark
-                  '&#8217;'    => '&rsquo;',   // right single quotation mark
-                  '&#8218;'    => '&sbquo;',   // single low-9 quotation mark
-                  '&#8220;'    => '&ldquo;',   // left double quotation mark
-                  '&#8221;'    => '&rdquo;',   // right double quotation mark
-                  '&#8222;'    => '&bdquo;',   // double low-9 quotation mark
-                  '&#8224;'    => '&dagger;',  // dagger
-                  '&#8225;'    => '&Dagger;',  // double dagger
-                  '&#8226;'    => '&bull;',    // bullet
-                  '&#8230;'    => '&hellip;',  // horizontal ellipsis
-                  '&#8240;'    => '&permil;',  // per mille sign
-                  '&#8242;'    => '&prime;',   // primeminutes
-                  '&#8243;'    => '&Prime;',   // double prime
-                  '&#8249;'    => '&lsaquo;',  // single left-pointing angle 
quotation mark
-                  '&#8250;'    => '&rsaquo;',  // single right-pointing angle 
quotation mark
-                  '&#8254;'    => '&oline;',   // overline
-                  '&#8260;'    => '&frasl;',   // fraction slash
-                  '&#8364;'    => '&euro;',    // euro sign
-                  '&#8465;'    => '&image;',   // blackletter capital I
-                  '&#8472;'    => '&weierp;',  // script capital P
-                  '&#8476;'    => '&real;',    // blackletter capital R
-                  '&#8482;'    => '&trade;',   // trade mark sign
-                  '&#8501;'    => '&alefsym;', // alef symbol
-                  '&#8592;'    => '&larr;',    // leftwards arrow
-                  '&#8593;'    => '&uarr;',    // upwards arrow
-                  '&#8594;'    => '&rarr;',    // rightwards arrow
-                  '&#8595;'    => '&darr;',    // downwards arrow
-                  '&#8596;'    => '&harr;',    // left right arrow
-                  '&#8629;'    => '&crarr;',   // downwards arrow with corner 
leftwards
-                  '&#8656;'    => '&lArr;',    // leftwards double arrow
-                  '&#8657;'    => '&uArr;',    // upwards double arrow
-                  '&#8658;'    => '&rArr;',    // rightwards double arrow
-                  '&#8659;'    => '&dArr;',    // downwards double arrow
-                  '&#8660;'    => '&hArr;',    // left right double arrow
-                  '&#8704;'    => '&forall;',  // for all
-                  '&#8706;'    => '&part;',    // partial differential
-                  '&#8707;'    => '&exist;',   // there exists
-                  '&#8709;'    => '&empty;',   // empty set
-                  '&#8711;'    => '&nabla;',   // nabla
-                  '&#8712;'    => '&isin;',    // element of
-                  '&#8713;'    => '&notin;',   // not an element of
-                  '&#8715;'    => '&ni;',              // contains as member
-                  '&#8719;'    => '&prod;',    // n-ary product
-                  '&#8721;'    => '&sum;',             // n-ary sumation
-                  '&#8722;'    => '&minus;',   // minus sign
-                  '&#8727;'    => '&lowast;',  // asterisk operator
-                  '&#8730;'    => '&radic;',   // square root
-                  '&#8733;'    => '&prop;',    // proportional to
-                  '&#8734;'    => '&infin;',   // infinity
-                  '&#8736;'    => '&ang;',             // angle
-                  '&#8743;'    => '&and;',             // logical and
-                  '&#8744;'    => '&or;',              // logical or
-                  '&#8745;'    => '&cap;',             // intersection
-                  '&#8746;'    => '&cup;',             // union
-                  '&#8747;'    => '&int;',             // integral
-                  '&#8756;'    => '&there4;',  // therefore
-                  '&#8764;'    => '&sim;',             // tilde operator
-                  '&#8773;'    => '&cong;',    // approximately equal to
-                  '&#8776;'    => '&asymp;',   // almost equal to
-                  '&#8800;'    => '&ne;',              // not equal to
-                  '&#8801;'    => '&equiv;',   // identical to
-                  '&#8804;'    => '&le;',              // less-than or equal to
-                  '&#8805;'    => '&ge;',              // greater-than or 
equal to
-                  '&#8834;'    => '&sub;',             // subset of
-                  '&#8835;'    => '&sup;',             // superset of
-                  '&#8836;'    => '&nsub;',    // not a subset of
-                  '&#8838;'    => '&sube;',    // subset of or equal to
-                  '&#8839;'    => '&supe;',    // superset of or equal to
-                  '&#8853;'    => '&oplus;',   // circled plus
-                  '&#8855;'    => '&otimes;',  // circled times
-                  '&#8869;'    => '&perp;',    // up tack
-                  '&#8901;'    => '&sdot;',    // dot operator
-                  '&#8968;'    => '&lceil;',   // left ceiling
-                  '&#8969;'    => '&rceil;',   // right ceiling
-                  '&#8970;'    => '&lfloor;',  // left floor
-                  '&#8971;'    => '&rfloor;',  // right floor
-                  '&#9001;'    => '&lang;',    // left-pointing angle bracket
-                  '&#9002;'    => '&rang;',    // right-pointing angle bracket
-                  '&#9674;'    => '&loz;',             // lozenge
-                  '&#9824;'    => '&spades;',  // black spade suit
-                  '&#9827;'    => '&clubs;',   // black club suit
-                  '&#9829;'    => '&hearts;',  // black heart suit
-                  '&#9830;'    => '&diams;'    // black diam suit
-                  );
-
-    // split entities for use in str_replace()
-    foreach($codes as  $unicode_entity => $html_entity) {
-      $unicode_entities[] = $unicode_entity;
-      $html_entities[] = $html_entity;
-    }
-  }
-  // transcode HTML entities to Unicode
-  if($to_unicode)
-    return str_replace($html_entities, $unicode_entities, $input);
-
-  // transcode Unicode entities to HTML entities
-  else
-    return str_replace($unicode_entities, $html_entities, $input);
-}
-
-/**
- * transcode multi-byte characters to HTML representations for Unicode
- *
- * This function is aiming to preserve Unicode characters through storage in a 
ISO-8859-1 compliant system.
- *
- * Every multi-byte UTF-8 character is transformed to its equivalent HTML 
numerical entity (eg, &amp;#4568;)
- * that may be handled safely by PHP and by MySQL.
- *
- * Of course, this solution does not allow for full-text search in the 
database and therefore, is not a
- * definitive solution to internationalization issues.
- * It does enable, however, practical use of Unicode to build pages in foreign 
languages.
- *
- * Also, this function transforms HTML entities into their equivalent Unicode 
entities.
- * For example, w.bloggar posts pages using HTML entities.
- * If you have to modify these pages using web forms, you would like to get 
UTF-8 instead.
- *
- * @link 
http://www.evolt.org/article/A_Simple_Character_Entity_Chart/17/21234/ A Simple 
Character Entity Chart
- *
- * @param string the original UTF-8 string
- * @return a string acceptable in an ISO-8859-1 storage system (ie., PHP4 + 
MySQl 3)
- */
-function to_unicode($input) {
-  // transcode HTML entities to Unicode entities
-  $input = transcode($input);
-  // scan the whole string
-  $output = '';
-  $index = 0;
-  while($index < strlen($input)) {
-    // look at one char
-    $char = ord($input[$index]);
-    // one byte (0xxxxxxx)
-    if ($char < 0x80) {
-      // some chars may be undefined
-      $output .= chr($char);
-      $index += 1;
-      // two bytes (110xxxxx 10xxxxxx)
-    } else if ($char < 0xE0) {
-      // strip weird sequences (eg, C0 80 -> NUL)
-      if($value = (($char % 0x20) * 0x40) + (ord($input[$index + 1]) % 0x40))
-       $output .= '&#' . $value . ';';
-      $index += 2;
-      // three bytes (1110xxxx 10xxxxxx 10xxxxxx) example: euro sign = 
\xE2\x82\xAC -> &#8364;
-    } else if ($char < 0xF0) {
-      // strip weird sequences
-      if($value = (($char % 0x10) * 0x1000) + ((ord($input[$index + 1]) % 
0x40) * 0x40) + (ord($input[$index + 2]) % 0x40))
-       $output .= '&#' . $value . ';';
-      $index += 3;
-      // four bytes (11110xxx 10xxxxxx 10xxxxxx 10xxxxxx)
-    } else if($char < 0xF8) {
-      // strip weird sequences
-      if ($value = (($char % 0x08) * 0x40000) + ((ord($input[$index + 1]) % 
0x40) * 0x1000) + ((ord($input[$index + 2]) % 0x40) * 0x40)
-        + (ord($input[$index + 3]) % 0x40))
-       $output .= '&#' . $value . ';';
-      $index += 4;
-      // five bytes (111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx)
-    } else if($char < 0xFC) {
-      // strip weird sequences
-      if ($value = (($char % 0x04) * 0x1000000) + ((ord($input[$index + 1]) % 
0x40) * 0x40000) + ((ord($input[$index + 2]) % 0x40) * 0x1000)
-        + ((ord($input[$index + 3]) % 0x40) * 0x40) + (ord($input[$index + 4]) 
% 0x40))
-       $output .= '&#' . $value . ';';
-      $index += 5;
-      // six bytes (1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx)
-    } else {
-      // strip weird sequences
-      if ($value = (($char % 0x02) * 0x40000000) + ((ord($input[$index + 1]) % 
0x40) * 0x1000000) + ((ord($input[$index + 2]) % 0x40) * 0x40000)
-        + ((ord($input[$index + 3]) % 0x40) * 0x1000) + ((ord($input[$index + 
4]) % 0x40) * 0x40) + (ord($input[$index + 4]) % 0x40))
-       $output .= '&#' . $value . ';';
-      $index += 6;
-    }
-  }
-  // return the translated string
-  return $output;
-}
-
-// returns either the translated string or the original string.
-// Assumes we are passed the original string as occurs in text; result
-// will be html tokenized by htmlentities() using UTF8.
-// $i18nHTMLhasTranslation is set to nonzero value if a translation is
-// available or failure connecting to database, otherwise it is set to
-// 0.
-function translation_query($a) {
-  global $connection;
-  global $lang;
-  global $i18nHTMLrecordMode;
-  global $i18nHTMLhasTranslation, $i18nHTMLsqlPrefix;
-
-  $i18nHTMLhasTranslation = 1; // assume translation until failure
-
-  if ($a == "")
-    return $a;
-  $a = fix($a);
-  $a_sql = quote_smart($a);
-  if (!$connection) {
-    // database not available, just print English
-    return $a;
-  }
-
-  if ("English" == $lang) {
-    // no need to translate english, that's the
-    // hard-wired source language!
-    if ($i18nHTMLrecordMode == 2) {
-      // if not already in pending table (and recordMode set to allow us)
-      // then insert this string into it
-      $query = "SELECT count FROM ".$i18nHTMLsqlPrefix."pending WHERE 
c=\"$a_sql\" AND lang=\"$lang\"";
-      $result = mysql_query($query, $connection);
-      $num = 0;
-      if ($result)
-        $num = mysql_num_rows($result);
-      if (0 == $num) {
-        $query = "INSERT INTO ".$i18nHTMLsqlPrefix."pending VALUES(\"$a_sql\", 
\"$lang\", 0)";
-        mysql_query($query, $connection);
-      }
-    }
-    return $a;
-  }
-  // attempt to get translations, ranked for best
-  $query = "SELECT translation FROM ".$i18nHTMLsqlPrefix."map WHERE 
name=\"$a_sql\" AND lang=\"$lang\" ORDER BY ranking DESC";
-  $result = mysql_query($query, $connection);
-  $num = 0;
-  if ($result)
-    $num = mysql_num_rows($result);
-  if (0 == $num) {  // didn't find a translation
-    if ($i18nHTMLrecordMode > 0) {
-      // either insert untranslated item into pending table or update
-      // referenced count; count is used to display more used strings
-      // during mass translation before less common ones.
-      $query = "SELECT count FROM ".$i18nHTMLsqlPrefix."pending WHERE 
c=\"$a_sql\" AND lang=\"$lang\"";
-      $result = mysql_query($query, $connection);
-      $num = 0;
-      if ($result)
-        $num = mysql_numrows($result);
-      $count = 0;
-      if ($num > 0) {
-        $row = mysql_fetch_array($result);
-        $count = $row["count"] + 1;
-        $query = "UPDATE ".$i18nHTMLsqlPrefix."pending SET count=$count WHERE 
c=\"$a_sql\" AND lang=\"$lang\"";
-      } else {
-        $query = "INSERT INTO ".$i18nHTMLsqlPrefix."pending VALUES(\"$a_sql\", 
\"$lang\", 1)";
-      }
-      mysql_query($query, $connection);
-
-    }
-    $i18nHTMLhasTranslation = 0; // no translation was found
-    return $a;              // just return English string
-  } else { // translation available
-
-    $row = mysql_fetch_array($result);
-    return $row["translation"];
-  }
-}
-
-// *************************************************
-// Fundamental i18nHTML API functions
-// *************************************************
-
-// translate the sentence $a and return the result.
-function TRANSLATE_($a,$args=null) {
-  if ($a == "")
-    return 0;
-  return vsprintf(translation_query($a), $args);
-}
-
-// translate the sentence $a and output just
-// the translated text (without link to translate.php)
-function TRANSLATE($a,$args=null) {
-  echo TRANSLATE_($a);
-}
-
-// translate the sentence $a adding a link
-// to enable editing translations and return the result.
-function W_($a,$args=null) {
-  if ($a == "")
-    return 0;
-  return TRANSLATE_($a,$args) . translateLink_($a);
-}
-
-// translate the sentence $a appending a link
-// to enable edit the translation and output the
-// result.
-function W($a, $args=NULL) {
-  if ($a != "")
-    echo W_($a, $args) . "\n";
-}
-
-// create internationalized, internal link to
-// $a.php with description $b
-function intlink_($a, $b) {
-  global $lang;
-
-  $ret = "<a href=\"" . $a . "?xlang=" . $lang . "\">" . TRANSLATE_($b) . 
"</a>";
-  $ret = $ret . translateLink_($b);
-  return $ret;
-}
-
-// create internationalized, internal link to
-// $a.php with description $b
-function intlink($a, $b) {
-  echo intlink_($a, $b);
-}
-
-// create internationalized, external link to
-// $a with description $b
-function extlink_($a, $b) {
-  $ret = "<a href=\"" . $a . "\">" . TRANSLATE_($b) . "</a>" . 
translateLink_($b);
-  return $ret;
-}
-
-// create internationalized, external link to
-// $a with description $b
-function extlink($a, $b) {
-  echo extlink_($a, $b);
-}
-
-
-// *************************************************
-// global, call-once helper functions
-// *************************************************
-
-// outputs appropriate DOCTYPE declaration for the document
-// this should be the 1st line in your php file after including
-// i18nhtml.inc.  Valid types are: HTML for HTML 4 documents,
-// XHTML1 for xhtml 1.0 documents, and XHTML1.1 for xhtml 1.1
-// defaulting to HTML4 if $type is blank or unknown.  An optional
-// $mode may be specified, it must be one of "Transitional",
-// "Strict", or "Frameset", defaulting to "Transitional".
-// Note for XHTML1.1 $mode is ignored.
-// example:
-//           include("i18nhtml.inc");
-//           DOCTYPE("XHTML1");
-function DOCTYPE($type=null, $mode=null) {
-  // depending on $mode, use appropriate dtd
-  if ($mode == "Strict") {
-    $dtd = "strict";
-    if ($type != "XHTML1") // Strict not specified except for XHTML1.0
-      $mode = "";
-  } else if ($mode == "Frameset") {
-    $dtd = "frameset";
-  } else { // $mode == Transitional, default, or unknown
-    $dtd = "loose";
-    $mode = "Transitional";
-  }
-  if ($type == "XHTML1")
-    echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 " . $mode . "//EN\" 
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-"; . $dtd . ".dtd\">\n";
-  else if ($type == "XHTML1.1")
-    echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" 
\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\";>\n";
-  else
-    echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 " . $mode . "//EN\" 
\"http://www.w3.org/TR/html4/"; . $dtd . ".dtd\">\n";
-}
-
-function TITLE($a,$b="") {
-  global $lang;
-  global $languagecodes;
-  echo "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" 
>";
-  echo "<title>" . TRANSLATE_($a,$b) . "</title>\n";
-  if (isset($languagecodes[$lang])) {
-    echo "<meta name=\"content-language\" content=\"" .
-         $languagecodes[$lang] . "\">";
-    echo "<meta name=\"language\" content=\"" .
-         $languagecodes[$lang] . "\">";
-  }
-}
-
-// displays a list of all languages currently available with
-// at least 1 translated string.
-function generateLanguageBar() {
-  global $connection, $i18nHTMLsqlPrefix;
-
-  if ($connection) {
-    echo "<center>[";
-    $query = "SELECT DISTINCT lang FROM ".$i18nHTMLsqlPrefix."map ORDER BY 
lang";
-//     die($query);
-    $result = mysql_query($query, $connection);
-    $num = 0;
-    if ($result)
-      $num = mysql_numrows($result);
-    echo "<a href=\"?xlang=English\">";
-    W("English");
-    echo "</a>";
-    $last = "English";
-    for ($i=0;$i<$num;$i++) {
-      $row = mysql_fetch_array($result);
-      $next = $row["lang"];
-      if ($next == $last)
-        continue;
-      echo " | ";
-      echo "<a href=\"?xlang=$next\">" . W_($next) . "</a>";
-      $last = $next;
-    }
-    echo "]</center>";
-  }
-}
-
-
-// displays text at the bottom of the page to indicate
-// translation mode (including link to active) and
-// copyright notice for i18nHTML.
-function generateFooter() {
-  global $xlang;
-  global $editor;
-  global $HTTP_SERVER_VARS;
-
-  P();
-  echo "Translation engine based on <a 
href=\"http://gnunet.org/i18nHTML/\";>i18nHTML</a> (C) 2003, 2004, 2005 <a 
href=\"http://grothoff.org/christian/\";>Christian Grothoff</a>.<br />\n";
-  if ( ($xlang) && ($xlang != "English") ) {
-    $protocol = "http";
-    if ($HTTP_SERVER_VARS["HTTPS"] == "on") {
-       $protocol = "https"; // switch to https
-    }
-    $back = $protocol . "://" . $HTTP_SERVER_VARS["HTTP_HOST"] . 
$HTTP_SERVER_VARS["REQUEST_URI"];
-    echo "<center><small>\n";
-    if ($editor != 1)
-      echo " <a href=\"$back&amp;editor=1\">" . W_("enter translation mode") . 
"</a>";
-    else
-      W(" Translation Mode Active (for this page only)");
-    echo "</small></center>\n";
-  }
-  echo "</p>\n";
-}
-
-
-
-// *************************************************
-// HTML construct helper functions
-// *************************************************
-
-function LI($a,$b="") {
-  echo "<li>" . W_($a,$b) . "</li>\n";
-}
-function TH($a,$b="") {
-  echo "<th>" . W_($a,$b) . "</th>\n";
-}
-function TD($a,$b="") {
-  echo "<td>" . W_($a,$b) . "</td>\n";
-}
-function DT($a,$b="") {
-  echo "<dt>" . W_($a,$b) . "</dt>\n";
-}
-function DD($a,$b="") {
-  echo "<dd>" . W_($a,$b) . "</dd>\n";
-}
-function H1($a,$b="") {
-  echo "<h1>" . W_($a,$b) . "</h1>\n";
-}
-function H2($a,$b="") {
-  echo "<h2>" . W_($a,$b) . "</h2>\n";
-}
-function H3($a,$b="") {
-  echo "<h3>" . W_($a,$b) . "</h3>\n";
-}
-function H4($a,$b="") {
-  echo "<h4>" . W_($a,$b) . "</h4>\n";
-}
-function H5($a,$b="") {
-  echo "<h5>" . W_($a,$b) . "</h5>\n";
-}
-function PRE($a) {
-  echo "<pre>" . $a . "</pre>";
-}
-// 'verbatim' (untranslated) "li"
-function LIV($a) {
-  echo "<li>" . $a . "</li>\n";
-}
-function BP($attr="") {
-  echo "<p $attr>\n";
-}
-function EP() {
-  echo "</p>\n";
-}
-function BOL($attr="") {
-  echo "<ol $attr>\n";
-}
-function EOL() {
-  echo "</ol>\n";
-}
-function P($attr="") {
-  EP();
-  BP($attr);
-}
-function BR($attr="") {
-  echo "<br $attr/>\n";
-}
-function HR() {
-  echo "<hr/>\n";
-}
-function DTDD($a,$b,$args=null) {
-  DT($a);
-  DD($b,$args);
-}
-function LILI($a,$b) {
-  if ( ($a[0] == '#') ||
-       ( ($a[0] == 'h') &&
-         ($a[1] == 't') &&
-         ($a[2] == 't') &&
-         ($a[3] == 'p') ) ) {
-    echo "<li>" . extlink_($a,$b) . "</li>\n";
-  } else {
-    echo "<li>" . intlink_($a,$b) . "</li>\n";
-  }
-}
-function ANCHOR($a) {
-  echo "<a name=\"$a\"></a>\n";
-}
-function IMG_($src, $alt, $align="CENTER", $width, $height, $border=0, 
$hspace=0, $vspace=0) {
-  $ret = "";
-
-  if ($align == "CENTER")
-    $ret = $ret . "<p><center>\n";
-  $ret = $ret . "<img src=\"" . $src . "\" alt=\"";
-  $ret = $ret . TRANSLATE_($alt);
-  $ret = $ret . "\" align=\"" . $align . "\" width=$width height=$height 
border=$border hspace=$hspace vspace=$vspace>\n";
-  $ret = $ret . translateLink_($alt);
-  if ($align == "CENTER")
-    $ret = $ret . "</center></p>\n";
-  return $ret;
-}
-function IMG($src, $alt, $align="CENTER", $width, $height, $border=0, 
$hspace=0, $vspace=0) {
-  echo IMG_($src, $alt, $align, $width, $height, $border, $hspace, $vspace);
-}
-?>

Deleted: Extractor-docs/WWW/i18nhtml_config.inc.php
===================================================================
--- Extractor-docs/WWW/i18nhtml_config.inc.php  2007-01-07 00:06:26 UTC (rev 
4227)
+++ Extractor-docs/WWW/i18nhtml_config.inc.php  2007-01-07 00:15:04 UTC (rev 
4228)
@@ -1,36 +0,0 @@
-<?php
-/*
-     (C) 2003, 2004 Christian Grothoff
-
-     This code is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
-     option) any later version.
-
-     The code 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
-     General Public License for more details.
-
-     You should have received a copy of the GNU General Public License
-     along with the code; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-
-  // Use this file to configure i18nHTML
-
-// -- use 0 when /. comes...
-$i18nHTMLrecordMode = 2; // 1: only missing, 2: everything, 0: disable
-
-$i18nHTMLsqlServer = "localhost";
-$i18nHTMLsqlUser = "GNUnetWWW";
-$i18nHTMLsqlPass = "garlic";
-
-$i18nHTMLsqlDB = "translations"; // default is "translation"
-$i18nHTMLbase = "";  // base directory prepended to i18nHTML php pages used in 
links
-$i18nHTMLmarker = "*";  // default value if never changed
-
-$i18nHTMLsqlPrefix = ""; // use this if you want to have a prefix for the SQL 
table names used by i18nHTML
-
-?>

Deleted: Extractor-docs/WWW/start.php
===================================================================
--- Extractor-docs/WWW/start.php        2007-01-07 00:06:26 UTC (rev 4227)
+++ Extractor-docs/WWW/start.php        2007-01-07 00:15:04 UTC (rev 4228)
@@ -1,29 +0,0 @@
-<?php
-include("i18nhtml.inc.php");
-DOCTYPE("HTML", "Transitional");
-echo "<html><head>\n";
-TITLE("Documentation");
-echo "</head><body>";
-generateLanguageBar();
-H2("Documentation");
-H3("i18nHTML");
-W("These webpages uses %s to internationalize the documentation.",
-  extlink_("http://gnunet.org/i18nHTML/";, "i18nHTML"));
-W("Please feel encouraged to help, for example by translating some of the 
pages to your native language.");
-W("Just view the pages in your language and click on the &quot;*&quot; after a 
sentence to translate it.");
-W("You can start a new language by adding <tt>lang=LANGUAGE</tt> after the 
<tt>.php3</tt> in the URL.");
-W("The translations incorporate a voting system, the highest ranked 
translation is displayed.");
-W("English is always the source language.");
-W("Only developers can change the source, contact them if you find problems.");
-W("On the translation page, you find all other translations.");
-W("You can also vote for a specific translation by clicking on the respective 
sentence.");
-W("You are allowed to vote multiple times for the same sentence, e.g. to 
express strong feelings. :-)");
-W("The system logs your IP and allows the administrator to easily undo all 
operations that were performed from a certain IP address.");
-if ($xlang && ($xlang != "English") ) {
-  W("You can translate the most commonly requested untranslated sentences for 
your language using the %s.",
-    intlink_("editor.php", "mass translation page"));
- }
-
-generateFooter();
-echo "</body></html>\n";
-?>

Deleted: Extractor-docs/WWW/status.php
===================================================================
--- Extractor-docs/WWW/status.php       2007-01-07 00:06:26 UTC (rev 4227)
+++ Extractor-docs/WWW/status.php       2007-01-07 00:15:04 UTC (rev 4228)
@@ -1,93 +0,0 @@
-<?php
-/*
-     (C) 2003, 2004, 2005 Christian Grothoff
-
-     This code is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
-     option) any later version.
-
-     The code 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
-     General Public License for more details.
-
-     You should have received a copy of the GNU General Public License
-     along with the code; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-  // This file can be used to obtain some statistics
-  // about the progress of the translation.
-  // It has no other purpose.
-
-include("i18nhtml.inc.php");
-if (!$connection) {
-  echo "Database is down.";
-  die();
- }
-$mode = $_REQUEST['mode'];
-DOCTYPE("HTML", "Transitional");
-echo "<html><head>\n";
-TITLE("Translation: status");
-echo "</head><body>";
-W("Language setting is %s.",
-  $lang);
-P();
-$query = "SELECT count FROM ".$i18nHTMLsqlPrefix."pending WHERE 
lang=\"English\"";
-$result = mysql_query($query, $connection);
-$num = 0;
-if ($result)
-  $num = mysql_numrows($result);
-W("Sentences in the original English text: %s",
-  $num);
-P();
-if ($mode == 1) {
-  H2("All available translations");
-  echo "<table border='5'>\n";
-  echo "<tr>";
-  TH("Original");
-  TH("Language");
-  TH("Translation");
-  TH("Votes");
-  echo "</tr>\n";
-}
-$stats = ARRAY();
-$query = "SELECT name,ranking,translation,lang FROM ".$i18nHTMLsqlPrefix."map";
-$result = mysql_query($query, $connection);
-$num = 0;
-if ($result)
-  $num = mysql_numrows($result);
-for ($i=0;$i<$num;$i++) {
-  $row = mysql_fetch_array($result);
-  $text = stripslashes($row["name"]);
-  $translation = stripslashes($row["translation"]);
-  $ranking = $row["ranking"];
-  $stats[$row["lang"]]++;
-  if ($mode == 1) {
-    printf("<tr><td>%s</td><td>%s</td><td><a href=\"vote.php3?" .
-           "lang=%s&text=%s&translation=%s\">%s</a></td><td>%s</td></tr>\n",
-          $text,
-          $row["lang"],
-          urlencode($row["lang"]),
-          urlencode($text),
-          urlencode($translation),
-          $translation,
-          $ranking);
-  }
-}
-if ($mode == 1) {
-  echo "</table>";
-  P();
-  HR();
-  P();
-}
-W("%s translated sentences in database.", $num);
-P();
-foreach ($stats as $a => $b) {
-  W("%s translations available in %s.", ARRAY($b, $a));
-  BR();
-}
-generateFooter();
-echo "</body></html>";
-?>
\ No newline at end of file

Deleted: Extractor-docs/WWW/translate.php
===================================================================
--- Extractor-docs/WWW/translate.php    2007-01-07 00:06:26 UTC (rev 4227)
+++ Extractor-docs/WWW/translate.php    2007-01-07 00:15:04 UTC (rev 4228)
@@ -1,96 +0,0 @@
-<?php
-/*
-     (C) 2003, 2004, 2005 Christian Grothoff
-
-     This code is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
-     option) any later version.
-
-     The code 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
-     General Public License for more details.
-
-     You should have received a copy of the GNU General Public License
-     along with the code; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-include("i18nhtml.inc.php");
-if (!$connection) {
-  echo "Database is down. Cannot edit translations.";
-  die();
-}
-$text     = fix($_REQUEST['text']);
-$text_sql = quote_smart($text);
-$text_url = urlencode($text);
-$back = $_REQUEST['back'];
-DOCTYPE("HTML", "Transitional");
-echo "<html><head>\n";
-TITLE("WWW translation");
-echo "<meta name=\"description\" content=\"";
-TRANSLATE("Help translating this webpage.");
-echo "\">";
-echo "</head><body>";
-if ($lang == "English") {
-  echo "Cannot translate to English.";
-  die();
- }
-H2("Original Text");
-echo htmlentities($text);
-H2("Translation");
-W("Destination language: ");
-W($lang);
-P();
-echo "<form method=\"POST\" action=\"" . $i18nHTMLbase . 
"commitTranslation.php\">\n";
-echo "<input type=hidden name=\"text\" value=\"$text_url\">\n";
-echo "<input type=hidden name=\"xlang\" value=\"$xlang\">\n";
-echo "<input type=hidden name=\"back\" value=\"$back\">\n";
-W("Translated text:");
-echo "<input size=\"80%\" maxlength=\"65535\" name=\"translation\">\n";
-echo "<input type=submit value=\"" .
-     TRANSLATE_("I hereby give this translation into the Public Domain 
(commit)") .
-     "\">\n";
-echo "</form>\n";
-P();
-
-H2("All available translations");
-echo "<table border=5 width=95%>\n";
-echo "<tr><th>" . W_("Language") . "</th><th>" . W_("Translation") . 
"</th></tr>\n";
-$query = "SELECT translation,lang FROM ".$i18nHTMLsqlPrefix."map WHERE 
name=\"$text_sql\" ORDER BY ranking DESC";
-$result = mysql_query($query, $connection);
-$num = 0;
-if ($result)
-  $num = mysql_num_rows($result);
-for ($i=0;$i<$num;$i++) {
-  $row = mysql_fetch_array($result);
-  $translation = $row["translation"];
-  printf("<tr><td>%s</td><td><a href=\"" . $i18nHTMLbase .
-         "vote.php?xlang=%s&text=%s&translation=%s\">%s</a></td></tr>\n",
-         W_($row["lang"]),
-         urlencode($row["lang"]),
-         urlencode($text_url),  // yes, we need urlencode twice!
-         urlencode(urlencode($translation)), // yes, we need urlencode twice!
-         fix($translation));
-}
-echo "</table>";
-H2("Remarks");
-H3("The percent sign");
-W("The %% sign is a special character.");
-W("You must use %%%% in the text to print a single percent sign.");
-W("The sequence %%s is used as a placeholder for links.");
-W("Currently, the translation can only access the links in the same order as 
the original text.");
-P();
-H3("Language specific special characters");
-W("Various languages use special characters.");
-W("The code has not been tested with certain character sets, such as 
Chinese.");
-W("If you are trying to translate the page to such a language, please contact 
the developerws if you encounter any problems.");
-P();
-H3("Copyright");
-W("The original english text is released under the GNU Free Documentation 
License (FDL).");
-W("Translations submitted to the webpage must be released to the public domain 
to ensure that we will not have any legal trouble.");
-W("If you have concerns or remarks regarding this policy, feel free to bring 
them to our attention.");
-generateFooter();
-echo "</body></html>";
-?>

Deleted: Extractor-docs/WWW/vote.php
===================================================================
--- Extractor-docs/WWW/vote.php 2007-01-07 00:06:26 UTC (rev 4227)
+++ Extractor-docs/WWW/vote.php 2007-01-07 00:15:04 UTC (rev 4228)
@@ -1,55 +0,0 @@
-<?php
-/*
-     (C) 2003, 2004, 2005 Christian Grothoff
-
-     This code is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
-     option) any later version.
-
-     The code 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
-     General Public License for more details.
-
-     You should have received a copy of the GNU General Public License
-     along with the code; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-// This file records votes from users for translations.
-// For sentences with multiple translations, the one with the most
-// votes is displayed.
-include("i18nhtml.inc.php");
-DOCTYPE("HTML", "Transitional");
-echo "<html><head>";
-TITLE("WWW translation: vote");
-echo "</head><body>";
-if (!$connection) {
-  echo "Database is down. Cannot edit translations.";
-  die();
- }
-$text            = fix(urldecode($_REQUEST['text']));
-$translation     = fix(urldecode($_REQUEST['translation']));
-$text_sql        = quote_smart($text);
-$translation_sql = quote_smart(to_unicode($translation));
-
-$query = "SELECT ranking FROM ".$i18nHTMLsqlPrefix."map WHERE " .
-         "name=\"$text_sql\" AND lang=\"$lang\" AND 
translation=\"$translation_sql\"";
-$result = mysql_query($query, $connection);
-$num = 0;
-if ($result)
-  $num = mysql_numrows($result);
-if ($num > 0) {
-  $row = mysql_fetch_array($result);
-  $ranking = $row["ranking"] + 1;
-  $query = "UPDATE ".$i18nHTMLsqlPrefix."map SET ranking=\"$ranking\" WHERE " .
-           "name=\"$text_sql\" AND lang=\"$lang\" AND 
translation=\"$translation_sql\"";
-  mysql_query($query, $connection);
-  W("Ranking of translation is now: ");
-  echo "$ranking";
-} else {
-  W("Translation '%s' of '%s' does not exist (bug?).",
-    ARRAY($translation, $text));
-}
-?>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]