For Programmers: Free Programming Magazines  


Home > Archive > PHP Documentation > May 2004 > cvs: phpdoc /scripts orphan_notes.php









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author cvs: phpdoc /scripts orphan_notes.php
Nuno Lopes

2004-05-26, 4:33 pm

nlopess Wed May 26 15:04:14 2004 EDT

Added files:
/phpdoc/scripts orphan_notes.php
Log:
check for orphan notes script


http://cvs.php.net/co.php/phpdoc/sc...s.php?r=1.1&p=1
Index: phpdoc/scripts/orphan_notes.php
+++ phpdoc/scripts/orphan_notes.php
<?php
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2004 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Nuno Lopes <nlopess@php.net> |
+----------------------------------------------------------------------+

$Id: orphan_notes.php,v 1.1 2004/05/26 19:04:14 nlopess Exp $
*/

/*
* This script searches for orphan notes.
* You need a phpweb checkout with, at least,
* manual/en and backend/notes folders
*/


/* Configuration Options */

$manual_dir = 'manual/en';
$notes_dir = 'backend/notes';

/******* END of configurations *****/


/* Collect manual IDs */
function recurse_manual($dir) {
global $array;

if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {

if($file != '.' && $file != '..') {
$path = $dir.'/'.$file;

if(is_dir($path)) {
recurse_manual($path);
} else {
$array[substr(md5(substr($path, $GLOBALS['len'], -4)), 0, 16)] = 1;
}

}
}
closedir($dh);
}
}


/* Search for bogus notes IDs */
function recurse_notes($dir) {
global $array, $total;

if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {

if($file != '.' && $file != '..') {
$path = $dir.'/'.$file;

if(is_dir($path)) {
recurse_notes($path);
} else {
if(!isset($array[$file]) && $file != 'last-updated' && $file != 'sections') {
echo "file: $path\n";

$fp = fopen($path, "r");
while (!feof($fp)) {
$line = chop(fgets($fp, 12288));
if ($line == "") { continue; }

list($id, $sect, , , , ) = explode("|", $line);

if (!isset($done)) {
$done = 1;
echo "old ID: $sect\nNotes IDs: $id";

} else {
echo ", $id";
}
}
echo "\n\n";
$total++;
}

unset($done);
}
}
}
closedir($dh);
}
}

$array = array();
$len = strlen("$manual_dir/");
$total = 0;

recurse_manual($manual_dir);
recurse_notes($notes_dir);


echo "\nTotal: $total";
?>
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com