blob: e0dd639fefd18b7e5565c98ac5a7c370b9980e17 [file] [log] [blame]
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include("_projectCommon.php"); # All on the same line to unclutter the user's desktop'
#*****************************************************************************
#
# download.php
#
# Author: Denis Roy
# Date: 2004-11-23
#
# Description: Clean download logs.
#
#*****************************************************************************
# Note: run this from wget -- turn off MYSQLMON.PL on dbslave first!
exit;
error_reporting(E_ALL); ini_set("display_errors", true);
header("Content-type: text/plain");
require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection_rw.class.php";
require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection.class.php";
$app = new App();
$dbc_RW = new DBConnectionRW();
$dbh_RW = $dbc_RW->connect();
$dbc_RO = new DBConnection();
$dbh_RO = $dbc_RO->connect();
# Get the current downloads table
$SQL = "SELECT key_value FROM SYS_variables WHERE key_name = 'download_table'";
$rs = mysql_query($SQL, $dbh_RW);
$myrow = mysql_fetch_assoc($rs);
$download_table = "downloads" . $myrow['key_value'];
echo "Using " . $download_table . "\n";
# HAS TO BE ASCENDING@
$SQL = "SELECT * FROM download_file_index ORDER BY file_id ";
echo $SQL . "\n";
$rs = mysql_query($SQL, $dbh_RW);
while($myrow = mysql_fetch_assoc($rs)) {
echo $myrow['file_id'] . " " . $myrow['file_name'];
# Find duplicate files
$SQL = "SELECT file_id from download_file_index where file_id > " . $myrow['file_id'] . " AND file_name = " . $app->returnQuotedString($myrow['file_name']);
$rs2 = mysql_query($SQL, $dbh_RW) or die(mysql_error());
$str_dupes = "";
while($myrow2 = mysql_fetch_assoc($rs2)) {
if($str_dupes != "") {
$str_dupes .= ",";
}
$str_dupes .= $myrow2['file_id'];
}
if($str_dupes != "") {
echo "--> Dupes: " . $str_dupes . "\n\n";
# move downloads for the dupes
$SQL = "UPDATE downloads SET file_id = " . $myrow['file_id'] . " WHERE file_id IN ($str_dupes)";
echo $SQL . "\n";
mysql_query($SQL, $dbh_RW);
$SQL = "UPDATE " . $download_table . " SET file_id = " . $myrow['file_id'] . " WHERE file_id IN ($str_dupes)";
echo $SQL . "\n";
mysql_query($SQL, $dbh_RW);
$SQL = "DELETE FROM download_file_index where file_id IN ($str_dupes)";
echo $SQL . "\n";
mysql_query($SQL, $dbh_RW);
}
$download_count = 0;
$SQL = "SELECT COUNT(*) AS RecordCount FROM downloads WHERE file_id = " . $myrow['file_id'];
$rs2 = mysql_query($SQL, $dbh_RO) or die(mysql_error());
$myrow2 = mysql_fetch_assoc($rs2);
$download_count += $myrow2['RecordCount'];
echo " Download count main table: " . $download_count;
$SQL = "SELECT COUNT(*) AS RecordCount FROM " . $download_table . " WHERE file_id = " . $myrow['file_id'];
$rs2 = mysql_query($SQL, $dbh_RW) or die(mysql_error());
$myrow2 = mysql_fetch_assoc($rs2);
$download_count += $myrow2['RecordCount'];
echo " Download count table $download_table : " . $myrow2['RecordCount'];
echo " TOTAL: " . $download_count . "\n";
$SQL = "UPDATE download_file_index SET download_count = " . $download_count . " WHERE file_id = " . $myrow['file_id'];
mysql_query($SQL, $dbh_RW);
if($download_count == 0) {
$SQL = "DELETE FROM download_file_index WHERE file_id = " . $myrow['file_id'];
echo "----->" . $SQL . "\n";
$rs3 = mysql_query($SQL, $dbh_RW);
}
}
$dbc_RW->disconnect(); # disconnects all pending DB connections
$rs = null;
$dbh_RW = null;
$dbc_RW = null;
?>