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;
    }
}
Exemple #2
0
/**
 * 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;
    }
}