PHP Cross Reference of WordPress Subversion HEAD

[ Index ]     [ Classes ]     [ Functions ]     [ Variables ]     [ Constants ]

title

Body

[close]

/wp-admin/includes/ -> bookmark.php (source)

   1  <?php
   2  
   3  function add_link() {
   4      return edit_link();
   5  }
   6  
   7  function edit_link( $link_id = '' ) {
   8      if (!current_user_can( 'manage_links' ))
   9          wp_die( __( 'Cheatin&#8217; uh?' ));
  10  
  11      $_POST['link_url'] = wp_specialchars( $_POST['link_url'] );
  12      $_POST['link_url'] = clean_url($_POST['link_url']);
  13      $_POST['link_name'] = wp_specialchars( $_POST['link_name'] );
  14      $_POST['link_image'] = wp_specialchars( $_POST['link_image'] );
  15      $_POST['link_rss'] = clean_url($_POST['link_rss']);
  16  
  17      if ( !empty( $link_id ) ) {
  18          $_POST['link_id'] = $link_id;
  19          return wp_update_link( $_POST);
  20      } else {
  21          return wp_insert_link( $_POST);
  22      }
  23  }
  24  
  25  function get_default_link_to_edit() {
  26      if ( isset( $_GET['linkurl'] ) )
  27          $link->link_url = clean_url( $_GET['linkurl']);
  28      else
  29          $link->link_url = '';
  30  
  31      if ( isset( $_GET['name'] ) )
  32          $link->link_name = attribute_escape( $_GET['name']);
  33      else
  34          $link->link_name = '';
  35  
  36      $link->link_visible = 'Y';
  37  
  38      return $link;
  39  }
  40  
  41  function wp_delete_link($link_id) {
  42      global $wpdb;
  43  
  44      do_action('delete_link', $link_id);
  45  
  46      wp_delete_object_term_relationships($link_id, 'link_category');
  47  
  48      $wpdb->query("DELETE FROM $wpdb->links WHERE link_id = '$link_id'");
  49  
  50      do_action('deleted_link', $link_id);
  51  
  52      return true;
  53  }
  54  
  55  function wp_get_link_cats($link_id = 0) {
  56  
  57      $cats = wp_get_object_terms($link_id, 'link_category', 'fields=ids');
  58  
  59      return array_unique($cats);
  60  }
  61  
  62  function get_link_to_edit( $link_id ) {
  63      return get_link( $link_id, OBJECT, 'edit' );
  64  }
  65  
  66  function wp_insert_link($linkdata) {
  67      global $wpdb, $current_user;
  68  
  69      $defaults = array('link_id' => 0, 'link_name' => '', 'link_url' => '', 'link_rating' => 0 );
  70  
  71      $linkdata = wp_parse_args($linkdata, $defaults);
  72      $linkdata = sanitize_bookmark($linkdata, 'db');
  73  
  74      extract($linkdata, EXTR_SKIP);
  75  
  76      $update = false;
  77  
  78      if ( !empty($link_id) )
  79          $update = true;
  80  
  81      if ( trim( $link_name ) == '' )
  82          return 0;
  83  
  84      if ( trim( $link_url ) == '' )
  85          return 0;
  86  
  87      if ( empty($link_rating) )
  88          $link_rating = 0;
  89  
  90      if ( empty($link_image) )
  91          $link_image = '';
  92  
  93      if ( empty($link_target) )
  94          $link_target = '';
  95  
  96      if ( empty($link_visible) )
  97          $link_visible = 'Y';
  98  
  99      if ( empty($link_owner) )
 100          $link_owner = $current_user->id;
 101  
 102      if ( empty($link_notes) )
 103          $link_notes = '';
 104  
 105      if ( empty($link_description) )
 106          $link_description = '';
 107  
 108      if ( empty($link_rss) )
 109          $link_rss = '';
 110  
 111      if ( empty($link_rel) )
 112          $link_rel = '';
 113  
 114      // Make sure we set a valid category
 115      if (0 == count($link_category) || !is_array($link_category)) {
 116          $link_category = array(get_option('default_link_category'));
 117      }
 118  
 119      if ( $update ) {
 120          $wpdb->query("UPDATE $wpdb->links SET link_url='$link_url',
 121              link_name='$link_name', link_image='$link_image',
 122              link_target='$link_target',
 123              link_visible='$link_visible', link_description='$link_description',
 124              link_rating='$link_rating', link_rel='$link_rel',
 125              link_notes='$link_notes', link_rss = '$link_rss'
 126              WHERE link_id='$link_id'");
 127      } else {
 128          $wpdb->query("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('$link_url','$link_name', '$link_image', '$link_target', '$link_description', '$link_visible', '$link_owner', '$link_rating', '$link_rel', '$link_notes', '$link_rss')");
 129          $link_id = (int) $wpdb->insert_id;
 130      }
 131  
 132      wp_set_link_cats($link_id, $link_category);
 133  
 134      if ( $update )
 135          do_action('edit_link', $link_id);
 136      else
 137          do_action('add_link', $link_id);
 138  
 139      return $link_id;
 140  }
 141  
 142  function wp_set_link_cats($link_id = 0, $link_categories = array()) {
 143      // If $link_categories isn't already an array, make it one:
 144      if (!is_array($link_categories) || 0 == count($link_categories))
 145          $link_categories = array(get_option('default_link_category'));
 146  
 147      $link_categories = array_map('intval', $link_categories);
 148      $link_categories = array_unique($link_categories);
 149  
 150      wp_set_object_terms($link_id, $link_categories, 'link_category');
 151  }    // wp_set_link_cats()
 152  
 153  function wp_update_link($linkdata) {
 154      $link_id = (int) $linkdata['link_id'];
 155  
 156      $link = get_link($link_id, ARRAY_A);
 157  
 158      // Escape data pulled from DB.
 159      $link = add_magic_quotes($link);
 160  
 161      // Passed link category list overwrites existing category list if not empty.
 162      if ( isset($linkdata['link_category']) && is_array($linkdata['link_category'])
 163               && 0 != count($linkdata['link_category']) )
 164          $link_cats = $linkdata['link_category'];
 165      else
 166          $link_cats = $link['link_category'];
 167  
 168      // Merge old and new fields with new fields overwriting old ones.
 169      $linkdata = array_merge($link, $linkdata);
 170      $linkdata['link_category'] = $link_cats;
 171  
 172      return wp_insert_link($linkdata);
 173  }
 174  
 175  ?>


Generated Thu Dec 6 06:47:08 2007 for RedAlt XRefs Cross-referenced by PHPXref 0.6 and RedAlt