Changeset 13318
- Timestamp:
- 02/23/2010 01:13:37 AM (15 years ago)
- Location:
- trunk/wp-includes
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/classes.php
r13315 r13318 1698 1698 } 1699 1699 1700 // A factory and constructor that upgrades stdClass "rows" to WordPress classes.1701 class wp_row {1702 // Factory. Call statically to upgrade a stdClass object to its specialized class: $o = wp_row::get($row).1703 function get($row) {1704 if ( is_a($row, 'wp_row') || is_subclass_of($row, 'wp_row') )1705 return $row;1706 1707 if ( is_array($row) )1708 $row = (object) $row;1709 1710 $class = 'wp_row';1711 if ( isset($row->post_type) ) {1712 if ( class_exists("wp_" . $row->post_type) )1713 $class = "wp_" . $row->post_type;1714 else1715 $class = "wp_post";1716 } elseif ( isset($row->comment_type) ) {1717 if ( class_exists("wp_" . $row->comment_type) )1718 $class = "wp_" . $row->comment_type;1719 else1720 $class = "wp_comment";1721 }1722 1723 if ( function_exists("apply_filters") ) {1724 $filtered_class = apply_filters("wp_row_class", $class, $row);1725 if ( class_exists($filtered_class) )1726 $class = $filtered_class;1727 }1728 1729 return call_user_func(array($class, 'get'), $row);1730 }1731 1732 function wp_row(&$row) {1733 return $this->__construct($row);1734 }1735 1736 function __construct($row) {1737 if ( is_array($row) )1738 $row = (object) $row;1739 1740 foreach ( (array) $row as $k => $v )1741 $this->$k = $row->$k;1742 }1743 }1744 1745 class wp_post extends wp_row {1746 // Factory1747 function get($post) {1748 if ( $post = get_post($post) )1749 return new wp_post($post);1750 else1751 return new WP_Error(404, "Post not found.");1752 }1753 1754 function id() { return $this->ID; }1755 function post_id() { return $this->ID; }1756 function type_id() { return 'post-' . $this->ID; }1757 function classes($class='') { return join( ' ', get_post_class( $class, $this->id() ) ); }1758 1759 function permalink() { return get_permalink($this); }1760 function title() { return get_the_title($this); }1761 function date($format='') { return; }1762 function time($format='') { return get_the_time($format, $this); }1763 function author() { $authordata = get_userdata($this->post_author); return $authordata->display_name; }1764 function content() { return get_content($this); }1765 }1766 1767 class wp_comment extends wp_row {1768 // Factory1769 function get($comment) {1770 if ( $comment = get_comment($comment) )1771 return new wp_comment($comment);1772 else1773 return new WP_Error(404, "Comment not found.");1774 }1775 1776 function id() { return $this->comment_ID; }1777 function post_id() { return $this->comment_post_ID; }1778 function type_id() { return 'comment-' . $this->comment_ID; }1779 function classes($class='') { return join( ' ', get_comment_class( $class, $this->id() ) ); }1780 1781 function permalink() { return get_comment_link($this); }1782 function title() { return sprintf(__("Comment on %s"), get_the_title($this->post_id())); }1783 function time($format='') { return mysql2date($format?$format:get_option('time_format'), $this->comment_date); }1784 function date($format='') { return date($format?$format:get_option('date_format'), $this->time('U')); }1785 function author() { return $this->comment_author; }1786 function excerpt() { return $this->comment_content; }1787 function content() { return get_comment_content($this); }1788 }1789 1790 function is_post($object) {1791 return is_a('wp_post', $object);1792 }1793 1794 function is_comment($object) {1795 return is_a('wp_comment', $object);1796 }1797 1798 1700 ?> -
trunk/wp-includes/custom-navigation.php
r13317 r13318 204 204 ?></a><?php 205 205 } elseif ( $type == 'backend' ) { 206 //BACKEND draggable and droppable elements207 206 $link_type = $menu_type; 208 207 ?> -
trunk/wp-includes/query.php
r13187 r13318 2302 2302 if ( !$q['suppress_filters'] ) 2303 2303 $this->posts = apply_filters('posts_results', $this->posts); 2304 2305 // Turn each row into a classed object, e.g. wp_post, wp_comment.2306 if ( is_array($this->posts) )2307 $this->posts = array_map(array('wp_row', 'get'), $this->posts);2308 2304 2309 2305 if ( !empty($this->posts) && $this->is_comment_feed && $this->is_singular ) {
Note: See TracChangeset
for help on using the changeset viewer.