/** * @since 1.0.1 * @deprecated 2.1 * @deprecated Use sanitize_bookmark_field() * @see sanitize_bookmark_field() * * @param object $link * @return unknown */ function get_linkrating($link) { _deprecated_function(__FUNCTION__, '2.1', 'sanitize_bookmark_field()'); return sanitize_bookmark_field('link_rating', $link->link_rating, $link->link_id, 'display'); }
/** * Get the default link text. For bookmarks, this is the bookmark name. * * @param string $field * @return string */ function default_link_text($field = '') { $bookmark = $this->get_wrapped_object(); return sanitize_bookmark_field('link_name', $bookmark->link_name, $this->container_id, 'display'); }
function sanitize_bookmark($bookmark, $context = 'display') { $fields = array('link_id', 'link_url', 'link_name', 'link_image', 'link_target', 'link_category', 'link_description', 'link_visible', 'link_owner', 'link_rating', 'link_updated', 'link_rel', 'link_notes', 'link_rss'); $do_object = false; if (is_object($bookmark)) { $do_object = true; } foreach ($fields as $field) { if ($do_object) { $bookmark->{$field} = sanitize_bookmark_field($field, $bookmark->{$field}, $bookmark->link_id, $context); } else { $bookmark[$field] = sanitize_bookmark_field($field, $bookmark[$field], $bookmark['link_id'], $context); } } return $bookmark; }
/** * The formatted output of a list of bookmarks. * * The $bookmarks array must contain bookmark objects and will be iterated over * to retrieve the bookmark to be used in the output. * * The output is formatted as HTML with no way to change that format. However, * what is between, before, and after can be changed. The link itself will be * HTML. * * This function is used internally by wp_list_bookmarks() and should not be * used by themes. * * @since 2.1.0 * @access private * * @param array $bookmarks List of bookmarks to traverse. * @param string|array $args { * Optional. Bookmarks arguments. * * @type int|bool $show_updated Whether to show the time the bookmark was last updated. * Accepts 1|true or 0|false. Default 0|false. * @type int|bool $show_description Whether to show the bookmakr description. Accepts 1|true, * Accepts 1|true or 0|false. Default 0|false. * @type int|bool $show_images Whether to show the link image if available. Accepts 1|true * or 0|false. Default 1|true. * @type int|bool $show_name Whether to show link name if available. Accepts 1|true or * 0|false. Default 0|false. * @type string $before The HTML or text to prepend to each bookmark. Default `<li>`. * @type string $after The HTML or text to append to each bookmark. Default `</li>`. * @type string $link_before The HTML or text to prepend to each bookmark inside the anchor * tags. Default empty. * @type string $link_after The HTML or text to append to each bookmark inside the anchor * tags. Default empty. * @type string $between The string for use in between the link, description, and image. * Default "\n". * @type int|bool $show_rating Whether to show the link rating. Accepts 1|true or 0|false. * Default 0|false. * * } * @return string Formatted output in HTML */ function _walk_bookmarks($bookmarks, $args = '') { $defaults = array('show_updated' => 0, 'show_description' => 0, 'show_images' => 1, 'show_name' => 0, 'before' => '<li>', 'after' => '</li>', 'between' => "\n", 'show_rating' => 0, 'link_before' => '', 'link_after' => ''); $r = wp_parse_args($args, $defaults); $output = ''; // Blank string to start with. foreach ((array) $bookmarks as $bookmark) { if (!isset($bookmark->recently_updated)) { $bookmark->recently_updated = false; } $output .= $r['before']; if ($r['show_updated'] && $bookmark->recently_updated) { $output .= '<em>'; } $the_link = '#'; if (!empty($bookmark->link_url)) { $the_link = esc_url($bookmark->link_url); } $desc = esc_attr(sanitize_bookmark_field('link_description', $bookmark->link_description, $bookmark->link_id, 'display')); $name = esc_attr(sanitize_bookmark_field('link_name', $bookmark->link_name, $bookmark->link_id, 'display')); $title = $desc; if ($r['show_updated']) { if ('00' != substr($bookmark->link_updated_f, 0, 2)) { $title .= ' ('; $title .= sprintf(__('Last updated: %s'), date(get_option('links_updated_date_format'), $bookmark->link_updated_f + get_option('gmt_offset') * HOUR_IN_SECONDS)); $title .= ')'; } } $alt = ' alt="' . $name . ($r['show_description'] ? ' ' . $title : '') . '"'; if ('' != $title) { $title = ' title="' . $title . '"'; } $rel = $bookmark->link_rel; if ('' != $rel) { $rel = ' rel="' . esc_attr($rel) . '"'; } $target = $bookmark->link_target; if ('' != $target) { $target = ' target="' . $target . '"'; } $output .= '<a href="' . $the_link . '"' . $rel . $title . $target . '>'; $output .= $r['link_before']; if ($bookmark->link_image != null && $r['show_images']) { if (strpos($bookmark->link_image, 'http') === 0) { $output .= "<img src=\"{$bookmark->link_image}\" {$alt} {$title} />"; } else { // If it's a relative path $output .= "<img src=\"" . get_option('siteurl') . "{$bookmark->link_image}\" {$alt} {$title} />"; } if ($r['show_name']) { $output .= " {$name}"; } } else { $output .= $name; } $output .= $r['link_after']; $output .= '</a>'; if ($r['show_updated'] && $bookmark->recently_updated) { $output .= '</em>'; } if ($r['show_description'] && '' != $desc) { $output .= $r['between'] . $desc; } if ($r['show_rating']) { $output .= $r['between'] . sanitize_bookmark_field('link_rating', $bookmark->link_rating, $bookmark->link_id, 'display'); } $output .= $r['after'] . "\n"; } // end while return $output; }
function yg_adv_blogroll($args = '') { $defaults = array('category' => '', 'showform' => 0, 'width' => 30, 'height' => 30, 'num' => -1, 'nofollow' => false, 'orderby' => 'name', 'order' => 'ASC'); $args = wp_parse_args($args, $defaults); extract($args, EXTR_SKIP); $category = (int) $category == 0 ? '' : (int) $category; $num = $num == 0 ? $num = -1 : (int) $num; $orderby = htmlspecialchars($orderby); $order = htmlspecialchars($order); $r = array('orderby' => $orderby, 'order' => $order, 'limit' => $num, 'category' => $category, 'category_name' => '', 'hide_invisible' => 1, 'show_updated' => 0, 'include' => '', 'exclude' => '', 'search' => ''); $bookmarks = get_bookmarks($r); $output = ''; // Blank string to start with. $output .= $showform != 1 ? '<div class="animated list friend">' : '<div class="ab_images">'; foreach ((array) $bookmarks as $bookmark) { $the_link = '#'; if (!empty($bookmark->link_url)) { $the_link = clean_url($bookmark->link_url); } $rel = $bookmark->link_rel; if ($nofollow) { $rel = 'nofollow'; } if ('' != $rel) { $rel = ' rel="' . $rel . '"'; } $name = attribute_escape(sanitize_bookmark_field('link_name', $bookmark->link_name, $bookmark->link_id, 'display')); $description = attribute_escape(sanitize_bookmark_field('link_description', $bookmark->link_description, $bookmark->link_id, 'display')); $title_v = $description; if ('' != $title_v) { $title = ' title="' . $title_v . '"'; $alt = ' alt="' . $title_v . '"'; } else { $title = ' title="' . $name . '"'; $alt = ' alt="' . $name . '"'; } $target = $bookmark->link_target; if ('' != $target) { $target = ' target="' . $target . '"'; } if ($showform == 0) { $output .= '<li><a href="' . $the_link . '"' . $rel . $title . $target . '>' . $name . '</a></li>'; } if ($bookmark->link_image != null && $showform == 1) { $output .= '<a href="' . $the_link . '"' . $rel . $title . $target . '>'; if (strpos($bookmark->link_image, 'http') !== false) { $output .= "<img src=\"{$bookmark->link_image}\" height=\"{$height}\" width=\"{$width}\" {$alt} {$title} /></a>\n"; } else { // If it's a relative path $output .= "<img height=\"{$height}\" width=\"{$width}\" src=\"" . get_option('siteurl') . "{$bookmark->link_image}\" {$alt} {$title} /></a>\n"; } } if ($showform == 2) { if (strlen($bookmark->link_image) > 2) { $image = "<img src=\"{$bookmark->link_image}\" height=\"{$height}\" width=\"{$width}\" {$alt} {$title} class=\"avatar image\" />"; $output .= '<a href="' . $the_link . '"' . $rel . $title . $target . ' class="item">' . $image . ''; $output .= '<div class="content"><p class="header">' . $name . '</p><p>' . $title_v . '</p></div>'; $output .= '</a>'; } } } // end while $output .= $showform != 1 ? '</div>' : '</div>'; echo $output; }
/** * The formatted output of a list of bookmarks. * * The $bookmarks array must contain bookmark objects and will be iterated over * to retrieve the bookmark to be used in the output. * * The output is formatted as HTML with no way to change that format. However, * what is between, before, and after can be changed. The link itself will be * HTML. * * This function is used internally by wp_list_bookmarks() and should not be * used by themes. * * The defaults for overwriting are: * 'show_updated' - Default is 0 (integer). Will show the time of when the * bookmark was last updated. * 'show_description' - Default is 0 (integer). Whether to show the description * of the bookmark. * 'show_images' - Default is 1 (integer). Whether to show link image if * available. * 'show_name' - Default is 1 (integer). Whether to show link name if * available. * 'before' - Default is '<li>' (string). The html or text to prepend to each * bookmarks. * 'after' - Default is '</li>' (string). The html or text to append to each * bookmarks. * 'link_before' - Default is '' (string). The html or text to prepend to each * bookmarks inside the <a> tag. * 'link_after' - Default is '' (string). The html or text to append to each * bookmarks inside the <a> tag. * 'between' - Default is '\n' (string). The string for use in between the link, * description, and image. * 'show_rating' - Default is 0 (integer). Whether to show the link rating. * * @since 2.1.0 * @access private * @usedby wp_list_bookmarks() * * @param array $bookmarks List of bookmarks to traverse * @param string|array $args Optional. Overwrite the defaults. * @return string Formatted output in HTML */ function _walk_bookmarks($bookmarks, $args = '' ) { $defaults = array( 'show_updated' => 0, 'show_description' => 0, 'show_images' => 1, 'show_name' => 0, 'before' => '<li>', 'after' => '</li>', 'between' => "\n", 'show_rating' => 0, 'link_before' => '', 'link_after' => '' ); $r = wp_parse_args( $args, $defaults ); extract( $r, EXTR_SKIP ); $output = ''; // Blank string to start with. foreach ( (array) $bookmarks as $bookmark ) { if ( !isset($bookmark->recently_updated) ) $bookmark->recently_updated = false; $output .= $before; if ( $show_updated && $bookmark->recently_updated ) $output .= get_option('links_recently_updated_prepend'); $the_link = '#'; if ( !empty($bookmark->link_url) ) $the_link = clean_url($bookmark->link_url); $rel = $bookmark->link_rel; if ( '' != $rel ) $rel = ' rel="' . $rel . '"'; $desc = attribute_escape(sanitize_bookmark_field('link_description', $bookmark->link_description, $bookmark->link_id, 'display')); $name = attribute_escape(sanitize_bookmark_field('link_name', $bookmark->link_name, $bookmark->link_id, 'display')); $title = $desc; if ( $show_updated ) if ( '00' != substr($bookmark->link_updated_f, 0, 2) ) { $title .= ' ('; $title .= sprintf(__('Last updated: %s'), date(get_option('links_updated_date_format'), $bookmark->link_updated_f + (get_option('gmt_offset') * 3600))); $title .= ')'; } if ( '' != $title ) $title = ' title="' . $title . '"'; $alt = ' alt="' . $name . '"'; $target = $bookmark->link_target; if ( '' != $target ) $target = ' target="' . $target . '"'; $output .= '<a href="' . $the_link . '"' . $rel . $title . $target. '>'; $output .= $link_before; if ( $bookmark->link_image != null && $show_images ) { if ( strpos($bookmark->link_image, 'http') !== false ) $output .= "<img src=\"$bookmark->link_image\" $alt $title />"; else // If it's a relative path $output .= "<img src=\"" . get_option('siteurl') . "$bookmark->link_image\" $alt $title />"; if ($show_name) $output .= $name; } else { $output .= $name; } $output .= $link_after; $output .= '</a>'; if ( $show_updated && $bookmark->recently_updated ) $output .= get_option('links_recently_updated_append'); if ( $show_description && '' != $desc ) $output .= $between . $desc; if ($show_rating) { $output .= $between . sanitize_bookmark_field('link_rating', $bookmark->link_rating, $bookmark->link_id, 'display'); } $output .= "$after\n"; } // end while return $output; }
function get_linkrating($link) { return sanitize_bookmark_field('link_rating', $link->link_rating, $link->link_id, 'display'); }
function my_bookmarks($bookmarks, $args = '') { $defaults = array('show_updated' => 0, 'show_description' => 0, 'show_images' => 1, 'show_name' => 0, 'before' => '<div class="span2">', 'after' => '</div>', 'between' => "\n", 'show_rating' => 0, 'link_before' => '', 'link_after' => '', 'nofollow' => 0); $r = wp_parse_args($args, $defaults); extract($r, EXTR_SKIP); $output = ''; // Blank string to start with. foreach ((array) $bookmarks as $bookmark) { if (!isset($bookmark->recently_updated)) { $bookmark->recently_updated = false; } $output .= $before; if ($show_updated && $bookmark->recently_updated) { $output .= get_option('links_recently_updated_prepend'); } $the_link = '#'; if (!empty($bookmark->link_url)) { $the_link = esc_url($bookmark->link_url); } $rel = ' rel="external'; if ($nofollow) { $rel .= ' nofollow'; } if ('' != $bookmark->link_rel) { $rel .= ' ' . $bookmark->link_rel; } $rel .= '"'; $desc = esc_attr(sanitize_bookmark_field('link_description', $bookmark->link_description, $bookmark->link_id, 'display')); $name = esc_attr(sanitize_bookmark_field('link_name', $bookmark->link_name, $bookmark->link_id, 'display')); $title = $desc; if ($show_updated) { if ('00' != substr($bookmark->link_updated_f, 0, 2)) { $title .= ' ('; $title .= sprintf(__('Last updated: %s'), date(get_option('links_updated_date_format'), $bookmark->link_updated_f + get_option('gmt_offset') * 3600)); $title .= ')'; } } if ('' != $title) { $title = ' title="' . $title . '"'; } $alt = ' alt="' . $name . '"'; $target = $bookmark->link_target; if ('' != $target) { $target = ' target="' . $target . '"'; } $output .= '<a href="' . $the_link . '"' . $rel . $title . $target . '>'; $output .= $link_before; if ($show_images) { if ($bookmark->link_image != null) { if (strpos($bookmark->link_image, 'http') !== false) { $output .= "<img width='16' height='16' src=\"{$bookmark->link_image}\" {$alt} {$title} />"; } else { // If it's a relative path $output .= "<img width='16' height='16' src=\"" . get_option('siteurl') . "{$bookmark->link_image}\" {$alt} {$title} />"; } } else { //否则显示网站的Favicon if (preg_match('/^(https?:\\/\\/)?([^\\/]+)/i', $the_link, $URI)) { //提取域名 $domains = $URI[2]; } else { //域名提取失败,显示默认小地球 $domains = "example.com"; } $output .= "<img width='16' height='16' src=\"http://www.google.com/s2/favicons?domain={$domains}\" {$alt} {$title} />"; } } $output .= $name; $output .= $link_after; $output .= '</a>'; if ($show_updated && $bookmark->recently_updated) { $output .= get_option('links_recently_updated_append'); } if ($show_description && '' != $desc) { $output .= $between . $desc; } if ($show_rating) { $output .= $between . sanitize_bookmark_field('link_rating', $bookmark->link_rating, $bookmark->link_id, 'display'); } $output .= "{$after}\n"; } // end while return $output; }