Changeset 3517
- Timestamp:
- 02/12/2006 07:53:23 AM (19 years ago)
- Location:
- trunk
- Files:
-
- 88 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/readme.html
r3339 r3517 17 17 padding: .2em 2em; 18 18 } 19 19 20 20 h1 { 21 21 color: #006; … … 23 23 font-weight: lighter; 24 24 } 25 25 26 26 h2 { 27 27 font-size: 16px; 28 28 } 29 29 30 30 p, li, dt { 31 31 line-height: 140%; -
trunk/wp-admin/admin-db.php
r3350 r3517 15 15 16 16 $editable = get_editable_user_ids( $user_id ); 17 17 18 18 if( !$editable ) { 19 19 $other_drafts = ''; … … 43 43 function get_editable_user_ids( $user_id, $exclude_zeros = true ) { 44 44 global $wpdb; 45 45 46 46 $user = new WP_User( $user_id ); 47 47 48 48 if ( ! $user->has_cap('edit_others_posts') ) { 49 49 if ( $user->has_cap('edit_posts') || $exclude_zeros == false ) … … 58 58 if ( $exclude_zeros ) 59 59 $query .= " AND meta_value != '0'"; 60 60 61 61 return $wpdb->get_col( $query ); 62 62 } … … 112 112 $wpdb->query ("UPDATE $wpdb->categories SET cat_name = '$cat_name', category_nicename = '$category_nicename', category_description = '$category_description', category_parent = '$category_parent' WHERE cat_ID = '$cat_ID'"); 113 113 } 114 114 115 115 if ( $category_nicename == '' ) { 116 116 $category_nicename = sanitize_title($cat_name, $cat_ID ); … … 243 243 function get_link($link_id, $output = OBJECT) { 244 244 global $wpdb; 245 245 246 246 $link = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = '$link_id'"); 247 247 … … 259 259 function wp_insert_link($linkdata) { 260 260 global $wpdb, $current_user; 261 261 262 262 extract($linkdata); 263 263 … … 267 267 268 268 if ( empty($link_rating) ) 269 $link_rating = 0; 269 $link_rating = 0; 270 270 271 271 if ( empty($link_target) ) 272 $link_target = ''; 272 $link_target = ''; 273 273 274 274 if ( empty($link_visible) ) 275 275 $link_visible = 'Y'; 276 276 277 277 if ( empty($link_owner) ) 278 278 $link_owner = $current_user->id; … … 293 293 $link_id = $wpdb->insert_id; 294 294 } 295 295 296 296 if ( $update ) 297 297 do_action('edit_link', $link_id); … … 306 306 307 307 $link_id = (int) $linkdata['link_id']; 308 308 309 309 $link = get_link($link_id, ARRAY_A); 310 310 311 311 // Escape data pulled from DB. 312 312 $link = add_magic_quotes($link); 313 313 314 314 // Merge old and new fields with new fields overwriting old ones. 315 315 $linkdata = array_merge($link, $linkdata); … … 322 322 323 323 do_action('delete_link', $link_id); 324 return $wpdb->query("DELETE FROM $wpdb->links WHERE link_id = '$link_id'"); 324 return $wpdb->query("DELETE FROM $wpdb->links WHERE link_id = '$link_id'"); 325 325 } 326 326 -
trunk/wp-admin/admin-functions.php
r3513 r3517 7 7 if ( 'page' == $_POST['post_type'] ) { 8 8 if ( !current_user_can('edit_pages') ) 9 die(__('You are not allowed to create pages on this blog.')); 9 die(__('You are not allowed to create pages on this blog.')); 10 10 } else { 11 11 if ( !current_user_can('edit_posts') ) … … 31 31 32 32 if ($_POST['post_author'] != $_POST['user_ID']) { 33 if ( 'page' == $_POST['post_type'] ) { 33 if ( 'page' == $_POST['post_type'] ) { 34 34 if ( !current_user_can('edit_others_pages') ) 35 35 die(__('You cannot create pages as this user.')); … … 37 37 if ( !current_user_can('edit_others_posts') ) 38 38 die(__('You cannot post as this user.')); 39 39 40 40 } 41 41 } … … 53 53 if ( 'page' == $_POST['post_type'] ) { 54 54 if ('publish' == $_POST['post_status'] && !current_user_can('publish_pages')) 55 $_POST['post_status'] = 'draft'; 55 $_POST['post_status'] = 'draft'; 56 56 } else { 57 57 if ('publish' == $_POST['post_status'] && !current_user_can('publish_posts')) … … 141 141 if ( 'page' == $_POST['post_type'] ) { 142 142 if ( !current_user_can('edit_page', $post_ID) ) 143 die(__('You are not allowed to edit this page.')); 143 die(__('You are not allowed to edit this page.')); 144 144 } else { 145 145 if ( !current_user_can('edit_post', $post_ID) ) … … 164 164 165 165 if ($_POST['post_author'] != $_POST['user_ID']) { 166 if ( 'page' == $_POST['post_type'] ) { 166 if ( 'page' == $_POST['post_type'] ) { 167 167 if ( !current_user_can('edit_others_pages') ) 168 168 die(__('You cannot edit pages as this user.')); … … 170 170 if ( !current_user_can('edit_others_posts') ) 171 171 die(__('You cannot edit posts as this user.')); 172 172 173 173 } 174 174 } … … 186 186 if ( 'page' == $_POST['post_type'] ) { 187 187 if ('publish' == $_POST['post_status'] && !current_user_can('edit_published_pages')) 188 $_POST['post_status'] = 'draft'; 188 $_POST['post_status'] = 'draft'; 189 189 } else { 190 190 if ('publish' == $_POST['post_status'] && !current_user_can('edit_published_posts')) … … 218 218 update_meta($key, $value['key'], $value['value']); 219 219 } 220 220 221 221 if ($_POST['deletemeta']) { 222 222 foreach ($_POST['deletemeta'] as $key => $value) … … 465 465 function get_link_to_edit($link_id) { 466 466 $link = get_link($link_id); 467 467 468 468 $link->link_url = wp_specialchars($link->link_url, 1); 469 469 $link->link_name = wp_specialchars($link->link_name, 1); … … 471 471 $link->link_notes = wp_specialchars($link->link_notes); 472 472 $link->link_rss = wp_specialchars($link->link_rss); 473 473 474 474 return $link; 475 475 } … … 480 480 else 481 481 $link->link_url = ''; 482 482 483 483 if ( isset($_GET['name']) ) 484 484 $link->link_name = wp_specialchars($_GET['name'], 1); 485 485 else 486 486 $link->link_name = ''; 487 487 488 488 return $link; 489 489 } 490 490 491 491 function add_link() { 492 return edit_link(); 492 return edit_link(); 493 493 } 494 494 … … 503 503 $_POST['link_rss'] = wp_specialchars($_POST['link_rss']); 504 504 $auto_toggle = get_autotoggle($_POST['link_category']); 505 505 506 506 // if we are in an auto toggle category and this one is visible then we 507 507 // need to make the others invisible before we add this new one. … … 578 578 } 579 579 } 580 580 581 581 usort($result, 'sort_cats'); 582 582 … … 616 616 $edit = "<a href='categories.php?action=edit&cat_ID=$category->cat_ID' class='edit'>".__('Edit')."</a></td>"; 617 617 $default_cat_id = get_option('default_category'); 618 618 619 619 if ($category->cat_ID != $default_cat_id) 620 620 $edit .= "<td><a href='categories.php?action=delete&cat_ID=$category->cat_ID' onclick=\"return deleteSomething( 'cat', $category->cat_ID, '".sprintf(__("You are about to delete the category "%s". All of its posts will go to the default category.\\n"OK" to delete, "Cancel" to stop."), wp_specialchars($category->cat_name, 1))."' );\" class='delete'>".__('Delete')."</a>"; … … 700 700 function link_category_dropdown($fieldname, $selected = 0) { 701 701 global $wpdb; 702 702 703 703 $results = $wpdb->get_results("SELECT cat_id, cat_name, auto_toggle FROM $wpdb->linkcategories ORDER BY cat_id"); 704 704 echo "\n<select name='$fieldname' size='1'>\n"; … … 1835 1835 </div> 1836 1836 </form> 1837 <?php 1837 <?php 1838 1838 } 1839 1839 -
trunk/wp-admin/admin.php
r3422 r3517 54 54 if (! isset($_GET['noheader'])) 55 55 require_once(ABSPATH . '/wp-admin/admin-header.php'); 56 56 57 57 do_action($page_hook); 58 58 } else { … … 60 60 die(__('Invalid plugin page')); 61 61 } 62 62 63 63 if (! file_exists(ABSPATH . "wp-content/plugins/$plugin_page")) 64 64 die(sprintf(__('Cannot load %s.'), $plugin_page)); … … 66 66 if (! isset($_GET['noheader'])) 67 67 require_once(ABSPATH . '/wp-admin/admin-header.php'); 68 68 69 69 include(ABSPATH . "wp-content/plugins/$plugin_page"); 70 70 } 71 71 72 72 include(ABSPATH . 'wp-admin/admin-footer.php'); 73 73 74 74 exit(); 75 75 } else if (isset($_GET['import'])) { 76 76 77 77 $importer = $_GET['import']; 78 78 … … 80 80 die(__('Invalid importer.')); 81 81 } 82 82 83 83 if (! file_exists(ABSPATH . "wp-admin/import/$importer.php")) 84 84 die(__('Cannot load importer.')); 85 85 86 86 include(ABSPATH . "wp-admin/import/$importer.php"); 87 87 88 88 $parent_file = 'import.php'; 89 89 $title = __('Import'); 90 90 91 91 if (! isset($_GET['noheader'])) 92 92 require_once(ABSPATH . 'wp-admin/admin-header.php'); … … 98 98 99 99 call_user_func($wp_importers[$importer][2]); 100 100 101 101 include(ABSPATH . 'wp-admin/admin-footer.php'); 102 102 -
trunk/wp-admin/bookmarklet.php
r2972 r3517 26 26 $popuptitle = wp_specialchars(stripslashes($popuptitle)); 27 27 $text = wp_specialchars(stripslashes(urldecode($text))); 28 28 29 29 $popuptitle = funky_javascript_fix($popuptitle); 30 30 $text = funky_javascript_fix($text); 31 31 32 32 $post_title = wp_specialchars($_REQUEST['post_title']); 33 33 if (!empty($post_title)) … … 35 35 else 36 36 $post->post_title = $popuptitle; 37 37 38 38 39 39 $content = wp_specialchars($_REQUEST['content']); -
trunk/wp-admin/cat-js.php
r3500 r3517 68 68 var ids = new Array(); 69 69 var names = new Array(); 70 70 71 71 ids = myPload( ajaxCat.response ); 72 72 names = myPload( newcat.value ); … … 81 81 return; 82 82 } 83 83 84 84 var exists = document.getElementById('category-' + id); 85 85 86 86 if (exists) { 87 87 var moveIt = exists.parentNode; … … 101 101 newLabel.id = 'new-category-' + id; 102 102 newLabel.className = 'selectit fade'; 103 103 104 104 var newCheck = document.createElement('input'); 105 105 newCheck.type = 'checkbox'; … … 108 108 newCheck.id = 'category-' + id; 109 109 newLabel.appendChild(newCheck); 110 110 111 111 var newLabelText = document.createTextNode(' ' + names[i]); 112 112 newLabel.appendChild(newLabelText); 113 113 114 114 catDiv.insertBefore(newLabel, catDiv.firstChild); 115 115 newCheck.checked = 'checked'; 116 116 117 117 Fat.fade_all(); 118 118 newLabel.className = 'selectit'; -
trunk/wp-admin/categories.php
r3422 r3517 28 28 if ( !current_user_can('manage_categories') ) 29 29 die (__('Cheatin’ uh?')); 30 30 31 31 wp_insert_category($_POST); 32 32 … … 97 97 if ( !current_user_can('manage_categories') ) 98 98 die (__('Cheatin’ uh?')); 99 99 100 100 wp_update_category($_POST); 101 101 -
trunk/wp-admin/edit-comments.php
r3422 r3517 89 89 $class .= ' alternate'; 90 90 echo "<li id='comment-$comment->comment_ID' class='$class'>"; 91 ?> 91 ?> 92 92 <p><strong><?php _e('Name:') ?></strong> <?php comment_author() ?> <?php if ($comment->comment_author_email) { ?>| <strong><?php _e('E-mail:') ?></strong> <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url ) { ?> | <strong><?php _e('URI:') ?></strong> <?php comment_author_url_link() ?> <?php } ?>| <strong><?php _e('IP:') ?></strong> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p> 93 93 94 94 <?php comment_text() ?> 95 95 … … 119 119 <p> 120 120 <strong><?php _e('No comments found.') ?></strong></p> 121 121 122 122 <?php 123 123 } // end if ($comments) -
trunk/wp-admin/edit-form-ajax-cat.php
r3135 r3517 18 18 foreach ($names as $cat_name) { 19 19 $cat_name = trim( $cat_name ); 20 20 21 21 if ( !$category_nicename = sanitize_title($cat_name) ) 22 22 continue; … … 25 25 continue; 26 26 } 27 27 28 28 $new_cat_id = wp_create_category($cat_name); 29 29 30 30 $ids[] = (string) $new_cat_id; 31 31 } -
trunk/wp-admin/edit.php
r3513 r3517 94 94 <select name='m'> 95 95 <?php 96 foreach ($arc_result as $arc_row) { 96 foreach ($arc_result as $arc_row) { 97 97 $arc_year = $arc_row->yyear; 98 98 $arc_month = $arc_row->mmonth; 99 99 100 100 if( isset($_GET['m']) && $arc_year . zeroise($arc_month, 2) == (int) $_GET['m'] ) 101 101 $default = 'selected="selected"'; 102 102 else 103 103 $default = null; 104 104 105 105 echo "<option $default value=\"" . $arc_year.zeroise($arc_month, 2) . '">'; 106 106 echo $month[zeroise($arc_month, 2)] . " $arc_year"; … … 158 158 159 159 switch($column_name) { 160 160 161 161 case 'id': 162 162 ?> -
trunk/wp-admin/import/blogger.php
r3397 r3517 136 136 if ($header) curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 137 137 $response = curl_exec ($ch); 138 138 139 139 if ($parse) { 140 140 $response = $this->parse_response($response); … … 142 142 return $response; 143 143 } 144 144 145 145 return $response; 146 146 } … … 211 211 update_option('import-blogger', $this->import); 212 212 } 213 213 214 214 // Redirects to next step 215 215 function do_next_step() { … … 225 225 $this->login_form(__('The script will log into your Blogger account, change some settings so it can read your blog, and restore the original settings when it\'s done. Here\'s what you do:').'</p><ol><li>'.__('Back up your Blogger template.').'</li><li>'.__('Back up any other Blogger settings you might need later.').'</li><li>'.__('Log out of Blogger').'</li><li>'.__('Log in <em>here</em> with your Blogger username and password.').'</li><li>'.__('On the next screen, click one of your Blogger blogs.').'</li><li>'.__('Do not close this window or navigate away until the process is complete.').'</li></ol>'); 226 226 } 227 228 // Try logging in. If we get an array of cookies back, we at least connected. 227 228 // Try logging in. If we get an array of cookies back, we at least connected. 229 229 $this->import['cookies'] = $this->login_blogger($_POST['user'], $_POST['pass']); 230 230 if ( !is_array( $this->import['cookies'] ) ) { 231 231 $this->login_form(__('Login failed. Please enter your credentials again.')); 232 232 } 233 233 234 234 // Save the password so we can log the browser in when it's time to publish. 235 235 $this->import['pass'] = $_POST['pass']; … … 396 396 $archive = $this->get_blogger($url); 397 397 if ( $archive['code'] > 200 ) 398 continue; 398 continue; 399 399 $posts = explode('<wordpresspost>', $archive['body']); 400 400 for ($i = 1; $i < count($posts); $i = $i + 1) { … … 410 410 $post_author_name = $wpdb->escape(trim($postinfo[1])); 411 411 $post_author_email = $postinfo[5] ? $postinfo[5] : 'user@wordpress.org'; 412 412 413 413 if ( $this->lump_authors ) { 414 414 // Ignore Blogger authors. Use the current user_ID for all posts imported. … … 436 436 $postminute = zeroise($post_date_His[1], 2); 437 437 $postsecond = zeroise($post_date_His[2], 2); 438 438 439 439 if (($post_date[2] == 'PM') && ($posthour != '12')) 440 440 $posthour = $posthour + 12; 441 441 else if (($post_date[2] == 'AM') && ($posthour == '12')) 442 442 $posthour = '00'; 443 443 444 444 $post_date = "$postyear-$postmonth-$postday $posthour:$postminute:$postsecond"; 445 445 446 446 $post_content = addslashes($post_content); 447 447 $post_content = str_replace(array('<br>','<BR>','<br/>','<BR/>','<br />','<BR />'), "\n", $post_content); // the XHTML touch... ;) 448 448 449 449 $post_title = addslashes($post_title); 450 450 451 451 $post_status = 'publish'; 452 452 453 453 if ( $ID = post_exists($post_title, '', $post_date) ) { 454 454 $post_array[$i]['ID'] = $ID; … … 598 598 $this->restart(); 599 599 } 600 600 601 601 if ( isset($_GET['noheader']) ) { 602 602 $this->import = get_settings('import-blogger'); … … 648 648 } 649 649 die; 650 650 651 651 } else { 652 652 $this->greet(); -
trunk/wp-admin/import/dotclear.php
r3424 r3517 8 8 { 9 9 global $wpdb; 10 10 11 11 $cat_id -= 0; // force numeric 12 12 $name = $wpdb->get_var('SELECT cat_ID FROM '.$wpdb->categories.' WHERE category_nicename="'.$category_nicename.'"'); 13 13 14 14 return $name; 15 15 } … … 136 136 echo '</div>'; 137 137 } 138 138 139 139 function greet() 140 140 { … … 154 154 set_magic_quotes_runtime(0); 155 155 $prefix = get_option('tpre'); 156 156 157 157 // Get Categories 158 158 return $dcdb->get_results('SELECT * FROM dc_categorie', ARRAY_A); 159 159 } 160 160 161 161 function get_dc_users() 162 162 { … … 166 166 set_magic_quotes_runtime(0); 167 167 $prefix = get_option('tpre'); 168 168 169 169 // Get Users 170 170 171 171 return $dcdb->get_results('SELECT * FROM dc_user', ARRAY_A); 172 172 } 173 173 174 174 function get_dc_posts() 175 175 { … … 178 178 set_magic_quotes_runtime(0); 179 179 $prefix = get_option('tpre'); 180 180 181 181 // Get Posts 182 182 return $dcdb->get_results('SELECT dc_post.*, dc_categorie.cat_libelle_url AS post_cat_name … … 184 184 ON dc_post.cat_id = dc_categorie.cat_id', ARRAY_A); 185 185 } 186 186 187 187 function get_dc_comments() 188 188 { … … 192 192 set_magic_quotes_runtime(0); 193 193 $prefix = get_option('tpre'); 194 194 195 195 // Get Comments 196 196 return $dcdb->get_results('SELECT * FROM dc_comment', ARRAY_A); 197 197 } 198 198 199 199 function get_dc_links() 200 200 { … … 206 206 return $dcdb->get_results('SELECT * FROM dc_link ORDER BY position', ARRAY_A); 207 207 } 208 208 209 209 function cat2wp($categories='') 210 210 { … … 221 221 $count++; 222 222 extract($category); 223 223 224 224 // Make Nice Variables 225 225 $name = $wpdb->escape($cat_libelle_url); … … 237 237 $dccat2wpcat[$id] = $ret_id; 238 238 } 239 239 240 240 // Store category translation for future use 241 241 add_option('dccat2wpcat',$dccat2wpcat); … … 246 246 return false; 247 247 } 248 248 249 249 function users2wp($users='') 250 250 { … … 253 253 $count = 0; 254 254 $dcid2wpid = array(); 255 255 256 256 // Midnight Mojo 257 257 if(is_array($users)) … … 262 262 $count++; 263 263 extract($user); 264 264 265 265 // Make Nice Variables 266 266 $name = $wpdb->escape(csc ($name)); 267 267 $RealName = $wpdb->escape(csc ($user_pseudo)); 268 268 269 269 if($uinfo = get_userdatabylogin($name)) 270 270 { 271 271 272 272 $ret_id = wp_insert_user(array( 273 273 'ID' => $uinfo->ID, … … 290 290 } 291 291 $dcid2wpid[$user_id] = $ret_id; 292 292 293 293 // Set Dotclear-to-WordPress permissions translation 294 294 295 295 // Update Usermeta Data 296 296 $user = new WP_User($ret_id); … … 303 303 else if(2 <= $wp_perms) { $user->set_role('contributor'); } 304 304 else { $user->set_role('subscriber'); } 305 305 306 306 update_usermeta( $ret_id, 'wp_user_level', $wp_perms); 307 307 update_usermeta( $ret_id, 'rich_editing', 'false'); … … 309 309 update_usermeta( $ret_id, 'last_name', csc ($user_nom)); 310 310 }// End foreach($users as $user) 311 311 312 312 // Store id translation array for future use 313 313 add_option('dcid2wpid',$dcid2wpid); 314 315 314 315 316 316 echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> users imported.'), $count).'<br /><br /></p>'; 317 317 return true; 318 318 }// End if(is_array($users) 319 319 320 320 echo __('No Users to Import!'); 321 321 return false; 322 322 323 323 }// End function user2wp() 324 324 325 325 function posts2wp($posts='') 326 326 { … … 339 339 $count++; 340 340 extract($post); 341 341 342 342 // Set Dotclear-to-WordPress status translation 343 343 $stattrans = array(0 => 'draft', 1 => 'publish'); 344 344 $comment_status_map = array (0 => 'closed', 1 => 'open'); 345 345 346 346 //Can we do this more efficiently? 347 347 $uinfo = ( get_userdatabylogin( $user_id ) ) ? get_userdatabylogin( $user_id ) : 1; … … 357 357 $post_content = $wpdb->escape ($post_content); 358 358 $post_status = $stattrans[$post_pub]; 359 359 360 360 // Import Post data into WordPress 361 361 362 362 if($pinfo = post_exists($Title,$post_content)) 363 363 { … … 398 398 } 399 399 $dcposts2wpposts[$post_id] = $ret_id; 400 400 401 401 // Make Post-to-Category associations 402 402 $cats = array(); … … 408 408 // Store ID translation for later use 409 409 add_option('dcposts2wpposts',$dcposts2wpposts); 410 410 411 411 echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> posts imported.'), $count).'<br /><br /></p>'; 412 return true; 413 } 414 412 return true; 413 } 414 415 415 function comments2wp($comments='') 416 416 { … … 420 420 $dccm2wpcm = array(); 421 421 $postarr = get_option('dcposts2wpposts'); 422 422 423 423 // Magic Mojo 424 424 if(is_array($comments)) … … 429 429 $count++; 430 430 extract($comment); 431 431 432 432 // WordPressify Data 433 433 $comment_ID = ltrim($comment_id, '0'); … … 438 438 $web = "http://".$wpdb->escape($comment_site); 439 439 $message = $wpdb->escape(textconv ($comment_content)); 440 440 441 441 if($cinfo = comment_exists($name, $comment_dt)) 442 442 { … … 473 473 } 474 474 // Store Comment ID translation for future use 475 add_option('dccm2wpcm', $dccm2wpcm); 476 475 add_option('dccm2wpcm', $dccm2wpcm); 476 477 477 // Associate newly formed categories with posts 478 478 get_comment_count($ret_id); 479 480 479 480 481 481 echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> comments imported.'), $count).'<br /><br /></p>'; 482 482 return true; … … 485 485 return false; 486 486 } 487 487 488 488 function links2wp($links='') 489 489 { … … 491 491 global $wpdb; 492 492 $count = 0; 493 493 494 494 // Deal with the links 495 495 if(is_array($links)) … … 500 500 $count++; 501 501 extract($link); 502 502 503 503 if ($title != "") { 504 504 if ($cinfo = link_cat_exists (csc ($title))) { … … 512 512 $linkname = $wpdb->escape(csc ($label)); 513 513 $description = $wpdb->escape(csc ($title)); 514 514 515 515 if($linfo = link_exists($linkname)) { 516 516 $ret_id = wp_insert_link(array( … … 541 541 return false; 542 542 } 543 543 544 544 function import_categories() 545 { 546 // Category Import 545 { 546 // Category Import 547 547 $cats = $this->get_dc_cats(); 548 548 $this->cat2wp($cats); 549 549 add_option('dc_cats', $cats); 550 551 552 550 551 552 553 553 echo '<form action="admin.php?import=dotclear&step=2" method="post">'; 554 554 printf('<input type="submit" name="submit" value="%s" />', __('Import Users')); … … 556 556 557 557 } 558 558 559 559 function import_users() 560 560 { … … 562 562 $users = $this->get_dc_users(); 563 563 $this->users2wp($users); 564 564 565 565 echo '<form action="admin.php?import=dotclear&step=3" method="post">'; 566 566 printf('<input type="submit" name="submit" value="%s" />', __('Import Posts')); 567 567 echo '</form>'; 568 568 } 569 569 570 570 function import_posts() 571 571 { … … 573 573 $posts = $this->get_dc_posts(); 574 574 $this->posts2wp($posts); 575 575 576 576 echo '<form action="admin.php?import=dotclear&step=4" method="post">'; 577 577 printf('<input type="submit" name="submit" value="%s" />', __('Import Comments')); 578 578 echo '</form>'; 579 579 } 580 580 581 581 function import_comments() 582 582 { … … 584 584 $comments = $this->get_dc_comments(); 585 585 $this->comments2wp($comments); 586 586 587 587 echo '<form action="admin.php?import=dotclear&step=5" method="post">'; 588 588 printf('<input type="submit" name="submit" value="%s" />', __('Import Links')); 589 589 echo '</form>'; 590 590 } 591 591 592 592 function import_links() 593 593 { … … 596 596 $this->links2wp($links); 597 597 add_option('dc_links', $links); 598 598 599 599 echo '<form action="admin.php?import=dotclear&step=6" method="post">'; 600 600 printf('<input type="submit" name="submit" value="%s" />', __('Finish')); 601 601 echo '</form>'; 602 602 } 603 603 604 604 function cleanup_dcimport() 605 605 { … … 618 618 $this->tips(); 619 619 } 620 620 621 621 function tips() 622 622 { … … 637 637 echo '<p>'.sprintf(__('That\'s it! What are you waiting for? Go <a href="%1$s">login</a>!'), '/wp-login.php').'</p>'; 638 638 } 639 639 640 640 function db_form() 641 641 { … … 649 649 echo '</ul>'; 650 650 } 651 651 652 652 function dispatch() 653 653 { … … 658 658 $step = (int) $_GET['step']; 659 659 $this->header(); 660 660 661 661 if ( $step > 0 ) 662 662 { … … 664 664 { 665 665 if(get_option('dcuser')) 666 delete_option('dcuser'); 666 delete_option('dcuser'); 667 667 add_option('dcuser',$_POST['dbuser']); 668 668 } … … 670 670 { 671 671 if(get_option('dcpass')) 672 delete_option('dcpass'); 672 delete_option('dcpass'); 673 673 add_option('dcpass',$_POST['dbpass']); 674 674 } 675 675 676 676 if($_POST['dbname']) 677 677 { 678 678 if(get_option('dcname')) 679 delete_option('dcname'); 679 delete_option('dcname'); 680 680 add_option('dcname',$_POST['dbname']); 681 681 } … … 691 691 delete_option('dccharset'); 692 692 add_option('dccharset',$_POST['dccharset']); 693 } 693 } 694 694 if($_POST['dbprefix']) 695 695 { … … 697 697 delete_option('tpre'); 698 698 add_option('tpre',$_POST['dbprefix']); 699 } 699 } 700 700 701 701 … … 727 727 break; 728 728 } 729 729 730 730 $this->footer(); 731 731 } … … 733 733 function Dotclear_Import() 734 734 { 735 // Nothing. 735 // Nothing. 736 736 } 737 737 } -
trunk/wp-admin/import/livejournal.php
r3405 r3517 19 19 return strtr($string, $trans_tbl); 20 20 } 21 21 22 22 function greet() { 23 23 echo '<p>'.__('Howdy! This importer allows you to extract posts from LiveJournal XML export file into your blog. Pick a LiveJournal file to upload and click Import.').'</p>'; … … 27 27 function import_posts() { 28 28 global $wpdb, $current_user; 29 29 30 30 set_magic_quotes_runtime(0); 31 31 $importdata = file($this->file); // Read the file into an array … … 36 36 $posts = $posts[1]; 37 37 unset($importdata); 38 echo '<ol>'; 38 echo '<ol>'; 39 39 foreach ($posts as $post) { 40 40 flush(); … … 79 79 preg_match_all('|<comment>(.*?)</comment>|is', $post, $comments); 80 80 $comments = $comments[1]; 81 81 82 82 if ( $comments ) { 83 83 $comment_post_ID = $post_id; … … 135 135 $this->import_posts(); 136 136 wp_import_cleanup($file['id']); 137 137 138 138 echo '<h3>'; 139 139 printf(__('All done. <a href="%s">Have fun!</a>'), get_option('home')); … … 148 148 149 149 $this->header(); 150 150 151 151 switch ($step) { 152 152 case 0 : … … 157 157 break; 158 158 } 159 159 160 160 $this->footer(); 161 161 } 162 162 163 163 function LJ_Import() { 164 // Nothing. 164 // Nothing. 165 165 } 166 166 } -
trunk/wp-admin/import/mt.php
r3387 r3517 380 380 if ( $num_pings ) 381 381 printf(__('(%s pings)'), $num_pings); 382 382 383 383 echo "</li>"; 384 384 } … … 421 421 422 422 function MT_Import() { 423 // Nothing. 423 // Nothing. 424 424 } 425 425 } -
trunk/wp-admin/import/rss.php
r3374 r3517 20 20 return strtr($string, $trans_tbl); 21 21 } 22 22 23 23 function greet() { 24 24 echo '<p>'.__('Howdy! This importer allows you to extract posts from any RSS 2.0 file into your blog. This is useful if you want to import your posts from a system that is not handled by a custom import tool. Pick an RSS file to upload and click Import.').'</p>'; … … 28 28 function get_posts() { 29 29 global $wpdb; 30 30 31 31 set_magic_quotes_runtime(0); 32 32 $datalines = file($this->file); // Read the file into an array … … 135 135 $this->import_posts(); 136 136 wp_import_cleanup($file['id']); 137 137 138 138 echo '<h3>'; 139 139 printf(__('All done. <a href="%s">Have fun!</a>'), get_option('home')); … … 148 148 149 149 $this->header(); 150 150 151 151 switch ($step) { 152 152 case 0 : … … 157 157 break; 158 158 } 159 159 160 160 $this->footer(); 161 161 } 162 162 163 163 function RSS_Import() { 164 // Nothing. 164 // Nothing. 165 165 } 166 166 } -
trunk/wp-admin/import/textpattern.php
r3424 r3517 8 8 { 9 9 global $wpdb; 10 10 11 11 $cat_id -= 0; // force numeric 12 12 $name = $wpdb->get_var('SELECT cat_ID FROM '.$wpdb->categories.' WHERE category_nicename="'.$category_nicename.'"'); 13 13 14 14 return $name; 15 15 } … … 50 50 echo '</div>'; 51 51 } 52 52 53 53 function greet() 54 54 { … … 68 68 set_magic_quotes_runtime(0); 69 69 $prefix = get_option('tpre'); 70 70 71 71 // Get Categories 72 72 return $txpdb->get_results('SELECT … … 78 78 ARRAY_A); 79 79 } 80 80 81 81 function get_txp_users() 82 82 { … … 86 86 set_magic_quotes_runtime(0); 87 87 $prefix = get_option('tpre'); 88 88 89 89 // Get Users 90 90 91 91 return $txpdb->get_results('SELECT 92 92 user_id, … … 97 97 FROM '.$prefix.'txp_users', ARRAY_A); 98 98 } 99 99 100 100 function get_txp_posts() 101 101 { … … 104 104 set_magic_quotes_runtime(0); 105 105 $prefix = get_option('tpre'); 106 106 107 107 // Get Posts 108 108 return $txpdb->get_results('SELECT … … 123 123 ', ARRAY_A); 124 124 } 125 125 126 126 function get_txp_comments() 127 127 { … … 131 131 set_magic_quotes_runtime(0); 132 132 $prefix = get_option('tpre'); 133 133 134 134 // Get Comments 135 135 return $txpdb->get_results('SELECT * FROM '.$prefix.'txp_discuss', ARRAY_A); 136 136 } 137 137 138 138 function get_txp_links() 139 139 { … … 142 142 set_magic_quotes_runtime(0); 143 143 $prefix = get_option('tpre'); 144 144 145 145 return $txpdb->get_results('SELECT 146 146 id, … … 153 153 ARRAY_A); 154 154 } 155 155 156 156 function cat2wp($categories='') 157 157 { … … 168 168 $count++; 169 169 extract($category); 170 171 170 171 172 172 // Make Nice Variables 173 173 $name = $wpdb->escape($name); 174 174 $title = $wpdb->escape($title); 175 175 176 176 if($cinfo = category_exists($name)) 177 177 { … … 184 184 $txpcat2wpcat[$id] = $ret_id; 185 185 } 186 186 187 187 // Store category translation for future use 188 188 add_option('txpcat2wpcat',$txpcat2wpcat); … … 193 193 return false; 194 194 } 195 195 196 196 function users2wp($users='') 197 197 { … … 200 200 $count = 0; 201 201 $txpid2wpid = array(); 202 202 203 203 // Midnight Mojo 204 204 if(is_array($users)) … … 209 209 $count++; 210 210 extract($user); 211 211 212 212 // Make Nice Variables 213 213 $name = $wpdb->escape($name); 214 214 $RealName = $wpdb->escape($RealName); 215 215 216 216 if($uinfo = get_userdatabylogin($name)) 217 217 { 218 218 219 219 $ret_id = wp_insert_user(array( 220 220 'ID' => $uinfo->ID, … … 237 237 } 238 238 $txpid2wpid[$user_id] = $ret_id; 239 239 240 240 // Set Textpattern-to-WordPress permissions translation 241 241 $transperms = array(1 => '10', 2 => '9', 3 => '5', 4 => '4', 5 => '3', 6 => '2', 7 => '0'); 242 242 243 243 // Update Usermeta Data 244 244 $user = new WP_User($ret_id); … … 250 250 if('2' == $transperms[$privs]) { $user->set_role('contributor'); } 251 251 if('0' == $transperms[$privs]) { $user->set_role('subscriber'); } 252 252 253 253 update_usermeta( $ret_id, 'wp_user_level', $transperms[$privs] ); 254 254 update_usermeta( $ret_id, 'rich_editing', 'false'); 255 255 }// End foreach($users as $user) 256 256 257 257 // Store id translation array for future use 258 258 add_option('txpid2wpid',$txpid2wpid); 259 260 259 260 261 261 echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> users imported.'), $count).'<br /><br /></p>'; 262 262 return true; 263 263 }// End if(is_array($users) 264 264 265 265 echo __('No Users to Import!'); 266 266 return false; 267 267 268 268 }// End function user2wp() 269 269 270 270 function posts2wp($posts='') 271 271 { … … 284 284 $count++; 285 285 extract($post); 286 286 287 287 // Set Textpattern-to-WordPress status translation 288 288 $stattrans = array(1 => 'draft', 2 => 'private', 3 => 'draft', 4 => 'publish', 5 => 'publish'); 289 289 290 290 //Can we do this more efficiently? 291 291 $uinfo = ( get_userdatabylogin( $AuthorID ) ) ? get_userdatabylogin( $AuthorID ) : 1; … … 296 296 $Excerpt = $wpdb->escape($Excerpt); 297 297 $post_status = $stattrans[$Status]; 298 298 299 299 // Import Post data into WordPress 300 300 301 301 if($pinfo = post_exists($Title,$Body)) 302 302 { … … 333 333 } 334 334 $txpposts2wpposts[$ID] = $ret_id; 335 335 336 336 // Make Post-to-Category associations 337 337 $cats = array(); … … 344 344 // Store ID translation for later use 345 345 add_option('txpposts2wpposts',$txpposts2wpposts); 346 346 347 347 echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> posts imported.'), $count).'<br /><br /></p>'; 348 return true; 349 } 350 348 return true; 349 } 350 351 351 function comments2wp($comments='') 352 352 { … … 356 356 $txpcm2wpcm = array(); 357 357 $postarr = get_option('txpposts2wpposts'); 358 358 359 359 // Magic Mojo 360 360 if(is_array($comments)) … … 365 365 $count++; 366 366 extract($comment); 367 367 368 368 // WordPressify Data 369 369 $comment_ID = ltrim($discussid, '0'); … … 374 374 $web = $wpdb->escape($web); 375 375 $message = $wpdb->escape($message); 376 376 377 377 if($cinfo = comment_exists($name, $posted)) 378 378 { … … 406 406 } 407 407 // Store Comment ID translation for future use 408 add_option('txpcm2wpcm', $txpcm2wpcm); 409 408 add_option('txpcm2wpcm', $txpcm2wpcm); 409 410 410 // Associate newly formed categories with posts 411 411 get_comment_count($ret_id); 412 413 412 413 414 414 echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> comments imported.'), $count).'<br /><br /></p>'; 415 415 return true; … … 418 418 return false; 419 419 } 420 420 421 421 function links2wp($links='') 422 422 { … … 424 424 global $wpdb; 425 425 $count = 0; 426 426 427 427 // Deal with the links 428 428 if(is_array($links)) … … 433 433 $count++; 434 434 extract($link); 435 435 436 436 // Make nice vars 437 437 $category = $wpdb->escape($category); 438 438 $linkname = $wpdb->escape($linkname); 439 439 $description = $wpdb->escape($description); 440 440 441 441 if($linfo = link_exists($linkname)) 442 442 { … … 471 471 return false; 472 472 } 473 473 474 474 function import_categories() 475 { 476 // Category Import 475 { 476 // Category Import 477 477 $cats = $this->get_txp_cats(); 478 478 $this->cat2wp($cats); 479 479 add_option('txp_cats', $cats); 480 481 482 480 481 482 483 483 echo '<form action="admin.php?import=textpattern&step=2" method="post">'; 484 484 printf('<input type="submit" name="submit" value="%s" />', __('Import Users')); … … 486 486 487 487 } 488 488 489 489 function import_users() 490 490 { … … 492 492 $users = $this->get_txp_users(); 493 493 $this->users2wp($users); 494 494 495 495 echo '<form action="admin.php?import=textpattern&step=3" method="post">'; 496 496 printf('<input type="submit" name="submit" value="%s" />', __('Import Posts')); 497 497 echo '</form>'; 498 498 } 499 499 500 500 function import_posts() 501 501 { … … 503 503 $posts = $this->get_txp_posts(); 504 504 $this->posts2wp($posts); 505 505 506 506 echo '<form action="admin.php?import=textpattern&step=4" method="post">'; 507 507 printf('<input type="submit" name="submit" value="%s" />', __('Import Comments')); 508 508 echo '</form>'; 509 509 } 510 510 511 511 function import_comments() 512 512 { … … 514 514 $comments = $this->get_txp_comments(); 515 515 $this->comments2wp($comments); 516 516 517 517 echo '<form action="admin.php?import=textpattern&step=5" method="post">'; 518 518 printf('<input type="submit" name="submit" value="%s" />', __('Import Links')); 519 519 echo '</form>'; 520 520 } 521 521 522 522 function import_links() 523 523 { … … 526 526 $this->links2wp($links); 527 527 add_option('txp_links', $links); 528 528 529 529 echo '<form action="admin.php?import=textpattern&step=6" method="post">'; 530 530 printf('<input type="submit" name="submit" value="%s" />', __('Finish')); 531 531 echo '</form>'; 532 532 } 533 533 534 534 function cleanup_txpimport() 535 535 { … … 547 547 $this->tips(); 548 548 } 549 549 550 550 function tips() 551 551 { … … 566 566 echo '<p>'.sprintf(__('That\'s it! What are you waiting for? Go <a href="%1$s">login</a>!'), '/wp-login.php').'</p>'; 567 567 } 568 568 569 569 function db_form() 570 570 { … … 577 577 echo '</ul>'; 578 578 } 579 579 580 580 function dispatch() 581 581 { … … 586 586 $step = (int) $_GET['step']; 587 587 $this->header(); 588 588 589 589 if ( $step > 0 ) 590 590 { … … 592 592 { 593 593 if(get_option('txpuser')) 594 delete_option('txpuser'); 594 delete_option('txpuser'); 595 595 add_option('txpuser',$_POST['dbuser']); 596 596 } … … 598 598 { 599 599 if(get_option('txppass')) 600 delete_option('txppass'); 600 delete_option('txppass'); 601 601 add_option('txppass',$_POST['dbpass']); 602 602 } 603 603 604 604 if($_POST['dbname']) 605 605 { 606 606 if(get_option('txpname')) 607 delete_option('txpname'); 607 delete_option('txpname'); 608 608 add_option('txpname',$_POST['dbname']); 609 609 } … … 619 619 delete_option('tpre'); 620 620 add_option('tpre',$_POST['dbprefix']); 621 } 621 } 622 622 623 623 … … 649 649 break; 650 650 } 651 651 652 652 $this->footer(); 653 653 } … … 655 655 function Textpattern_Import() 656 656 { 657 // Nothing. 657 // Nothing. 658 658 } 659 659 } -
trunk/wp-admin/install.php
r3510 r3517 34 34 padding: .2em 2em; 35 35 } 36 36 37 37 h1 { 38 38 color: #006; … … 40 40 font-weight: lighter; 41 41 } 42 42 43 43 h2 { 44 44 font-size: 16px; 45 45 } 46 46 47 47 p, li, dt { 48 48 line-height: 140%; … … 128 128 die (__("<strong>ERROR</strong>: the e-mail address isn't correct")); 129 129 } 130 130 131 131 ?> 132 132 <h1><?php _e('Second Step'); ?></h1> -
trunk/wp-admin/link-manager.php
r3422 r3517 129 129 130 130 add_link(); 131 131 132 132 header('Location: ' . $_SERVER['HTTP_REFERER'] . '?added=true'); 133 133 break; … … 138 138 139 139 check_admin_referer(); 140 140 141 141 if (isset($links_show_cat_id) && ($links_show_cat_id != '')) 142 142 $cat_id = $links_show_cat_id; … … 150 150 $link_id = (int) $_POST['link_id']; 151 151 edit_link($link_id); 152 152 153 153 setcookie('links_show_cat_id_' . COOKIEHASH, $links_show_cat_id, time()+600); 154 154 wp_redirect($this_file); … … 166 166 167 167 wp_delete_link($link_id); 168 168 169 169 if (isset($links_show_cat_id) && ($links_show_cat_id != '')) 170 170 $cat_id = $links_show_cat_id; … … 185 185 if ( !current_user_can('manage_links') ) 186 186 die(__('You do not have sufficient permissions to edit the links for this blog.')); 187 187 188 188 $link_id = (int) $_GET['link_id']; 189 189 190 190 if ( !$link = get_link_to_edit($link_id) ) 191 191 die( __('Link not found.') ); 192 192 193 193 include('edit-link-form.php'); 194 194 break; … … 371 371 <tr id="link-<?php echo $link->link_id; ?>" valign="middle" <?php echo $style; ?>> 372 372 <td><strong><?php echo $link->link_name; ?></strong><br /> 373 <?php 373 <?php 374 374 echo sprintf(__('Description: %s'), $link->link_description) . "</td>"; 375 375 echo "<td><a href=\"$link->link_url\" title=\"" . sprintf(__('Visit %s'), $link->link_name) . "\">$short_url</a></td>"; -
trunk/wp-admin/list-manipulation.js
r3061 r3517 52 52 recolorList(pos); 53 53 ajaxDel.myResponseElement.parentNode.removeChild(ajaxDel.myResponseElement); 54 54 55 55 } 56 56 } … … 64 64 } 65 65 return pos; 66 } 66 } 67 67 68 68 function getListItems() { -
trunk/wp-admin/list-manipulation.php
r3379 r3517 55 55 if ( !$comment = get_comment($id) ) 56 56 die('0'); 57 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 57 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 58 58 die('-1'); 59 59 … … 78 78 } 79 79 break; 80 endswitch; 80 endswitch; 81 81 ?> -
trunk/wp-admin/menu-header.php
r3509 r3517 14 14 if ( current_user_can($item[1]) ) { 15 15 if ( file_exists(ABSPATH . "wp-content/plugins/{$item[2]}") ) 16 echo "\n\t<li><a href='" . get_settings('siteurl') . "/wp-admin/admin.php?page={$item[2]}'$class>{$item[0]}</a></li>"; 16 echo "\n\t<li><a href='" . get_settings('siteurl') . "/wp-admin/admin.php?page={$item[2]}'$class>{$item[0]}</a></li>"; 17 17 else 18 18 echo "\n\t<li><a href='" . get_settings('siteurl') . "/wp-admin/{$item[2]}'$class>{$item[0]}</a></li>"; -
trunk/wp-admin/moderation.php
r3422 r3517 116 116 117 117 ?> 118 118 119 119 <div class="wrap"> 120 120 -
trunk/wp-admin/options-permalink.php
r3373 r3517 42 42 var aInputs = document.getElementsByTagName('input'); 43 43 44 for (var i = 0; i < aInputs.length; i++) { 44 for (var i = 0; i < aInputs.length; i++) { 45 45 aInputs[i].onclick = aInputs[i].onkeyup = upit; 46 46 } … … 65 65 $wp_rewrite->set_permalink_structure($permalink_structure); 66 66 } 67 67 68 68 if ( isset($_POST['category_base']) ) { 69 69 $category_base = $_POST['category_base']; … … 73 73 } 74 74 } 75 75 76 76 $permalink_structure = get_settings('permalink_structure'); 77 77 $category_base = get_settings('category_base'); … … 142 142 <?php } ?> 143 143 /> 144 <?php _e('Custom, specify below'); ?> 144 <?php _e('Custom, specify below'); ?> 145 145 </label> 146 146 <br /> -
trunk/wp-admin/options.php
r3413 r3517 29 29 case 'update': 30 30 $any_changed = 0; 31 31 32 32 check_admin_referer(); 33 33 … … 53 53 if( in_array($option, $nonbools) && ( $value == '0' || $value == '') ) 54 54 $value = 'closed'; 55 55 56 56 if( $option == 'blogdescription' || $option == 'blogname' ) 57 57 if (current_user_can('unfiltered_html') == false) 58 58 $value = wp_filter_post_kses( $value ); 59 59 60 60 if (update_option($option, $value) ) { 61 61 $any_changed++; -
trunk/wp-admin/page-new.php
r3510 r3517 15 15 $action = 'post'; 16 16 get_currentuserinfo(); 17 17 18 18 $post = get_default_post_to_edit(); 19 19 $post->post_type = 'page'; -
trunk/wp-admin/plugin-editor.php
r3295 r3517 53 53 54 54 default: 55 55 56 56 require_once('admin-header.php'); 57 57 if ( !current_user_can('edit_plugins') ) … … 59 59 60 60 update_recently_edited("wp-content/plugins/$file"); 61 61 62 62 if (!is_file($real_file)) 63 63 $error = 1; 64 64 65 65 if (!$error) { 66 66 $f = fopen($real_file, 'r'); -
trunk/wp-admin/plugins.php
r3479 r3517 4 4 if ( isset($_GET['action']) ) { 5 5 check_admin_referer(); 6 6 7 7 if ('activate' == $_GET['action']) { 8 8 $current = get_settings('active_plugins'); … … 37 37 if ( !is_array($check_plugins) ) { 38 38 $check_plugins = array(); 39 update_option('active_plugins', $check_plugins); 39 update_option('active_plugins', $check_plugins); 40 40 } 41 41 … … 92 92 return strnatcasecmp($plug1['Name'], $plug2['Name']); 93 93 } 94 94 95 95 uksort($plugins, 'sort_plugins'); 96 96 -
trunk/wp-admin/post.php
r3510 r3517 72 72 73 73 $post = get_post_to_edit($post_ID); 74 74 75 75 if ($post->post_type == 'page') 76 76 include('edit-page-form.php'); … … 131 131 132 132 $post = & get_post($post_id); 133 134 if ( !current_user_can('edit_post', $post_id) ) 133 134 if ( !current_user_can('edit_post', $post_id) ) 135 135 die( __('You are not allowed to delete this post.') ); 136 136 … … 162 162 die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'javascript:history.go(-1)')); 163 163 164 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 164 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 165 165 die( __('You are not allowed to edit comments on this post.') ); 166 166 … … 181 181 die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); 182 182 183 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 183 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 184 184 die( __('You are not allowed to delete comments on this post.') ); 185 185 … … 224 224 die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'post.php')); 225 225 226 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 226 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 227 227 die( __('You are not allowed to edit comments on this post.') ); 228 228 … … 253 253 die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); 254 254 255 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 255 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 256 256 die( __('You are not allowed to edit comments on this post, so you cannot disapprove this comment.') ); 257 257 … … 273 273 die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); 274 274 275 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 275 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 276 276 die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') ); 277 277 … … 299 299 die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); 300 300 301 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 301 if ( !current_user_can('edit_post', $comment->comment_post_ID) ) 302 302 die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') ); 303 303 -
trunk/wp-admin/setup-config.php
r3208 r3517 104 104 <?php 105 105 break; 106 106 107 107 case 2: 108 108 $dbname = trim($_POST['dbname']); -
trunk/wp-admin/templates.php
r3364 r3517 61 61 62 62 require_once('./admin-header.php'); 63 63 64 64 if ( ! current_user_can('edit_files') ) 65 65 die('<p>'.__('You have do not have sufficient permissions to edit templates for this blog.').'</p>'); … … 72 72 if (!is_file($real_file)) 73 73 $error = true; 74 74 75 75 if (!$error) { 76 76 $f = @ fopen($real_file, 'r'); … … 89 89 <?php else: ?> 90 90 <div id="message" class="updated fade"><p><?php _e('File edited successfully.') ?></p></div> 91 <?php endif; ?> 91 <?php endif; ?> 92 92 <?php endif; ?> 93 93 <div class="wrap"> -
trunk/wp-admin/theme-editor.php
r3295 r3517 67 67 68 68 default: 69 69 70 70 require_once('admin-header.php'); 71 71 if ( !current_user_can('edit_themes') ) … … 73 73 74 74 update_recently_edited($file); 75 75 76 76 if (!is_file($real_file)) 77 77 $error = 1; 78 78 79 79 if (!$error && filesize($real_file) > 0) { 80 80 $f = fopen($real_file, 'r'); -
trunk/wp-admin/themes.php
r3476 r3517 4 4 if ( isset($_GET['action']) ) { 5 5 check_admin_referer(); 6 6 7 7 if ('activate' == $_GET['action']) { 8 8 if ( isset($_GET['template']) ) 9 9 update_option('template', $_GET['template']); 10 10 11 11 if ( isset($_GET['stylesheet']) ) 12 12 update_option('stylesheet', $_GET['stylesheet']); 13 13 14 14 do_action('switch_theme', get_current_theme()); 15 15 16 16 header('Location: themes.php?activated=true'); 17 17 exit; … … 103 103 <?php 104 104 $theme = ''; 105 105 106 106 $theme_names = array_keys($broken_themes); 107 107 natcasesort($theme_names); -
trunk/wp-admin/upgrade-functions.php
r3514 r3517 21 21 $wp_current_db_version = 2541; 22 22 } 23 23 24 24 populate_options(); 25 25 … … 30 30 upgrade_130(); 31 31 } 32 32 33 33 if ( $wp_current_db_version < 3308 ) 34 34 upgrade_160(); … … 38 38 39 39 $wp_rewrite->flush_rules(); 40 40 41 41 update_option('db_version', $wp_db_version); 42 42 } … … 55 55 } 56 56 } 57 57 58 58 $categories = $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename FROM $wpdb->categories"); 59 59 foreach ($categories as $category) { … … 78 78 $catwhere = ''; 79 79 endif; 80 80 81 81 $allposts = $wpdb->get_results("SELECT ID, post_category FROM $wpdb->posts WHERE post_category != '0' $catwhere"); 82 82 if ($allposts) : … … 112 112 function upgrade_110() { 113 113 global $wpdb; 114 114 115 115 // Set user_nicename. 116 116 $users = $wpdb->get_results("SELECT ID, user_nickname, user_nicename FROM $wpdb->users"); … … 281 281 $wpdb->query("UPDATE $wpdb->users SET display_name = '$id' WHERE ID = '$user->ID'"); 282 282 endif; 283 283 284 284 // FIXME: RESET_CAPS is temporary code to reset roles and caps if flag is set. 285 285 $caps = get_usermeta( $user->ID, $table_prefix . 'capabilities'); … … 289 289 update_usermeta( $user->ID, $table_prefix . 'capabilities', array($role => true) ); 290 290 } 291 291 292 292 endforeach; 293 293 $old_user_fields = array( 'user_firstname', 'user_lastname', 'user_icq', 'user_aim', 'user_msn', 'user_yim', 'user_idmode', 'user_ip', 'user_domain', 'user_browser', 'user_description', 'user_nickname', 'user_level' ); … … 296 296 $wpdb->query("ALTER TABLE $wpdb->users DROP $old"); 297 297 $wpdb->show_errors(); 298 298 299 299 if ( 0 == $wpdb->get_var("SELECT SUM(category_count) FROM $wpdb->categories") ) { // Create counts 300 300 $categories = $wpdb->get_col("SELECT cat_ID FROM $wpdb->categories"); … … 322 322 post_type = '' 323 323 WHERE ID = $object->ID"); 324 324 325 325 $meta = get_post_meta($object->ID, 'imagedata', true); 326 326 if ( ! empty($meta['file']) ) … … 336 336 // Update status and type. 337 337 $posts = $wpdb->get_results("SELECT ID, post_status FROM $wpdb->posts"); 338 338 339 339 if ( ! empty($posts) ) foreach ($posts as $post) { 340 340 $status = $post->post_status; … … 346 346 } else if ( 'attachment' == $status ) { 347 347 $status = 'inherit'; 348 $type = 'attachment'; 348 $type = 'attachment'; 349 349 } 350 350 351 351 $wpdb->query("UPDATE $wpdb->posts SET post_status = '$status', post_type = '$type' WHERE ID = '$post->ID'"); 352 352 } 353 353 } 354 354 355 355 if ( $wp_current_db_version < 3513 ) { 356 populate_roles_210(); 356 populate_roles_210(); 357 357 } 358 358 } … … 478 478 function dbDelta($queries, $execute = true) { 479 479 global $wpdb; 480 480 481 481 // Seperate individual queries into an array 482 482 if( !is_array($queries) ) { … … 484 484 if('' == $queries[count($queries) - 1]) array_pop($queries); 485 485 } 486 486 487 487 $cqueries = array(); // Creation Queries 488 488 $iqueries = array(); // Insertion Queries 489 489 $for_update = array(); 490 490 491 491 // Create a tablename index for an array ($cqueries) of queries 492 492 foreach($queries as $qry) { … … 507 507 // Unrecognized query type 508 508 } 509 } 509 } 510 510 511 511 // Check to see which tables and fields exist … … 526 526 527 527 //echo "<hr/><pre>\n".print_r(strtolower($table), true).":\n".print_r($cqueries, true)."</pre><hr/>"; 528 528 529 529 // For every field line specified in the query 530 530 foreach($flds as $fld) { … … 532 532 preg_match("|^([^ ]*)|", trim($fld), $fvals); 533 533 $fieldname = $fvals[1]; 534 534 535 535 // Verify the found field name 536 536 $validfield = true; … … 548 548 } 549 549 $fld = trim($fld); 550 550 551 551 // If it's a valid field, add it to the field array 552 552 if($validfield) { … … 554 554 } 555 555 } 556 556 557 557 // Fetch the table column structure from the database 558 558 $tablefields = $wpdb->get_results("DESCRIBE {$table};"); 559 559 560 560 // For every field in the table 561 foreach($tablefields as $tablefield) { 561 foreach($tablefields as $tablefield) { 562 562 // If the table field exists in the field array... 563 563 if(array_key_exists(strtolower($tablefield->Field), $cfields)) { … … 572 572 $for_update[$table.'.'.$tablefield->Field] = "Changed type of {$table}.{$tablefield->Field} from {$tablefield->Type} to {$fieldtype}"; 573 573 } 574 574 575 575 // Get the default value from the array 576 576 //echo "{$cfields[strtolower($tablefield->Field)]}<br>"; … … 599 599 $for_update[$table.'.'.$fieldname] = 'Added column '.$table.'.'.$fieldname; 600 600 } 601 601 602 602 // Index stuff goes here 603 603 // Fetch the table index structure from the database 604 604 $tableindices = $wpdb->get_results("SHOW INDEX FROM {$table};"); 605 605 606 606 if($tableindices) { 607 607 // Clear the index array … … 632 632 $index_columns = ''; 633 633 // For each column in the index 634 foreach($index_data['columns'] as $column_data) { 634 foreach($index_data['columns'] as $column_data) { 635 635 if($index_columns != '') $index_columns .= ','; 636 636 // Add the field to the column list string -
trunk/wp-admin/upgrade-schema.php
r3514 r3517 258 258 add_role('contributor', __('Contributor')); 259 259 add_role('subscriber', __('Subscriber')); 260 260 261 261 // Add caps for Administrator role 262 262 $role = get_role('administrator'); … … 291 291 $role->add_cap('level_1'); 292 292 $role->add_cap('level_0'); 293 293 294 294 // Add caps for Editor role 295 295 $role = get_role('editor'); … … 313 313 $role->add_cap('level_1'); 314 314 $role->add_cap('level_0'); 315 315 316 316 // Add caps for Author role 317 317 $role = get_role('author'); … … 324 324 $role->add_cap('level_1'); 325 325 $role->add_cap('level_0'); 326 326 327 327 // Add caps for Contributor role 328 328 $role = get_role('contributor'); … … 331 331 $role->add_cap('level_1'); 332 332 $role->add_cap('level_0'); 333 333 334 334 // Add caps for Subscriber role 335 335 $role = get_role('subscriber'); … … 355 355 $role->add_cap('delete_published_posts'); 356 356 } 357 358 $role = get_role('author'); 357 358 $role = get_role('author'); 359 359 if ( ! empty($role) ) { 360 360 $role->add_cap('delete_posts'); 361 $role->add_cap('delete_published_posts'); 361 $role->add_cap('delete_published_posts'); 362 362 } 363 363 364 $role = get_role('contributor'); 364 $role = get_role('contributor'); 365 365 if ( ! empty($role) ) { 366 366 $role->add_cap('delete_posts'); -
trunk/wp-admin/upgrade.php
r3420 r3517 28 28 padding: .2em 2em; 29 29 } 30 30 31 31 h1 { 32 32 color: #006; … … 34 34 font-weight: lighter; 35 35 } 36 36 37 37 h2 { 38 38 font-size: 16px; 39 39 } 40 40 41 41 p, li, dt { 42 42 line-height: 140%; … … 74 74 <?php 75 75 break; 76 76 77 77 case 1: 78 78 wp_cache_flush(); -
trunk/wp-admin/user-edit.php
r3266 r3517 3 3 4 4 $title = __('Edit User'); 5 $parent_file = 'profile.php'; 5 $parent_file = 'profile.php'; 6 6 $submenu_file = 'users.php'; 7 7 -
trunk/wp-admin/users.php
r3510 r3517 5 5 $title = __('Users'); 6 6 $parent_file = 'profile.php'; 7 7 8 8 $action = $_REQUEST['action']; 9 9 $update = ''; … … 33 33 $user->set_role($_POST['new_role']); 34 34 } 35 35 36 36 header('Location: users.php?update=' . $update); 37 37 … … 50 50 51 51 $userids = $_POST['users']; 52 52 53 53 $update = 'del'; 54 54 foreach ($userids as $id) { … … 133 133 case 'adduser': 134 134 check_admin_referer(); 135 135 136 136 $errors = add_user(); 137 137 138 138 if(count($errors) == 0) { 139 139 header('Location: users.php?update=add'); … … 142 142 143 143 default: 144 144 145 145 include ('admin-header.php'); 146 146 147 147 $userids = $wpdb->get_col("SELECT ID FROM $wpdb->users;"); 148 148 149 149 foreach($userids as $userid) { 150 150 $tmp_user = new WP_User($userid); … … 152 152 $role = array_shift($roles); 153 153 $roleclasses[$role][$tmp_user->user_login] = $tmp_user; 154 } 155 154 } 155 156 156 ?> 157 157 … … 199 199 endif; 200 200 ?> 201 201 202 202 <form action="" method="post" name="updateusers" id="updateusers"> 203 203 <div class="wrap"> … … 251 251 echo '</tr>'; 252 252 } 253 253 254 254 ?> 255 255 256 256 257 257 <?php -
trunk/wp-admin/wp-admin.css
r3457 r3517 873 873 cursor: move; 874 874 } 875 875 876 876 /* toggle images */ 877 877 a.dbx-toggle, a.dbx-toggle:visited { -
trunk/wp-admin/xfn.js
r3422 r3517 39 39 var aInputs = document.getElementsByTagName('input'); 40 40 41 for (var i = 0; i < aInputs.length; i++) { 41 for (var i = 0; i < aInputs.length; i++) { 42 42 aInputs[i].onclick = aInputs[i].onkeyup = upit; 43 43 } -
trunk/wp-commentsrss2.php
r3510 r3517 57 57 $title = apply_filters('the_title_rss', $title); 58 58 printf(__('Comment on %1$s by %2$s'), $title, get_comment_author_rss()); 59 } else { 60 printf(__('by: %s'), get_comment_author_rss()); 59 } else { 60 printf(__('by: %s'), get_comment_author_rss()); 61 61 } ?></title> 62 62 <link><?php comment_link() ?></link> -
trunk/wp-content/plugins/wp-db-backup.php
r3447 r3517 37 37 38 38 function wpdbBackup() { 39 39 40 40 add_action('wp_cron_daily', array(&$this, 'wp_cron_daily')); 41 41 42 42 $this->backup_dir = trailingslashit($this->backup_dir); 43 43 $this->basename = preg_replace('/^.*wp-content[\\\\\/]plugins[\\\\\/]/', '', __FILE__); 44 44 45 45 if (isset($_POST['do_backup'])) { 46 46 switch($_POST['do_backup']) { … … 50 50 case 'fragments': 51 51 add_action('admin_menu', array(&$this, 'fragment_menu')); 52 break; 52 break; 53 53 } 54 54 } elseif (isset($_GET['fragment'] )) { … … 60 60 } 61 61 } 62 62 63 63 function init() { 64 64 global $user_level; … … 69 69 if (isset($_GET['backup'])) { 70 70 $via = isset($_GET['via']) ? $_GET['via'] : 'http'; 71 71 72 72 $this->backup_file = $_GET['backup']; 73 73 74 74 switch($via) { 75 75 case 'smtp': … … 102 102 die(); 103 103 } 104 104 105 105 function build_backup_script() { 106 106 global $table_prefix, $wpdb; 107 107 108 108 $datum = date("Ymd_B"); 109 109 $backup_filename = DB_NAME . "_$table_prefix$datum.sql"; 110 110 if ($this->gzip()) $backup_filename .= '.gz'; 111 111 112 112 echo "<div class='wrap'>"; 113 113 //echo "<pre>" . print_r($_POST, 1) . "</pre>"; … … 144 144 145 145 function backup(table, segment) { 146 var fram = document.getElementById("backuploader"); 146 var fram = document.getElementById("backuploader"); 147 147 fram.src = "' . $_SERVER['REQUEST_URI'] . '&fragment=" + table + ":" + segment + ":' . $backup_filename . '"; 148 148 } 149 149 150 150 var curStep = 0; 151 151 152 152 function nextStep() { 153 153 backupStep(curStep); 154 154 curStep++; 155 155 } 156 156 157 157 function finishBackup() { 158 var fram = document.getElementById("backuploader"); 158 var fram = document.getElementById("backuploader"); 159 159 setMeter(100); 160 160 '; … … 180 180 '; 181 181 } 182 182 183 183 echo ' 184 184 } 185 185 186 186 function backupStep(step) { 187 187 switch(step) { 188 188 case 0: backup("", 0); break; 189 189 '; 190 190 191 191 $also_backup = array(); 192 192 if (isset($_POST['other_tables'])) { … … 211 211 } 212 212 echo "case {$step_count}: finishBackup(); break;"; 213 213 214 214 echo ' 215 215 } … … 225 225 function backup_fragment($table, $segment, $filename) { 226 226 global $table_prefix, $wpdb; 227 227 228 228 echo "$table:$segment:$filename"; 229 229 230 230 if($table == '') { 231 231 $msg = __('Creating backup file...'); … … 237 237 } 238 238 } 239 239 240 240 echo '<script type="text/javascript"><!--// 241 241 var msg = "' . $msg . '"; 242 242 window.parent.setProgress(msg); 243 243 '; 244 244 245 245 if (is_writable(ABSPATH . $this->backup_dir)) { 246 246 $this->fp = $this->open(ABSPATH . $this->backup_dir . $filename, 'a'); … … 250 250 } 251 251 else { 252 if($table == '') { 252 if($table == '') { 253 253 //Begin new backup of MySql 254 254 $this->stow("# WordPress MySQL database backup\n"); … … 267 267 $this->stow("# Table: " . $this->backquote($table) . "\n"); 268 268 $this->stow("# --------------------------------------------------------\n"); 269 } 269 } 270 270 $this->backup_table($table, $segment); 271 271 } … … 277 277 278 278 if($this->fp) $this->close($this->fp); 279 279 280 280 if($this->backup_errors) { 281 281 foreach($this->backup_errors as $error) { … … 295 295 '; 296 296 } 297 297 298 298 die(); 299 299 } … … 305 305 $also_backup = $_POST['other_tables']; 306 306 } 307 307 308 308 $core_tables = $_POST['core_tables']; 309 309 $this->backup_file = $this->db_backup($core_tables, $also_backup); … … 319 319 } 320 320 } 321 321 322 322 /////////////////////////////// 323 323 function admin_menu() { … … 388 388 } 389 389 } 390 390 391 391 ////////////// 392 392 function stow($query_line) { … … 403 403 } 404 404 } 405 405 406 406 function backup_error($err) { 407 407 if(count($this->backup_errors) < 20) { … … 411 411 } 412 412 } 413 413 414 414 ///////////////////////////// 415 415 function backup_table($table, $segment = 'none') { 416 416 global $wpdb; 417 417 418 418 /* 419 419 Taken partially from phpMyAdmin and partially from 420 420 Alain Wolf, Zurich - Switzerland 421 421 Website: http://restkultur.ch/personal/wolf/scripts/db_backup/ 422 422 423 423 Modified by Scott Merril (http://www.skippy.net/) 424 424 to use the WordPress $wpdb object … … 430 430 return FALSE; 431 431 } 432 432 433 433 if(($segment == 'none') || ($segment == 0)) { 434 434 // … … 440 440 $this->stow("\n"); 441 441 $this->stow("DROP TABLE IF EXISTS " . $this->backquote($table) . ";\n"); 442 442 443 443 // 444 444 //Table structure … … 449 449 $this->stow("#\n"); 450 450 $this->stow("\n"); 451 451 452 452 $create_table = $wpdb->get_results("SHOW CREATE TABLE $table", ARRAY_N); 453 453 if (FALSE === $create_table) { … … 456 456 } 457 457 $this->stow($create_table[0][1] . ' ;'); 458 458 459 459 if (FALSE === $table_structure) { 460 460 $this->backup_error(sprintf(__("Error getting table structure of %s"), $table)); 461 461 $this->stow("#\n# Error getting table structure of $table!\n#\n"); 462 462 } 463 463 464 464 // 465 465 // Comment in SQL-file … … 469 469 $this->stow("#\n"); 470 470 } 471 471 472 472 if(($segment == 'none') || ($segment >= 0)) { 473 473 $ints = array(); … … 482 482 } 483 483 } 484 485 484 485 486 486 // Batch by $row_inc 487 487 488 488 if($segment == 'none') { 489 489 $row_start = 0; … … 493 493 $row_inc = ROWS_PER_SEGMENT; 494 494 } 495 496 do { 495 496 do { 497 497 if ( !ini_get('safe_mode')) @set_time_limit(15*60); 498 498 $table_data = $wpdb->get_results("SELECT * FROM $table LIMIT {$row_start}, {$row_inc}", ARRAY_A); … … 504 504 } 505 505 */ 506 507 $entries = 'INSERT INTO ' . $this->backquote($table) . ' VALUES ('; 506 507 $entries = 'INSERT INTO ' . $this->backquote($table) . ' VALUES ('; 508 508 // \x08\\x09, not required 509 509 $search = array("\x00", "\x0a", "\x0d", "\x1a"); … … 525 525 } while((count($table_data) > 0) and ($segment=='none')); 526 526 } 527 528 527 528 529 529 if(($segment == 'none') || ($segment < 0)) { 530 530 // Create footer/closing comment in SQL-file … … 535 535 $this->stow("\n"); 536 536 } 537 537 538 538 } // end backup_table() 539 539 540 540 function return_bytes($val) { 541 541 $val = trim($val); … … 550 550 $val *= 1024; 551 551 } 552 552 553 553 return $val; 554 554 } 555 555 556 556 //////////////////////////// 557 557 function db_backup($core_tables, $other_tables) { 558 558 global $table_prefix, $wpdb; 559 559 560 560 $datum = date("Ymd_B"); 561 561 $wp_backup_filename = DB_NAME . "_$table_prefix$datum.sql"; … … 563 563 $wp_backup_filename .= '.gz'; 564 564 } 565 565 566 566 if (is_writable(ABSPATH . $this->backup_dir)) { 567 567 $this->fp = $this->open(ABSPATH . $this->backup_dir . $wp_backup_filename); … … 574 574 return false; 575 575 } 576 576 577 577 //Begin new backup of MySql 578 578 $this->stow("# WordPress MySQL database backup\n"); … … 582 582 $this->stow("# Database: " . $this->backquote(DB_NAME) . "\n"); 583 583 $this->stow("# --------------------------------------------------------\n"); 584 584 585 585 if ( (is_array($other_tables)) && (count($other_tables) > 0) ) 586 586 $tables = array_merge($core_tables, $other_tables); 587 587 else 588 588 $tables = $core_tables; 589 589 590 590 foreach ($tables as $table) { 591 591 // Increase script execution time-limit to 15 min for every table. … … 597 597 $this->backup_table($table); 598 598 } 599 599 600 600 $this->close($this->fp); 601 601 602 602 if (count($this->backup_errors)) { 603 603 return false; … … 605 605 return $wp_backup_filename; 606 606 } 607 607 608 608 } //wp_db_backup 609 609 610 610 /////////////////////////// 611 611 function deliver_backup ($filename = '', $delivery = 'http', $recipient = '') { 612 612 if ('' == $filename) { return FALSE; } 613 613 614 614 $diskfile = ABSPATH . $this->backup_dir . $filename; 615 615 if ('http' == $delivery) { … … 641 641 $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\n"; 642 642 $headers .= 'From: ' . get_settings('admin_email') . "\n"; 643 643 644 644 $message = sprintf(__("Attached to this email is\n %1s\n Size:%2s kilobytes\n"), $filename, round(filesize($diskfile)/1024)); 645 645 // Add a multipart boundary above the plain message … … 649 649 "Content-Transfer-Encoding: 7bit\n\n" . 650 650 $message . "\n\n"; 651 651 652 652 // Add file attachment to the message 653 653 $message .= "--{$boundary}\n" . … … 659 659 $data . "\n\n" . 660 660 "--{$boundary}--\n"; 661 661 662 662 if (function_exists('wp_mail')) { 663 663 wp_mail ($recipient, get_bloginfo('name') . ' ' . __('Database Backup'), $message, $headers); … … 665 665 mail ($recipient, get_bloginfo('name') . ' ' . __('Database Backup'), $message, $headers); 666 666 } 667 667 668 668 unlink($diskfile); 669 669 } 670 670 return; 671 671 } 672 672 673 673 //////////////////////////// 674 674 function backup_menu() { … … 676 676 $feedback = ''; 677 677 $WHOOPS = FALSE; 678 678 679 679 // did we just do a backup? If so, let's report the status 680 680 if ( $this->backup_complete ) { … … 699 699 $feedback .= '</p></div>'; 700 700 } 701 701 702 702 if (count($this->backup_errors)) { 703 703 $feedback .= '<div class="updated error">' . __('The following errors were reported:') . "<pre>"; … … 707 707 $feedback .= "</pre></div>"; 708 708 } 709 709 710 710 // did we just save options for wp-cron? 711 711 if ( (function_exists('wp_cron_init')) && isset($_POST['wp_cron_backup_options']) ) { … … 717 717 $feedback .= '<div class="updated"><p>' . __('Scheduled Backup Options Saved!') . '</p></div>'; 718 718 } 719 719 720 720 // Simple table name storage 721 721 $wp_table_names = explode(',','categories,comments,linkcategories,links,options,post2cat,postmeta,posts,users,usermeta'); 722 722 // Apply WP DB prefix to table names 723 723 $wp_table_names = array_map(create_function('$a', 'global $table_prefix;return "{$table_prefix}{$a}";'), $wp_table_names); 724 724 725 725 $other_tables = array(); 726 726 $also_backup = array(); 727 728 // Get complete db table list 727 728 // Get complete db table list 729 729 $all_tables = $wpdb->get_results("SHOW TABLES", ARRAY_N); 730 730 $all_tables = array_map(create_function('$a', 'return $a[0];'), $all_tables); … … 733 733 // Get list of non-WP tables 734 734 $other_tables = array_diff($all_tables, $wp_backup_default_tables); 735 735 736 736 if ('' != $feedback) { 737 737 echo $feedback; … … 750 750 } 751 751 } 752 752 753 753 if ( !is_writable( ABSPATH . $this->backup_dir) ) { 754 754 echo '<div class="updated error"><p align="center">' . __('WARNING: Your backup directory is <strong>NOT</strong> writable! We can not create the backup directory.') . '<br />' . ABSPATH . "</p></div>"; … … 782 782 echo '<div><input type="radio" name="deliver" id="do_email" value="smtp" /> '; 783 783 echo '<label for="do_email">'.__('Email backup to:').'</label><input type="text" name="backup_recipient" size="20" value="' . get_settings('admin_email') . '" />'; 784 784 785 785 // Check DB dize. 786 786 $table_status = $wpdb->get_results("SHOW TABLE STATUS FROM " . $this->backquote(DB_NAME)); … … 789 789 $table_size = $table->Data_length - $table->Data_free; 790 790 if(in_array($table->Name, $wp_backup_default_tables)) { 791 $core_size += $table_size; 791 $core_size += $table_size; 792 792 } 793 793 $db_size += $table_size; … … 796 796 $mem_limit = $this->return_bytes($mem_limit); 797 797 $mem_limit = ($mem_limit == 0) ? 8*1024*1024 : $mem_limit - 2000000; 798 798 799 799 if (! $WHOOPS) { 800 800 echo '<input type="hidden" name="do_backup" id="do_backup" value="backup" /></div>'; … … 805 805 echo '</fieldset>'; 806 806 echo '</form>'; 807 807 808 808 // this stuff only displays if wp_cron is installed 809 809 if (function_exists('wp_cron_init')) { … … 851 851 } 852 852 // end of wp_cron section 853 853 854 854 echo '</div>'; 855 855 856 856 }// end wp_backup_menu() 857 857 858 858 ///////////////////////////// 859 859 function wp_cron_daily() { 860 860 861 861 $schedule = intval(get_option('wp_cron_backup_schedule')); 862 862 if (0 == $schedule) { … … 864 864 return; 865 865 } 866 866 867 867 global $table_prefix, $wpdb; 868 868 … … 873 873 $core_tables = array_intersect($all_tables, $wp_table_names); 874 874 $other_tables = get_option('wp_cron_backup_tables'); 875 875 876 876 $recipient = get_option('wp_cron_backup_recipient'); 877 877 878 878 $backup_file = $this->db_backup($core_tables, $other_tables); 879 879 if (FALSE !== $backup_file) { 880 880 $this->deliver_backup ($backup_file, 'smtp', $recipient); 881 881 } 882 882 883 883 return; 884 884 } // wp_cron_db_backup -
trunk/wp-content/themes/classic/comments-popup.php
r3115 r3517 104 104 <script type="text/javascript"> 105 105 <!-- 106 document.onkeypress = function esc(e) { 106 document.onkeypress = function esc(e) { 107 107 if(typeof(e) == "undefined") { e=event; } 108 108 if (e.keyCode == 27) { self.close(); } -
trunk/wp-content/themes/classic/header.php
r3134 r3517 6 6 7 7 <title><?php bloginfo('name'); ?><?php wp_title(); ?></title> 8 8 9 9 <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats please --> 10 10 … … 16 16 <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" /> 17 17 <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" /> 18 18 19 19 <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> 20 20 <?php wp_get_archives('type=monthly&format=link'); ?> -
trunk/wp-content/themes/classic/index.php
r2577 r3517 6 6 7 7 <?php the_date('','<h2>','</h2>'); ?> 8 8 9 9 <div class="post" id="post-<?php the_ID(); ?>"> 10 10 <h3 class="storytitle"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3> 11 11 <div class="meta"><?php _e("Filed under:"); ?> <?php the_category(',') ?> — <?php the_author() ?> @ <?php the_time() ?> <?php edit_post_link(__('Edit This')); ?></div> 12 12 13 13 <div class="storycontent"> 14 14 <?php the_content(__('(more...)')); ?> 15 15 </div> 16 16 17 17 <div class="feedback"> 18 18 <?php wp_link_pages(); ?> -
trunk/wp-content/themes/classic/sidebar.php
r2206 r3517 12 12 </li> 13 13 <li id="search"> 14 <label for="s"><?php _e('Search:'); ?></label> 14 <label for="s"><?php _e('Search:'); ?></label> 15 15 <form id="searchform" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 16 16 <div> -
trunk/wp-content/themes/default/archive.php
r3006 r3517 6 6 7 7 <?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?> 8 <?php /* If this is a category archive */ if (is_category()) { ?> 8 <?php /* If this is a category archive */ if (is_category()) { ?> 9 9 <h2 class="pagetitle">Archive for the '<?php echo single_cat_title(); ?>' Category</h2> 10 10 11 11 <?php /* If this is a daily archive */ } elseif (is_day()) { ?> 12 12 <h2 class="pagetitle">Archive for <?php the_time('F jS, Y'); ?></h2> 13 13 14 14 <?php /* If this is a monthly archive */ } elseif (is_month()) { ?> 15 15 <h2 class="pagetitle">Archive for <?php the_time('F, Y'); ?></h2> … … 17 17 <?php /* If this is a yearly archive */ } elseif (is_year()) { ?> 18 18 <h2 class="pagetitle">Archive for <?php the_time('Y'); ?></h2> 19 19 20 20 <?php /* If this is a search */ } elseif (is_search()) { ?> 21 21 <h2 class="pagetitle">Search Results</h2> 22 22 23 23 <?php /* If this is an author archive */ } elseif (is_author()) { ?> 24 24 <h2 class="pagetitle">Author Archive</h2> … … 39 39 <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h3> 40 40 <small><?php the_time('l, F jS, Y') ?></small> 41 41 42 42 <div class="entry"> 43 43 <?php the_content() ?> 44 44 </div> 45 45 46 46 <p class="postmetadata">Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></p> 47 47 48 48 </div> 49 49 50 50 <?php endwhile; ?> 51 51 … … 54 54 <div class="alignright"><?php previous_posts_link('Next Entries »') ?></div> 55 55 </div> 56 56 57 57 <?php else : ?> 58 58 … … 61 61 62 62 <?php endif; ?> 63 63 64 64 </div> 65 65 -
trunk/wp-content/themes/default/archives.php
r2040 r3517 21 21 </ul> 22 22 23 </div> 23 </div> 24 24 25 25 <?php get_footer(); ?> -
trunk/wp-content/themes/default/attachment.php
r3328 r3517 2 2 3 3 <div id="content" class="widecolumn"> 4 4 5 5 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 6 6 7 7 <div class="navigation"> 8 8 <div class="alignleft"> </div> … … 17 17 18 18 <?php the_content('<p class="serif">Read the rest of this entry »</p>'); ?> 19 19 20 20 <?php link_pages('<p><strong>Pages:</strong> ', '</p>', 'number'); ?> 21 21 22 22 <p class="postmetadata alt"> 23 23 <small> … … 30 30 and is filed under <?php the_category(', ') ?>. 31 31 You can follow any responses to this entry through the <?php comments_rss_link('RSS 2.0'); ?> feed. 32 32 33 33 <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) { 34 34 // Both Comments and Pings are open ?> 35 35 You can <a href="#respond">leave a response</a>, or <a href="<?php trackback_url(true); ?>" rel="trackback">trackback</a> from your own site. 36 36 37 37 <?php } elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) { 38 38 // Only Pings are Open ?> 39 39 Responses are currently closed, but you can <a href="<?php trackback_url(true); ?> " rel="trackback">trackback</a> from your own site. 40 40 41 41 <?php } elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) { 42 42 // Comments are open, Pings are not ?> 43 43 You can skip to the end and leave a response. Pinging is currently not allowed. 44 44 45 45 <?php } elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) { 46 46 // Neither Comments, nor Pings are open ?> 47 Both comments and pings are currently closed. 48 47 Both comments and pings are currently closed. 48 49 49 <?php } edit_post_link('Edit this entry.','',''); ?> 50 50 51 51 </small> 52 52 </p> 53 53 54 54 </div> 55 55 </div> 56 56 57 57 <?php comments_template(); ?> 58 58 59 59 <?php endwhile; else: ?> 60 60 61 61 <p>Sorry, no attachments matched your criteria.</p> 62 62 63 63 <?php endif; ?> 64 64 65 65 </div> 66 66 -
trunk/wp-content/themes/default/comments-popup.php
r3115 r3517 104 104 <script type="text/javascript"> 105 105 <!-- 106 document.onkeypress = function esc(e) { 106 document.onkeypress = function esc(e) { 107 107 if(typeof(e) == "undefined") { e=event; } 108 108 if (e.keyCode == 27) { self.close(); } -
trunk/wp-content/themes/default/comments.php
r2530 r3517 6 6 if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie 7 7 ?> 8 8 9 9 <p class="nocomments">This post is password protected. Enter the password to view comments.<p> 10 10 11 11 <?php 12 12 return; … … 40 40 </li> 41 41 42 <?php /* Changes every other comment to a different class */ 42 <?php /* Changes every other comment to a different class */ 43 43 if ('alt' == $oddcomment) $oddcomment = ''; 44 44 else $oddcomment = 'alt'; … … 53 53 <?php if ('open' == $post->comment_status) : ?> 54 54 <!-- If comments are open, but there are no comments. --> 55 55 56 56 <?php else : // comments are closed ?> 57 57 <!-- If comments are closed. --> 58 58 <p class="nocomments">Comments are closed.</p> 59 59 60 60 <?php endif; ?> 61 61 <?php endif; ?> -
trunk/wp-content/themes/default/functions.php
r3451 r3517 58 58 if ( false === $color ) 59 59 return 'white'; 60 60 61 61 return $color; 62 62 } … … 101 101 } 102 102 } else { 103 103 104 104 if ( isset($_REQUEST['headerimage']) ) { 105 105 if ( '' == $_REQUEST['headerimage'] ) … … 108 108 update_option('kubrick_header_image', $_REQUEST['headerimage']); 109 109 } 110 110 111 111 if ( isset($_REQUEST['fontcolor']) ) { 112 112 if ( '' == $_REQUEST['fontcolor'] ) … … 115 115 update_option('kubrick_header_color', $_REQUEST['fontcolor']); 116 116 } 117 117 118 118 if ( isset($_REQUEST['fontdisplay']) ) { 119 119 if ( '' == $_REQUEST['fontdisplay'] || 'inline' == $_REQUEST['fontdisplay'] ) … … 269 269 font-size: 1.2em; 270 270 text-align: center; 271 } 271 } 272 272 #kubrick-header #header { 273 273 text-decoration: none; -
trunk/wp-content/themes/default/header.php
r3134 r3517 17 17 and not in the wp-layout.css file. If you prefer to use only CSS for colors and what 18 18 not, then go right ahead and delete the following lines, and the image files. */ 19 20 body { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbgcolor.jpg"); } 19 20 body { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbgcolor.jpg"); } 21 21 <?php /* Checks to see whether it needs a sidebar or not */ if ((! $withcomments) && (! is_single())) { ?> 22 22 #page { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbg.jpg") repeat-y top; border: none; } … … 29 29 /* Because the template is slightly different, size-wise, with images, this needs to be set here 30 30 If you don't want to use the template's images, you can also delete the following two lines. */ 31 31 32 32 #header { margin: 0 !important; margin: 0 0 0 1px; padding: 1px; height: 198px; width: 758px; } 33 33 #headerimg { margin: 7px 9px 0; height: 192px; width: 740px; } -
trunk/wp-content/themes/default/index.php
r3006 r3517 4 4 5 5 <?php if (have_posts()) : ?> 6 6 7 7 <?php while (have_posts()) : the_post(); ?> 8 8 9 9 <div class="post" id="post-<?php the_ID(); ?>"> 10 10 <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2> 11 11 <small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small> 12 12 13 13 <div class="entry"> 14 14 <?php the_content('Read the rest of this entry »'); ?> 15 15 </div> 16 16 17 17 <p class="postmetadata">Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></p> 18 18 </div> 19 19 20 20 <?php endwhile; ?> 21 21 … … 24 24 <div class="alignright"><?php previous_posts_link('Next Entries »') ?></div> 25 25 </div> 26 26 27 27 <?php else : ?> 28 28 -
trunk/wp-content/themes/default/links.php
r2040 r3517 14 14 </ul> 15 15 16 </div> 16 </div> 17 17 18 18 <?php get_footer(); ?> -
trunk/wp-content/themes/default/page.php
r2577 r3517 8 8 <div class="entrytext"> 9 9 <?php the_content('<p class="serif">Read the rest of this page »</p>'); ?> 10 10 11 11 <?php link_pages('<p><strong>Pages:</strong> ', '</p>', 'number'); ?> 12 12 13 13 </div> 14 14 </div> -
trunk/wp-content/themes/default/search.php
r3006 r3517 6 6 7 7 <h2 class="pagetitle">Search Results</h2> 8 8 9 9 <div class="navigation"> 10 10 <div class="alignleft"><?php next_posts_link('« Previous Entries') ?></div> … … 14 14 15 15 <?php while (have_posts()) : the_post(); ?> 16 16 17 17 <div class="post"> 18 18 <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h3> 19 19 <small><?php the_time('l, F jS, Y') ?></small> 20 20 21 21 <p class="postmetadata">Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></p> 22 22 </div> 23 23 24 24 <?php endwhile; ?> 25 25 … … 28 28 <div class="alignright"><?php previous_posts_link('Next Entries »') ?></div> 29 29 </div> 30 30 31 31 <?php else : ?> 32 32 … … 35 35 36 36 <?php endif; ?> 37 37 38 38 </div> 39 39 -
trunk/wp-content/themes/default/sidebar.php
r3134 r3517 1 1 <div id="sidebar"> 2 2 <ul> 3 3 4 4 <li> 5 5 <?php include (TEMPLATEPATH . '/searchform.php'); ?> … … 16 16 <?php /* If this is a category archive */ } elseif (is_category()) { ?> 17 17 <p>You are currently browsing the archives for the <?php single_cat_title(''); ?> category.</p> 18 18 19 19 <?php /* If this is a yearly archive */ } elseif (is_day()) { ?> 20 20 <p>You are currently browsing the <a href="<?php bloginfo('home'); ?>/"><?php echo bloginfo('name'); ?></a> weblog archives 21 21 for the day <?php the_time('l, F jS, Y'); ?>.</p> 22 22 23 23 <?php /* If this is a monthly archive */ } elseif (is_month()) { ?> 24 24 <p>You are currently browsing the <a href="<?php bloginfo('home'); ?>/"><?php echo bloginfo('name'); ?></a> weblog archives … … 28 28 <p>You are currently browsing the <a href="<?php bloginfo('home'); ?>/"><?php echo bloginfo('name'); ?></a> weblog archives 29 29 for the year <?php the_time('Y'); ?>.</p> 30 30 31 31 <?php /* If this is a monthly archive */ } elseif (is_search()) { ?> 32 32 <p>You have searched the <a href="<?php echo bloginfo('home'); ?>/"><?php echo bloginfo('name'); ?></a> weblog archives … … 53 53 </li> 54 54 55 <?php /* If this is the frontpage */ if ( is_home() || is_page() ) { ?> 55 <?php /* If this is the frontpage */ if ( is_home() || is_page() ) { ?> 56 56 <?php get_links_list(); ?> 57 57 58 58 <li><h2>Meta</h2> 59 59 <ul> … … 67 67 </li> 68 68 <?php } ?> 69 69 70 70 </ul> 71 71 </div> -
trunk/wp-content/themes/default/single.php
r2591 r3517 2 2 3 3 <div id="content" class="widecolumn"> 4 4 5 5 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 6 6 7 7 <div class="navigation"> 8 8 <div class="alignleft"><?php previous_post_link('« %link') ?></div> 9 9 <div class="alignright"><?php next_post_link('%link »') ?></div> 10 10 </div> 11 11 12 12 <div class="post" id="post-<?php the_ID(); ?>"> 13 13 <h2><a href="<?php echo get_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"><?php the_title(); ?></a></h2> 14 14 15 15 <div class="entrytext"> 16 16 <?php the_content('<p class="serif">Read the rest of this entry »</p>'); ?> 17 17 18 18 <?php link_pages('<p><strong>Pages:</strong> ', '</p>', 'number'); ?> 19 19 20 20 <p class="postmetadata alt"> 21 21 <small> … … 28 28 and is filed under <?php the_category(', ') ?>. 29 29 You can follow any responses to this entry through the <?php comments_rss_link('RSS 2.0'); ?> feed. 30 30 31 31 <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) { 32 32 // Both Comments and Pings are open ?> 33 33 You can <a href="#respond">leave a response</a>, or <a href="<?php trackback_url(true); ?>" rel="trackback">trackback</a> from your own site. 34 34 35 35 <?php } elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) { 36 36 // Only Pings are Open ?> 37 37 Responses are currently closed, but you can <a href="<?php trackback_url(true); ?> " rel="trackback">trackback</a> from your own site. 38 38 39 39 <?php } elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) { 40 40 // Comments are open, Pings are not ?> 41 41 You can skip to the end and leave a response. Pinging is currently not allowed. 42 42 43 43 <?php } elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) { 44 44 // Neither Comments, nor Pings are open ?> 45 Both comments and pings are currently closed. 46 45 Both comments and pings are currently closed. 46 47 47 <?php } edit_post_link('Edit this entry.','',''); ?> 48 48 49 49 </small> 50 50 </p> 51 51 52 52 </div> 53 53 </div> 54 54 55 55 <?php comments_template(); ?> 56 56 57 57 <?php endwhile; else: ?> 58 58 59 59 <p>Sorry, no posts matched your criteria.</p> 60 60 61 61 <?php endif; ?> 62 62 63 63 </div> 64 64 -
trunk/wp-content/themes/default/style.css
r3461 r3517 15 15 The CSS, XHTML and design is released under GPL: 16 16 http://www.opensource.org/licenses/gpl-license.php 17 17 18 18 19 19 *** REGARDING IMAGES *** … … 60 60 line-height: 1.6em; 61 61 } 62 62 63 63 .narrowcolumn .postmetadata { 64 64 text-align: center; … … 133 133 font: 0.9em 'Lucida Grande', Verdana, Arial, Sans-Serif; 134 134 } 135 135 136 136 .commentlist li { 137 137 font-weight: bold; … … 165 165 color: #777; 166 166 } 167 167 168 168 code { 169 169 font: 1.1em 'Courier New', Courier, Fixed; … … 185 185 text-decoration: underline; 186 186 } 187 187 188 188 #wp-calendar #prev a { 189 189 font-size: 9pt; … … 220 220 border: 1px solid #959596; 221 221 } 222 222 223 223 #header { 224 224 padding: 0; … … 247 247 width: 450px; 248 248 } 249 249 250 250 .post { 251 251 margin: 0 0 40px; … … 340 340 will of course center the image. This is much better than using 341 341 align="center", being much more futureproof (and valid) */ 342 342 343 343 img.centered { 344 344 display: block; … … 346 346 margin-right: auto; 347 347 } 348 348 349 349 img.alignright { 350 350 padding: 4px; … … 362 362 float: right; 363 363 } 364 364 365 365 .alignleft { 366 366 float: left … … 406 406 list-style-image: none; 407 407 } 408 408 409 409 #sidebar ul, #sidebar ul ol { 410 410 margin: 0; -
trunk/wp-includes/cache.php
r3504 r3517 104 104 if ( ! $this->acquire_lock() ) 105 105 return false; 106 106 107 107 $this->rm_cache_dir(); 108 108 $this->cache = array (); 109 109 $this->dirty_objects = array (); 110 110 $this->non_existant_objects = array (); 111 111 112 112 $this->release_lock(); 113 113 … … 249 249 if ($file == '.' or $file == '..') 250 250 continue; 251 251 252 252 if (@ is_dir($dir . DIRECTORY_SEPARATOR . $file)) 253 253 $stack[] = $dir . DIRECTORY_SEPARATOR . $file; … … 355 355 @ unlink($temp_file); 356 356 else 357 $errors++; 357 $errors++; 358 358 } 359 359 @ chmod($cache_file, $file_perms); … … 364 364 365 365 $this->release_lock(); 366 366 367 367 if ( $errors ) 368 368 return false; -
trunk/wp-includes/capabilities.php
r3513 r3517 35 35 return $this->role_objects[$role]; 36 36 } 37 37 38 38 function remove_role($role) { 39 39 if ( ! isset($this->role_objects[$role]) ) 40 40 return; 41 41 42 42 unset($this->role_objects[$role]); 43 43 unset($this->role_names[$role]); 44 44 unset($this->roles[$role]); 45 45 46 46 update_option($this->role_key, $this->roles); 47 47 } … … 71 71 { 72 72 return isset($this->role_names[$role]); 73 } 73 } 74 74 } 75 75 … … 151 151 $this->get_role_caps(); 152 152 } 153 153 154 154 function get_role_caps() { 155 155 global $wp_roles; 156 156 157 157 if ( ! isset($wp_roles) ) 158 158 $wp_roles = new WP_Roles(); … … 170 170 $this->allcaps = array_merge($this->allcaps, $this->caps); 171 171 } 172 172 173 173 function add_role($role) { 174 174 $this->caps[$role] = true; … … 177 177 $this->update_user_level_from_caps(); 178 178 } 179 179 180 180 function remove_role($role) { 181 181 if ( empty($this->roles[$role]) || (count($this->roles) <= 1) ) … … 185 185 $this->get_role_caps(); 186 186 } 187 187 188 188 function set_role($role) { 189 189 foreach($this->roles as $oldrole) … … 204 204 } 205 205 } 206 206 207 207 function update_user_level_from_caps() { 208 208 global $table_prefix; … … 210 210 update_usermeta($this->id, $table_prefix.'user_level', $this->user_level); 211 211 } 212 212 213 213 function add_cap($cap, $grant = true) { 214 214 $this->caps[$cap] = $grant; … … 221 221 update_usermeta($this->id, $this->cap_key, $this->caps); 222 222 } 223 223 224 224 //has_cap(capability_or_role_name) or 225 225 //has_cap('edit_post', post_id) … … 227 227 if ( is_numeric($cap) ) 228 228 $cap = $this->translate_level_to_cap($cap); 229 229 230 230 $args = array_slice(func_get_args(), 1); 231 231 $args = array_merge(array($cap, $this->id), $args); … … 346 346 case 'read_post': 347 347 $post = get_post($args[0]); 348 348 349 349 if ( 'private' != $post->post_status ) { 350 350 $caps[] = 'read'; 351 break; 352 } 353 351 break; 352 } 353 354 354 $author_data = get_userdata($user_id); 355 355 $post_author_data = get_userdata($post->post_author); -
trunk/wp-includes/class-snoopy.php
r3235 r3517 40 40 { 41 41 /**** Public variables ****/ 42 42 43 43 /* user definable vars */ 44 44 … … 49 49 var $proxy_user = ""; // proxy user to use 50 50 var $proxy_pass = ""; // proxy password to use 51 51 52 52 var $agent = "Snoopy v1.2.3"; // agent we masquerade as 53 53 var $referer = ""; // referer info to pass … … 67 67 // NOTE: this currently does not respect 68 68 // dates, domains or paths. 69 69 70 70 var $user = ""; // user for http authentication 71 71 var $pass = ""; // password for http authentication 72 72 73 73 // http accept types 74 74 var $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"; 75 75 76 76 var $results = ""; // where the content is put 77 77 78 78 var $error = ""; // error messages sent here 79 79 var $response_code = ""; // response code returned from server … … 101 101 // as these functions are not stable 102 102 // as of this Snoopy release. 103 104 /**** Private variables ****/ 105 103 104 /**** Private variables ****/ 105 106 106 var $_maxlinelen = 4096; // max line length (headers) 107 107 108 108 var $_httpmethod = "GET"; // default http request method 109 109 var $_httpversion = "HTTP/1.0"; // default http request version … … 115 115 var $_frameurls = array(); // frame src urls 116 116 var $_framedepth = 0; // increments on frame depth 117 117 118 118 var $_isproxy = false; // set if using a proxy server 119 119 var $_fp_timeout = 30; // timeout for socket connection … … 130 130 function fetch($URI) 131 131 { 132 132 133 133 //preg_match("|^([^:]+)://([^:/]+)(:[\d]+)*(.*)|",$URI,$URI_PARTS); 134 134 $URI_PARTS = parse_url($URI); … … 141 141 if (empty($URI_PARTS["path"])) 142 142 $URI_PARTS["path"] = ''; 143 143 144 144 switch(strtolower($URI_PARTS["scheme"])) 145 145 { … … 161 161 $this->_httprequest($path, $fp, $URI, $this->_httpmethod); 162 162 } 163 163 164 164 $this->_disconnect($fp); 165 165 … … 184 184 $frameurls = $this->_frameurls; 185 185 $this->_frameurls = array(); 186 186 187 187 while(list(,$frameurl) = each($frameurls)) 188 188 { … … 195 195 break; 196 196 } 197 } 197 } 198 198 } 199 199 else … … 201 201 return false; 202 202 } 203 return true; 203 return true; 204 204 break; 205 205 case "https": … … 255 255 break; 256 256 } 257 } 258 return true; 257 } 258 return true; 259 259 break; 260 260 default: … … 263 263 return false; 264 264 break; 265 } 265 } 266 266 return true; 267 267 } … … 281 281 { 282 282 unset($postdata); 283 283 284 284 $postdata = $this->_prepare_post_body($formvars, $formfiles); 285 285 286 286 $URI_PARTS = parse_url($URI); 287 287 if (!empty($URI_PARTS["user"])) … … 313 313 $this->_httprequest($path, $fp, $URI, $this->_submit_method, $this->_submit_type, $postdata); 314 314 } 315 315 316 316 $this->_disconnect($fp); 317 317 … … 320 320 /* url was redirected, check if we've hit the max depth */ 321 321 if($this->maxredirs > $this->_redirectdepth) 322 { 322 { 323 323 if(!preg_match("|^".$URI_PARTS["scheme"]."://|", $this->_redirectaddr)) 324 $this->_redirectaddr = $this->_expandlinks($this->_redirectaddr,$URI_PARTS["scheme"]."://".$URI_PARTS["host"]); 325 324 $this->_redirectaddr = $this->_expandlinks($this->_redirectaddr,$URI_PARTS["scheme"]."://".$URI_PARTS["host"]); 325 326 326 // only follow redirect if it's on this site, or offsiteok is true 327 327 if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok) … … 342 342 $frameurls = $this->_frameurls; 343 343 $this->_frameurls = array(); 344 344 345 345 while(list(,$frameurl) = each($frameurls)) 346 { 346 { 347 347 if($this->_framedepth < $this->maxframes) 348 348 { … … 353 353 break; 354 354 } 355 } 356 355 } 356 357 357 } 358 358 else … … 360 360 return false; 361 361 } 362 return true; 362 return true; 363 363 break; 364 364 case "https": … … 387 387 /* url was redirected, check if we've hit the max depth */ 388 388 if($this->maxredirs > $this->_redirectdepth) 389 { 389 { 390 390 if(!preg_match("|^".$URI_PARTS["scheme"]."://|", $this->_redirectaddr)) 391 $this->_redirectaddr = $this->_expandlinks($this->_redirectaddr,$URI_PARTS["scheme"]."://".$URI_PARTS["host"]); 391 $this->_redirectaddr = $this->_expandlinks($this->_redirectaddr,$URI_PARTS["scheme"]."://".$URI_PARTS["host"]); 392 392 393 393 // only follow redirect if it's on this site, or offsiteok is true … … 411 411 412 412 while(list(,$frameurl) = each($frameurls)) 413 { 413 { 414 414 if($this->_framedepth < $this->maxframes) 415 415 { … … 420 420 break; 421 421 } 422 } 423 return true; 422 } 423 return true; 424 424 break; 425 425 426 426 default: 427 427 // not a valid protocol … … 429 429 return false; 430 430 break; 431 } 431 } 432 432 return true; 433 433 } … … 443 443 { 444 444 if ($this->fetch($URI)) 445 { 445 { 446 446 if($this->lastredirectaddr) 447 447 $URI = $this->lastredirectaddr; … … 471 471 function fetchform($URI) 472 472 { 473 473 474 474 if ($this->fetch($URI)) 475 { 475 { 476 476 477 477 if(is_array($this->results)) … … 482 482 else 483 483 $this->results = $this->_stripform($this->results); 484 484 485 485 return true; 486 486 } … … 488 488 return false; 489 489 } 490 491 490 491 492 492 /*======================================================================*\ 493 493 Function: fetchtext … … 500 500 { 501 501 if($this->fetch($URI)) 502 { 502 { 503 503 if(is_array($this->results)) 504 504 { … … 524 524 { 525 525 if($this->submit($URI,$formvars, $formfiles)) 526 { 526 { 527 527 if($this->lastredirectaddr) 528 528 $URI = $this->lastredirectaddr; … … 558 558 { 559 559 if($this->submit($URI,$formvars, $formfiles)) 560 { 560 { 561 561 if($this->lastredirectaddr) 562 562 $URI = $this->lastredirectaddr; … … 582 582 } 583 583 584 584 585 585 586 586 /*======================================================================*\ … … 594 594 } 595 595 596 596 597 597 /*======================================================================*\ 598 598 Function: set_submit_normal … … 605 605 } 606 606 607 608 607 608 609 609 610 610 /*======================================================================*\ 611 611 Private functions 612 612 \*======================================================================*/ 613 614 613 614 615 615 /*======================================================================*\ 616 616 Function: _striplinks … … 621 621 622 622 function _striplinks($document) 623 { 623 { 624 624 preg_match_all("'<\s*a\s.*?href\s*=\s* # find <a href= 625 625 ([\"\'])? # find single or double quote … … 627 627 # quote, otherwise match up to next space 628 628 'isx",$document,$links); 629 629 630 630 631 631 // catenate the non-empty matches from the conditional subpattern … … 635 635 if(!empty($val)) 636 636 $match[] = $val; 637 } 638 637 } 638 639 639 while(list($key,$val) = each($links[3])) 640 640 { 641 641 if(!empty($val)) 642 642 $match[] = $val; 643 } 644 643 } 644 645 645 // return the links 646 646 return $match; … … 655 655 656 656 function _stripform($document) 657 { 657 { 658 658 preg_match_all("'<\/?(FORM|INPUT|SELECT|TEXTAREA|(OPTION))[^<>]*>(?(2)(.*(?=<\/?(option|select)[^<>]*>[\r\n]*)|(?=[\r\n]*))|(?=[\r\n]*))'Usi",$document,$elements); 659 659 660 660 // catenate the matches 661 661 $match = implode("\r\n",$elements[0]); 662 662 663 663 // return the links 664 664 return $match; 665 665 } 666 666 667 668 667 668 669 669 /*======================================================================*\ 670 670 Function: _striptext … … 676 676 function _striptext($document) 677 677 { 678 678 679 679 // I didn't use preg eval (//e) since that is only available in PHP 4.0. 680 680 // so, list your entities one by one here. I included some of the 681 681 // more common ones. 682 682 683 683 $search = array("'<script[^>]*?>.*?</script>'si", // strip out javascript 684 684 "'<[\/\!]*?[^<>]*?>'si", // strip out html tags … … 729 729 "ß", 730 730 ); 731 731 732 732 $text = preg_replace($search,$replace,$document); 733 733 734 734 return $text; 735 735 } … … 745 745 function _expandlinks($links,$URI) 746 746 { 747 747 748 748 preg_match("/^[^\?]+/",$URI,$match); 749 749 … … 753 753 $match_root = 754 754 $match_part["scheme"]."://".$match_part["host"]; 755 755 756 756 $search = array( "|^http://".preg_quote($this->host)."|i", 757 757 "|^(\/)|i", … … 760 760 "|/[^\/]+/\.\./|" 761 761 ); 762 762 763 763 $replace = array( "", 764 764 $match_root."/", … … 766 766 "/", 767 767 "/" 768 ); 769 768 ); 769 770 770 $expandedLinks = preg_replace($search,$replace,$links); 771 771 … … 780 780 $URI the full URI 781 781 $body body contents to send if any (POST) 782 Output: 783 \*======================================================================*/ 784 782 Output: 783 \*======================================================================*/ 784 785 785 function _httprequest($url,$fp,$URI,$http_method,$content_type="",$body="") 786 786 { … … 788 788 if($this->passcookies && $this->_redirectaddr) 789 789 $this->setcookies(); 790 790 791 791 $URI_PARTS = parse_url($URI); 792 792 if(empty($url)) 793 793 $url = "/"; 794 $headers = $http_method." ".$url." ".$this->_httpversion."\r\n"; 794 $headers = $http_method." ".$url." ".$this->_httpversion."\r\n"; 795 795 if(!empty($this->agent)) 796 796 $headers .= "User-Agent: ".$this->agent."\r\n"; … … 806 806 $headers .= "Referer: ".$this->referer."\r\n"; 807 807 if(!empty($this->cookies)) 808 { 808 { 809 809 if(!is_array($this->cookies)) 810 810 $this->cookies = (array)$this->cookies; 811 811 812 812 reset($this->cookies); 813 813 if ( count($this->cookies) > 0 ) { … … 832 832 $headers .= "\r\n"; 833 833 } 834 if(!empty($body)) 834 if(!empty($body)) 835 835 $headers .= "Content-length: ".strlen($body)."\r\n"; 836 if(!empty($this->user) || !empty($this->pass)) 836 if(!empty($this->user) || !empty($this->pass)) 837 837 $headers .= "Authorization: Basic ".base64_encode($this->user.":".$this->pass)."\r\n"; 838 838 839 839 //add proxy auth headers 840 if(!empty($this->proxy_user)) 840 if(!empty($this->proxy_user)) 841 841 $headers .= 'Proxy-Authorization: ' . 'Basic ' . base64_encode($this->proxy_user . ':' . $this->proxy_pass)."\r\n"; 842 842 843 843 844 844 $headers .= "\r\n"; 845 845 846 846 // set the read timeout if needed 847 847 if ($this->read_timeout > 0) 848 848 socket_set_timeout($fp, $this->read_timeout); 849 849 $this->timed_out = false; 850 850 851 851 fwrite($fp,$headers.$body,strlen($headers.$body)); 852 852 853 853 $this->_redirectaddr = false; 854 854 unset($this->headers); 855 855 856 856 while($currentHeader = fgets($fp,$this->_maxlinelen)) 857 857 { … … 861 861 return false; 862 862 } 863 863 864 864 if($currentHeader == "\r\n") 865 865 break; 866 866 867 867 // if a header begins with Location: or URI:, set the redirect 868 868 if(preg_match("/^(Location:|URI:)/i",$currentHeader)) … … 884 884 $this->_redirectaddr = $matches[2]; 885 885 } 886 886 887 887 if(preg_match("|^HTTP/|",$currentHeader)) 888 888 { … … 890 890 { 891 891 $this->status= $status[1]; 892 } 892 } 893 893 $this->response_code = $currentHeader; 894 894 } 895 895 896 896 $this->headers[] = $currentHeader; 897 897 } … … 911 911 return false; 912 912 } 913 913 914 914 // check if there is a a redirect meta tag 915 915 916 916 if(preg_match("'<meta[\s]*http-equiv[^>]*?content[\s]*=[\s]*[\"\']?\d+;[\s]*URL[\s]*=[\s]*([^\"\']*?)[\"\']?>'i",$results,$match)) 917 917 918 918 { 919 $this->_redirectaddr = $this->_expandlinks($match[1],$URI); 919 $this->_redirectaddr = $this->_expandlinks($match[1],$URI); 920 920 } 921 921 … … 933 933 else 934 934 $this->results = $results; 935 935 936 936 return true; 937 937 } … … 943 943 $URI the full URI 944 944 $body body contents to send if any (POST) 945 Output: 946 \*======================================================================*/ 947 945 Output: 946 \*======================================================================*/ 947 948 948 function _httpsrequest($url,$URI,$http_method,$content_type="",$body="") 949 949 { … … 951 951 $this->setcookies(); 952 952 953 $headers = array(); 954 953 $headers = array(); 954 955 955 $URI_PARTS = parse_url($URI); 956 956 if(empty($url)) 957 957 $url = "/"; 958 958 // GET ... header not needed for curl 959 //$headers[] = $http_method." ".$url." ".$this->_httpversion; 959 //$headers[] = $http_method." ".$url." ".$this->_httpversion; 960 960 if(!empty($this->agent)) 961 961 $headers[] = "User-Agent: ".$this->agent; … … 970 970 $headers[] = "Referer: ".$this->referer; 971 971 if(!empty($this->cookies)) 972 { 972 { 973 973 if(!is_array($this->cookies)) 974 974 $this->cookies = (array)$this->cookies; 975 975 976 976 reset($this->cookies); 977 977 if ( count($this->cookies) > 0 ) { … … 996 996 $headers[] = "Content-type: $content_type"; 997 997 } 998 if(!empty($body)) 998 if(!empty($body)) 999 999 $headers[] = "Content-length: ".strlen($body); 1000 if(!empty($this->user) || !empty($this->pass)) 1000 if(!empty($this->user) || !empty($this->pass)) 1001 1001 $headers[] = "Authorization: BASIC ".base64_encode($this->user.":".$this->pass); 1002 1002 1003 1003 for($curr_header = 0; $curr_header < count($headers); $curr_header++) { 1004 1004 $safer_header = strtr( $headers[$curr_header], "\"", " " ); 1005 1005 $cmdline_params .= " -H \"".$safer_header."\""; 1006 1006 } 1007 1007 1008 1008 if(!empty($body)) 1009 1009 $cmdline_params .= " -d \"$body\""; 1010 1010 1011 1011 if($this->read_timeout > 0) 1012 1012 $cmdline_params .= " -m ".$this->read_timeout; 1013 1013 1014 1014 $headerfile = tempnam($temp_dir, "sno"); 1015 1015 1016 1016 $safer_URI = strtr( $URI, "\"", " " ); // strip quotes from the URI to avoid shell access 1017 1017 exec(escapeshellcmd($this->curl_path." -D \"$headerfile\"".$cmdline_params." \"".$safer_URI."\""),$results,$return); 1018 1018 1019 1019 if($return) 1020 1020 { … … 1022 1022 return false; 1023 1023 } 1024 1025 1024 1025 1026 1026 $results = implode("\r\n",$results); 1027 1027 1028 1028 $result_headers = file("$headerfile"); 1029 1029 1030 1030 $this->_redirectaddr = false; 1031 1031 unset($this->headers); 1032 1032 1033 1033 for($currentHeader = 0; $currentHeader < count($result_headers); $currentHeader++) 1034 1034 { 1035 1035 1036 1036 // if a header begins with Location: or URI:, set the redirect 1037 1037 if(preg_match("/^(Location: |URI: )/i",$result_headers[$currentHeader])) … … 1053 1053 $this->_redirectaddr = $matches[2]; 1054 1054 } 1055 1055 1056 1056 if(preg_match("|^HTTP/|",$result_headers[$currentHeader])) 1057 1057 $this->response_code = $result_headers[$currentHeader]; … … 1061 1061 1062 1062 // check if there is a a redirect meta tag 1063 1063 1064 1064 if(preg_match("'<meta[\s]*http-equiv[^>]*?content[\s]*=[\s]*[\"\']?\d+;[\s]*URL[\s]*=[\s]*([^\"\']*?)[\"\']?>'i",$results,$match)) 1065 1065 { 1066 $this->_redirectaddr = $this->_expandlinks($match[1],$URI); 1066 $this->_redirectaddr = $this->_expandlinks($match[1],$URI); 1067 1067 } 1068 1068 … … 1082 1082 1083 1083 unlink("$headerfile"); 1084 1084 1085 1085 return true; 1086 1086 } … … 1090 1090 Purpose: set cookies for a redirection 1091 1091 \*======================================================================*/ 1092 1092 1093 1093 function setcookies() 1094 1094 { … … 1100 1100 } 1101 1101 1102 1102 1103 1103 /*======================================================================*\ 1104 1104 Function: _check_timeout … … 1124 1124 Input: $fp file pointer 1125 1125 \*======================================================================*/ 1126 1126 1127 1127 function _connect(&$fp) 1128 1128 { … … 1130 1130 { 1131 1131 $this->_isproxy = true; 1132 1132 1133 1133 $host = $this->proxy_host; 1134 1134 $port = $this->proxy_port; … … 1139 1139 $port = $this->port; 1140 1140 } 1141 1141 1142 1142 $this->status = 0; 1143