function getArtistArtwork($artist, $fetchIfNotPresent) { $parsedArtist = urlencode($artist); $w = new Workflows(); if (!file_exists($w->data() . "/artwork")) { exec("mkdir '" . $w->data() . "/artwork'"); } $currentArtwork = $w->data() . "/artwork/{$parsedArtist}.png"; if (!file_exists($currentArtwork)) { if ($fetchIfNotPresent == true) { $artwork = getArtistArtworkURL($artist); // if return 0, it is a 404 error, no need to fetch if (!empty($artwork) || is_numeric($artwork) && $artwork != 0) { $fp = fopen($currentArtwork, 'w+'); $options = array(CURLOPT_FILE => $fp); $w->request("{$artwork}", $options); if (filesize($currentArtwork) == 0) { unlink($currentArtwork); return "images/default_artist.png"; } } } else { return "images/default_artist.png"; } } if (is_numeric($artwork) && $artwork == 0) { return "images/default_artist.png"; } else { return $currentArtwork; } }
/** * getArtistArtwork function. * * @access public * @param mixed $w * @param mixed $artist * @param mixed $fetchIfNotPresent * @return void */ function getArtistArtwork($w, $artist, $fetchIfNotPresent = false, $fetchLater = false, $isLaterFetch = false) { $parsedArtist = urlencode(escapeQuery($artist)); if (!file_exists($w->data() . "/artwork")) { exec("mkdir '" . $w->data() . "/artwork'"); } $currentArtwork = $w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png") . "/" . "{$parsedArtist}.png"; $artwork = ""; // if ($fetchLater == true) { if (!is_file($currentArtwork)) { return array(false, $currentArtwork); } else { return array(true, $currentArtwork); } // always return currentArtwork return $currentArtwork; } if (!is_file($currentArtwork) || is_file($currentArtwork) && filesize($currentArtwork) == 0) { if ($fetchIfNotPresent == true || is_file($currentArtwork) && filesize($currentArtwork) == 0) { $artwork = getArtistArtworkURL($w, $artist); // if return 0, it is a 404 error, no need to fetch if (!empty($artwork) || is_numeric($artwork) && $artwork != 0) { if (!file_exists($w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png"))) { exec("mkdir '" . $w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png") . "'"); } $fp = fopen($currentArtwork, 'w+'); $options = array(CURLOPT_FILE => $fp); $w->request("{$artwork}", $options); stathat_ez_count('AlfredSpotifyMiniPlayer', 'artworks', 1); if ($isLaterFetch == true) { return true; } } else { if ($isLaterFetch == true) { if (!file_exists($w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png"))) { exec("mkdir '" . $w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png") . "'"); } copy('./images/artists.png', $currentArtwork); return false; } else { return "./images/artists.png"; } } } else { if ($isLaterFetch == true) { if (!file_exists($w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png"))) { exec("mkdir '" . $w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png") . "'"); } copy('./images/artists.png', $currentArtwork); return false; } else { return "./images/artists.png"; } } } else { if (filesize($currentArtwork) == 0) { if ($isLaterFetch == true) { if (!file_exists($w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png"))) { exec("mkdir '" . $w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png") . "'"); } copy('./images/artists.png', $currentArtwork); return false; } else { return "./images/artists.png"; } } } if (is_numeric($artwork) && $artwork == 0) { if ($isLaterFetch == true) { if (!file_exists($w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png"))) { exec("mkdir '" . $w->data() . "/artwork/" . hash('md5', $parsedArtist . ".png") . "'"); } copy('./images/artists.png', $currentArtwork); return false; } else { return "./images/artists.png"; } } else { return $currentArtwork; } }