Add edit and delete links to the Content->Links rows. Add get_edit_bookmark_link(). Add caching for individual bookmarks. see #7552

git-svn-id: https://develop.svn.wordpress.org/trunk@8758 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ryan Boren
2008-08-27 22:04:12 +00:00
parent de4dcecfab
commit fa0b44817d
4 changed files with 87 additions and 25 deletions
+21 -5
View File
@@ -51,6 +51,8 @@ function wp_delete_link($link_id) {
do_action('deleted_link', $link_id);
clean_bookmark_cache($link_id);
return true;
}
@@ -65,7 +67,7 @@ function get_link_to_edit( $link_id ) {
return get_bookmark( $link_id, OBJECT, 'edit' );
}
function wp_insert_link($linkdata) {
function wp_insert_link($linkdata, $wp_error = false) {
global $wpdb, $current_user;
$defaults = array('link_id' => 0, 'link_name' => '', 'link_url' => '', 'link_rating' => 0 );
@@ -119,14 +121,24 @@ function wp_insert_link($linkdata) {
}
if ( $update ) {
$wpdb->query( $wpdb->prepare("UPDATE $wpdb->links SET link_url = %s,
if ( false === $wpdb->query( $wpdb->prepare("UPDATE $wpdb->links SET link_url = %s,
link_name = %s, link_image = %s, link_target = %s,
link_visible = %s, link_description = %s, link_rating = %s,
link_rel = %s, link_notes = %s, link_rss = %s
WHERE link_id = %s", $link_url, $link_name, $link_image, $link_target, $link_visible, $link_description, $link_rating, $link_rel, $link_notes, $link_rss, $link_id) );
WHERE link_id = %s", $link_url, $link_name, $link_image, $link_target, $link_visible, $link_description, $link_rating, $link_rel, $link_notes, $link_rss, $link_id) ) ) {
if ( $wp_error )
return new WP_Error('db_update_error', __('Could not update link in the database'), $wpdb->last_error);
else
return 0;
}
} else {
$wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->links (link_url, link_name, link_image, link_target, link_description, link_visible, link_owner, link_rating, link_rel, link_notes, link_rss) VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
$link_url,$link_name, $link_image, $link_target, $link_description, $link_visible, $link_owner, $link_rating, $link_rel, $link_notes, $link_rss) );
if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->links (link_url, link_name, link_image, link_target, link_description, link_visible, link_owner, link_rating, link_rel, link_notes, link_rss) VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
$link_url,$link_name, $link_image, $link_target, $link_description, $link_visible, $link_owner, $link_rating, $link_rel, $link_notes, $link_rss) ) ) {
if ( $wp_error )
return new WP_Error('db_insert_error', __('Could not insert link into the database'), $wpdb->last_error);
else
return 0;
}
$link_id = (int) $wpdb->insert_id;
}
@@ -137,6 +149,8 @@ function wp_insert_link($linkdata) {
else
do_action('add_link', $link_id);
clean_bookmark_cache($link_id);
return $link_id;
}
@@ -149,6 +163,8 @@ function wp_set_link_cats($link_id = 0, $link_categories = array()) {
$link_categories = array_unique($link_categories);
wp_set_object_terms($link_id, $link_categories, 'link_category');
clean_bookmark_cache($link_id);
} // wp_set_link_cats()
function wp_update_link($linkdata) {