function data_integrity_check() { require CONFIG . 'config.php'; mysql_select_db($database, $brewing); // Match user emails against the record in the brewer table, // Compare user's id against uid, // If no match, replace uid with user's id $query_user_check = sprintf("SELECT id,user_name FROM %s", $prefix . "users"); $user_check = mysql_query($query_user_check, $brewing) or die(mysql_error()); $row_user_check = mysql_fetch_assoc($user_check); do { // Get Brewer Info $query_brewer = sprintf("SELECT id,uid,brewerEmail,brewerFirstName,brewerLastname FROM %s WHERE brewerEmail='%s'", $prefix . "brewer", $row_user_check['user_name']); $brewer = mysql_query($query_brewer, $brewing) or die(mysql_error()); $row_brewer = mysql_fetch_assoc($brewer); $totalRows_brewer = mysql_num_rows($brewer); // Check to see if info is matching up. If not... if ($row_brewer['brewerEmail'] == $row_user_check['user_name'] && $row_brewer['uid'] != $row_user_check['id'] && $totalRows_brewer == 1) { // ...Update to the correct uid $updateSQL = sprintf("UPDATE %s SET uid='%s' WHERE id='%s'", $prefix . "brewer", $row_user_check['id'], $row_brewer['id']); $result = mysql_query($updateSQL, $brewing) or die(mysql_error()); // Change all associated entries to the correct uid (brewBrewerID row) in the "brewing" table $query_brewer_entries = sprintf("SELECT id FROM %s WHERE brewBrewerLastName='%s' AND brewBrewerFirstName='%s'", $prefix . "brewing", $row_brewer['brewerLastName'], $row_brewer['brewerLastName']); $brewer_entries = mysql_query($query_brewer_entries, $brewing) or die(mysql_error()); $row_brewer_entries = mysql_fetch_assoc($brewer_entries); $totalRows_brewer_entries = mysql_num_rows($brewer_entries); if ($totalRows_brewer_entries > 0) { do { $updateSQL = sprintf("UPDATE %s SET brewBrewerID='%s' WHERE id='%s'", $prefix . "brewing", $row_brewer_entries['id'], $row_brewer['id']); $result = mysql_query($updateSQL, $brewing) or die(mysql_error()); } while ($row_brewer_entries = mysql_fetch_assoc($brewer_entries)); } } // end if (($row_brewer['brewerEmail'] == $row_user_check['user_name']) && ($row_brewer['uid'] != $row_user_check['id']) && ($totalRows_brewer == 1)) // Delete user record if no record of the user's extended information is found in the "brewer" table if ($totalRows_brewer == 0) { $deleteSQL = sprintf("DELETE FROM %s WHERE id='%s'", $prefix . "users", $row_user_check['id']); $result = mysql_query($deleteSQL, $brewing) or die(mysql_error()); // Check to see if there are entries under that uid. If so, delete. $query_brewer_entries = sprintf("SELECT id FROM %s WHERE brewBrewerID='%s'", $prefix . "brewing", $row_user_check['id']); $brewer_entries = mysql_query($query_brewer_entries, $brewing) or die(mysql_error()); $row_brewer_entries = mysql_fetch_assoc($brewer_entries); $totalRows_brewer_entries = mysql_num_rows($brewer_entries); if ($totalRows_brewer_entries > 0) { do { $deleteSQL = sprintf("DELETE FROM %s WHERE id='%s'", $prefix . "brewing", $row_brewer_entries['id']); $result = mysql_query($deleteSQL, $brewing) or die(mysql_error()); } while ($row_brewer_entries = mysql_fetch_assoc($brewer_entries)); } } // end if ($totalRows_brewer == 0) } while ($row_user_check = mysql_fetch_assoc($user_check)); // Check if there are "blank" entries. If so, delete. $query_blank = sprintf("SELECT id FROM %s WHERE (brewStyle IS NULL OR brewStyle = '') AND (brewCategory IS NULL OR brewCategory = '') AND (brewCategorySort IS NULL OR brewCategorySort = '') AND (brewBrewerID IS NULL OR brewBrewerID = '')", $prefix . "brewing"); $blank = mysql_query($query_blank, $brewing) or die(mysql_error()); $row_blank = mysql_fetch_assoc($blank); $totalRows_blank = mysql_num_rows($blank); if ($totalRows_blank > 0) { do { $deleteSQL = sprintf("DELETE FROM %s WHERE id='%s'", $prefix . "brewing", $row_blank['id']); $result = mysql_query($deleteSQL, $brewing) or die(mysql_error()); } while ($row_blank = mysql_fetch_assoc($blank)); } // Check if there are "blanks" in the brewer table. If so, delete. $query_blank1 = sprintf("SELECT id FROM %s WHERE (brewerFirstName IS NULL OR brewerFirstName = '') AND (brewerLastName IS NULL OR brewerLastName = '')", $prefix . "brewer"); $blank1 = mysql_query($query_blank1, $brewing) or die(mysql_error()); $row_blank1 = mysql_fetch_assoc($blank1); $totalRows_blank1 = mysql_num_rows($blank1); if ($totalRows_blank1 > 0) { do { $deleteSQL = sprintf("DELETE FROM %s WHERE id='%s'", $prefix . "brewer", $row_blank1['id']); $result = mysql_query($deleteSQL, $brewing) or die(mysql_error()); } while ($row_blank1 = mysql_fetch_assoc($blank1)); } // Look for duplicate entries in the judging_scores table $query_judging_duplicates = sprintf("SELECT eid FROM %s", $prefix . "judging_scores"); $judging_duplicates = mysql_query($query_judging_duplicates, $brewing) or die(mysql_error()); $row_judging_duplicates = mysql_fetch_assoc($judging_duplicates); $totalRows_judging_duplicates = mysql_num_rows($judging_duplicates); if ($totalRows_judging_duplicates > 2) { do { $a[] = $row_judging_duplicates['eid']; } while ($row_judging_duplicates = mysql_fetch_assoc($judging_duplicates)); foreach ($a as $eid) { $query_duplicates = sprintf("SELECT id FROM %s WHERE eid='%s'", $prefix . "judging_scores", $eid); $duplicates = mysql_query($query_duplicates, $brewing) or die(mysql_error()); $row_duplicates = mysql_fetch_assoc($duplicates); $totalRows_duplicates = mysql_num_rows($duplicates); if ($totalRows_duplicates > 1) { for ($i = 1; $i < $totalRows_duplicates; $i++) { $query_duplicate = sprintf("SELECT id FROM %s WHERE eid='%s'", $prefix . "judging_scores", $eid); $duplicate = mysql_query($query_duplicate, $brewing) or die(mysql_error()); $row_duplicate = mysql_fetch_assoc($duplicate); $deleteSQL = sprintf("DELETE FROM %s WHERE id='%s'", $prefix . "judging_scores", $row_duplicate['id']); $result = mysql_query($deleteSQL, $brewing) or die(mysql_error()); } } } } if ($_SESSION['prefsAutoPurge'] == 1) { // Next, purge all entries that are unconfirmed purge_entries("unconfirmed", 1); purge_entries("special", 1); } // Last update the "system" table with the date/time the function ended $updateSQL = sprintf("UPDATE %s SET data_check=%s WHERE id='1'", $prefix . "system", "NOW( )"); $result = mysql_query($updateSQL, $brewing) or die(mysql_error()); }
<?php require '../paths.php'; require INCLUDES . 'url_variables.inc.php'; require LIB . 'common.lib.php'; require INCLUDES . 'db_tables.inc.php'; require DB . 'common.db.php'; if (isset($_SESSION['loginUsername']) && $_SESSION['userLevel'] == "0") { // User initiated purging of data if ($action == "purge") { // Purge unconfirmed and/or entries that require special ingredients that do not have special ingredient data if ($go == "unconfirmed") { purge_entries("unconfirmed", 0); purge_entries("special", 0); header(sprintf("Location: %s", $base_url . "index.php?section=admin&go=entries&purge=true")); } // Purge entry and associated data if ($go == "entries" || $go == "purge-all") { // Purge all data from brewing table $updateSQL1 = sprintf("TRUNCATE %s", $brewing_db_table); mysql_real_escape_string($updateSQL1); $result1 = mysql_query($updateSQL1, $brewing) or die(mysql_error()); // Purge all data from judging_scores table $updateSQL1 = sprintf("TRUNCATE %s", $judging_scores_db_table); mysql_real_escape_string($updateSQL1); $result1 = mysql_query($updateSQL1, $brewing) or die(mysql_error()); // Purge all data from judging_scores bos table $updateSQL1 = sprintf("TRUNCATE %s", $judging_scores_bos_db_table); mysql_real_escape_string($updateSQL1); $result1 = mysql_query($updateSQL1, $brewing) or die(mysql_error()); // Purge all data from special_best_data table