Import From Datfile"; ini_set('max_execution_time', 0); // Set the execution time to infinite. This is a bad idea in production. // Verify GET variables $auto = isset($_GET["auto"]) && $_GET["auto"] == "1"; $size = isset($_GET["size"]) && $_GET["size"] == "1"; $type = isset($_GET["type"]) && in_array($_GET["type"], $type) ? $_GET["type"] : ""; // Set import path $importroot = "../temp/import/"; // If there's a type defined, set the root accordingly if ($type != "") { $importroot .= $type."/"; } if (!isset($_GET["filename"])) { // List all files, auto-generate links to proper pages echo "
Automatically add all DATs
\n".
"Sort list by name
\n".
"Sort list by size
The file ".$filename." has a proper pattern!
\n"; // Next, get information from the database on the current machine switch ($type) { case "mame": preg_match("/^(.*) - (.*)$/", $mapping_mame[$fileinfo[1]], $name); $manufacturer = $name[1]; $system = $name[2]; $source = "MAME"; $datestring = filemtime($importroot.$filename); $date = date("Y-m-d G:i:s", $datestring); break; case "nointro": preg_match("/^(.*) - (.*)$/", $mapping_nointro[$fileinfo[1]], $name); $manufacturer = $name[1]; $system = $name[2]; $source = "no-Intro"; $datestring = $fileinfo[2]; preg_match("/(\d{4})(\d{2})(\d{2})-(\d{2})(\d{2})(\d{2})/", $datestring, $date); $date = $date[1]."-".$date[2]."-".$date[3]." ".$date[4].":".$date[5].":".$date[6]; break; case "redump": preg_match("/^(.*) - (.*)$/", $mapping_redump[$fileinfo[1]], $name); $manufacturer = $name[1]; $system = $name[2]; $source = "Redump"; $datestring = $fileinfo[2]; preg_match("/(\d{4})(\d{2})(\d{2}) (\d{2})-(\d{2})-(\d{2})/", $datestring, $date); $date = $date[1]."-".$date[2]."-".$date[3]." ".$date[4].":".$date[5].":".$date[6]; break; case "tosec": preg_match("/^(.*) - (.*)$/", $mapping_tosec[$fileinfo[1]], $name); $manufacturer = $name[1]; $system = $name[2]; $source = "TOSEC"; $datestring = $fileinfo[2]; preg_match("/(\d{4})-(\d{2})-(\d{2}))/", $datestring, $date); $date = $date[1]."-".$date[2]."-".$date[3]." 00:00:00"; break; case "trurip": preg_match("/^(.*) - (.*)$/", $mapping_trurip[$fileinfo[1]], $name); $manufacturer = $name[1]; $system = $name[2]; $source = "trurip"; $datestring = filemtime($importroot.$filename); $date = date("Y-m-d G:i:s", $datestring); break; default: $manufacturer = $fileinfo[1]; $system = $fileinfo[2]; $source = $fileinfo[3]; $datestring = $fileinfo[4]; preg_match("/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/", $datestring, $date); $date = $date[1]."-".$date[2]."-".$date[3]." ".$date[4].":".$date[5].":".$date[6]; break; } $query = "SELECT id FROM systems WHERE manufacturer='$manufacturer' AND system='$system'"; $result = mysqli_query($link, $query); if (!gettype($result) == "boolean" || mysqli_num_rows($result) == 0) { echo('Error: No suitable system found! Please add the system and then try again| Machine | Rom | Size | CRC32 | MD5 | SHA1 |
|---|