Changeset 1638
- Timestamp:
- 09/11/04 16:12:40 (4 years ago)
- Files:
-
- trunk/wp-admin/admin-functions.php (modified) (1 diff)
- trunk/wp-admin/menu.php (modified) (2 diffs)
- trunk/wp-admin/theme-editor.php (added)
- trunk/wp-admin/themes.php (added)
- trunk/wp-admin/upgrade-schema.php (modified) (1 diff)
- trunk/wp-blog-header.php (modified) (4 diffs)
- trunk/wp-includes/template-functions-general.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/wp-admin/admin-functions.php
r1631 r1638 489 489 } 490 490 491 function get_theme_data($theme_file) { 492 $theme_data = implode('', file($theme_file)); 493 preg_match("|Theme Name:(.*)|i", $theme_data, $theme_name); 494 preg_match("|Theme URI:(.*)|i", $theme_data, $theme_uri); 495 preg_match("|Description:(.*)|i", $theme_data, $description); 496 preg_match("|Author:(.*)|i", $theme_data, $author_name); 497 preg_match("|Author URI:(.*)|i", $theme_data, $author_uri); 498 preg_match("|Template:(.*)|i", $theme_data, $template); 499 if ( preg_match("|Version:(.*)|i", $theme_data, $version) ) 500 $version = $version[1]; 501 else 502 $version =''; 503 504 $description = wptexturize($description[1]); 505 506 $name = $theme_name[1]; 507 $name = trim($name); 508 $theme = $name; 509 if ('' != $theme_uri && '' != $name) { 510 $theme = __("<a href='{$theme_uri[1]}' title='Visit theme homepage'>{$theme}</a>"); 511 } 512 513 if ('' == $author_uri) { 514 $author = $author_name[1]; 515 } else { 516 $author = __("<a href='{$author_uri[1]}' title='Visit author homepage'>{$author_name[1]}</a>"); 517 } 518 519 return array('Name' => $name, 'Title' => $theme, 'Description' => $description, 'Author' => $author, 'Version' => $version, 'Template' => $template[1]); 520 } 521 522 function get_themes() { 523 $themes = array(); 524 $theme_loc = 'wp-content/themes'; 525 $theme_root = ABSPATH . $theme_loc; 526 527 // Files in wp-content/themes directory 528 $themes_dir = @ dir($theme_root); 529 if ($themes_dir) { 530 while(($theme_dir = $themes_dir->read()) !== false) { 531 if (is_dir($theme_root . '/' . $theme_dir)) { 532 $stylish_dir = @ dir($theme_root . '/' . $theme_dir); 533 while(($theme_file = $stylish_dir->read()) !== false) { 534 if ( $theme_file == 'style.css' ) { 535 $theme_files[] = $theme_dir . '/' . $theme_file; 536 } 537 } 538 } 539 } 540 } 541 542 $default_files = array(get_settings('blogfilename'), 'wp-comments.php', 'wp-comments-popup.php', 'wp-comments-post.php', 'wp-footer.php', 'wp-header.php', 'wp-sidebar.php', 'footer.php', 'header.php', 'sidebar.php'); 543 544 // Get the files for the default template. 545 $default_template_files = array(); 546 { 547 $dirs = array('', 'wp-content'); 548 foreach ($dirs as $dir) { 549 $template_dir = @ dir(ABSPATH . $dir); 550 while(($file = $template_dir->read()) !== false) { 551 if ( !preg_match('|^\.+$|', $file) && in_array($file, $default_files)) 552 $default_template_files[] = trim("$dir/$file", '/'); 553 } 554 } 555 } 556 557 // Get the files for the default stylesheet. 558 $default_stylesheet_files = array(); 559 { 560 $stylesheet_dir = @ dir(ABSPATH); 561 while(($file = $stylesheet_dir->read()) !== false) { 562 if ( !preg_match('|^\.+$|', $file) && preg_match('|\.css$|', $file)) 563 $default_stylesheet_files[] = "$file"; 564 } 565 } 566 567 // The default theme always exists. 568 $themes['Default'] = array('Name' => 'Default', 'Title' => 'Default', 'Description' => 'The default theme', 'Author' => '', 'Version' => '1.3', 'Template' => 'default', 'Stylesheet' => 'default', 'Template Files' => $default_template_files, 'Stylesheet Files' => $default_stylesheet_files); 569 570 if (!$themes_dir || !$theme_files) { 571 return $themes; 572 } 573 574 sort($theme_files); 575 576 foreach($theme_files as $theme_file) { 577 $theme_data = get_theme_data("$theme_root/$theme_file"); 578 579 $name = $theme_data['Name']; 580 $title = $theme_data['Title']; 581 $description = wptexturize($theme_data['Description']); 582 $version = $theme_data['Version']; 583 $author = $theme_data['Author']; 584 $template = $theme_data['Template']; 585 $stylesheet = dirname($theme_file); 586 587 if (empty($template)) { 588 if (file_exists(dirname("$theme_root/$theme_file/index.php"))) { 589 $template = dirname($theme_file); 590 } else { 591 continue; 592 } 593 } 594 595 $template = trim($template); 596 597 if (($template != 'default') && (! file_exists("$theme_root/$template/index.php"))) { 598 continue; 599 } 600 601 if (empty($name)) { 602 $name = dirname($theme_file); 603 $title = $name; 604 } 605 606 $stylesheet_files = array(); 607 if ($stylesheet != 'default') { 608 $stylesheet_dir = @ dir("$theme_root/$stylesheet"); 609 if ($stylesheet_dir) { 610 while(($file = $stylesheet_dir->read()) !== false) { 611 if ( !preg_match('|^\.+$|', $file) && preg_match('|\.css$|', $file) ) 612 $stylesheet_files[] = "$theme_loc/$stylesheet/$file"; 613 } 614 } 615 } else { 616 $stylesheet_files = $default_stylesheet_files; 617 } 618 619 $template_files = array(); 620 if ($template != 'default') { 621 $template_dir = @ dir("$theme_root/$template"); 622 if ($template_dir) { 623 while(($file = $template_dir->read()) !== false) { 624 if ( !preg_match('|^\.+$|', $file) && preg_match('|\.php$|', $file) ) 625 $template_files[] = "$theme_loc/$template/$file"; 626 } 627 } 628 } else { 629 $template_files = $default_template_files; 630 } 631 632 $themes[$name] = array('Name' => $name, 'Title' => $title, 'Description' => $description, 'Author' => $author, 'Version' => $version, 'Template' => $template, 'Stylesheet' => $stylesheet, 'Template Files' => $template_files, 'Stylesheet Files' => $stylesheet_files); 633 } 634 635 return $themes; 636 } 637 491 638 ?> trunk/wp-admin/menu.php
r1599 r1638 14 14 $menu[30] = array(__('Options'), 6, 'options-general.php'); 15 15 $menu[35] = array(__('Plugins'), 8, 'plugins.php'); 16 $menu[40] = array(__('Templates'), 4, 'templates.php'); 17 $menu[45] = array(__('Upload'), get_settings('fileupload_minlevel'), 'upload.php'); 16 $menu[40] = array(__('Presentation'), 8, 'themes.php'); 17 $menu[45] = array(__('Templates'), 4, 'templates.php'); 18 $menu[50] = array(__('Upload'), get_settings('fileupload_minlevel'), 'upload.php'); 18 19 ksort($menu); // So other files can plugin 19 20 … … 39 40 $submenu['options-general.php'][25] = array(__('Permalinks'), 5, 'options-permalink.php'); 40 41 $submenu['options-general.php'][30] = array(__('Miscellaneous'), 5, 'options-misc.php'); 42 43 $submenu['themes.php'][5] = array(__('Themes'), 5, 'themes.php'); 44 $submenu['themes.php'][10] = array(__('Theme Editor'), 5, 'theme-editor.php'); 41 45 42 46 $self = preg_replace('|.*/wp-admin/|i', '', $_SERVER['PHP_SELF']); trunk/wp-admin/upgrade-schema.php
r1627 r1638 216 216 add_option('recently_edited'); 217 217 add_option('use_linksupdate', 0); 218 add_option('template', 'default'); 219 add_option('stylesheet', 'default'); 218 220 219 221 // Delete unused options trunk/wp-blog-header.php
r1599 r1638 65 65 if (isset($_GET['error'])) { 66 66 unset($_GET['error']); 67 } 68 69 if (isset($error)) { 70 unset($error); 67 71 } 68 72 … … 102 106 // Sending HTTP headers 103 107 104 if ( !isset($doing_rss) || !$doing_rss ) { 108 if (is_404()) { 109 header("HTTP/1.x 404 Not Found"); 110 } else if ( !isset($doing_rss) || !$doing_rss ) { 105 111 @header ('X-Pingback: '. get_settings('siteurl') . '/xmlrpc.php'); 106 112 } else { … … 184 190 endif; 185 191 192 $wp_template = get_settings('template'); 193 194 if ($wp_template == 'default') { 195 $wp_template = ''; 196 } 197 198 if (! empty($wp_template)) { 199 $wp_template = "themes/$wp_template/"; 200 } 201 186 202 // Template redirection 187 if (is_single() && (! isset($wp_did_single)) && 188 file_exists(ABSPATH . 'wp-content/single.php')) { 203 if ($pagenow != get_settings('blogfilename')) { 204 // Noop. 205 } else if (is_home() && (! isset($wp_did_home)) && 206 file_exists(ABSPATH . "wp-content/${wp_template}index.php")) { 207 $wp_did_home = true; 208 include(ABSPATH . "wp-content/${wp_template}index.php"); 209 exit; 210 } else if (is_single() && (! isset($wp_did_single)) && 211 file_exists(ABSPATH . "wp-content/${wp_template}single.php")) { 189 212 $wp_did_single = true; 190 include(ABSPATH . 'wp-content/single.php');213 include(ABSPATH . "wp-content/${wp_template}single.php"); 191 214 exit; 192 215 } else if (is_page() && (! isset($wp_did_page)) && 193 file_exists(ABSPATH . 'wp-content/page.php')) {216 file_exists(ABSPATH . "wp-content/${wp_template}page.php")) { 194 217 $wp_did_page = true; 195 include(ABSPATH . 'wp-content/page.php');218 include(ABSPATH . "wp-content/${wp_template}page.php"); 196 219 exit; 197 220 } else if (is_category() && (! isset($wp_did_category)) && 198 file_exists(ABSPATH . 'wp-content/category.php')) {221 file_exists(ABSPATH . "wp-content/${wp_template}category.php")) { 199 222 $wp_did_category = true; 200 include(ABSPATH . 'wp-content/category.php');223 include(ABSPATH . "wp-content/${wp_template}category.php"); 201 224 exit; 202 225 } else if (is_author() && (! isset($wp_did_author)) && 203 file_exists(ABSPATH . 'wp-content/author.php')) {226 file_exists(ABSPATH . "wp-content/${wp_template}author.php")) { 204 227 $wp_did_author = true; 205 include(ABSPATH . 'wp-content/author.php');228 include(ABSPATH . "wp-content/${wp_template}author.php"); 206 229 exit; 207 230 } else if (is_date() && (! isset($wp_did_date)) && 208 file_exists(ABSPATH . 'wp-content/date.php')) {231 file_exists(ABSPATH . "wp-content/${wp_template}date.php")) { 209 232 $wp_did_date = true; 210 include(ABSPATH . 'wp-content/date.php');233 include(ABSPATH . "wp-content/${wp_template}date.php"); 211 234 exit; 212 235 } else if (is_archive() && (! isset($wp_did_archive)) && 213 file_exists(ABSPATH . 'wp-content/archive.php')) {236 file_exists(ABSPATH . "wp-content/${wp_template}archive.php")) { 214 237 $wp_did_archive = true; 215 include(ABSPATH . 'wp-content/archive.php');238 include(ABSPATH . "wp-content/${wp_template}archive.php"); 216 239 exit; 217 240 } else if (is_search() && (! isset($wp_did_search)) && 218 file_exists(ABSPATH . 'wp-content/search.php')) {241 file_exists(ABSPATH . "wp-content/${wp_template}search.php")) { 219 242 $wp_did_search = true; 220 include(ABSPATH . 'wp-content/search.php');243 include(ABSPATH . "wp-content/${wp_template}search.php"); 221 244 exit; 222 245 } else if (is_404() && (! isset($wp_did_404)) && 223 file_exists(ABSPATH . 'wp-content/404.php')) {246 file_exists(ABSPATH . "wp-content/${wp_template}404.php")) { 224 247 $wp_did_404 = true; 225 include(ABSPATH . 'wp-content/404.php');248 include(ABSPATH . "wp-content/${wp_template}404.php"); 226 249 exit; 227 250 } else if (is_feed() && $pagenow != 'wp-feed.php') { … … 231 254 include(dirname(__FILE__) . '/wp-trackback.php'); 232 255 exit; 256 } else if ((! isset($wp_did_home)) && file_exists(ABSPATH . "wp-content/${wp_template}index.php")) 257 { 258 $wp_did_home = true; 259 include(ABSPATH . "wp-content/${wp_template}index.php"); 260 exit; 233 261 } 234 262 trunk/wp-includes/template-functions-general.php
r1632 r1638 78 78 $output = get_settings('siteurl') .'/xmlrpc.php'; 79 79 break; 80 case 'stylesheet_url': 81 $output = get_settings('stylesheet');; 82 if (empty($output) || $output == 'default') { 83 $output = get_settings('home') . "/wp-layout.css"; 84 } else { 85 $output = get_settings('home') . "/wp-content/themes/$output/style.css"; 86 } 87 break; 88 case 'template_url': 89 $output = get_settings('template');; 90 if (empty($output) || $output == 'default') { 91 $output = get_settings('home'); 92 } else { 93 $output = get_settings('home') . "/wp-content/themes/$output"; 94 } 95 break; 80 96 case 'admin_email': 81 97 $output = get_settings('admin_email');
