| [ Index ] |
PHP Cross Reference of Wordpress 2.9.1 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * WordPress Bookmark Administration API 4 * 5 * @package WordPress 6 * @subpackage Administration 7 */ 8 9 /** 10 * {@internal Missing Short Description}} 11 * 12 * @since unknown 13 * 14 * @return unknown 15 */ 16 function add_link() { 17 return edit_link(); 18 } 19 20 /** 21 * {@internal Missing Short Description}} 22 * 23 * @since unknown 24 * 25 * @param unknown_type $link_id 26 * @return unknown 27 */ 28 function edit_link( $link_id = '' ) { 29 if (!current_user_can( 'manage_links' )) 30 wp_die( __( 'Cheatin’ uh?' )); 31 32 $_POST['link_url'] = esc_html( $_POST['link_url'] ); 33 $_POST['link_url'] = esc_url($_POST['link_url']); 34 $_POST['link_name'] = esc_html( $_POST['link_name'] ); 35 $_POST['link_image'] = esc_html( $_POST['link_image'] ); 36 $_POST['link_rss'] = esc_url($_POST['link_rss']); 37 if ( !isset($_POST['link_visible']) || 'N' != $_POST['link_visible'] ) 38 $_POST['link_visible'] = 'Y'; 39 40 if ( !empty( $link_id ) ) { 41 $_POST['link_id'] = $link_id; 42 return wp_update_link( $_POST); 43 } else { 44 return wp_insert_link( $_POST); 45 } 46 } 47 48 /** 49 * {@internal Missing Short Description}} 50 * 51 * @since unknown 52 * 53 * @return unknown 54 */ 55 function get_default_link_to_edit() { 56 if ( isset( $_GET['linkurl'] ) ) 57 $link->link_url = esc_url( $_GET['linkurl']); 58 else 59 $link->link_url = ''; 60 61 if ( isset( $_GET['name'] ) ) 62 $link->link_name = esc_attr( $_GET['name']); 63 else 64 $link->link_name = ''; 65 66 $link->link_visible = 'Y'; 67 68 return $link; 69 } 70 71 /** 72 * {@internal Missing Short Description}} 73 * 74 * @since unknown 75 * 76 * @param unknown_type $link_id 77 * @return unknown 78 */ 79 function wp_delete_link( $link_id ) { 80 global $wpdb; 81 82 do_action( 'delete_link', $link_id ); 83 84 wp_delete_object_term_relationships( $link_id, 'link_category' ); 85 86 $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->links WHERE link_id = %d", $link_id ) ); 87 88 do_action( 'deleted_link', $link_id ); 89 90 clean_bookmark_cache( $link_id ); 91 92 return true; 93 } 94 95 /** 96 * {@internal Missing Short Description}} 97 * 98 * @since unknown 99 * 100 * @param unknown_type $link_id 101 * @return unknown 102 */ 103 function wp_get_link_cats( $link_id = 0 ) { 104 105 $cats = wp_get_object_terms( $link_id, 'link_category', 'fields=ids' ); 106 107 return array_unique( $cats ); 108 } 109 110 /** 111 * {@internal Missing Short Description}} 112 * 113 * @since unknown 114 * 115 * @param unknown_type $link_id 116 * @return unknown 117 */ 118 function get_link_to_edit( $link_id ) { 119 return get_bookmark( $link_id, OBJECT, 'edit' ); 120 } 121 122 /** 123 * {@internal Missing Short Description}} 124 * 125 * @since unknown 126 * 127 * @param unknown_type $linkdata 128 * @return unknown 129 */ 130 function wp_insert_link( $linkdata, $wp_error = false ) { 131 global $wpdb, $current_user; 132 133 $defaults = array( 'link_id' => 0, 'link_name' => '', 'link_url' => '', 'link_rating' => 0 ); 134 135 $linkdata = wp_parse_args( $linkdata, $defaults ); 136 $linkdata = sanitize_bookmark( $linkdata, 'db' ); 137 138 extract( stripslashes_deep( $linkdata ), EXTR_SKIP ); 139 140 $update = false; 141 142 if ( !empty( $link_id ) ) 143 $update = true; 144 145 if ( trim( $link_name ) == '' ) { 146 if ( trim( $link_url ) != '' ) { 147 $link_name = $link_url; 148 } else { 149 return 0; 150 } 151 } 152 153 if ( trim( $link_url ) == '' ) 154 return 0; 155 156 if ( empty( $link_rating ) ) 157 $link_rating = 0; 158 159 if ( empty( $link_image ) ) 160 $link_image = ''; 161 162 if ( empty( $link_target ) ) 163 $link_target = ''; 164 165 if ( empty( $link_visible ) ) 166 $link_visible = 'Y'; 167 168 if ( empty( $link_owner ) ) 169 $link_owner = $current_user->id; 170 171 if ( empty( $link_notes ) ) 172 $link_notes = ''; 173 174 if ( empty( $link_description ) ) 175 $link_description = ''; 176 177 if ( empty( $link_rss ) ) 178 $link_rss = ''; 179 180 if ( empty( $link_rel ) ) 181 $link_rel = ''; 182 183 // Make sure we set a valid category 184 if ( ! isset( $link_category ) ||0 == count( $link_category ) || !is_array( $link_category ) ) { 185 $link_category = array( get_option( 'default_link_category' ) ); 186 } 187 188 if ( $update ) { 189 if ( false === $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->links SET link_url = %s, 190 link_name = %s, link_image = %s, link_target = %s, 191 link_visible = %s, link_description = %s, link_rating = %s, 192 link_rel = %s, link_notes = %s, link_rss = %s 193 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 ) ) ) { 194 if ( $wp_error ) 195 return new WP_Error( 'db_update_error', __( 'Could not update link in the database' ), $wpdb->last_error ); 196 else 197 return 0; 198 } 199 } else { 200 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)", 201 $link_url,$link_name, $link_image, $link_target, $link_description, $link_visible, $link_owner, $link_rating, $link_rel, $link_notes, $link_rss ) ) ) { 202 if ( $wp_error ) 203 return new WP_Error( 'db_insert_error', __( 'Could not insert link into the database' ), $wpdb->last_error ); 204 else 205 return 0; 206 } 207 $link_id = (int) $wpdb->insert_id; 208 } 209 210 wp_set_link_cats( $link_id, $link_category ); 211 212 if ( $update ) 213 do_action( 'edit_link', $link_id ); 214 else 215 do_action( 'add_link', $link_id ); 216 217 clean_bookmark_cache( $link_id ); 218 219 return $link_id; 220 } 221 222 /** 223 * {@internal Missing Short Description}} 224 * 225 * @since unknown 226 * 227 * @param unknown_type $link_id 228 * @param unknown_type $link_categories 229 */ 230 function wp_set_link_cats( $link_id = 0, $link_categories = array() ) { 231 // If $link_categories isn't already an array, make it one: 232 if ( !is_array( $link_categories ) || 0 == count( $link_categories ) ) 233 $link_categories = array( get_option( 'default_link_category' ) ); 234 235 $link_categories = array_map( 'intval', $link_categories ); 236 $link_categories = array_unique( $link_categories ); 237 238 wp_set_object_terms( $link_id, $link_categories, 'link_category' ); 239 240 clean_bookmark_cache( $link_id ); 241 } // wp_set_link_cats() 242 243 /** 244 * {@internal Missing Short Description}} 245 * 246 * @since unknown 247 * 248 * @param unknown_type $linkdata 249 * @return unknown 250 */ 251 function wp_update_link( $linkdata ) { 252 $link_id = (int) $linkdata['link_id']; 253 254 $link = get_link( $link_id, ARRAY_A ); 255 256 // Escape data pulled from DB. 257 $link = add_magic_quotes( $link ); 258 259 // Passed link category list overwrites existing category list if not empty. 260 if ( isset( $linkdata['link_category'] ) && is_array( $linkdata['link_category'] ) 261 && 0 != count( $linkdata['link_category'] ) ) 262 $link_cats = $linkdata['link_category']; 263 else 264 $link_cats = $link['link_category']; 265 266 // Merge old and new fields with new fields overwriting old ones. 267 $linkdata = array_merge( $link, $linkdata ); 268 $linkdata['link_category'] = $link_cats; 269 270 return wp_insert_link( $linkdata ); 271 } 272 273 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Fri Jan 8 00:19:48 2010 | Cross-referenced by PHPXref 0.7 |