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; }
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 ''; }
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; }