本文整理匯總了PHP中Images::get_thumbnail_href方法的典型用法代碼示例。如果您正苦於以下問題:PHP Images::get_thumbnail_href方法的具體用法?PHP Images::get_thumbnail_href怎麽用?PHP Images::get_thumbnail_href使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Images
的用法示例。
在下文中一共展示了Images::get_thumbnail_href方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: touch
/**
* remember the last action for this category
*
* @param string the description of the last action
* @param string the id of the item related to this update
* @param boolean TRUE to not change the edit date of this anchor, default is FALSE
*
* @see shared/anchor.php
*/
function touch($action, $origin = NULL, $silently = FALSE)
{
global $context;
// don't go further on import
if (preg_match('/import$/i', $action)) {
return;
}
// no category bound
if (!isset($this->item['id'])) {
return;
}
// sanity check
if (!$origin) {
logger::remember('categories/category.php: unexpected NULL origin at touch()');
return;
}
// components of the query
$query = array();
// append a reference to a new image to the description
if ($action == 'image:create') {
if (!Codes::check_embedded($this->item['description'], 'image', $origin)) {
// the overlay may prevent embedding
if (is_object($this->overlay) && !$this->overlay->should_embed_files()) {
} else {
// list has already started
if (preg_match('/\\[image=[^\\]]+?\\]\\s*$/', $this->item['description'])) {
$query[] = "description = '" . SQL::escape($this->item['description'] . ' [image=' . $origin . ']') . "'";
} else {
$query[] = "description = '" . SQL::escape($this->item['description'] . "\n\n" . '[image=' . $origin . ']') . "'";
}
}
}
// also use it as thumnail if none has been defined yet
if (!isset($this->item['thumbnail_url']) || !trim($this->item['thumbnail_url'])) {
include_once $context['path_to_root'] . 'images/images.php';
if (($image = Images::get($origin)) && ($url = Images::get_thumbnail_href($image))) {
$query[] = "thumbnail_url = '" . SQL::escape($url) . "'";
}
}
// refresh stamp only if image update occurs within 6 hours after last edition
if (SQL::strtotime($this->item['edit_date']) + 6 * 60 * 60 < time()) {
$silently = TRUE;
}
// suppress a reference to an image that has been deleted
} elseif ($action == 'image:delete') {
// suppress reference in main description field
$query[] = "description = '" . SQL::escape(Codes::delete_embedded($this->item['description'], 'image', $origin)) . "'";
// suppress references as icon and thumbnail as well
include_once $context['path_to_root'] . 'images/images.php';
if ($image = Images::get($origin)) {
if ($url = Images::get_icon_href($image)) {
if ($this->item['icon_url'] == $url) {
$query[] = "icon_url = ''";
}
if ($this->item['thumbnail_url'] == $url) {
$query[] = "thumbnail_url = ''";
}
}
if ($url = Images::get_thumbnail_href($image)) {
if ($this->item['icon_url'] == $url) {
$query[] = "icon_url = ''";
}
if ($this->item['thumbnail_url'] == $url) {
$query[] = "thumbnail_url = ''";
}
}
}
// set an existing image as the category icon
} elseif ($action == 'image:set_as_icon') {
include_once $context['path_to_root'] . 'images/images.php';
if ($image = Images::get($origin)) {
if ($url = Images::get_icon_href($image)) {
$query[] = "icon_url = '" . SQL::escape($url) . "'";
}
// also use it as thumnail if none has been defined yet
if (!(isset($this->item['thumbnail_url']) && trim($this->item['thumbnail_url'])) && ($url = Images::get_thumbnail_href($image))) {
$query[] = "thumbnail_url = '" . SQL::escape($url) . "'";
}
}
$silently = TRUE;
// set an existing image as the category thumbnail
} elseif ($action == 'image:set_as_thumbnail') {
include_once $context['path_to_root'] . 'images/images.php';
if ($image = Images::get($origin)) {
if ($url = Images::get_thumbnail_href($image)) {
$query[] = "thumbnail_url = '" . SQL::escape($url) . "'";
}
}
$silently = TRUE;
// append a new image, and set it as the article thumbnail
} elseif ($action == 'image:set_as_both') {
//.........這裏部分代碼省略.........
示例2: layout
/**
* list images
*
* @param resource the SQL result
* @return string the rendered text
*
* @see layouts/layout.php
**/
function layout($result)
{
global $context;
// we return html text
$text = '';
// empty list
if (!SQL::count($result)) {
return $text;
}
$variant = 'thumbnail';
// process all items in the list
while ($image = SQL::fetch($result)) {
// a title for the image --do not force a title
if (isset($image['title'])) {
$title = $image['title'];
} else {
$title = '';
}
// provide thumbnail if not defined, or forced, or for large images
if (!$image['use_thumbnail'] || $image['use_thumbnail'] == 'A' || $image['use_thumbnail'] == 'Y' && $image['image_size'] > $context['thumbnail_threshold']) {
// where to fetch the image file
$href = Images::get_thumbnail_href($image);
// to drive to plain image
$link = Images::get_icon_href($image);
// add an url, if any
} elseif ($image['link_url']) {
// flag large images
if ($image['image_size'] > $context['thumbnail_threshold']) {
$variant = rtrim('large ' . $variant);
}
// where to fetch the image file
$href = Images::get_icon_href($image);
// transform local references, if any
include_once $context['path_to_root'] . '/links/links.php';
$attributes = Links::transform_reference($image['link_url']);
if ($attributes[0]) {
$link = $context['url_to_root'] . $attributes[0];
} else {
$link = $image['link_url'];
}
// get the <img ... /> element
} else {
// do not append poor titles to inline images
if ($variant == 'thumbnail') {
$title = '';
}
// flag large images
if ($image['image_size'] > $context['thumbnail_threshold']) {
$variant = rtrim('large ' . $variant);
}
// where to fetch the image file
$href = Images::get_icon_href($image);
// no link
$link = '';
}
// use the skin
if (Images::allow_modification($image['anchor'], $image['id'])) {
// build editable image
$text .= Skin::build_image($variant, $href, $title, $link, $image['id']);
} else {
$text .= Skin::build_image($variant, $href, $title, $link);
}
}
// end of processing
SQL::free($result);
return $text;
}
示例3: touch
//.........這裏部分代碼省略.........
}
Comments::post($fields);
}
}
// include flash videos in a regular page
if ($label) {
$query[] = "description = '" . SQL::escape($this->item['description'] . ' ' . $label) . "'";
}
// suppress references to a deleted file
} elseif ($action == 'file:delete') {
// suppress reference in main description field
$text = Codes::delete_embedded($this->item['description'], 'download', $origin);
$text = Codes::delete_embedded($text, 'embed', $origin);
$text = Codes::delete_embedded($text, 'file', $origin);
// save changes
$query[] = "description = '" . SQL::escape($text) . "'";
// append a reference to a new image to the description
} elseif ($action == 'image:create') {
if (!Codes::check_embedded($this->item['description'], 'image', $origin)) {
// the overlay may prevent embedding
if (is_object($this->overlay) && !$this->overlay->should_embed_files()) {
} else {
// list has already started
if (preg_match('/\\[image=[^\\]]+?\\]\\s*$/', $this->item['description'])) {
$query[] = "description = '" . SQL::escape($this->item['description'] . ' [image=' . $origin . ']') . "'";
} else {
$query[] = "description = '" . SQL::escape($this->item['description'] . "\n\n" . '[image=' . $origin . ']') . "'";
}
}
}
// also use it as thumnail if none has been defined yet
if (!isset($this->item['thumbnail_url']) || !trim($this->item['thumbnail_url'])) {
include_once $context['path_to_root'] . 'images/images.php';
if (($image = Images::get($origin)) && ($url = Images::get_thumbnail_href($image))) {
$query[] = "thumbnail_url = '" . SQL::escape($url) . "'";
}
}
// refresh stamp only if image update occurs within 6 hours after last edition
if (SQL::strtotime($this->item['edit_date']) + 6 * 60 * 60 < time()) {
$silently = TRUE;
}
// suppress a reference to an image that has been deleted
} elseif ($action == 'image:delete') {
// suppress reference in main description field
$query[] = "description = '" . SQL::escape(Codes::delete_embedded($this->item['description'], 'image', $origin)) . "'";
// suppress references as icon and thumbnail as well
include_once $context['path_to_root'] . 'images/images.php';
if ($image = Images::get($origin)) {
if ($url = Images::get_icon_href($image)) {
if ($this->item['icon_url'] == $url) {
$query[] = "icon_url = ''";
}
if ($this->item['thumbnail_url'] == $url) {
$query[] = "thumbnail_url = ''";
}
}
if ($url = Images::get_thumbnail_href($image)) {
if ($this->item['icon_url'] == $url) {
$query[] = "icon_url = ''";
}
if ($this->item['thumbnail_url'] == $url) {
$query[] = "thumbnail_url = ''";
}
}
}
// set an existing image as the section icon
示例4: touch
//.........這裏部分代碼省略.........
if (!Articles::has_option('no_comments', $this->anchor, $this->item)) {
Comments::post($fields);
}
// include flash videos in a regular page
} elseif ($origin && $label) {
$query[] = "description = '" . SQL::escape($this->item['description'] . ' ' . $label) . "'";
}
// suppress references to a deleted file
} elseif ($action == 'file:delete' && $origin) {
// suppress reference in main description field
$text = Codes::delete_embedded($this->item['description'], 'download', $origin);
$text = Codes::delete_embedded($text, 'embed', $origin);
$text = Codes::delete_embedded($text, 'file', $origin);
// save changes
$query[] = "description = '" . SQL::escape($text) . "'";
// append a reference to a new image to the description
} elseif ($action == 'image:create' && $origin) {
if (!Codes::check_embedded($this->item['description'], 'image', $origin)) {
// the overlay may prevent embedding
if (is_object($this->overlay) && !$this->overlay->should_embed_files()) {
} else {
// list has already started
if (preg_match('/\\[image=[^\\]]+?\\]\\s*$/', $this->item['description'])) {
$this->item['description'] .= ' [image=' . $origin . ']';
} else {
$this->item['description'] .= "\n\n" . '[image=' . $origin . ']';
}
$query[] = "description = '" . SQL::escape($this->item['description']) . "'";
}
}
// also use it as thumnail if none has been defined yet
if (!isset($this->item['thumbnail_url']) || !trim($this->item['thumbnail_url'])) {
include_once $context['path_to_root'] . 'images/images.php';
if (($image = Images::get($origin)) && ($url = Images::get_thumbnail_href($image))) {
$query[] = "thumbnail_url = '" . SQL::escape($url) . "'";
}
}
// refresh stamp only if image update occurs within 6 hours after last edition
if (SQL::strtotime($this->item['edit_date']) + 6 * 60 * 60 < time()) {
$silently = TRUE;
}
// suppress a reference to an image that has been deleted
} elseif ($action == 'image:delete' && $origin) {
// suppress reference in main description field
$query[] = "description = '" . SQL::escape(Codes::delete_embedded($this->item['description'], 'image', $origin)) . "'";
// suppress references as icon and thumbnail as well
include_once $context['path_to_root'] . 'images/images.php';
if ($image = Images::get($origin)) {
if ($url = Images::get_icon_href($image)) {
if ($this->item['icon_url'] == $url) {
$query[] = "icon_url = ''";
}
if ($this->item['thumbnail_url'] == $url) {
$query[] = "thumbnail_url = ''";
}
}
if ($url = Images::get_thumbnail_href($image)) {
if ($this->item['icon_url'] == $url) {
$query[] = "icon_url = ''";
}
if ($this->item['thumbnail_url'] == $url) {
$query[] = "thumbnail_url = ''";
}
}
}
// set an existing image as the article icon
示例5: upload_to
/**
* upload a file as a image attach to a given anchor
* to be used in custom "edit_as" script
*
* @global string $context
* @param object $anchor
* @param array $file (from $_FILES)
* @param bool $set_as_thumb
* @param bool $put
*/
public static function upload_to($anchor, $file, $set_as_thumb = false, $put = false)
{
global $context;
// attach some image
$path = Files::get_path($anchor->get_reference(), 'images');
// $_REQUEST['action'] = 'set_as_icon'; // instruction for image::upload
if (isset($file) && ($uploaded = Files::upload($file, $path, array('Image', 'upload')))) {
// prepare image informations
$image = array();
$image['image_name'] = $uploaded;
$image['image_size'] = $file['size'];
$image['thumbnail_name'] = 'thumbs/' . $uploaded;
$image['anchor'] = $anchor->get_reference();
//$combined = array_merge($image, $_FILES);
// post the image which was uploaded
if ($image['id'] = Images::post($image)) {
// successfull post
$context['text'] .= '<p>' . i18n::s('Following image has been added:') . '</p>' . Codes::render_object('image', $image['id']) . '<br style="clear:left;" />' . "\n";
// set image as icon and thumbnail
if ($set_as_thumb) {
// delete former icon if any
/*if(isset($anchor->item['icon_url'])
&& $anchor->item['icon_url']
&& $match = Images::get_by_anchor_and_name($anchor->get_reference(), pathinfo($anchor->item['icon_url'],PATHINFO_BASENAME))) {
if($match['id'] != $image['id'])
Images::delete($match['id']);
}*/
$fields = array('thumbnail_url' => Images::get_thumbnail_href($image), 'icon_url' => Images::get_icon_href($image));
if ($put) {
$fields['id'] = $_REQUEST['id'];
$class = $anchor->get_static_group_class();
$class::put_attributes($fields);
} else {
$_REQUEST = array_merge($_REQUEST, $fields);
}
}
}
}
}
示例6: touch
/**
* remember the last action for this user
*
* @param string the description of the last action
* @param string the id of the item related to this update
* @param boolean TRUE to not change the edit date of this anchor, default is FALSE
*
* @see shared/anchor.php
*/
function touch($action, $origin = NULL, $silently = FALSE)
{
global $context;
// don't go further on import
if (preg_match('/import$/i', $action)) {
return;
}
// no item bound
if (!isset($this->item['id'])) {
return;
}
// sanity check
if (!$origin) {
logger::remember('users/user.php: unexpected NULL origin at touch()');
return;
}
// components of the query
$query = array();
// append a reference to a new image to the description
if ($action == 'image:create') {
if (!Codes::check_embedded($this->item['description'], 'image', $origin)) {
// the overlay may prevent embedding
if (is_object($this->overlay) && !$this->overlay->should_embed_files()) {
} else {
// list has already started
if (preg_match('/\\[image=[^\\]]+?\\]\\s*$/', $this->item['description'])) {
$query[] = "description = '" . SQL::escape($this->item['description'] . ' [image=' . $origin . ']') . "'";
} else {
$query[] = "description = '" . SQL::escape($this->item['description'] . "\n\n" . '[image=' . $origin . ']') . "'";
}
}
}
// refresh stamp only if image update occurs within 6 hours after last edition
if (SQL::strtotime($this->item['edit_date']) + 6 * 60 * 60 < time()) {
$silently = TRUE;
}
// suppress a reference to an image that has been deleted
} elseif ($action == 'image:delete') {
// suppress reference in main description field
$query[] = "description = '" . SQL::escape(Codes::delete_embedded($this->item['description'], 'image', $origin)) . "'";
// suppress references as icon and thumbnail as well
include_once $context['path_to_root'] . 'images/images.php';
if ($image = Images::get($origin)) {
if ($url = Images::get_icon_href($image)) {
if ($this->item['avatar_url'] == $url) {
$query[] = "avatar_url = ''";
}
}
if ($url = Images::get_thumbnail_href($image)) {
if ($this->item['avatar_url'] == $url) {
$query[] = "avatar_url = ''";
}
}
}
// set an existing image as the user avatar
} elseif ($action == 'image:set_as_avatar') {
include_once $context['path_to_root'] . 'images/images.php';
if ($image = Images::get($origin)) {
if ($url = Images::get_icon_href($image)) {
$query[] = "avatar_url = '" . SQL::escape($url) . "'";
}
}
$silently = TRUE;
// set an existing image as the user thumbnail
} elseif ($action == 'image:set_as_thumbnail') {
include_once $context['path_to_root'] . 'images/images.php';
if ($image = Images::get($origin)) {
if ($url = Images::get_thumbnail_href($image)) {
$query[] = "avatar_url = '" . SQL::escape($url) . "'";
}
}
$silently = TRUE;
// append a new image
} elseif ($action == 'image:set_as_both') {
if (!Codes::check_embedded($this->item['description'], 'image', $origin)) {
$query[] = "description = '" . SQL::escape($this->item['description'] . ' [image=' . $origin . ']') . "'";
}
// do not remember minor changes
$silently = TRUE;
// add a reference to a location in the article description
} elseif ($action == 'location:create') {
if (!Codes::check_embedded($this->item['description'], 'location', $origin)) {
$query[] = "description = '" . SQL::escape($this->item['description'] . ' [location=' . $origin . ']') . "'";
}
// suppress a reference to a location that has been deleted
} elseif ($action == 'location:delete') {
$query[] = "description = '" . SQL::escape(Codes::delete_embedded($this->item['description'], 'location', $origin)) . "'";
// add a reference to a new table in the user description
} elseif ($action == 'table:create') {
if (!Codes::check_embedded($this->item['description'], 'table', $origin)) {
$query[] = "description = '" . SQL::escape($this->item['description'] . ' [table=' . $origin . ']') . "'";
//.........這裏部分代碼省略.........
示例7: array
$context['text'] .= '<form method="post" action="' . $context['script_url'] . '" id="main_form" enctype="multipart/form-data"><div>';
$fields = array();
// the section
if ($anchor) {
$context['text'] .= '<input type="hidden" name="anchor" value="' . $anchor->get_reference() . '" />';
}
// the image
$label = i18n::s('Image');
$input = '';
$hint = '';
// display info on current version
if (isset($item['id']) && $item['id']) {
$details = array();
// thumbnail image, if any
if (isset($item['thumbnail_name'])) {
$details[] = skin::build_image('inline', Images::get_thumbnail_href($item), '', images::get_icon_href($item));
}
// file name
if (isset($item['image_name'])) {
$details[] = $item['image_name'];
}
// last edition
if ($item['edit_name']) {
$details[] = sprintf(i18n::s('posted by %s %s'), Users::get_link($item['edit_name'], $item['edit_address'], $item['edit_id']), Skin::build_date($item['edit_date']));
}
// file size
if (isset($item['image_size'])) {
$details[] = Skin::build_number($item['image_size'], i18n::s('bytes'));
}
if (count($details)) {
$input .= ucfirst(implode(BR, $details)) . BR . BR;
示例8: render_object
//.........這裏部分代碼省略.........
// return a complete anchor
$output = Skin::build_link($context['url_to_home'] . $context['url_to_root'] . normalize_shortcut($name), $text, 'basic');
return $output;
// embed an image
// embed an image
case 'image':
include_once $context['path_to_root'] . 'images/images.php';
// get the variant, if any
$attributes = preg_split("/\\s*,\\s*/", $id, 2);
$id = $attributes[0];
if (isset($attributes[1])) {
$variant = $attributes[1];
} else {
$variant = 'inline';
}
// get the image record
if (!($image = Images::get($id))) {
$output = '[image=' . $id . ']';
return $output;
}
// a title for the image --do not force a title
if (isset($image['title'])) {
$title = $image['title'];
} else {
$title = '';
}
// provide thumbnail if not defined, or forced, or for large images
if (!$image['use_thumbnail'] || $image['use_thumbnail'] == 'A' || $image['use_thumbnail'] == 'Y' && $image['image_size'] > $context['thumbnail_threshold']) {
// not inline anymore, but thumbnail --preserve other variants
if ($variant == 'inline') {
$variant = 'thumbnail';
}
// where to fetch the image file
$href = Images::get_thumbnail_href($image);
// to drive to plain image
$link = Images::get_icon_href($image);
// add an url, if any
} elseif ($image['link_url']) {
// flag large images
if ($image['image_size'] > $context['thumbnail_threshold']) {
$variant = rtrim('large ' . $variant);
}
// where to fetch the image file
$href = Images::get_icon_href($image);
// transform local references, if any
include_once $context['path_to_root'] . '/links/links.php';
$attributes = Links::transform_reference($image['link_url']);
if ($attributes[0]) {
$link = $context['url_to_root'] . $attributes[0];
} else {
$link = $image['link_url'];
}
// get the <img ... /> element
} else {
// do not append poor titles to inline images
if ($variant == 'inline') {
$title = '';
}
// flag large images
if ($image['image_size'] > $context['thumbnail_threshold']) {
$variant = rtrim('large ' . $variant);
}
// where to fetch the image file
$href = Images::get_icon_href($image);
// no link
$link = '';
示例9: layout
/**
* list images
*
* Recognize following variants:
* - 'compact' - to build short lists in boxes and sidebars
* - '<a valid anchor>' - example: 'section:123' - to list images attached to an anchor page
*
* @param resource the SQL result
* @return array one item per image
*
* @see layouts/layout.php
**/
function layout($result)
{
global $context;
// empty list
if (!SQL::count($result)) {
$output = array();
return $output;
}
if (!isset($this->layout_variant)) {
$this->layout_variant = '';
}
// we return an array of ($url => $attributes)
$items = array();
// process all items in the list
while ($item = SQL::fetch($result)) {
// initialize variables
$prefix = $suffix = $icon = '';
// the url to view this item
$url = Images::get_url($item['id']);
$label = '_';
// the title
if ($item['title']) {
$suffix .= Skin::strip($item['title'], 10) . BR;
}
// there is an anchor
if ($item['anchor'] && ($anchor = Anchors::get($item['anchor']))) {
// codes to embed this image
if ($this->focus == $anchor->get_reference()) {
// help to insert in textarea
// if(!isset($_SESSION['surfer_editor']) || ($_SESSION['surfer_editor'] == 'yacs'))
// $suffix .= '<a onclick="edit_insert(\'\', \' [image='.$item['id'].']\');return false;" title="insert" tabindex="2000">[image='.$item['id'].']</a>'
// .' <a onclick="edit_insert(\'\', \' [image='.$item['id'].', left]\');return false;" title="insert" tabindex="2000">[image='.$item['id'].',left]</a>'
// .' <a onclick="edit_insert(\'\', \' [image='.$item['id'].', right]\');return false;" title="insert" tabindex="2000">[image='.$item['id'].',right]</a>'
// .' <a onclick="edit_insert(\'\', \' [image='.$item['id'].', center]\');return false;" title="insert" tabindex="2000">[image='.$item['id'].',center]</a>';
//
// else
$suffix .= '[image=' . $item['id'] . ']' . ' [image=' . $item['id'] . ',left]' . ' [image=' . $item['id'] . ',right]' . ' [image=' . $item['id'] . ',center]';
$suffix .= BR;
// show an anchor link
} else {
$anchor_url = $anchor->get_url();
$anchor_label = ucfirst($anchor->get_title());
$suffix .= sprintf(i18n::s('In %s'), Skin::build_link($anchor_url, $anchor_label)) . BR;
}
}
// details
$details = array();
// file name
if ($item['image_name']) {
$details[] = $item['image_name'];
}
// file size
if ($item['image_size'] > 1) {
$details[] = number_format($item['image_size']) . ' ' . i18n::s('bytes');
}
// poster
if ($item['edit_name']) {
$details[] = sprintf(i18n::s('edited by %s %s'), Users::get_link($item['edit_name'], $item['edit_address'], $item['edit_id']), Skin::build_date($item['edit_date']));
}
// append details
if (count($details)) {
$suffix .= '<span class="details">' . ucfirst(implode(', ', $details)) . '</span>' . BR;
}
// the menu bar
$menu = array();
// change the image
if (Surfer::is_empowered() || Surfer::is($item['edit_id'])) {
$menu = array_merge($menu, array(Images::get_url($item['id'], 'edit') => i18n::s('Update this image')));
}
// use the image
if (Surfer::is_empowered() && Surfer::is_member()) {
if (preg_match('/\\buser\\b/', $this->layout_variant)) {
$menu = array_merge($menu, array(Images::get_url($item['id'], 'set_as_thumbnail') => i18n::s('Set as profile picture')));
} elseif (preg_match('/\\b(article|category|section)\\b/', $this->layout_variant)) {
$menu = array_merge($menu, array(Images::get_url($item['id'], 'set_as_icon') => i18n::s('Set as page image')));
$menu = array_merge($menu, array(Images::get_url($item['id'], 'set_as_thumbnail') => i18n::s('Set as page thumbnail')));
}
}
// delete the image
if (Surfer::is_empowered() || Surfer::is($item['edit_id'])) {
$menu = array_merge($menu, array(Images::get_url($item['id'], 'delete') => i18n::s('Delete this image')));
}
if (count($menu)) {
$suffix .= Skin::build_list($menu, 'menu');
}
// link to the thumbnail image, if any
$icon = '<span class="small_image"><img src="' . Images::get_thumbnail_href($item) . '" title="' . encode_field(strip_tags($item['title'])) . '" alt="" /></span>';
// list all components for this item
//.........這裏部分代碼省略.........