wez Thu Nov 11 14:33:28 2004 EDT
Modified files:
/livedocs build-ops.in build.sh configure.in mk_notes.php
Log:
reinstate user-notes fetching via token
# grrr
http://cvs.php.net/diff.php/livedocs/build-ops.in?r1=1.10&r2=1.11&ty=u
Index: livedocs/build-ops.in
diff -u livedocs/build-ops.in:1.10 livedocs/build-ops.in:1.11
--- livedocs/build-ops.in:1.10 Sat Sep 11 08:22:44 2004
+++ livedocs/build-ops.in Thu Nov 11 14:33:26 2004
@@ -17,4 +17,5 @@
# LANGUAGES="en ar cs de es fi fr he hk hu it ja kr nl pl pt_BR ro ru sk sv tw
zh"
LANGUAGES="@LANGUAGES@"
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
http://cvs.php.net/diff.php/livedocs/build.sh?r1=1.25&r2=1.26&ty=u
Index: livedocs/build.sh
diff -u livedocs/build.sh:1.25 livedocs/build.sh:1.26
--- livedocs/build.sh:1.25 Sat Aug 14 17:34:05 2004
+++ livedocs/build.sh Thu Nov 11 14:33:27 2004
@@ -6,8 +6,10 @@
echo "####################"
-if test -n "$NOTES_MIRROR" ; then
+if test -n "$NOTES_MIRROR$NOTES_TOKEN" ; then
echo "Building user notes"
+ TOKEN=$NOTES_TOKEN
+ export TOKEN
${PHP} ${LIVEDOCSFORPHP}/mk_notes.php ${OUTPUTDIR} ${GENDIR}
${NOTES_MIRROR}
fi
http://cvs.php.net/diff.php/livedocs/configure.in?r1=1.28&r2=1.29&ty=u
Index: livedocs/configure.in
diff -u livedocs/configure.in:1.28 livedocs/configure.in:1.29
--- livedocs/configure.in:1.28 Sat Aug 14 17:34:05 2004
+++ livedocs/configure.in Thu Nov 11 14:33:27 2004
@@ -1,5 +1,5 @@
## A configure script
-## $Id: configure.in,v 1.28 2004/08/14 21:34:05 iliaa Exp $
+## $Id: configure.in,v 1.29 2004/11/11 19:33:27 wez Exp $
AC_PREREQ(2.13)
AC_INIT(livedoc.php)
@@ -87,6 +87,10 @@
[NOTES_MIRROR="$withval"],
[NOTES_MIRROR=""])
+AC_ARG_WITH(notes-token,[ --with-notes-token=TOKEN token to fetch user
notes],
+ [NOTES_TOKEN="$withval"],
+ [NOTES_TOKEN=""])
+
AC_ARG_WITH(web-base,[ --with-web-base[=DIR] Relative URL for
livedocs links [default=/]],
[WEBBASE="$withval"],
[WEBBASE="/"])
@@ -128,6 +132,7 @@
AC_SUBST(OUTPUTDIRFORPHP)
AC_SUBST(XSLTPROC)
AC_SUBST(NOTES_MIRROR)
+AC_SUBST(NOTES_TOKEN)
AC_OUTPUT(build-ops config.php .htaccess)
http://cvs.php.net/diff.php/livedocs/mk_notes.php?r1=1.4&r2=1.5&ty=u
Index: livedocs/mk_notes.php
diff -u livedocs/mk_notes.php:1.4 livedocs/mk_notes.php:1.5
--- livedocs/mk_notes.php:1.4 Wed Aug 18 16:56:57 2004
+++ livedocs/mk_notes.php Thu Nov 11 14:33:27 2004
@@ -19,7 +19,7 @@
// | livedocs. |
// +----------------------------------------------------------------------+
//
-// $Id: mk_notes.php,v 1.4 2004/08/18 20:56:57 iliaa Exp $
+// $Id: mk_notes.php,v 1.5 2004/11/11 19:33:27 wez Exp $
$create = <<<SQL
BEGIN;
@@ -38,6 +38,9 @@
$mirror = $argv[3];
if (file_exists($dbname)) {
+ if (filemtime($dbname) < time() + (60 * 60)) {
+ exit(0);
+ }
unlink($dbname);
}
@@ -50,28 +53,58 @@
$n_notes = 0;
$buffer = '';
-$name = tempnam($tmpdir, 'notes');
-copy('http://'.$mirror.'.php.net/backend/notes/all.bz2', $name);
-$fp = fopen("compress.bzip2://".$name, 'r');
-
-while (($line = fgetcsv($fp, 100000, '|'))) {
- if (!isset($line[5]) || isset($line[6])) {
- echo "LINE: ".implode('|', $line)."\n\n";
- continue;
+$token = getenv("TOKEN");
+if (strlen($token)) {
+ $n_data = 0;
+ $fp = fopen("http://master.php.net/fetch/user-notes.php?token=$token",
"r");
+ do {
+ $line = fgets($fp);
+ $n_data += strlen($line);
+ if (!strlen($line))
+ break;
+ if (!strstr($line, '|')) {
+ echo "LINE: $line\n\n";
+ continue;
+ }
+
+ list ($id, $sect, $rate, $ts, $user, $note) = explode('|',
$line);
+ $n_notes++;
+
+ $note =
sqlite_escape_string(gzuncompress(base64_decode($note)));
+ $user = sqlite_escape_string($user);
+
+ printf("\r%d notes %d bytes", $n_notes, $n_data);
+
+ sqlite_query($DB, "INSERT INTO notes values ($id, '$sect',
$rate, $ts, '$user', '$note');");
+
+ } while (true);
+
+} else {
+
+ $name = tempnam($tmpdir, 'notes');
+ copy('http://'.$mirror.'.php.net/backend/notes/all.bz2', $name);
+ $fp = fopen("compress.bzip2://".$name, 'r');
+
+ while (($line = fgetcsv($fp, 100000, '|'))) {
+ if (!isset($line[5]) || isset($line[6])) {
+ echo "LINE: ".implode('|', $line)."\n\n";
+ continue;
+ }
+ ++$n_notes;
+
+ if ($n_notes % 1000) {
+ $buffer .= "INSERT INTO notes values (".$line[0].",
'".$line[1]."', ".$line[2].", ".$line[3].",
+ '".sqlite_escape_string($line[4])."',
'".sqlite_escape_string(base64_decode($line[5]))."');";
+ } else {
+ sqlite_query($DB, $buffer);
+ $buffer = '';
+ }
}
- ++$n_notes;
- if ($n_notes % 1000) {
- $buffer .= "INSERT INTO notes values (".$line[0].",
'".$line[1]."', ".$line[2].", ".$line[3].",
- '".sqlite_escape_string($line[4])."',
'".sqlite_escape_string(base64_decode($line[5]))."');";
- } else {
- sqlite_query($DB, $buffer);
- $buffer = '';
- }
+ $n_data = ftell($fp);
}
-
-printf("\rDone: %d notes %d bytes\n", $n_notes, ftell($fp));
-
+
+printf("\rDone: %d notes %d bytes\n", $n_notes, $n_data);
sqlite_query($DB, 'COMMIT');
fclose($fp);