]> scripts.mit.edu Git - autoinstallsdev/wordpress.git/blobdiff - wp-includes/classes.php
Wordpress 2.0.4
[autoinstallsdev/wordpress.git] / wp-includes / classes.php
index 4834fae0bf3acd772c27d6ad48c2c34d7cfa8b15..292e1c8ca7ee19f52c4cb2bfbe60daf3af9985e8 100644 (file)
@@ -305,6 +305,7 @@ class WP_Query {
                if (isset($q['page'])) {
                        $q['page'] = trim($q['page'], '/');
                        $q['page'] = (int) $q['page'];
+                       $q['page'] = abs($q['page']);
                }
        
                $add_hours = intval(get_settings('gmt_offset'));
@@ -616,16 +617,22 @@ class WP_Query {
                $join = apply_filters('posts_join', $join);
 
                // Paging
-               if (empty($q['nopaging']) && ! $this->is_single) {
-                       $page = $q['paged'];
+               if (empty($q['nopaging']) && ! $this->is_single && ! $this->is_page) {
+                       $page = abs(intval($q['paged']));
                        if (empty($page)) {
                                $page = 1;
                        }
 
                        if (($q['what_to_show'] == 'posts')) {
-                               $pgstrt = '';
-                               $pgstrt = (intval($page) -1) * $q['posts_per_page'] . ', ';
-                               $limits = 'LIMIT '.$pgstrt.$q['posts_per_page'];
+                               $q['offset'] = abs(intval($q['offset']));
+                               if ( empty($q['offset']) ) {
+                                       $pgstrt = '';
+                                       $pgstrt = (intval($page) -1) * $q['posts_per_page'] . ', ';
+                                       $limits = 'LIMIT '.$pgstrt.$q['posts_per_page'];
+                               } else { // we're ignoring $page and using 'offset'
+                                       $pgstrt = $q['offset'] . ', ';
+                                       $limits = 'LIMIT ' . $pgstrt . $q['posts_per_page'];
+                               }
                        } elseif ($q['what_to_show'] == 'days') {
                                $startrow = $q['posts_per_page'] * (intval($page)-1);
                                $start_date = $wpdb->get_var("SELECT max(post_date) FROM $wpdb->posts $join WHERE (1=1) $where GROUP BY year(post_date), month(post_date), dayofmonth(post_date) ORDER BY post_date DESC LIMIT $startrow,1");
@@ -826,7 +833,7 @@ class retrospam_mgr {
                                        if ( empty( $word ) )
                                                continue;
                                        $fulltext = strtolower($comment->email.' '.$comment->url.' '.$comment->ip.' '.$comment->text);
-                                       if( strpos( $fulltext, strtolower($word) ) != FALSE ) {
+                                       if( false !== strpos( $fulltext, strtolower($word) ) ) {
                                                $this->found_comments[] = $comment->ID;
                                                break;
                                        }
@@ -1604,12 +1611,12 @@ class WP {
        }
 
        function send_headers() {
-               global $current_user;
                @header('X-Pingback: '. get_bloginfo('pingback_url'));
                if ( is_user_logged_in() )
                        nocache_headers();
                if ( !empty($this->query_vars['error']) && '404' == $this->query_vars['error'] ) {
                        status_header( 404 );
+                       @header('Content-type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
                } else if ( empty($this->query_vars['feed']) ) {
                        @header('Content-type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
                } else {
@@ -1681,7 +1688,7 @@ class WP {
        }
 
        function init() {
-               get_currentuserinfo();
+               wp_get_current_user();
        }
 
        function query_posts() {