Exemple #1
0
 /**
  * Generate link to image
  *
  * @param	string	$content	what's in the link: image_name, thumbnail, fake_thumbnail, medium or lastimage_icon
  * @param	string	$mode		where does the link leed to: highslide, lytebox, lytebox_slide_show, image_page, image, none
  * @param	int		$image_id
  * @param	string	$image_name
  * @param	int		$album_id
  * @param	bool	$is_gif		we need to know whether we display a gif, so we can use a better medium-image
  * @param	bool	$count		shall the image-link be counted as view? (Set to false from image_page.php to deny double increment)
  * @param	string	$additional_parameters		additional parameters for the url, (starting with &)
  */
 public static function generate_link($content, $mode, $image_id, $image_name, $album_id, $is_gif = false, $count = true, $additional_parameters = '')
 {
     global $phpEx, $user;
     $image_page_url = phpbb_gallery_url::append_sid('image_page', "album_id={$album_id}&image_id={$image_id}{$additional_parameters}");
     $image_url = phpbb_gallery_url::append_sid('image', "album_id={$album_id}&image_id={$image_id}{$additional_parameters}" . (!$count ? '&view=no_count' : ''));
     $thumb_url = phpbb_gallery_url::append_sid('image', "mode=thumbnail&album_id={$album_id}&image_id={$image_id}{$additional_parameters}");
     $medium_url = phpbb_gallery_url::append_sid('image', "mode=medium&album_id={$album_id}&image_id={$image_id}{$additional_parameters}");
     switch ($content) {
         case 'image_name':
             $shorten_image_name = utf8_strlen(htmlspecialchars_decode($image_name)) > phpbb_gallery_config::get('shortnames') + 3 ? utf8_substr(htmlspecialchars_decode($image_name), 0, phpbb_gallery_config::get('shortnames')) . '...' : $image_name;
             $content = '<span style="font-weight: bold;">' . $shorten_image_name . '</span>';
             break;
         case 'image_name_unbold':
             $shorten_image_name = utf8_strlen(htmlspecialchars_decode($image_name)) > phpbb_gallery_config::get('shortnames') + 3 ? utf8_substr(htmlspecialchars_decode($image_name), 0, phpbb_gallery_config::get('shortnames')) . '...' : $image_name;
             $content = $shorten_image_name;
             break;
         case 'thumbnail':
             $content = '<img src="{U_THUMBNAIL}" alt="{IMAGE_NAME}" title="{IMAGE_NAME}" />';
             $content = str_replace(array('{U_THUMBNAIL}', '{IMAGE_NAME}'), array($thumb_url, $image_name), $content);
             break;
         case 'fake_thumbnail':
             $content = '<img src="{U_THUMBNAIL}" alt="{IMAGE_NAME}" title="{IMAGE_NAME}" style="max-width: {FAKE_THUMB_SIZE}px; max-height: {FAKE_THUMB_SIZE}px;" />';
             $content = str_replace(array('{U_THUMBNAIL}', '{IMAGE_NAME}', '{FAKE_THUMB_SIZE}'), array($thumb_url, $image_name, phpbb_gallery_config::get('mini_thumbnail_size')), $content);
             break;
         case 'medium':
             $content = '<img src="{U_MEDIUM}" alt="{IMAGE_NAME}" title="{IMAGE_NAME}" />';
             $content = str_replace(array('{U_MEDIUM}', '{IMAGE_NAME}'), array($medium_url, $image_name), $content);
             //cheat for animated/transparent gifs
             if ($is_gif) {
                 $content = '<img src="{U_MEDIUM}" alt="{IMAGE_NAME}" title="{IMAGE_NAME}" style="max-width: {MEDIUM_WIDTH_SIZE}px; max-height: {MEDIUM_HEIGHT_SIZE}px;" />';
                 $content = str_replace(array('{U_MEDIUM}', '{IMAGE_NAME}', '{MEDIUM_HEIGHT_SIZE}', '{MEDIUM_WIDTH_SIZE}'), array($image_url, $image_name, phpbb_gallery_config::get('medium_height'), phpbb_gallery_config::get('medium_width')), $content);
             }
             break;
         case 'lastimage_icon':
             $content = $user->img('icon_topic_latest', 'VIEW_LATEST_IMAGE');
             break;
     }
     switch ($mode) {
         case 'image_page':
             $url = $image_page_url;
             $tpl = '<a href="{IMAGE_URL}" title="{IMAGE_NAME}">{CONTENT}</a>';
             break;
         case 'image_page_next':
             $url = $image_page_url;
             $tpl = '<a href="{IMAGE_URL}" title="{IMAGE_NAME}" class="right-box right">{CONTENT}</a>';
             break;
         case 'image_page_prev':
             $url = $image_page_url;
             $tpl = '<a href="{IMAGE_URL}" title="{IMAGE_NAME}" class="left-box left">{CONTENT}</a>';
             break;
         case 'image':
             $url = $image_url;
             $tpl = '<a href="{IMAGE_URL}" title="{IMAGE_NAME}">{CONTENT}</a>';
             break;
         case 'none':
             $url = $image_page_url;
             $tpl = '{CONTENT}';
             break;
         default:
             $url = $image_url;
             $tpl = phpbb_gallery_plugins::generate_image_link($mode);
             break;
     }
     return str_replace(array('{IMAGE_URL}', '{IMAGE_NAME}', '{CONTENT}'), array($url, $image_name, $content), $tpl);
 }