diff options
Diffstat (limited to 'include/functions.inc.php')
-rw-r--r-- | include/functions.inc.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/include/functions.inc.php b/include/functions.inc.php index 841c86f74..82577b66e 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -546,4 +546,52 @@ function get_templates() { return get_dirs(PHPWG_ROOT_PATH.'template'); } + +/** + * returns thumbnail filepath (or distant URL if thumbnail is remote) for a + * given element + * + * this function could have taken only the element id as parameter but to + * optimize database access we directly ask file, storage category + * identifier and extension since when this function is called, + * PhpWebGallery should have all these infos. No need to retrieve them + * another time in the database. + * + * the returned string can represente the filepath of the thumbnail or the + * filepath to the corresponding icon for non picture elements + * + * complete directories are cached to be used more than once during a page + * generation (many thumbnails of the same category on the same page) + * + * @param string file + * @param int storage_category_id + * @param string tn_ext + * @return string + */ +function get_thumbnail_src($file, $storage_category_id, $tn_ext = '') +{ + global $conf, $user, $array_cat_directories; + + if (!isset($array_cat_directories[$storage_category_id])) + { + $array_cat_directories[$storage_category_id] = + get_complete_dir($storage_category_id); + } + + if ($tn_ext != '') + { + $src = $array_cat_directories[$storage_category_id]; + $src.= 'thumbnail/'.$conf['prefix_thumbnail']; + $src.= get_filename_wo_extension($file); + $src.= '.'.$tn_ext; + } + else + { + $src = PHPWG_ROOT_PATH; + $src.= 'template/'.$user['template'].'/mimetypes/'; + $src.= strtolower(get_extension($file)).'.png'; + } + + return $src; +} ?>
\ No newline at end of file |