Changeset 616
- Timestamp:
- 03/30/06 01:32:38 (2 years ago)
- Files:
-
- trunk/doc/Subdomains.txt (added)
- trunk/src/config/wp-config-sample.php (modified) (1 diff)
- trunk/src/lib/wp-admin/admin-header.php (modified) (2 diffs)
- trunk/src/lib/wp-admin/upgrade-schema.php (modified) (1 diff)
- trunk/src/lib/wp-includes/classes.php (modified) (1 diff)
- trunk/src/lib/wp-includes/functions.php (modified) (1 diff)
- trunk/src/lib/wp-includes/template-functions-general.php (modified) (1 diff)
- trunk/src/lib/wp-settings.php (modified) (1 diff)
- trunk/src/lyceum/portal.php (modified) (2 diffs)
- trunk/src/lyceum/wp-admin/options.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/config/wp-config-sample.php
r596 r616 11 11 // Something like '/portal.php' or '/lyceum/portal.php' 12 12 define('PORTAL', "/web/path/to/portal.php"); 13 14 // Subdomain options 15 // See doc/Installation.txt and doc/Subdomains.txt for more info 16 define('SUBDOMAINS', false); 17 define('MAINDOMAIN', 'blogs.example.com'); 13 18 14 19 //log files trunk/src/lib/wp-admin/admin-header.php
r613 r616 71 71 echo '<strong>'. __('My Account') . '</strong>'; 72 72 else 73 echo '<a href="'.get_settings(' siteurl').'/profile">'. __('My Account') . '</a>';73 echo '<a href="'.get_settings('home').'/profile">'. __('My Account') . '</a>'; 74 74 75 75 $myblogs = get_userblogs(); … … 79 79 echo ' • <strong>'.$b->blogname.'</strong>'; 80 80 else 81 echo ' • <a href="'. get_settings('siteurl').'/'.$b->slug.'/admin/">'.$b->blogname.'</a>';81 echo ' • <a href="'.$b->home.'/admin/">'.$b->blogname.'</a>'; 82 82 } 83 83 trunk/src/lib/wp-admin/upgrade-schema.php
r613 r616 224 224 umask($old_umask); 225 225 226 $guessurl = get_option('siteurl'); 227 228 // add_option('siteurl', $guessurl . '/' . $blog, __('Blog web address')); 229 add_option('home', $guessurl . '/' . $wpdb->get_var("SELECT slug FROM $wpdb->blogs WHERE id = '$blog'")); 230 // in case it is set, but blank, update "home" 231 // if ( !__get_option('home') ) update_option('home', $guessurl); 232 226 $slug = $wpdb->get_var("SELECT slug FROM $wpdb->blogs WHERE id = '$blog'"); 227 if (SUBDOMAINS) 228 $home = 'http://' . $slug . '.' . MAINDOMAIN; 229 else 230 $home = get_option('siteurl') . '/' . $slug; 231 add_option('home', $home); 233 232 add_option('blogname', __('My Weblog'), __('Blog title')); 234 233 add_option('blogdescription', __('Just another Lyceum weblog'), __('Short tagline')); trunk/src/lib/wp-includes/classes.php
r613 r616 1439 1439 } 1440 1440 } else { 1441 $rules .= " 1441 if(SUBDOMAINS) 1442 $rules.=" 1443 RewriteCond %{REQUEST_FILENAME} !-f 1444 RewriteCond %{REQUEST_FILENAME} !-d 1445 1446 RewriteRule ^profile/? wp-admin/profile.php?b=system&%{QUERY_STRING} [L] 1447 RewriteRule ^login/? wp-login.php?%{QUERY_STRING} [L] 1448 RewriteRule ^register/? wp-register.php?%{QUERY_STRING} [L] 1449 1450 RewriteCond %{REQUEST_FILENAME} !-f 1451 RewriteCond %{REQUEST_FILENAME} !-d 1452 1453 RewriteRule ^admin/?$ wp-admin/index.php? 1454 RewriteRule ^admin/?([^/]+php)\??(.*) wp-admin/$1?%{QUERY_STRING} [L] 1455 1456 RewriteCond %{REQUEST_FILENAME} !-f 1457 RewriteCond %{REQUEST_FILENAME} !-d 1458 1459 ### do we need these two conditions? ### 1460 RewriteCond %{REQUEST_URI} !^(.+)/admin(.*) 1461 RewriteCond %{REQUEST_URI} !^(.+)/index.php(.*) 1462 1463 RewriteRule (.*) /index.php?$1 [L,QSA]\n"; 1464 1465 1466 1467 else $rules .= " 1442 1468 1443 1469 RewriteCond %{REQUEST_FILENAME} !-f trunk/src/lib/wp-includes/functions.php
r613 r616 2323 2323 global $user_ID, $wpdb, $table_prefix; 2324 2324 $blogs = $wpdb->get_results(" 2325 SELECT DISTINCT $wpdb->blogs.id, $wpdb->blogs.slug, option_value as blogname, status2325 SELECT DISTINCT $wpdb->blogs.id, blognametable.option_value AS blogname, bloghometable.option_value AS home, status 2326 2326 FROM $wpdb->blogs 2327 INNER JOIN $wpdb->options ON ($wpdb->blogs.id = $wpdb->options.blog) 2327 INNER JOIN $wpdb->options AS blognametable ON ($wpdb->blogs.id = blognametable.blog) 2328 INNER JOIN $wpdb->options AS bloghometable ON ($wpdb->blogs.id = bloghometable.blog) 2328 2329 INNER JOIN $wpdb->usermeta ON ($wpdb->blogs.id = $wpdb->usermeta.blog) 2329 2330 WHERE 2330 2331 status = 'active' AND 2331 2332 meta_key = '{$table_prefix}capabilities' AND 2332 option_name = 'blogname' AND 2333 blognametable.option_name = 'blogname' AND 2334 bloghometable.option_name = 'home' AND 2333 2335 user_id = '$user_ID' 2334 2336 "); trunk/src/lib/wp-includes/template-functions-general.php
r602 r616 32 32 33 33 if ('' == $user_ID) 34 $link = '<a href="' . get_settings(' siteurl') . '/wp-login.php">' . __('Login') . '</a>';35 else 36 $link = '<a href="' . get_settings(' siteurl') . '/wp-login.php?action=logout">' . __('Logout') . '</a>';34 $link = '<a href="' . get_settings('home') . '/wp-login.php">' . __('Login') . '</a>'; 35 else 36 $link = '<a href="' . get_settings('home') . '/wp-login.php?action=logout">' . __('Logout') . '</a>'; 37 37 38 38 echo apply_filters('loginout', $link); trunk/src/lib/wp-settings.php
r613 r616 145 145 //TODO use cache 146 146 if (!isset($blogdata)){ 147 if (!isset($_REQUEST['b'])) 148 header('Location: '.PORTAL );//redirect to public portal 149 else { 150 $blogdata = $wpdb->get_row("SELECT * FROM `$wpdb->blogs` WHERE `slug`='{$_REQUEST['b']}'"); 151 // trace('$blogdata', array_print($blogdata)); 152 $blog = $blogdata->id; 153 $blogstatus = $blogdata->status; 154 } 147 if(SUBDOMAINS) { 148 $host=$_SERVER['HTTP_HOST']; 149 if(($pos=strpos($host, '.'.MAINDOMAIN))!==false) { 150 $theslug=substr($host, 0, $pos); 151 $blogdata = $wpdb->get_row("SELECT * FROM `$wpdb->blogs` WHERE `slug`='{$theslug}'"); 152 //trace('$blogdata', array_print($blogdata)); 153 $blog = $blogdata->id; 154 $blogstatus = $blogdata->status; 155 156 } else { 157 if(!(strpos($_SERVER['REQUEST_URI'], '/system-admin')===0 158 or strpos($_SERVER['REQUEST_URI'], '/wp-')===0)) 159 header('Location: '.PORTAL); 160 } 161 } else { // if(SUBDOMAINS) 162 if (!isset($_REQUEST['b'])) 163 header('Location: '.PORTAL);//redirect to public portal 164 else { 165 $blogdata = $wpdb->get_row("SELECT * FROM `$wpdb->blogs` WHERE `id`='{$_REQUEST['b']}'"); 166 //trace('$blogdata', array_print($blogdata)); 167 $blog = $blogdata->id; 168 $blogstatus = $blogdata->status; 169 } 170 171 } 172 155 173 } 156 174 if (!isset($blog)) trunk/src/lyceum/portal.php
r613 r616 81 81 82 82 echo "<hr/><h2>My Blogs</h2>"; 83 if ($myblogs) 83 if ($myblogs) { 84 84 foreach ($myblogs as $b) 85 echo "<a href=\" ./$b->slug\">$b->blogname</a><br/>";86 else85 echo "<a href=\"".$b->home."\">$b->blogname</a><br/>"; 86 } else 87 87 echo "You do not have permissions on any blogs. Click <em>Register</em> above to make a username and a blog."; 88 88 89 89 $blogs = $wpdb->get_results(" 90 SELECT DISTINCT $wpdb->blogs. slug, option_value as blogname, status90 SELECT DISTINCT $wpdb->blogs.id, $wpdb->blogs.slug, option_value as blogname, status 91 91 FROM $wpdb->blogs 92 92 INNER JOIN $wpdb->options ON ($wpdb->blogs.id = $wpdb->options.blog) … … 102 102 echo "<hr/><h2>All Blogs</h2>"; 103 103 if ($blogs) 104 foreach ($blogs as $b) 105 echo "<a href=\"./$b->slug\">$b->blogname</a><br/>"; 104 if(SUBDOMAINS) 105 foreach ($blogs as $b) 106 echo "<a href=\"http://$b->slug.".MAINDOMAIN."\">$b->blogname</a><br/>"; 107 else 108 foreach ($blogs as $b) 109 echo "<a href=\"./$b->id\">$b->blogname</a><br/>"; 110 106 111 else 107 112 echo "The system does not yet have any blogs"; trunk/src/lyceum/wp-admin/options.php
r613 r616 85 85 $slug = $_POST['slug']; 86 86 $oldslug = $wpdb->get_var("SELECT slug FROM $wpdb->blogs WHERE id = '$blogdata->id'"); 87 trace('$oldslug', $oldslug);88 87 if ($slug != $oldslug){ 89 88 $wpdb->query("UPDATE $wpdb->blogs SET slug = '$slug' WHERE id = '$blogdata->id'"); 90 update_option('home', get_option('siteurl') . '/' . $slug); 89 if (SUBDOMAINS) 90 $home = 'http://' . $slug . '.' . MAINDOMAIN; 91 else 92 $home = get_option('siteurl') . '/' . $slug; 93 update_option('home', $home); 91 94 $any_changed++; 92 95 }
