function ListIn($dir, $prefix = '') { $dir = rtrim($dir, '\\/'); $result = array(); foreach (scandir($dir) as $f) { # nicht archiv-server-184 if ($f !== '.' and $f !== '..' and $f !== 'archiv-server-184') { if (is_dir("{$dir}/{$f}")) { $result = array_merge($result, ListIn("{$dir}/{$f}", "{$prefix}{$f}/")); } else { $file_info = pathinfo($f); # nur PDF if ($file_info['extension'] == 'pdf') { $result[] = utf8_encode($prefix . $f); } } } } return $result; }
} if ($report == "name-10-letters") { $report_type = "party"; $h3 = "Externe Parteien mit 10 gleichen Anfangsbuchstaben"; $party_sql = "\n SELECT e.id, e.external_party\n FROM external_parties e\n WHERE EXISTS (\n SELECT id FROM external_parties ed WHERE LEFT(e.external_party,10) = LEFT(ed.external_party,10) AND e.id <> ed.id\n )\n ORDER BY external_party;\n "; } if ($report_type == "party") { # DB SEARCH $party_result = $db->query($party_sql); $h3 .= " (" . $party_result->num_rows . " Zeilen)"; } if ($report == "db-and-archive") { $report_type = "files"; $h3 = "Archiv und DB Konsistenz"; # scan archive $all_existing_files = ListIn(ARCHIVE_FOLDER); # count things in db $doc_count_sql = "SELECT COUNT(*) AS c FROM documents"; $doc_count_query = $db->query($doc_count_sql); $doc_count = $doc_count_query->fetch_object(); $doc_counted = $doc_count->c; $ep_count_sql = "SELECT COUNT(*) AS c FROM external_parties"; $ep_count_query = $db->query($ep_count_sql); $ep_count = $ep_count_query->fetch_object(); $ep_counted = $ep_count->c; $epdoc_count_sql = "SELECT * FROM documents GROUP by externalID"; $epdoc_count_query = $db->query($epdoc_count_sql); $epdoc_counted = $epdoc_count_query->num_rows; # read DB $read = "\n SELECT d.*, e.external_party, i.internal_party, m.mailtype AS mt \n FROM documents d\n JOIN external_parties e ON (d.externalID = e.id) \n JOIN internal_parties i ON (d.internalID = i.id) \n JOIN mailtypes m ON (d.mailtype = m.id)\n LEFT JOIN document_labels dl ON (d.document_id = dl.document_id)\n WHERE TRUE \n "; $sql = $db->query($read);