2003-05-22 14:12:53 +02:00
< ? php
2006-02-27 05:57:30 +01:00
2003-05-22 14:12:53 +02:00
// Links
2003-08-07 02:00:55 +02:00
// Copyright (C) 2002, 2003 Mike Little -- mike@zed1.com
2003-12-08 04:46:42 +01:00
2006-02-27 05:57:30 +01:00
require_once ( 'admin.php' );
2003-05-22 14:12:53 +02:00
2006-05-22 19:16:05 +02:00
wp_enqueue_script ( 'listman' );
2003-05-22 14:12:53 +02:00
2006-07-03 21:03:37 +02:00
wp_reset_vars ( array ( 'action' , 'cat_id' , 'linkurl' , 'name' , 'image' , 'description' , 'visible' , 'target' , 'category' , 'link_id' , 'submit' , 'order_by' , 'links_show_cat_id' , 'rating' , 'rel' , 'notes' , 'linkcheck[]' ));
2003-07-23 02:26:03 +02:00
2006-02-27 05:57:30 +01:00
if ( empty ( $cat_id ))
$cat_id = 'all' ;
if ( empty ( $order_by ))
$order_by = 'order_name' ;
2006-11-20 03:17:07 +01:00
$title = __ ( 'Manage Blogroll' );
$this_file = $parent_file = 'link-manager.php' ;
2006-02-27 05:57:30 +01:00
include_once ( " ./admin-header.php " );
if ( ! current_user_can ( 'manage_links' ))
2006-11-20 03:17:07 +01:00
wp_die ( __ ( " You do not have sufficient permissions to edit the links for this blog. " ));
2006-02-27 05:57:30 +01:00
switch ( $order_by ) {
case 'order_id' :
$sqlorderby = 'id' ;
break ;
case 'order_url' :
$sqlorderby = 'url' ;
break ;
case 'order_desc' :
$sqlorderby = 'description' ;
break ;
case 'order_owner' :
$sqlorderby = 'owner' ;
break ;
case 'order_rating' :
$sqlorderby = 'rating' ;
break ;
case 'order_name' :
default :
$sqlorderby = 'name' ;
break ;
}
2003-05-22 14:12:53 +02:00
?>
2003-07-27 01:52:36 +02:00
< script type = " text/javascript " >
2003-07-30 16:44:57 +02:00
<!--
2003-07-27 01:52:36 +02:00
function checkAll ( form )
{
for ( i = 0 , n = form . elements . length ; i < n ; i ++ ) {
if ( form . elements [ i ] . type == " checkbox " ) {
if ( form . elements [ i ] . checked == true )
form . elements [ i ] . checked = false ;
else
form . elements [ i ] . checked = true ;
}
}
}
//-->
2003-07-30 16:44:57 +02:00
</ script >
2004-08-23 01:24:50 +02:00
2006-02-27 05:57:30 +01:00
< ? php
if ( isset ( $_GET [ 'deleted' ]) ) {
echo '<div style="background-color: rgb(207, 235, 247);" id="message" class="updated fade"><p>' ;
$deleted = ( int ) $_GET [ 'deleted' ];
2006-12-22 00:06:18 +01:00
printf ( __ngettext ( '%s link deleted.' , '%s links deleted' , $deleted ), $deleted );
2006-02-27 05:57:30 +01:00
echo '</p></div>' ;
}
?>
2003-05-23 10:29:51 +02:00
< div class = " wrap " >
2006-03-06 03:52:18 +01:00
2006-07-06 06:27:45 +02:00
< h2 >< ? php _e ( 'Blogroll Management' ); ?> </h2>
2006-12-03 22:33:38 +01:00
< p >< ? php _e ( 'Here you <a href="link-add.php">add links</a> to sites that you visit often and share them on your blog. When you have a list of links in your sidebar to other blogs, it’s called a “blogroll.”' ); ?> </p>
2006-03-06 03:52:18 +01:00
< form id = " cats " method = " get " action = " " >
2006-07-18 04:31:21 +02:00
< p >< ? php
$categories = get_categories ( " hide_empty=1&type=link " );
$select_cat = " <select name= \" cat_id \" > \n " ;
$select_cat .= '<option value="all"' . (( $cat_id == 'all' ) ? " selected='selected' " : '' ) . '>' . __ ( 'All' ) . " </option> \n " ;
foreach (( array ) $categories as $cat )
2007-03-10 02:13:49 +01:00
$select_cat .= '<option value="' . $cat -> cat_ID . '"' . (( $cat -> cat_ID == $cat_id ) ? " selected='selected' " : '' ) . '>' . wp_specialchars ( apply_filters ( 'link_category' , $cat -> cat_name )) . " </option> \n " ;
2006-07-18 04:31:21 +02:00
$select_cat .= " </select> \n " ;
$select_order = " <select name= \" order_by \" > \n " ;
2006-11-20 03:17:07 +01:00
$select_order .= '<option value="order_id"' . (( $order_by == 'order_id' ) ? " selected='selected' " : '' ) . '>' . __ ( 'Link ID' ) . " </option> \n " ;
2006-07-18 04:31:21 +02:00
$select_order .= '<option value="order_name"' . (( $order_by == 'order_name' ) ? " selected='selected' " : '' ) . '>' . __ ( 'Name' ) . " </option> \n " ;
$select_order .= '<option value="order_url"' . (( $order_by == 'order_url' ) ? " selected='selected' " : '' ) . '>' . __ ( 'Address' ) . " </option> \n " ;
2007-01-07 03:20:20 +01:00
$select_order .= '<option value="order_rating"' . (( $order_by == 'order_rating' ) ? " selected='selected' " : '' ) . '>' . __ ( 'Rating' ) . " </option> \n " ;
2006-07-18 04:31:21 +02:00
$select_order .= " </select> \n " ;
printf ( __ ( 'Currently showing %1$s links ordered by %2$s' ), $select_cat , $select_order );
?>
2006-07-04 23:44:08 +02:00
< input type = " submit " name = " action " value = " <?php _e('Update »') ?> " /></ p >
2006-02-27 05:57:30 +01:00
</ form >
2006-12-04 01:44:18 +01:00
< ? php
$link_columns = array (
'name' => '<th width="15%">' . __ ( 'Name' ) . '</th>' ,
'url' => '<th>' . __ ( 'URL' ) . '</th>' ,
'categories' => '<th>' . __ ( 'Categories' ) . '</th>' ,
'rel' => '<th style="text-align: center">' . __ ( 'rel' ) . '</th>' ,
'visible' => '<th style="text-align: center">' . __ ( 'Visible' ) . '</th>' ,
'action' => '<th colspan="2" style="text-align: center">' . __ ( 'Action' ) . '</th>' ,
);
$link_columns = apply_filters ( 'manage_link_columns' , $link_columns );
?>
2003-05-22 14:12:53 +02:00
2006-12-03 22:32:17 +01:00
< ? php
if ( 'all' == $cat_id )
$cat_id = '' ;
$links = get_bookmarks ( " category= $cat_id &hide_invisible=0&orderby= $sqlorderby &hide_empty=0 " );
if ( $links ) {
?>
2006-03-06 03:52:18 +01:00
< form id = " links " method = " post " action = " link.php " >
2006-05-03 00:36:06 +02:00
< ? php wp_nonce_field ( 'bulk-bookmarks' ) ?>
2006-02-27 05:57:30 +01:00
< input type = " hidden " name = " link_id " value = " " />
< input type = " hidden " name = " action " value = " " />
2006-12-21 11:10:04 +01:00
< input type = " hidden " name = " order_by " value = " <?php echo attribute_escape( $order_by ); ?> " />
2006-02-27 05:57:30 +01:00
< input type = " hidden " name = " cat_id " value = " <?php echo (int) $cat_id ?> " />
2006-05-10 22:35:10 +02:00
< table class = " widefat " >
2006-03-29 03:51:55 +02:00
< thead >
2006-02-27 05:57:30 +01:00
< tr >
2006-12-04 01:44:18 +01:00
< ? php foreach ( $link_columns as $column_display_name ) {
echo $column_display_name ;
} ?>
< th style = " text-align: center " >< input type = " checkbox " onclick = " checkAll(document.getElementById('links')); " /></ th >
2006-02-27 05:57:30 +01:00
</ tr >
2006-03-29 03:51:55 +02:00
</ thead >
< tbody id = " the-list " >
2003-05-22 14:12:53 +02:00
< ? php
2006-02-27 05:57:30 +01:00
foreach ( $links as $link ) {
2007-03-10 02:13:49 +01:00
$link -> link_name = attribute_escape ( apply_filters ( 'link_title' , $link -> link_name ));
$link -> link_description = wp_specialchars ( apply_filters ( 'link_description' , $link -> link_description ));
2007-03-17 09:46:59 +01:00
$link -> link_url = clean_url ( $link -> link_url );
2006-02-27 05:57:30 +01:00
$link -> link_category = wp_get_link_cats ( $link -> link_id );
$short_url = str_replace ( 'http://' , '' , $link -> link_url );
$short_url = str_replace ( 'www.' , '' , $short_url );
if ( '/' == substr ( $short_url , - 1 ))
$short_url = substr ( $short_url , 0 , - 1 );
if ( strlen ( $short_url ) > 35 )
$short_url = substr ( $short_url , 0 , 32 ) . '...' ;
$visible = ( $link -> link_visible == 'Y' ) ? __ ( 'Yes' ) : __ ( 'No' );
++ $i ;
$style = ( $i % 2 ) ? '' : ' class="alternate"' ;
2006-12-04 01:44:18 +01:00
?> <tr id="link-<?php echo $link->link_id; ?>" valign="middle" <?php echo $style; ?>><?php
foreach ( $link_columns as $column_name => $column_display_name ) {
switch ( $column_name ) {
case 'name' :
?> <td><strong><?php echo $link->link_name; ?></strong><br /><?php
echo $link -> link_description . " </td> " ;
break ;
case 'url' :
echo " <td><a href=' $link->link_url ' title=' " . sprintf ( __ ( 'Visit %s' ), $link -> link_name ) . " '> $short_url </a></td> " ;
break ;
case 'categories' :
?> <td><?php
$cat_names = array ();
foreach ( $link -> link_category as $category ) {
$cat_name = get_the_category_by_ID ( $category );
2007-03-10 02:13:49 +01:00
$cat_name = wp_specialchars ( apply_filters ( 'link_category' , $cat_name ));
2006-12-04 01:44:18 +01:00
if ( $cat_id != $category )
$cat_name = " <a href='link-manager.php?cat_id= $category '> $cat_name </a> " ;
$cat_names [] = $cat_name ;
}
echo implode ( ', ' , $cat_names );
?> </td><?php
break ;
case 'rel' :
?> <td><?php echo $link->link_rel; ?></td><?php
break ;
case 'visible' :
?> <td align='center'><?php echo $visible; ?></td><?php
break ;
case 'action' :
echo '<td><a href="link.php?link_id=' . $link -> link_id . '&action=edit" class="edit">' . __ ( 'Edit' ) . '</a></td>' ;
2007-01-08 04:02:33 +01:00
echo '<td><a href="' . wp_nonce_url ( 'link.php?link_id=' . $link -> link_id . '&action=delete' , 'delete-bookmark_' . $link -> link_id ) . '"' . " onclick= \" return deleteSomething( 'link', $link->link_id , ' " . js_escape ( sprintf ( __ ( " You are about to delete the '%s' link to %s. \n 'Cancel' to stop, 'OK' to delete. " ), $link -> link_name , $link -> link_url )) . '\' );" class="delete">' . __ ( 'Delete' ) . '</a></td>' ;
2006-12-04 01:44:18 +01:00
break ;
default :
?>
2007-05-10 23:08:13 +02:00
< td >< ? php do_action ( 'manage_link_custom_column' , $column_name , $link -> link_id ); ?> </td>
2006-12-04 01:44:18 +01:00
< ? php
break ;
}
2006-02-27 05:57:30 +01:00
}
2006-03-06 03:52:18 +01:00
echo '<td align="center"><input type="checkbox" name="linkcheck[]" value="' . $link -> link_id . '" /></td>' ;
2005-08-31 04:39:17 +02:00
echo " \n </tr> \n " ;
2006-02-27 05:57:30 +01:00
}
2003-05-22 14:12:53 +02:00
?>
2006-03-29 03:51:55 +02:00
</ tbody >
2003-07-27 01:52:36 +02:00
</ table >
2003-12-08 04:46:42 +01:00
2005-08-31 04:39:17 +02:00
< div id = " ajax-response " ></ div >
2006-12-07 00:11:31 +01:00
< p class = " submit " >< input type = " submit " class = " button " name = " deletebookmarks " id = " deletebookmarks " value = " <?php _e('Delete Checked Links') ?> » " onclick = " return confirm('<?php echo js_escape(__( " You are about to delete these links permanently . \n 'Cancel' to stop , 'OK' to delete . " )); ?>') " /></ p >
2004-06-11 20:23:12 +02:00
</ form >
2006-12-03 22:32:17 +01:00
< ? php } ?>
2006-07-04 23:44:08 +02:00
</ div >
2003-05-22 14:12:53 +02:00
2006-03-29 03:51:55 +02:00
< ? php include ( 'admin-footer.php' ); ?>