コード例 #1
0
/**
 * Private function, returns header metadata prepared for use
 * @param array $header slice of length 14, taken from current cast file
 * @return array
 */
function _castHeader($header)
{
    global $castFilePath;
    global $castPublicURL;
    $meta = array_fill_keys(array('RECORDED', 'PUBLISHED', 'TITLE', 'SEASON', 'EPISODE', 'DURATION', 'FILENAME', 'RATING', 'DESCRIPTION', 'HOSTS', 'GUESTS', 'ADDITIONAL', 'YOUTUBE'), '');
    foreach ($header as $entry) {
        list($k, $v) = explode(':', $entry, 2);
        $meta[$k] = trim($v);
    }
    $meta['EPISODE'] = str_pad($meta['EPISODE'], 2, '0', STR_PAD_LEFT);
    $meta['SEASON'] = str_pad($meta['SEASON'], 2, '0', STR_PAD_LEFT);
    $meta['SLUG'] = 's' . $meta['SEASON'] . 'e' . $meta['EPISODE'];
    $meta['ABSFILENAME'] = $castFilePath . '/' . $meta['SLUG'] . '/' . $meta['FILENAME'];
    $meta['ARCHIVE'] = $castPublicURL . '/' . $meta['SLUG'] . '/' . $meta['FILENAME'];
    // Explicit -> yes, Clean -> clean, * -> no
    $meta['ISEXPLICIT'] = $meta['RATING'] == 'Explicit' ? 'yes' : ($meta['RATING'] == 'Clean' ? 'clean' : 'no');
    $meta['MEDIARATING'] = $meta['RATING'] == 'Explicit' ? 'adult' : 'nonadult';
    $meta['HOSTS'] = array_map('trim', explode(',', $meta['HOSTS']));
    $meta['HOSTS2'] = array();
    foreach ($meta['HOSTS'] as $Host) {
        $meta['HOSTS2'][] = parsePersonString($Host);
    }
    $meta['GUESTS'] = array_map('trim', explode(',', $meta['GUESTS']));
    if ($meta['GUESTS'][0] == "") {
        array_pop($meta['GUESTS']);
    }
    $meta['GUESTS2'] = array();
    foreach ($meta['GUESTS'] as $Guest) {
        $meta['GUESTS2'][] = parsePersonString($Guest);
    }
    return $meta;
}
コード例 #2
0
ファイル: cast.php プロジェクト: janedc/steamlug.org
function nameplate($string, $size = 32)
{
    $person = parsePersonString($string);
    $name = $person['name'];
    if (strlen($person['nickname']) > 0) {
        $name .= " (" . $person['nickname'] . ")";
    }
    if (strlen($name) == 0 && strlen($person['twitter']) > 0) {
        $name = $person['twitter'];
    }
    if (strlen($name) == 0) {
        return $string;
    }
    if (strlen($person['avatar']) > 0) {
        $avatar = <<<AVATAR
<img src="{$person['avatar']}" title="{$name}" width="{$size}" height="{$size}" alt="{$name}" class="img-rounded"/>

AVATAR;
    } else {
        $avatar = $name;
    }
    if (strlen($person['twitter']) > 0) {
        return <<<TWITLINK
<a href="https://twitter.com/{$person['twitter']}">{$avatar}</a>

TWITLINK;
    } else {
        return $avatar;
    }
}
コード例 #3
0
/**
 * Private function, returns SVG-formatted person plate for our thumbnail
 * @param string $string of the form: ‘johndrinkwater’ / ‘@johndrinkwater’ / ‘John Drinkwater (@twitter)’ / ‘John Drinkwater {URL}’
 * @param integer $offset translate this nameplate by this value horizontally
 * @param boolean $guest translate this nameplate to the guest slot if true
 * @return string a rendered version of $string
 */
function _nameplate($string, $offset = 0, $guest = false)
{
    $person = parsePersonString($string);
    $name = $person['name'];
    if (strlen($name) == 0 && strlen($person['nickname']) > 0) {
        $name = $person['nickname'];
    }
    if (strlen($name) == 0 && strlen($person['twitter']) > 0) {
        $name = $person['twitter'];
    }
    if (strlen($name) == 0) {
        return;
    }
    $avatar = $person['avatar'];
    if (strlen($avatar) == 0) {
        $avatar = "unknown-host-" . md5($string);
    }
    $flip = $guest == true ? -23 : 107;
    return <<<SVGPLATE
\t\t\t<g transform="translate({$offset},0)">
\t\t\t\t<use xlink:href="#person-holder" />
\t\t\t\t<image xlink:href="{$avatar}" width="70" height="70" preserveAspectRatio="xMidYMid slice" clip-path="url(#avatar-clip)" />
\t\t\t\t<text y="{$flip}" x="35">{$name}</text>
\t\t\t</g>

SVGPLATE;
}