function parseSet($tempFolderPath) { $albums = array(); $dir = opendir("{$tempFolderPath}"); while (false !== ($album = readdir($dir))) { if ($album != "." && $album != "..") { $thisAlbumPath = $tempFolderPath . "/" . $album; $innerdir = opendir("{$thisAlbumPath}"); print $thisAlbumPath . " is getting processed<br>"; $albums[$album] = parseAlbum($thisAlbumPath, $album); } } uksort($albums, "strnatcasecmp"); //ksort($albums, SORT_STRING); foreach ($albums as $key => $value) { $xmlString .= "<album name=\"{$key}\">\n"; foreach ($value as $value2) { $xmlString .= " <image name=\"" . $value2["name"] . "\">\n"; $xmlString .= "\t <comment>" . $value2["comment"] . "</comment>\n"; $xmlString .= "\t <tURL>" . $value2["tURL"] . "</tURL>\n"; $xmlString .= "\t <lURL>" . $value2["lURL"] . "</lURL>\n"; $xmlString .= " </image>\n"; } $xmlString .= "</album>\n"; } return $xmlString; }
$totalResults = max(intval($n->nodeValue), $totalResults); if ($itemsPerPage !== 0) { $totalPages = ceil($totalResults / $itemsPerPage); } break; case 'opensearch:startIndex': $startIndex = intval($n->nodeValue); break; case 'opensearch:itemsPerPage': $itemsPerPage = intval($n->nodeValue); if ($totalResults !== 0) { $totalPages = ceil($totalResults / $itemsPerPage); } break; case 'album': $album = parseAlbum($n); $album_uri = xe($album->uri); $available_date = xe($date); $artists = array(); $database->beginTransaction(); foreach ($album->artists as $artist) { $parse_artist_uri = explode(":", $artist->uri); $artists[] = $parse_artist_uri[2]; $query = $database->prepare('INSERT IGNORE INTO artists (id, name) VALUES (:id, :name)'); $query->bindParam(':id', $parse_artist_uri[2], PDO::PARAM_STR); $query->bindParam(':name', $artist->name, PDO::PARAM_STR); $query->execute(); } $database->commit(); $database->beginTransaction(); $query = $database->prepare('INSERT INTO albums (id, upc, name, release_date, availability, popularity, tracks, image, artists, genres) VALUES (:id, :upc, :name, NOW(), :availability, :popularity, :tracks, :image, :artists, :genres) ON DUPLICATE KEY UPDATE popularity=:popularity');