Exemple #1
0
function fl_sprite($_file, $sheet_id, $sprite_id, $tag = 'div', $output_filetype = "png")
{
    $sheet = flcache . $sheet_id . '.' . $output_filetype;
    $sheetfile = fl_get_sheet_filename($sheet_id);
    $descriptions = fl_load_sheet($sheet_id);
    if (count($descriptions) == 0) {
        fllog('fl_sprite: no descriptions (' . flcache . $sheet_id . '.txt' . ',' . $sheet . ',' . $sheetfile . ') available for sheet_id `' . $sheet_id . '`, so nothing done FILE: `' . $_file . '`');
        fl_regenerate_sprite_cache($sheet_id, $descriptions, $output_filetype);
        return '<!-- FontLawyer: sprite description not yet available, place in cache dir as ' . $sheet_id . '.txt; see docs for details on how to make this -->' . PHP_EOL;
    }
    $render = false;
    $out_image_file_type = strtolower($out_image_file_type);
    $cachefile = flcache . $sprite_id . '.' . $out_image_file_type;
    if ($_file !== false) {
        if ($_file === true) {
            $render = true;
        } else {
            if (file1_is_older($cachefile, $_file) && file1_is_older($sheetfile, $_file) && file1_is_older(fl_get_sheet_description_filename($sheet_id), $_file)) {
                $render = false;
            } else {
                $render = true;
            }
        }
    } else {
        $render = true;
    }
    if ($render === true) {
        fl_regenerate_sprite_cache($sheet_id, $descriptions, $output_filetype);
    }
    return '<' . $tag . ' class="' . $sheet_id . '-' . $sprite_id . '"></' . $tag . '>' . PHP_EOL;
}
Exemple #2
0
function fl_font($_file, $id, $text, $fontname, $fontsize, $color = "#000000", $tag = "img", $seo = true, $out_image_file_type = "png")
{
    $out = "";
    global $fl_smashed_cache;
    $cached = fl_text_render($_file, $id, $text, $fontname, $fontsize, $color, $out_image_file_type);
    if ($cached === false) {
        return '<!-- fl_text_render error: see log -->';
    }
    if ($seo === true) {
        $seo_tag = '<div style="display:none;visibility:hidden;">' . $text . '</div>';
    } else {
        $seo_tag = '';
    }
    if (is($tag, 'div')) {
        $d = getimagesize($cached);
        $css = '<style>#' . $id . ' div {background:url(\'' . $fl_smashed_cache . '\') left top;width:' . $d[0] . 'px;height:' . $d[1] . 'px;display:block;float:left;}<style>';
        $out .= $css . '<div class="' . $id . '"></div>';
        return true;
    } else {
        if (is($tag, 'span')) {
            $d = getimagesize($cached);
            $css = '<style>#' . $id . ' span {background:url(\'' . $fl_smashed_cache . '\') left top;width:' . $d[0] . 'px;height:' . $d[1] . 'px;display:block;float:left;}<style>';
            $out .= $css . '<span class="' . $id . '"></span>';
            return true;
        } else {
            if (!is($tag, 'img')) {
                fllog('fl_font in file `' . $_file . '`: bad value for $tag parameter, defaulting to img');
            }
            $out .= '<img src="/' . ($fl_smashed_cache . $id . '.' . $out_image_file_type) . '" border="0">' . $seo_tag;
            return $out;
        }
    }
    return '';
}
Exemple #3
0
function fl_depipe_sprite($in, $filename)
{
    $ins = explode("|", $in);
    $total = count($ins);
    $i = 0;
    $out = array();
    foreach ($ins as $pair) {
        $pair = trim($pair);
        if ($pair[0] == '#') {
            continue;
        }
        if ($pair[0] == '/' && $pair[1] == '/') {
            continue;
        }
        $pair = explode('//', $pair);
        $pair = $pair[0];
        $i++;
        if ($i == $total) {
            $out['text'] = str_replace("<br>", "\n", htmlspecialchars_decode($pair));
        } else {
            $element = explode('=', $pair);
            $key = trim($element[0]);
            $value = trim($element[1]);
            if (strlen($key) == 0) {
                $key = "invalid";
            }
            if (isset($out[$key])) {
                fllog($filename . ' Warning on line ' . $i . ', duplicate key `' . $key . '`');
            }
            $out[$key] = is_numeric($value) ? floatval($value) : $value;
        }
    }
    return $out;
}