gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r593 - GNUnet-docs/WWW GNUnet-docs/WWW/gnu.org doodle-docs/


From: grothoff
Subject: [GNUnet-SVN] r593 - GNUnet-docs/WWW GNUnet-docs/WWW/gnu.org doodle-docs/WWW i18nHTML-docs/WWW i18nHTML-docs/WWW/download
Date: Mon, 4 Apr 2005 00:13:05 -0700 (PDT)

Author: grothoff
Date: 2005-04-04 00:12:56 -0700 (Mon, 04 Apr 2005)
New Revision: 593

Added:
   i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.bz2
   i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.gz
Modified:
   GNUnet-docs/WWW/commitMassTranslation.php
   GNUnet-docs/WWW/commitTranslation.php
   GNUnet-docs/WWW/editor.php
   GNUnet-docs/WWW/gnu.org/html_header.php3
   GNUnet-docs/WWW/status.php
   GNUnet-docs/WWW/translate.php
   GNUnet-docs/WWW/vote.php
   doodle-docs/WWW/index.php
   i18nHTML-docs/WWW/index.php
Log:
update

Modified: GNUnet-docs/WWW/commitMassTranslation.php
===================================================================
--- GNUnet-docs/WWW/commitMassTranslation.php   2005-04-04 07:12:19 UTC (rev 
592)
+++ GNUnet-docs/WWW/commitMassTranslation.php   2005-04-04 07:12:56 UTC (rev 
593)
@@ -1,6 +1,6 @@
 <?php
 /*
-     (C) 2003, 2004 Christian Grothoff
+     (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
@@ -19,22 +19,20 @@
 */
 include("i18nhtml.inc");
 if (!$connection) {
-  echo "<html><head><title>WWW translation: commit</title></head><body>";
   echo "Database is down. Cannot edit translations.";
-  echo "</body></html>";
   die();
 }
 if ($xlang == "English") {
-  echo "<html><head><title>WWW translation: commit</title></head><body>";
   W("Translating to English currently not allowed.\n");
-  echo "</body></html>";
   die();
 }
-echo "<html><head><title>WWW translation: commit</title></head><body>";
+echo "<html><head>";
+TITLE("WWW translation: commit");
+echo "</head><body>";
 W("Processing translations...");
 P();
 $done = 0;
-foreach($_GET as $dec=>$val) {
+foreach($_POST as $dec=>$val) {
   if ($val == "")
     continue;
   if ( ($dec == "xlang") || ($dec == "start") )
@@ -48,7 +46,7 @@
     $num--;
     $row = mysql_fetch_array($result);
     if ($dec == bin2hex(md5(urldecode($row["c"])))) {
-      $enc = $row["c"];
+      $enc = mysql_real_escape_string($row["c"]);
       break;
     }
   }
@@ -60,22 +58,30 @@
   }  
   $query = "DELETE FROM pending WHERE lang=\"$lang\" AND c=\"$enc\"";
   mysql_query($query, $connection); 
-  //$t = urlencode($val);
-  $t = urlencode($val);
-  //  $t = urlencode(htmlentities($val, ENT_QUOTES, $charset));
+  $t = mysql_real_escape_string(to_unicode($val));
   $query = "SELECT ranking FROM map WHERE name=\"$enc\" AND lang=\"$lang\" AND 
translation=\"$t\"";
   $result = mysql_query($query, $connection);
   $num = 0;
   if ($result) 
     $num = mysql_numrows($result);
   if ($num == 0) {
-    $query = "INSERT INTO map VALUES(\"$enc\", \"$lang\", \"$t\", 1, \"" . 
$_SERVER['REMOTE_ADDR'] . "\");";
-    mysql_query($query, $connection);
-    $done++;
-    W("Storing translation for &quot;%s&quot = &quot;%s&quot;.",
-      ARRAY(urldecode($enc),
-           urldecode($t)));
-    BR();  
+    $txtCnt = count_chars(urldecode($enc), 1);
+    $tCnt = count_chars($t, 1);
+    if ($txtCnt[ord('%')] != $tCnt[ord('%')]) {
+      W("Commit '%s->%s' failed.", $enc, $t);
+      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 map VALUES(\"$enc\", \"$lang\", \"$t\", 1, \"" . 
$_SERVER['REMOTE_ADDR'] . "\");";
+      mysql_query($query, $connection);
+      $done++;
+      W("Storing translation for &quot;%s&quot = &quot;%s&quot;.",
+        ARRAY(urldecode($enc),
+             urldecode($t)));
+      BR();  
+    }
   }  
 }
 P();

Modified: GNUnet-docs/WWW/commitTranslation.php
===================================================================
--- GNUnet-docs/WWW/commitTranslation.php       2005-04-04 07:12:19 UTC (rev 
592)
+++ GNUnet-docs/WWW/commitTranslation.php       2005-04-04 07:12:56 UTC (rev 
593)
@@ -1,6 +1,6 @@
 <?php
 /*
-     (C) 2003, 2004 Christian Grothoff
+     (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
@@ -18,7 +18,7 @@
      Boston, MA 02111-1307, USA.
 */
 include("i18nhtml.inc");
-$text = $_REQUEST['text'];
+$text = mysql_real_escape_string($_REQUEST['text']);
 $translation = $_REQUEST['translation'];
 $back = $_REQUEST['back'];
 if (!$connection) {
@@ -30,12 +30,7 @@
   die();
 }
 
-// note: $text is already urlencoded (by submitting via form) and html 
compatible
-// ensure translation is stored in encoded form and html compatible
-// if (get_magic_quotes_gpc()) $translation = stripslashes($translation);
-
-// $t = urlencode(htmlentities($translation, ENT_QUOTES, $charset));
-$t = urlencode($translation);
+$t = mysql_real_escape_string(to_unicode($translation));
 // check for identical translation
 $query = "SELECT ranking FROM map WHERE name=\"$text\" AND lang=\"$lang\" AND 
translation=\"$t\"";
 $result = mysql_query($query, $connection);
@@ -44,22 +39,38 @@
   $num = mysql_numrows($result);
 }
 if ($num > 0) {
-  echo "<html><body>";
+  echo "<html><head>";
+  TITLE("Translation exists.");
+  echo "</head><body>";
   W("Translation exists.");   
   extlink($back, "Back...");
   generateFooter();
   echo "</body></html>";
 } else {
-  //  if (!get_magic_quotes_gpc()) $t = addslashes($t); // ensure escaped 
before adding to DB
-  $query = "INSERT INTO map VALUES(\"$text\", \"$lang\", \"$t\", 1, \"" . 
$_SERVER['REMOTE_ADDR'] . "\");";
-  $result = mysql_query($query, $connection);
-  if ($result) {
-    header("Location: " . $back); /* Redirect browser */
+  $txtCnt = count_chars(urldecode($text), 1);
+  $tCnt = count_chars($t, 1);
+  if ($txtCnt[ord('%')] != $tCnt[ord('%')]) {
+      echo "<html><head>";
+      TITLE("Commit failed.");
+      echo "</head><body>";
+      W("Commit failed.");
+      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.");
+      echo "</body></html>";
   } else {
-    echo "<html><body>";
-    W("Commit ('%s') failed: ", $query);
-    echo mysql_error();
-    echo "</body></html>";
+    $query = "INSERT INTO map VALUES(\"$text\", \"$lang\", \"$t\", 1, \"" . 
$_SERVER['REMOTE_ADDR'] . "\");";
+    $result = mysql_query($query, $connection);
+    if ($result) {
+      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>";
+    }
   } 
 }
-?>
+?>
\ No newline at end of file

Modified: GNUnet-docs/WWW/editor.php
===================================================================
--- GNUnet-docs/WWW/editor.php  2005-04-04 07:12:19 UTC (rev 592)
+++ GNUnet-docs/WWW/editor.php  2005-04-04 07:12:56 UTC (rev 593)
@@ -1,6 +1,6 @@
 <?php
 /*
-     (C) 2003, 2004 Christian Grothoff
+     (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
@@ -65,7 +65,7 @@
     ARRAY($start, $end));
   P();
 
-  echo "<form action=\"" . $i18nHTMLbase . "commitMassTranslation.php\">";
+  echo "<form method=\"POST\" action=\"" . $i18nHTMLbase . 
"commitMassTranslation.php\">";
   echo "<input type=hidden name=\"xlang\" value=\"$xlang\">";
   $endp = $end + 1;
   echo "<input type=hidden name=\"start\" value=\"$endp\">";

Modified: GNUnet-docs/WWW/gnu.org/html_header.php3
===================================================================
--- GNUnet-docs/WWW/gnu.org/html_header.php3    2005-04-04 07:12:19 UTC (rev 
592)
+++ GNUnet-docs/WWW/gnu.org/html_header.php3    2005-04-04 07:12:56 UTC (rev 
593)
@@ -4,9 +4,9 @@
 <HEAD>
 <?php
  if ($title) 
-  echo "<title>";
-  TRANSLATE($title);
-  echo "</title>";
+   TITLE($title);
+ else
+   TITLE("GNUnet");
  if ($description) 
   echo "<meta name=\"description\" content=\"";
   TRANSLATE($description);
@@ -16,22 +16,16 @@
 <meta name="keywords" 
content="GNUnet,distributed,anonymous,p2p,sharing,accounting,accountability,denyability,backup,freenet,file,decentralized,free,GNU,Linux,GPL">
 <meta name="robots" content="index,follow">
 <meta name="revisit-after" content="28 days">
-<?php
-echo "<meta name=\"content-language\" content=\"" . $languagecodes[$lang] . 
"\">";
-echo "<meta name=\"language\" content=\"" . $languagecodes[$lang] . "\">";
-?>
 <meta name="publisher" content="Christian Grothoff">
 <meta name="date" content="2004-09-18">
 <?php
 if ($author) 
- echo "<meta name=\"rights\" content=\"(C) 2001,2002,2003,2004 by $author\">";
+ echo "<meta name=\"rights\" content=\"(C) 2001,2002,2003,2004,2005 by 
$author\">";
 else
- echo "<meta name=\"rights\" content=\"(C) 2001,2002,2003,2004 by Christian 
Grothoff\">";
+ echo "<meta name=\"rights\" content=\"(C) 2001,2002,2003,2004,2005 by 
Christian Grothoff\">";
 ?>
 <meta http-equiv="expires" content="43200">
-<meta http-equiv="content-type" content="text/html;CHARSET=iso-8859-1">
 <meta http-equiv="Content-Style-Type" content="text/css">
-<link rel=stylesheet type="text/css" 
HREF="http://www.ovmj.org/GNUnet/gnunet.css";>
 </HEAD>
 <BODY>
 <?php

Modified: GNUnet-docs/WWW/status.php
===================================================================
--- GNUnet-docs/WWW/status.php  2005-04-04 07:12:19 UTC (rev 592)
+++ GNUnet-docs/WWW/status.php  2005-04-04 07:12:56 UTC (rev 593)
@@ -26,9 +26,12 @@
   echo "Database is down.";
   die();
  }
-echo "<html><head><title>";
-TRANSLATE("Translation: status");
-echo "</title></head><body>";
+$mode = $_REQUEST['mode'];
+
+DOCTYPE("HTML", "Transitional");
+echo "<html><head>\n";
+TITLE("Translation: status");
+echo "</head><body>";
 W("Language setting is %s.",
   $lang);
 P();
@@ -87,5 +90,6 @@
   W("in ");
   echo "$a<br>";
 }
+generateFooter();
 echo "</body></html>";
 ?>
\ No newline at end of file

Modified: GNUnet-docs/WWW/translate.php
===================================================================
--- GNUnet-docs/WWW/translate.php       2005-04-04 07:12:19 UTC (rev 592)
+++ GNUnet-docs/WWW/translate.php       2005-04-04 07:12:56 UTC (rev 593)
@@ -27,9 +27,7 @@
 
 DOCTYPE("HTML", "Transitional");
 echo "<html><head>\n";
-echo "<title>";
-TRANSLATE("WWW translation");
-echo "</title>";
+TITLE("WWW translation");
 echo "<meta name=\"description\" content=\"";
 TRANSLATE("Help translating this webpage.");
 echo "\">";
@@ -45,7 +43,7 @@
 W("Destination language: ");
 W($lang);
 P();
-echo "<form action=\"" . $i18nHTMLbase . "commitTranslation.php\">\n";
+echo "<form method=\"POST\" action=\"" . $i18nHTMLbase . 
"commitTranslation.php\">\n";
 echo "<input type=hidden name=\"text\" value=\"" . urlencode($text) . "\">\n";
 echo "<input type=hidden name=\"xlang\" value=\"$xlang\">\n";
 echo "<input type=hidden name=\"back\" value=\"$back\">\n";
@@ -93,9 +91,9 @@
    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),
-         $translation,
-         urldecode($translation));
+         $u,
+         urlencode(from_unicode($translation)),
+         fix(from_unicode($translation)));
  }
 echo "</table>";
 
@@ -121,4 +119,4 @@
 generateFooter();
 echo "</body></html>";
 
-?>
\ No newline at end of file
+?>

Modified: GNUnet-docs/WWW/vote.php
===================================================================
--- GNUnet-docs/WWW/vote.php    2005-04-04 07:12:19 UTC (rev 592)
+++ GNUnet-docs/WWW/vote.php    2005-04-04 07:12:56 UTC (rev 593)
@@ -1,6 +1,6 @@
 <?php
 /*
-     (C) 2003, 2004 Christian Grothoff
+     (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
@@ -21,17 +21,18 @@
   // For sentences with multiple translations, the one with the most
   // votes is displayed.
 include("i18nhtml.inc");
-echo "<html><head><title>";
-W("WWW translation: vote");
-echo "</title></head><body>";
+echo "<html><head>";
+echo "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" >";
+TITLE("WWW translation: vote");
+echo "</head><body>";
 if (!$connection) {
   echo "Database is down. Cannot edit translations.";
   die();
  } 
 $text = $_REQUEST['text'];
 $translation = $_REQUEST['translation'];
-$u = urlencode($text);
-$t = urlencode($translation);
+$u = mysql_real_escape_string($text);
+$t = mysql_real_escape_string(to_unicode($translation));
 echo "text = " . $text . "<br>\n";
 echo "translation = " . $translation . "<br>\n";
 

Modified: doodle-docs/WWW/index.php
===================================================================
--- doodle-docs/WWW/index.php   2005-04-04 07:12:19 UTC (rev 592)
+++ doodle-docs/WWW/index.php   2005-04-04 07:12:56 UTC (rev 593)
@@ -2,67 +2,198 @@
 include("i18nhtml.inc");
 DOCTYPE("HTML", "Transitional");
 echo "<html><head>\n";
-TITLE("i18nHTML - enabling collaborative webpage translation");
-echo "<meta name=\"description\" content=\"";
-TRANSLATE("i18nHTML is a collection of PHP scripts that allow visitors of a 
webpage to help translating it.");
-echo "\">";
+if ($title) {
+  echo "<title>";
+  TRANSLATE("Doodle: find information on your computer");
+  echo "</title>";
+ }
+if ($description) {
+  echo "<meta name=\"description\" content=\"";
+  TRANSLATE("A tool to index and search the files on your disk.");
+  echo "\">";
+ }
+echo "<meta name=\"content-language\" content=\"" . 
+     $languagecodes[$lang] . "\">";
+echo "<meta name=\"language\" content=\"" . 
+     $languagecodes[$lang] . "\">";
 ?>
 <meta name="author" content="Christian Grothoff">
-<meta name="keywords" 
content="i18n,HTML,PHP,translation,languages,mysql,database,internationalization,www,free,GNU,GPL">
+<meta name="keywords" 
content="doodle,desktop,search,suffix,tree,meta,data,libextractor,keywords,fam,index,database,free,Linux,GNU,GPL">
 <meta name="robots" content="index,follow">
 <meta name="revisit-after" content="28 days">
 <meta name="publisher" content="Christian Grothoff">
-<meta name="date" content="2005-01-03">
-<meta name="rights" content="(C) 2004,2005 by Christian Grothoff>";
+<meta name="date" content="2004-12-31">
+<meta name="rights" content="(C) 2004 by Christian Grothoff>";
 <meta http-equiv="expires" content="43200">
 <meta http-equiv="content-type" content="text/html">
 </head>
 <body>
 <?php
 generateLanguageBar();
-H1("i18nHTML");
+
+H1("Doodle");
+ANCHOR("about");
 H2("About");
-W("i18nHTML is a collection of PHP files that can be used to write webpages 
that visitors can translate into their respective native languages.");
-W("i18nHTML uses a database to match sentences from the webpage against 
translations.");
-W("i18nHTML defines a set of PHP functions that generate either the translated 
HTML sentences or the original (typically English) text with decorations that 
allow users to provide translations.");
-W("i18nHTML requires the internationalized webpages to be written using the 
provided PHP functions but does not constrain the page design in any way.");
-W("Webpages internationalized with i18nHTML can be updated without loosing 
existing translations for sentences that were not changed.");
-W("Note that it is important that you use the i18nHTML <tt>TITLE</tt> command 
in your documents in order to ensure that the character set and other meta-data 
is set properly.");
+
+W("Doodle is a tool to quickly search the documents on a computer.");
+W("Doodle builds an index using meta-data contained in the documents and 
allows fast searches on the resulting database.");
+W("Doodle uses %s to support obtaining meta-data from various file-formats.",
+  extlink_("/libextractor/","libextractor"));
+W("The database used by doodle is a %s, resulting in fast lookups.",
+  extlink_("http://www.nist.gov/dads/HTML/suffixtree.html","suffix tree"));
+W("Doodle supports approximate searches.");
+BR();
+W("Features that Doodle does not have at the moment include:");
+echo "<ul>";
+LI("A web interface");
+LI("Ordering of search results");
+LI("Spidering (indexing the Internet or websites)");
+echo "</ul>";
+W("If you need these features, have a look at the %s section.",
+  extlink_("#links", "links"));
+
 P();
+W("Doodle is licensed under the %s.",
+  extlink_("http://www.gnu.org/licenses/gpl.html","GNU GPL"));
+W("Indexing large volumes can take several hundred MBs of memory (depending on 
the amount of meta-data found).");
+W("Searching should nevertheless require almost no memory.");
+W("Using the latest version of libextractor is recommended.");
+W("Doodle has so far only been tested under %s and %s %s %s.",
+  ARRAY(extlink_("http://www.debian.org/";, "Debian"),
+        extlink_("http://www.redhat.com/";, "RedHat"),
+        extlink_("http://www.gnu.org/";, "GNU"),
+        extlink_("http://www.linux.org/";, "Linux")));
+W("Doodle is expected it to work under any platform supported by %s.",
+  extlink_("/libextractor/", "libextractor"));
+P();
+
+ANCHOR("download");
 H2("Download");
-W("You can find the latest version %s.",
-  extlink_("https://gnunet.org/i18nHTML/download/";, "here"));
-W("The latest CVS version can be obtained using");
-PRE("$ svn checkout https://gnunet.org/svn/i18nHTML/";);
+W("You can find the current release %s.",
+  extlink_("download/doodle-0.6.2.tar.gz", "here"));
+W("Man-pages for %s, %s and %s are also on-line.",
+  ARRAY(extlink_("man/doodle.html", "doodle"),
+        extlink_("man/doodled.html", "doodled"),
+        extlink_("man/libdoodle", "libdoodle")));
+
+W("The latest version can be obtained using");
+PRE("$ svn checkout https://gnunet.org/svn/doodle/";);
 P();    
 W("If you want to be notified about updates, subscribe to %s",
-  extlink_("http://freshmeat.net/projects/i18nHTML/";, "i18nHTML on 
freshmeat"));
+  extlink_("http://freshmeat.net/projects/doodle/";, "doodle on freshmeat"));
 P();
+W("Debian packages provided by Daniel Baumann can be found %s.",
+  extlink_("http://packages.debian.org/doodle";, "here"));
+W("RedHat/Fedora RPM packages provided by Dag Wieers can be found %s.",
+  extlink_("http://dag.wieers.com/packages/doodle/","here";));
+P();
 
+ANCHOR("using");
+H2("Using doodle");
+W("First the doodle database needs to be created.");
+W("The simplest way to create the database is to run doodle with the 
<tt>-b</tt> option on the directories that are to be indexed.");
+W("For example:");
+PRE("$ doodle -b $HOME");
+W("This will create the doodle database under <tt>~/.doodle</tt>.");
+BR();
+W("After creating the doodle database, you can search it.");
+W("For example:");
+PRE("$ doodle keyword");
+BR();
+H3("Keeping the database up-to-date");
+W("If you want to keep your doodle database up-to-date, you can either 
periodically re-run doodle with the <tt>-b</tt> option, or you can use doodled, 
the doodle daemon.");
+W("doodled uses %s to notice whenever a file is changed and instantly updates 
the doodle database.",
+  "fam");
+W("In order to use doodled, you must have famd running.");
+W("If famd is running, you can start doodled by passing the same arguments 
that you would pass to doodle to construct the database, but without the 
<tt>-b</tt> option:");
+PRE("$ doodled $HOME");
+W("You can also use doodled to construct the initial database.");
+W("While doodled is updating the database, any doodle search will block until 
the update is complete.");
+W("Note that while you may want to index your entire disk (i.e., <tt>doodle -b 
/</tt>), it is typically not a great idea to have doodled monitor your entire 
system for changes -- especially since <tt>/usr</tt> is unlikely to change 
frequently.");
+W("You can address this issue by first indexing <tt>/</tt> and then using 
doodled to monitor only directories that change frequently:");
+PRE("$ doodle -b /\n" .
+    "$ doodled $HOME");
+W("This way, your entire system will be in the index, and your home directory 
will be always up-to-date.");
+P();
+H3("Full-text search");
+W("You can achieve a (limited) form of full-text search with doodle.");
+W("For that, the dictionary-based plaintext extractors from %s are used.",
+  extlink_("/libextractor/","libextractor"));
+W("In order to use them, you need to pass the option <tt>-b LANG</tt> to 
doodle.");
+W("LANG is a two letter language code that selects the dictionary.");
+W("Available languages at the moment are en, es, fr, it and no.");
+W("Words and sentences that are available in the respective dictionaries for 
these languages will then be added to the index.");
+W("While libextractor attempts to avoid full-text extraction for certain kown 
binary formats, it may still find words in non-text files.");
+W("Running with this option will dramatically increase the size of the index 
and the time it takes to build the index.");
+W("Note that if you change the options used to build a database will not (!) 
result in doodle re-indexing files that were processed with other options 
previously.");
+W("The only way to force doodle to re-index files with different options is to 
either touch the files (change modification timestamp) or to delete the old 
database and start from scratch.");
 
+P();
+H3("Hints of the system administrator");
+W("If you are the system administrator, you might want to run doodle on the 
entire system periodically (cron job) and have doodled monitor the home 
directories in the background.");
+W("In that case, it is suggested to have the doodle database be group-readable 
for a group doodle.");
+W("Set the permissions for the doodle binary to SGID to allow users to poll 
the database.");
+W("Doodle will ensure that information about files not accessible to the user 
are not leaked by checking if files found in the database are accessible to the 
user.");
+W("doodled has to run as root since otherwise it would be impossible to index 
the personal files of all users.");
+W("If that it too risky, doodled will still work, but only index the files 
readable to the user that runs doodled.");
 
+
 P();
-if ( ($xlang) && ($xlang != "English")) {
-  H2("Mass translation");
-  W("The mass-translation page for translating many sentences at once is %s.",
-    intlink_("editor.php", "here"));
-  W("Note that the sentence database is shared with the %s, %s and %s 
projects.",
-    ARRAY(extlink_("http://gnunet.org/";, "GNUnet"),
-         extlink_("http://gnunet.org/doodle/";, "doodle"),
-         extlink_("http://gnunet.org/libextractor/";, "libExtractor")));  
- }
+H3("Using different options for different directories");
+W("You can build a database from multiple doodle runs over distinct sets of 
files with different options.");
+W("For example, the following can make sense:");
+PRE("$ doodle -B en -b /usr/share/doc # full-text index over documentation\n" .
+    "$ doodle -b /usr /opt /bin /lib # normal index over other system files\n" 
.
+    "$ doodled -B en /home # monitor /home, with full-text support\n");
+W("A simple doodle search will then find files in all listed directories.");
+W("You can also build multiple disjoint databases and search all of them in 
one run (see %s for option <tt>-d</tt>).",
+  extlink_("man/doodle.html", "doodle"));
 
+P();
+ANCHOR("mantis");
 H2("Bugtrack");
-W("i18nHTML uses Mantis for bugtracking.");
+W("Doodle uses Mantis for bugtracking.");
 W("Visit %s to report bugs.",
   extlink_("https://gnunet.org/mantis/","https://gnunet.org/mantis/";));
 W("You need to sign up for a reporter account.");
-W("Please make sure you report bugs under <strong>I18nHTML</strong> and not 
under any of the other projects.");
+W("Please make sure you report bugs under <strong>Doodle</strong> and not 
under any of the other projects.");
 P();
-W("If you dislike Mantis and need to report a bug contact %s via e-mail (good 
luck getting by the spam-filter).",
+W("If you dislike Mantis and need to report a bug contact %s via e-mail.",
   extlink_("mailto:address@hidden","address@hidden";));
 
+
+ANCHOR("links");
+H2("Links");
+echo "<ul>";
+LI(extlink_("http://members.cox.net/sinzui/medusa/";, 
+            "Medusa, similar project for Gnome"));
+LI(extlink_("http://swish-e.org/";, 
+            "Swish-e, indexing tool with focus on the WWW"));
+LI(extlink_("http://www.gnome.org/~seth/storage/";,
+            "GNOME Storage"));
+LI(extlink_("http://www.gnome.org/projects/beagle/";,
+            "Beagle"));
+LI(extlink_("http://sourceforge.net/projects/rlocate/";,
+            "rlocate, version of locate that is always up-to-date"));
+LI(extlink_("http://www.htdig.org/";,
+            "HTDig"));
+LI(extlink_("http://jakarta.apache.org/lucene/";,
+            "Lucene"));
+LI(extlink_("http://homepage.mac.com/pauljlucas/software/swish/";,
+            "Swish++"));
+LI(extlink_("http://webglimpse.net/";,
+            "Glimpse"));
+LI(extlink_("http://evidence.sf.net/";,
+            "Evidence, file-manager with support for doodle"));
+LI(extlink_("http://www.linux-magazin.de/Artikel/ausgabe/2004/09/bgw/bgw.html";,
+            "Article about doodle (and other things) in the German 
Linux-Magazin"));
+echo "</ul>";
 HR();
+echo "<address><a href=\"mailto:address@hidden";>Christian 
Grothoff</a></address>";
+PRE("Copyright (C) 2004 Christian Grothoff.\n" .
+    "Verbatim copying and distribution of this entire article\n" .
+    "is permitted in any medium, provided this notice is preserved.");
+BR();
 generateFooter();
 echo "</body></html>\n";
 ?>

Added: i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.bz2
===================================================================
(Binary files differ)


Property changes on: i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.bz2
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.gz
===================================================================
(Binary files differ)


Property changes on: i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.gz
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: i18nHTML-docs/WWW/index.php
===================================================================
--- i18nHTML-docs/WWW/index.php 2005-04-04 07:12:19 UTC (rev 592)
+++ i18nHTML-docs/WWW/index.php 2005-04-04 07:12:56 UTC (rev 593)
@@ -29,10 +29,27 @@
 W("Webpages internationalized with i18nHTML can be updated without loosing 
existing translations for sentences that were not changed.");
 W("Note that it is important that you use the i18nHTML <tt>TITLE</tt> command 
in your documents in order to ensure that the character set and other meta-data 
is set properly.");
 P();
+H2("News");
+H3("i18nHTML 0.1.0 released");
+W("i18nHTML 0.1.0 is expected to solve various character set encoding 
issues.");
+W("It also ensures that all entered translations match the original sentence 
in the number of escape sequences.");
+W("The new version also resolves various minor bugs (such as editor mode only 
working with php-register-globals enabled).");
+P();
+W("Upgrading from i18nHTML 0.0.2 to 0.1.0 requires changes to the encoding of 
strings in the database (which is now hopefully properly based on unicode).");
+W("This can be done by running the update.php script and feeding the SQL 
statements that update.php generates into MySQL.");
+W("Running <tt>update.php</tt> by itself will not do the data conversion (for 
security reasons).");
+W("You should backup your old translation database first.");
+W("mysqldump should be useful here.");
+W("Note that <tt>update.php</tt> may discard translations that it believes 
have serious character set (or other) problems.");
+W("The total number of discarded translations can be found at the end of the 
output (in a generated comment).");
+P();
+W("Another important step in upgrading from 0.0.2 to 0.1.0 is to use the new 
<tt>TITLE</tt> function to generate the title of all webpages.");
+W("The reason is that the <tt>TITLE</tt> function will generate other HTML 
tags that should be placed in the HTML header to help ensure that the browser 
picks up the character encodings correctly.");
+P();
 H2("Download");
 W("You can find the latest version %s.",
   extlink_("https://gnunet.org/i18nHTML/download/";, "here"));
-W("The latest CVS version can be obtained using");
+W("The latest SVN version can be obtained using");
 PRE("$ svn checkout https://gnunet.org/svn/i18nHTML/";);
 P();    
 W("If you want to be notified about updates, subscribe to %s",





reply via email to

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