Ticket #1699: 1699.2.diff
| File 1699.2.diff, 4.3 KB (added by , 20 years ago) |
|---|
-
functions.php
402 402 } 403 403 404 404 function add_post_meta($post_id, $key, $value, $unique = false) { 405 global $wpdb ;405 global $wpdb, $post_meta_cache; 406 406 407 407 if ($unique) { 408 408 if( $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key … … 411 411 } 412 412 } 413 413 414 $original = $value; 415 if ( is_array($value) || is_object($value) ) 416 $value = $wpdb->escape(serialize($value)); 417 414 418 $wpdb->query("INSERT INTO $wpdb->postmeta 415 419 (post_id,meta_key,meta_value) 416 420 VALUES ('$post_id','$key','$value') 417 421 "); 418 422 423 $post_meta_cache['$post_id'][$key][] = $original; 424 419 425 return true; 420 426 } 421 427 422 428 function delete_post_meta($post_id, $key, $value = '') { 423 global $wpdb ;429 global $wpdb, $post_meta_cache; 424 430 425 431 if (empty($value)) { 426 432 $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE … … 435 441 if (empty($value)) { 436 442 $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' 437 443 AND meta_key = '$key'"); 444 unset($post_meta_cache['$post_id'][$key]); 438 445 } else { 439 446 $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' 440 447 AND meta_key = '$key' AND meta_value = '$value'"); 448 $cache_key = $post_meta_cache['$post_id'][$key]; 449 foreach ( $cache_key as $index => $data ) 450 if ( $data == $value ) 451 unset($post_meta_cache['$post_id'][$key][$index]); 441 452 } 453 454 unset($post_meta_cache['$post_id'][$key]); 442 455 443 456 return true; 444 457 } … … 465 478 466 479 if ($single) { 467 480 if (count($values)) { 468 return$values[0];481 $return = $values[0]; 469 482 } else { 470 483 return ''; 471 484 } 472 485 } else { 473 return$values;486 $return = $values; 474 487 } 488 489 @ $kellogs = unserialize($return); 490 if ($kellogs !== FALSE) 491 return $kellogs; 492 else return $return; 475 493 } 476 494 477 495 function update_post_meta($post_id, $key, $value, $prev_value = '') { 478 496 global $wpdb, $post_meta_cache; 479 497 480 if(! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key 498 $original_value = $value; 499 if ( is_array($value) || is_object($value) ) 500 $value = $wpdb->escape(serialize($value)); 501 502 $original_prev = $prev_value; 503 if ( is_array($prev_value) || is_object($prev_value) ) 504 $prev_value = serialize($value); 505 506 if(! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key 481 507 = '$key' AND post_id = '$post_id'") ) { 482 return false;483 }508 return false; 509 } 484 510 485 511 if (empty($prev_value)) { 486 512 $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE 487 513 meta_key = '$key' AND post_id = '$post_id'"); 514 $cache_key = $post_meta_cache['$post_id'][$key]; 515 foreach ($cache_key as $index => $data) 516 $post_meta_cache['$post_id'][$key][$index] = $original_value; 488 517 } else { 489 518 $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE 490 519 meta_key = '$key' AND post_id = '$post_id' AND meta_value = '$prev_value'"); 520 $cache_key = $post_meta_cache['$post_id'][$key]; 521 foreach ($cache_key as $index => $data) 522 if ( $data == $original_prev ) 523 $post_meta_cache['$post_id'][$key][$index] = $original_value; 491 524 } 492 525 493 526 return true; … … 842 875 $doping = true; 843 876 } 844 877 if($doping) 845 echo '<iframe src="' . get_settings('siteurl') .'/wp-admin/execute-pings.php?time=' . time() . '" style="border:none;width:1px;height:1px;"></iframe>';878 echo '<iframe id="pingcheck" src="' . get_settings('siteurl') .'/wp-admin/execute-pings.php?time=' . time() . '" style="border:none;width:1px;height:1px;"></iframe>'; 846 879 } 847 880 848 881 function do_enclose( $content, $post_ID ) { … … 2047 2080 $meta_value = serialize($meta_value); 2048 2081 2049 2082 $cur = $wpdb->get_row("SELECT * FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'"); 2050 if ( !$cur && !empty( $meta_value )) {2083 if ( !$cur ) { 2051 2084 $wpdb->query("INSERT INTO $wpdb->usermeta ( user_id, meta_key, meta_value ) 2052 2085 VALUES 2053 2086 ( '$user_id', '$meta_key', '$meta_value' )"); … … 2055 2088 } 2056 2089 if ( $cur->meta_value != $meta_value ) 2057 2090 $wpdb->query("UPDATE $wpdb->usermeta SET meta_value = '$meta_value' WHERE user_id = '$user_id' AND meta_key = '$meta_key'"); 2058 if ( empty( $meta_value ) )2059 $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");2060 2091 } 2061 2092 2062 2093 function register_activation_hook($file, $function) {