<?php // +-----------------------------------------------------------------------+ // | PhpWebGallery - a PHP based picture gallery | // | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | file : $Id$ // | last update : $Date$ // | last modifier : $Author$ // | revision : $Revision$ // +-----------------------------------------------------------------------+ // | This program is free software; you can redistribute it and/or modify | // | it under the terms of the GNU General Public License as published by | // | the Free Software Foundation | // | | // | This program is distributed in the hope that it will be useful, but | // | WITHOUT ANY WARRANTY; without even the implied warranty of | // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | // | General Public License for more details. | // | | // | You should have received a copy of the GNU General Public License | // | along with this program; if not, write to the Free Software | // | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | // | USA. | // +-----------------------------------------------------------------------+ /** * @param element_info array containing element information from db; * at least 'id', 'path' should be present */ function get_element_path($element_info) { $path = get_element_location($element_info); if ( !url_is_remote($path) ) { $path = PHPWG_ROOT_PATH.$path; } return $path; } /* * @param element_info array containing element information from db; * at least 'id', 'path' should be present */ function get_element_url($element_info) { $url = get_element_location($element_info); if ( !url_is_remote($url) ) { $url = embellish_url(get_root_url().$url); } // plugins want another url ? return trigger_event('get_element_url', $url, $element_info); } /** * Returns the relative path of the element with regards to to the root * of PWG (not the current page). This function is not intended to be * called directly from code. * @param element_info array containing element information from db; * at least 'id', 'path' should be present */ function get_element_location($element_info) { // maybe a cached watermark ? return trigger_event('get_element_location', $element_info['path'], $element_info); } /** * Returns the PATH to the image to be displayed in the picture page. If the * element is not a picture, then the representative image or the default * mime image. The path can be used in the php script, but not sent to the * browser. * @param element_info array containing element information from db; * at least 'id', 'path', 'representative_ext' should be present */ function get_image_path($element_info) { global $conf; $ext = get_extension($element_info['path']); if (in_array($ext, $conf['picture_ext'])) { if (isset($element_info['element_path']) ) { return $element_info['element_path']; } return get_element_path($element_info); } $path = get_image_location($element_info); if ( !url_is_remote($path) ) { $path = PHPWG_ROOT_PATH.$path; } return $path; } /** * Returns the URL of the image to be displayed in the picture page. If the * element is not a picture, then the representative image or the default * mime image. The URL can't be used in the php script, but can be sent to the * browser. * @param element_info array containing element information from db; * at least 'id', 'path', 'representative_ext' should be present */ function get_image_url($element_info) { global $conf; $ext = get_extension($element_info['path']); if (in_array($ext, $conf['picture_ext'])) { if (isset($element_info['element_url']) ) { return $element_info['element_url']; } return get_element_url($element_info); } $url = get_image_location($element_info); if ( !url_is_remote($url) ) { $url = embellish_url(get_root_url().$url); } return $url; } /** * Returns the relative path of the image (element/representative/mimetype) * with regards to the root of PWG (not the current page). This function * is not intended to be called directly from code. * @param element_info array containing element information from db; * at least 'id', 'path', 'representative_ext' should be present */ function get_image_location($element_info) { if (isset($element_info['representative_ext']) and $element_info['representative_ext'] != '') { $pi = pathinfo($element_info['path']); $file_wo_ext = get_filename_wo_extension($pi['basename']); $path = $pi['dirname'].'/pwg_representative/' .$file_wo_ext.'.'.$element_info['representative_ext']; } else { $ext = get_extension($element_info['path']); $path = get_themeconf('mime_icon_dir'); $path.= strtolower($ext).'.png'; } // plugins want another location ? return trigger_event( 'get_image_location', $path, $element_info); } /* * @param element_info array containing element information from db; * at least 'id', 'path', 'has_high' should be present */ function get_high_path($element_info) { $path = get_high_location($element_info); if (!empty($path) and !url_is_remote($path) ) { $path = PHPWG_ROOT_PATH.$path; } return $path; } /** * @param element_info array containing element information from db; * at least 'id', 'path', 'has_high' should be present */ function get_high_url($element_info) { $url = get_high_location($element_info); if (!empty($url) and !url_is_remote($url) ) { $url = embellish_url(get_root_url().$url); } // plugins want another url ? return trigger_event('get_high_url', $url, $element_info); } /** * @param element_info array containing element information from db; * at least 'id', 'path', 'has_high' should be present */ function get_high_location($element_info) { $location = ''; if ($element_info['has_high'] == 'true') { $pi = pathinfo($element_info['path']); $location=$pi['dirname'].'/pwg_high/'.$pi['basename']; } return trigger_event( 'get_high_location', $location, $element_info); } /** * @param what_part string one of 't' (thumbnail), 'e' (element), 'i' (image), * 'h' (high resolution image) * @param element_info array containing element information from db; * at least 'id', 'path' should be present */ function get_download_url($what_part, $element_info) { $url = get_root_url().'action.php'; $url = add_url_params($url, array( 'id' => $element_info['id'], 'part' => $what_part, ) ); return trigger_event( 'get_download_url', $url, $element_info); } ?>