cvs: docweb /include lib_revcheck.inc.php /scripts rev.php /www revcheck.php

[email protected] ("Matthew Li")
Newsgroups php.doc.web
Message-ID <cvsmazzanet1122549111@cvsserver>
mazzanet		Thu Jul 28 07:11:51 2005 EDT

  Modified files:              
    /docweb/www	revcheck.php 
    /docweb/include	lib_revcheck.inc.php 
    /docweb/scripts	rev.php 
  Log:
  Apply Yannick's revcheck patches
  
http://cvs.php.net/diff.php/docweb/www/revcheck.php?r1=1.17&r2=1.18&ty=u
Index: docweb/www/revcheck.php
diff -u docweb/www/revcheck.php:1.17 docweb/www/revcheck.php:1.18
--- docweb/www/revcheck.php:1.17	Sun May 22 06:40:33 2005
+++ docweb/www/revcheck.php	Thu Jul 28 07:11:48 2005
@@ -1,5 +1,5 @@
 <?php
-/* $Id: revcheck.php,v 1.17 2005/05/22 10:40:33 nlopess Exp $ */
+/* $Id: revcheck.php,v 1.18 2005/07/28 11:11:48 mazzanet Exp $ */
 
 include '../include/init.inc.php';
 include '../include/lib_revcheck.inc.php';
@@ -120,6 +120,7 @@
   <li<?php echo ($PART == 'files' ) ? ' class="liSelected"' : ''; ?>><a href="<?php echo BASE_URL . '/revcheck.php?p=files">Files</a>'; ?></li>
   <li<?php echo ($PART == 'misstags' ) ? ' class="liSelected"' : ''; ?>><a href="<?php echo BASE_URL . '/revcheck.php?p=misstags">Missing revision numbers</a>'; ?></li>
   <li<?php echo ($PART == 'missfiles' ) ? ' class="liSelected"' : ''; ?>><a href="<?php echo BASE_URL . '/revcheck.php?p=missfiles">Untranslated files</a>'; ?></li>
+  <li<?php echo ($PART == 'oldfiles' ) ? ' class="liSelected"' : ''; ?>><a href="<?php echo BASE_URL . '/revcheck.php?p=oldfiles">Not in EN tree</a>'; ?></li>
   <li<?php echo ($PART == 'graph' ) ? ' class="liSelected"' : ''; ?>><a href="<?php echo BASE_URL . '/revcheck.php?p=graph">Graph</a>'; ?></li>
  </ul>
 <?php
@@ -233,6 +234,43 @@
         }
         break;
 
+        case 'oldfiles' :
+        $oldfiles = get_oldfiles($dbhandle, $LANG);
+        if (!$oldfiles) {
+            echo 'No old file info';
+        } else {
+            $num = count($oldfiles);
+            echo <<<OLDTAGS_HEAD
+<p>&nbsp;</p>
+<div style="text-align:center"> <!-- Compatibility with old IE -->
+<table width="400" border="0" cellpadding="3" cellspacing="1" class="Tc">
+        <tr class="blue">
+                <th rowspan="1">Not in EN tree ($num files):</th>
+                <th colspan="1">kB</th>
+        </tr>
+
+OLDTAGS_HEAD;
+
+            $last_dir = false;
+            $total_size = 0;
+            foreach ($oldfiles as $old) {
+                if (!$last_dir || $last_dir != $old['dir']) {
+                    echo '<tr class="blue"><th colspan="2">' . $old['dir'] . '</th></tr>';
+                    $last_dir = $old['dir'];
+                }
+                echo '<tr class="wip"><td>', $old['file'], '</td><td class="r">', $old['size'], '</td></tr>';
+                $total_size += $old['size'];
+                // flush every 200 kbytes
+                if (($total_size % 200) == 0) {
+                    flush();
+                }
+            }
+            echo '<tr class="blue">
+                      <th colspan="2">Total Size ('.$num.' files): '.$total_size.' kB</th>
+                  </tr>';
+            echo '</table></div>';
+        }
+        break;
 
         case 'misstags' :
         $sql = 'select
http://cvs.php.net/diff.php/docweb/include/lib_revcheck.inc.php?r1=1.9&r2=1.10&ty=u
Index: docweb/include/lib_revcheck.inc.php
diff -u docweb/include/lib_revcheck.inc.php:1.9 docweb/include/lib_revcheck.inc.php:1.10
--- docweb/include/lib_revcheck.inc.php:1.9	Fri Nov  5 04:41:56 2004
+++ docweb/include/lib_revcheck.inc.php	Thu Jul 28 07:11:50 2005
@@ -217,6 +217,32 @@
     }
 }
 
+function get_oldfiles($idx, $lang)
+{
+    $sql = 'SELECT
+     dir, file, size
+
+     FROM
+     old_files
+
+     WHERE
+     lang="' . $lang . '"
+     ';
+
+    $result = sqlite_query($idx, $sql);
+    $num = sqlite_num_rows($result);
+    if ($num == 0) {
+        // only 'null' will produce a 0 with sizeof()
+        return null;
+    } else {
+        $tmp = array();
+        while ($r = sqlite_fetch_array($result, SQLITE_ASSOC)) {
+            $tmp[] = array('dir' => $r['dir'], 'size' => $r['size'], 'file' => $r['file']);
+        }
+        return $tmp;
+    }
+}
+
 function get_description($idx, $lang)
 {
     $sql = 'SELECT intro FROM description WHERE lang = "' . $lang . '";';
http://cvs.php.net/diff.php/docweb/scripts/rev.php?r1=1.15&r2=1.16&ty=u
Index: docweb/scripts/rev.php
diff -u docweb/scripts/rev.php:1.15 docweb/scripts/rev.php:1.16
--- docweb/scripts/rev.php:1.15	Wed Jan 26 12:23:24 2005
+++ docweb/scripts/rev.php	Thu Jul 28 07:11:50 2005
@@ -147,6 +147,13 @@
     UNIQUE(lang, dir, name)
 );
 
+CREATE TABLE old_files (
+    lang TEXT,
+    dir TEXT,
+    file TEXT,
+    size INT
+);
+
 SQL;
 
 /**
@@ -252,6 +259,23 @@
     }
 }
 
+function dir_sort_old($a, $b) {
+    global $DOCS, $dir, $lang;
+    $a = $DOCS . $lang . $dir . '/' . $a;
+    $b = $DOCS . $lang . $dir . '/' . $b;
+    if (is_dir($a) && is_dir($b)) {
+        return 0;
+    } elseif (is_file($a) && is_file($b)) {
+        return 0;
+    } elseif (is_file($a) && is_dir($b)) {
+        return -1;
+    } elseif (is_dir($a) && is_file($b)) {
+        return 1;
+    } else {
+        return -1;
+    }
+}
+
 function do_revcheck($dir = '') {
     global $LANGS, $DOCS, $SQL_BUFF;
     static $id = 1;
@@ -334,6 +358,65 @@
     closedir($dh);
 }
 
+function check_old_files($dir = '', $lang) {
+    global $DOCS, $SQL_BUFF;
+    static $id = 1;
+
+    if ($dh = opendir($DOCS . $lang . $dir)) {
+
+        $entriesDir = array();
+        $entriesFiles = array();
+
+        while (($file = readdir($dh)) !== false) {
+            if (
+            (!is_dir($DOCS . $lang . $dir.'/' .$file) && !in_array(substr($file, -3), array('xml','ent')) && substr($file, -13) != 'PHPEditBackup' )
+            || ($file == "functions.xml" && strpos($dir, '/reference') !== false)
+            || $dir == '/chmonly'
+            || $file == 'contributors.ent' || $file == 'contributors.xml'
+            || ($dir == '/appendices' && $file == 'reserved.constants.xml')) {
+                continue;
+            }
+
+            if ($file != '.' && $file != '..' && $file != 'CVS' && $dir != '/functions') {
+
+                if (is_dir($DOCS . $lang . $dir.'/' .$file)) {
+                    $entriesDir[] = $file;
+                } elseif (is_file($DOCS . $lang . $dir.'/' .$file)) {
+                    $entriesFiles[] = $file;
+                }
+            }
+        }
+
+        // Files first
+        if (sizeof($entriesFiles) > 0 ) {
+
+            foreach($entriesFiles as $file) {
+
+                $path_en = $DOCS . 'en/' . $dir . '/' . $file;
+                $path = $DOCS . $lang . $dir . '/' . $file;
+
+                if( !@is_file($path_en) ) {
+
+                   $size = intval(filesize($path) / 1024);
+                   $SQL_BUFF .= "INSERT INTO old_files VALUES ('$lang', '$dir', '$file', '$size');\n";
+
+                }
+            }
+        }
+
+        // Directories..
+        if (sizeof($entriesDir) > 0) {
+
+            usort($entriesDir, 'dir_sort_old');
+            reset($entriesDir);
+
+            foreach ($entriesDir as $Edir) {
+                check_old_files($dir . '/' . $Edir, $lang);
+            }
+        }
+    }
+    closedir($dh);
+}
 
 function get_tags($file)
 {
@@ -431,6 +514,12 @@
 // 4 - Recurse in the manual seeking for files and fill $SQL_BUFF
 do_revcheck();
 
+// 4:1 - Recurse in the manuel seeking for old files for each language and fill $SQL_BUFF
+
+foreach ($LANGS as $lang) {
+ check_old_files('', $lang);
+}
+
 // 5 - Query $SQL_BUFF and exit
 
 sqlite_query($idx, 'BEGIN TRANSACTION');
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.