cvs: smarty /docs/scripts revcheck.php

"Yannick Torres" <[email protected]>
Newsgroups gmane.comp.php.cvs.smarty
Message-ID <cvsyannick1120380544@cvsserver>
yannick		Sun Jul  3 04:49:04 2005 EDT

  Modified files:              
    /smarty/docs/scripts	revcheck.php 
  Log:
  add information about old files
  
http://cvs.php.net/diff.php/smarty/docs/scripts/revcheck.php?r1=1.5&r2=1.6&ty=u
Index: smarty/docs/scripts/revcheck.php
diff -u smarty/docs/scripts/revcheck.php:1.5 smarty/docs/scripts/revcheck.php:1.6
--- smarty/docs/scripts/revcheck.php:1.5	Fri Oct 29 10:23:22 2004
+++ smarty/docs/scripts/revcheck.php	Sun Jul  3 04:49:02 2005
@@ -355,6 +355,80 @@
 
 } // get_dir_status() function end
 
+// Check for files removed in the EN tree, but still living in the translation
+function get_old_files($dir)
+{
+
+    global $DOCDIR, $LANG;
+
+    // Collect files and diretcories in these arrays
+    $directories = array();
+    $files       = array();
+
+    $special_files = array(
+      // french
+     'translation.xml'
+
+      // todo: add all missing languages
+    );
+
+    // Open the directory
+    $handle = @opendir($dir);
+
+    // Walk through all names in the directory
+    while ($file = @readdir($handle)) {
+
+      // If we found a file with one or two point as a name,
+      // or a CVS directory, skip the file
+      if (preg_match("/^\.{1,2}/", $file) || $file == 'CVS')
+        continue;
+
+      // skip this files
+      if (in_array($file, $special_files)) {
+        continue;
+      }
+
+      // Collect files and directories
+      if (is_dir($dir.$file)) {
+        $directories[] = $file;
+      } else {
+        $files[] = $file;
+      }
+
+    }
+
+    // Close the directory
+    @closedir($handle);
+
+    // Sort files and directories
+    sort($directories);
+    sort($files);
+
+    // Go through files first
+    $old_files_status = array();
+    foreach ($files as $file) {
+
+      $en_dir = preg_replace("'^".$DOCDIR.$LANG."/'", $DOCDIR."en/", $dir);
+
+      if (!@file_exists($en_dir.$file) ) {
+        $old_files_status[$dir.$file] = array(0=>intval(filesize($dir.$file)/1024));
+      }
+
+    }
+
+    // Then go through subdirectories, merging all the info
+    // coming from subdirs to one array
+    foreach ($directories as $file) {
+        $old_files_status = array_merge(
+            $old_files_status, 
+            get_old_files($dir.$file.'/')
+        );
+    }
+
+    return $old_files_status;
+
+} // get_old_files() function end
+
 // =========================================================================
 // Functions to read in the translation.xml file and process contents
 // =========================================================================
@@ -509,6 +583,8 @@
 // Get all files status
 $files_status = get_dir_status($DOCDIR."en/");
 
+// Get all old files in <lang> directory
+$old_files = get_old_files($DOCDIR.$LANG."/");
 
 $navbar = "<p class=c><a href=\"#intro\">Introduction</a> | " .
           "<a href=\"#translators\">Translators</a> | " .
@@ -517,7 +593,8 @@
 if (count($translation["files"]) != 0)
 	$navbar .= "<a href=\"#wip\">Work in progress</a> | ";
 $navbar .= "<a href=\"#misstags\">Missing revision numbers</a> | " .
-           "<a href=\"#missfiles\">Untranslated files</a></p>\n";
+           "<a href=\"#missfiles\">Untranslated files</a> | " .
+           "<a href=\"#oldfiles\">Old files</a></p>\n";
 
 
 // Figure out generation date
@@ -940,7 +1017,38 @@
 
 }
 
+// Files not in EN tree
+$count = count($old_files);
+if ($count > 0) {
+    print "<a name=\"oldfiles\"></a>" .
+          "<table width=\"400\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" align=\"center\">\n" .
+          "<tr class=blue><th><a name=\"avail\" class=\"ref\">" .
+          " Not in EN Tree</a> ($count files):</th><th>kB</th></tr>\n";
+
+    foreach($old_files as $file => $info) {
+        // Shorten the filename (we have directory headers)
+        $short_file = basename($file);
+
+        // Guess the new directory from the full name of the file
+        $new_dir = dirname($file);
+
+        // If this is a new directory, put out dir headline
+        if ($new_dir != $prev_dir) {
+
+            // Print out directory header if not "."
+            print "<tr class=blue><th colspan=2>$new_dir</th></tr>\n";
+
+            // Store the new actual directory
+            $prev_dir = $new_dir;
+        }
+
+        print "<tr class=wip><td>$short_file</td>" .
+              "<td class=r>$info[0]</td></tr>\n";
+    }
+    print "</table>\n<p>&nbsp;</p>\n$navbar<p>&nbsp;</p>\n";
+}
+
 // All OK, end the file
 print "</body>\n</html>\n";
 
-?>
+?>
\ No newline at end of file

-- 
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
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.