]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/bookmark-template.php
Wordpress 2.8-scripts
[autoinstalls/wordpress.git] / wp-includes / bookmark-template.php
index e687e5622af44a528d96c7a0d70483cfc67a9834..bb4f6ef37aacb19c02d5b2b60152c5de81c97744 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /**
- * The formatted output of a list of bookmarks
+ * 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.
  *             of the bookmark.
  * 'show_images' - Default is 1 (integer). Whether to show link image if
  *             available.
+ * 'show_name' - Default is 0 (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
+ * @since 2.1.0
  * @access private
  * @usedby wp_list_bookmarks()
  *
@@ -45,9 +51,9 @@
 function _walk_bookmarks($bookmarks, $args = '' ) {
        $defaults = array(
                'show_updated' => 0, 'show_description' => 0,
-               'show_images' => 1, 'before' => '<li>',
-               'after' => '</li>', 'between' => "\n",
-               'show_rating' => 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 );
@@ -64,14 +70,10 @@ function _walk_bookmarks($bookmarks, $args = '' ) {
 
                $the_link = '#';
                if ( !empty($bookmark->link_url) )
-                       $the_link = clean_url($bookmark->link_url);
+                       $the_link = esc_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'));
+               $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 )
@@ -81,26 +83,37 @@ function _walk_bookmarks($bookmarks, $args = '' ) {
                                $title .= ')';
                        }
 
+               $alt = ' alt="' . $name . ( $show_description ? ' ' . $title : '' ) . '"';
+
                if ( '' != $title )
                        $title = ' title="' . $title . '"';
 
-               $alt = ' alt="' . $name . '"';
+               $rel = $bookmark->link_rel;
+               if ( '' != $rel )
+                       $rel = ' rel="' . $rel . '"';
 
                $target = $bookmark->link_target;
                if ( '' != $target )
                        $target = ' target="' . $target . '"';
 
-               $output .= '<a href="' . $the_link . '"' . $rel . $title . $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 )
+                       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 ( $show_name )
+                               $output .= " $name";
                } else {
                        $output .= $name;
                }
 
+               $output .= $link_after;
+
                $output .= '</a>';
 
                if ( $show_updated && $bookmark->recently_updated )
@@ -109,9 +122,8 @@ function _walk_bookmarks($bookmarks, $args = '' ) {
                if ( $show_description && '' != $desc )
                        $output .= $between . $desc;
 
-               if ($show_rating) {
-                       $output .= $between . get_linkrating($bookmark);
-               }
+               if ( $show_rating )
+                       $output .= $between . sanitize_bookmark_field('link_rating', $bookmark->link_rating, $bookmark->link_id, 'display');
 
                $output .= "$after\n";
        } // end while
@@ -120,7 +132,7 @@ function _walk_bookmarks($bookmarks, $args = '' ) {
 }
 
 /**
- * Retrieve or echo all of the bookmarks
+ * Retrieve or echo all of the bookmarks.
  *
  * List of default arguments are as follows:
  * 'orderby' - Default is 'name' (string). How to order the links by. String is
@@ -174,7 +186,7 @@ function _walk_bookmarks($bookmarks, $args = '' ) {
  *             passed to get_bookmarks().
  * @link http://codex.wordpress.org/Template_Tags/wp_list_bookmarks
  *
- * @since 2.1
+ * @since 2.1.0
  * @uses _list_bookmarks() Used to iterate over all of the bookmarks and return
  *             the html
  * @uses get_terms() Gets all of the categories that are for links.
@@ -239,4 +251,4 @@ function wp_list_bookmarks($args = '') {
        echo $output;
 }
 
-?>
\ No newline at end of file
+?>