Changeset 3371
- Timestamp:
- 12/28/05 04:27:21 (2 years ago)
- Files:
-
- trunk/wp-includes/classes.php (modified) (4 diffs)
- trunk/wp-includes/functions-post.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/wp-includes/classes.php
r3370 r3371 382 382 $where .= " AND (ID = '$reqpage')"; 383 383 } elseif ('' != $q['attachment']) { 384 $q['attachment'] = sanitize_title($q['attachment']); 384 $q['attachment'] = str_replace('%2F', '/', urlencode(urldecode($q['attachment']))); 385 $attach_paths = '/' . trim($q['attachment'], '/'); 386 $q['attachment'] = sanitize_title(basename($attach_paths)); 385 387 $q['name'] = $q['attachment']; 386 388 $where .= " AND post_name = '" . $q['attachment'] . "'"; … … 954 956 function page_rewrite_rules() { 955 957 $uris = get_settings('page_uris'); 958 $attachment_uris = get_settings('page_attachment_uris'); 956 959 957 960 $rewrite_rules = array(); 958 961 $page_structure = $this->get_page_permastruct(); 959 if( is_array( $uris ) ) 960 { 961 foreach ($uris as $uri => $pagename) { 962 $this->add_rewrite_tag('%pagename%', "($uri)", 'pagename='); 963 $rewrite_rules += $this->generate_rewrite_rules($page_structure); 964 } 965 } 962 if( is_array( $attachment_uris ) ) { 963 foreach ($attachment_uris as $uri => $pagename) { 964 $this->add_rewrite_tag('%pagename%', "($uri)", 'attachment='); 965 $rewrite_rules += $this->generate_rewrite_rules($page_structure); 966 } 967 } 968 if( is_array( $uris ) ) { 969 foreach ($uris as $uri => $pagename) { 970 $this->add_rewrite_tag('%pagename%', "($uri)", 'pagename='); 971 $rewrite_rules += $this->generate_rewrite_rules($page_structure); 972 } 973 } 966 974 967 975 return $rewrite_rules; … … 1226 1234 1227 1235 if ($num_toks) { 1228 $post = 0; 1236 $post = false; 1237 $page = false; 1229 1238 if (strstr($struct, '%postname%') || strstr($struct, '%post_id%') 1230 1239 || strstr($struct, '%pagename%') 1231 1240 || (strstr($struct, '%year%') && strstr($struct, '%monthnum%') && strstr($struct, '%day%') && strstr($struct, '%hour%') && strstr($struct, '%minute') && strstr($struct, '%second%'))) { 1232 $post = 1; 1241 $post = true; 1242 if ( strstr($struct, '%pagename%') ) 1243 $page = true; 1233 1244 $trackbackmatch = $match . $trackbackregex; 1234 1245 $trackbackquery = $trackbackindex . '?' . $query . '&tb=1'; … … 1258 1269 1259 1270 if ($post) { 1260 $rewrite = array($trackbackmatch => $trackbackquery) + $rewrite + 1261 array($sub1 => $subquery, $sub1tb => $subtbquery, $sub1feed => $subfeedquery, $sub1feed2 => $subfeedquery) + 1262 array($sub2 => $subquery, $sub2tb => $subtbquery, $sub2feed => $subfeedquery, $sub2feed2 => $subfeedquery); 1271 $rewrite = array($trackbackmatch => $trackbackquery) + $rewrite; 1272 if ( ! $page ) 1273 $rewrite = $rewrite + array($sub1 => $subquery, $sub1tb => $subtbquery, $sub1feed => $subfeedquery, $sub1feed2 => $subfeedquery); 1274 $rewrite = $rewrite + array($sub2 => $subquery, $sub2tb => $subtbquery, $sub2feed => $subfeedquery, $sub2feed2 => $subfeedquery); 1263 1275 } 1264 1276 } trunk/wp-includes/functions-post.php
r3368 r3371 796 796 797 797 $page_rewrite_rules = array(); 798 798 $page_attachment_rewrite_rules = array(); 799 799 800 if ($posts) { 800 801 801 802 foreach ($posts as $id => $post) { 803 802 804 // URI => page name 803 805 $uri = get_page_uri($id); 804 806 $attachments = $wpdb->get_results("SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE post_status = 'attachment' AND post_parent = '$id'"); 807 if ( $attachments ) { 808 foreach ( $attachments as $attachment ) { 809 $attach_uri = get_page_uri($attachment->ID); 810 $page_attachment_rewrite_rules[$attach_uri] = $attachment->post_name; 811 } 812 } 813 805 814 $page_rewrite_rules[$uri] = $post; 806 815 } 807 816 808 817 update_option('page_uris', $page_rewrite_rules); 809 818 819 if ( $page_attachment_rewrite_rules ) 820 update_option('page_attachment_uris', $page_attachment_rewrite_rules); 821 810 822 save_mod_rewrite_rules(); 811 823 }
