web/wp-admin/includes/template.php
author ymh
Fri, 12 Mar 2010 13:29:04 +0000
changeset 1 0d28b7c10758
permissions -rw-r--r--
First commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
 * Template WordPress Administration API.
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
 * A Big Mess. Also some neat functions that are nicely written.
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
 * @package WordPress
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
 * @subpackage Administration
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
// Ugly recursive category stuff.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
 * @param unknown_type $parent
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
 * @param unknown_type $level
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
 * @param unknown_type $categories
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
 * @param unknown_type $per_page
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
function cat_rows( $parent = 0, $level = 0, $categories = 0, $page = 1, $per_page = 20 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
	$count = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
	if ( empty($categories) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
		$args = array('hide_empty' => 0);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
		if ( !empty($_GET['s']) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
			$args['search'] = $_GET['s'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
		$categories = get_categories( $args );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
		if ( empty($categories) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
			return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
	$children = _get_term_hierarchy('category');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
	_cat_rows( $parent, $level, $categories, $children, $page, $per_page, $count );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
 * @param unknown_type $categories
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
 * @param unknown_type $count
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
 * @param unknown_type $parent
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
 * @param unknown_type $level
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
 * @param unknown_type $per_page
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
function _cat_rows( $parent = 0, $level = 0, $categories, &$children, $page = 1, $per_page = 20, &$count ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
	$start = ($page - 1) * $per_page;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
	$end = $start + $per_page;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
	ob_start();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
	foreach ( $categories as $key => $category ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
		if ( $count >= $end )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
		if ( $category->parent != $parent && empty($_GET['s']) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
			continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
		// If the page starts in a subtree, print the parents.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
		if ( $count == $start && $category->parent > 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
			$my_parents = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
			$p = $category->parent;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
			while ( $p ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    77
				$my_parent = get_category( $p );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    78
				$my_parents[] = $my_parent;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    79
				if ( $my_parent->parent == 0 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    80
					break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    81
				$p = $my_parent->parent;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    82
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    83
0d28b7c10758 First commit
ymh
parents:
diff changeset
    84
			$num_parents = count($my_parents);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    85
			while( $my_parent = array_pop($my_parents) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    86
				echo "\t" . _cat_row( $my_parent, $level - $num_parents );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    87
				$num_parents--;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    88
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    89
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    90
0d28b7c10758 First commit
ymh
parents:
diff changeset
    91
		if ( $count >= $start )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    92
			echo "\t" . _cat_row( $category, $level );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    93
0d28b7c10758 First commit
ymh
parents:
diff changeset
    94
		unset( $categories[ $key ] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    95
0d28b7c10758 First commit
ymh
parents:
diff changeset
    96
		$count++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    97
0d28b7c10758 First commit
ymh
parents:
diff changeset
    98
		if ( isset($children[$category->term_id]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    99
			_cat_rows( $category->term_id, $level + 1, $categories, $children, $page, $per_page, $count );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   100
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   101
0d28b7c10758 First commit
ymh
parents:
diff changeset
   102
	$output = ob_get_contents();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   103
	ob_end_clean();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   104
0d28b7c10758 First commit
ymh
parents:
diff changeset
   105
	echo $output;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   106
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   107
0d28b7c10758 First commit
ymh
parents:
diff changeset
   108
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   109
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   110
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   111
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   112
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   113
 * @param unknown_type $category
0d28b7c10758 First commit
ymh
parents:
diff changeset
   114
 * @param unknown_type $level
0d28b7c10758 First commit
ymh
parents:
diff changeset
   115
 * @param unknown_type $name_override
0d28b7c10758 First commit
ymh
parents:
diff changeset
   116
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   117
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   118
function _cat_row( $category, $level, $name_override = false ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   119
	static $row_class = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   120
0d28b7c10758 First commit
ymh
parents:
diff changeset
   121
	$category = get_category( $category, OBJECT, 'display' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   122
0d28b7c10758 First commit
ymh
parents:
diff changeset
   123
	$default_cat_id = (int) get_option( 'default_category' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   124
	$pad = str_repeat( '&#8212; ', max(0, $level) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   125
	$name = ( $name_override ? $name_override : $pad . ' ' . $category->name );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   126
	$edit_link = "categories.php?action=edit&amp;cat_ID=$category->term_id";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   127
	if ( current_user_can( 'manage_categories' ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   128
		$edit = "<a class='row-title' href='$edit_link' title='" . esc_attr(sprintf(__('Edit &#8220;%s&#8221;'), $category->name)) . "'>" . esc_attr( $name ) . '</a><br />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   129
		$actions = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   130
		$actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   131
		$actions['inline hide-if-no-js'] = '<a href="#" class="editinline">' . __('Quick&nbsp;Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   132
		if ( $default_cat_id != $category->term_id )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   133
			$actions['delete'] = "<a class='delete:the-list:cat-$category->term_id submitdelete' href='" . wp_nonce_url("categories.php?action=delete&amp;cat_ID=$category->term_id", 'delete-category_' . $category->term_id) . "'>" . __('Delete') . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   134
		$actions = apply_filters('cat_row_actions', $actions, $category);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   135
		$action_count = count($actions);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   136
		$i = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   137
		$edit .= '<div class="row-actions">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   138
		foreach ( $actions as $action => $link ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   139
			++$i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   140
			( $i == $action_count ) ? $sep = '' : $sep = ' | ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   141
			$edit .= "<span class='$action'>$link$sep</span>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   142
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   143
		$edit .= '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   144
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   145
		$edit = $name;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   146
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   147
0d28b7c10758 First commit
ymh
parents:
diff changeset
   148
	$row_class = 'alternate' == $row_class ? '' : 'alternate';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   149
	$qe_data = get_category_to_edit($category->term_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   150
0d28b7c10758 First commit
ymh
parents:
diff changeset
   151
	$category->count = number_format_i18n( $category->count );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   152
	$posts_count = ( $category->count > 0 ) ? "<a href='edit.php?cat=$category->term_id'>$category->count</a>" : $category->count;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   153
	$output = "<tr id='cat-$category->term_id' class='iedit $row_class'>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   154
0d28b7c10758 First commit
ymh
parents:
diff changeset
   155
	$columns = get_column_headers('categories');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   156
	$hidden = get_hidden_columns('categories');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   157
	foreach ( $columns as $column_name => $column_display_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   158
		$class = "class=\"$column_name column-$column_name\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   159
0d28b7c10758 First commit
ymh
parents:
diff changeset
   160
		$style = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   161
		if ( in_array($column_name, $hidden) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   162
			$style = ' style="display:none;"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   163
0d28b7c10758 First commit
ymh
parents:
diff changeset
   164
		$attributes = "$class$style";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   165
0d28b7c10758 First commit
ymh
parents:
diff changeset
   166
		switch ($column_name) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   167
			case 'cb':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   168
				$output .= "<th scope='row' class='check-column'>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   169
				if ( $default_cat_id != $category->term_id ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   170
					$output .= "<input type='checkbox' name='delete[]' value='$category->term_id' />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   171
				} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   172
					$output .= "&nbsp;";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   173
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   174
				$output .= '</th>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   175
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   176
			case 'name':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   177
				$output .= "<td $attributes>$edit";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   178
				$output .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   179
				$output .= '<div class="name">' . $qe_data->name . '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   180
				$output .= '<div class="slug">' . apply_filters('editable_slug', $qe_data->slug) . '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   181
				$output .= '<div class="cat_parent">' . $qe_data->parent . '</div></div></td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   182
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   183
			case 'description':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   184
				$output .= "<td $attributes>$category->description</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   185
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   186
			case 'slug':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   187
				$output .= "<td $attributes>" . apply_filters('editable_slug', $category->slug) . "</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   188
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   189
			case 'posts':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   190
				$attributes = 'class="posts column-posts num"' . $style;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   191
				$output .= "<td $attributes>$posts_count</td>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   192
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   193
			default:
0d28b7c10758 First commit
ymh
parents:
diff changeset
   194
				$output .= "<td $attributes>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   195
				$output .= apply_filters('manage_categories_custom_column', '', $column_name, $category->term_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   196
				$output .= "</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   197
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   198
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   199
	$output .= '</tr>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   200
0d28b7c10758 First commit
ymh
parents:
diff changeset
   201
	return $output;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   202
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   203
0d28b7c10758 First commit
ymh
parents:
diff changeset
   204
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   205
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   206
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   207
 * @since 2.7
0d28b7c10758 First commit
ymh
parents:
diff changeset
   208
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   209
 * Outputs the HTML for the hidden table rows used in Categories, Link Caregories and Tags quick edit.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   210
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   211
 * @param string $type "tag", "category" or "link-category"
0d28b7c10758 First commit
ymh
parents:
diff changeset
   212
 * @return
0d28b7c10758 First commit
ymh
parents:
diff changeset
   213
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   214
function inline_edit_term_row($type) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   215
0d28b7c10758 First commit
ymh
parents:
diff changeset
   216
	if ( ! current_user_can( 'manage_categories' ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   217
		return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   218
0d28b7c10758 First commit
ymh
parents:
diff changeset
   219
	$is_tag = $type == 'edit-tags';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   220
	$columns = get_column_headers($type);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   221
	$hidden = array_intersect( array_keys( $columns ), array_filter( get_hidden_columns($type) ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   222
	$col_count = count($columns) - count($hidden);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   223
	?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   224
0d28b7c10758 First commit
ymh
parents:
diff changeset
   225
<form method="get" action=""><table style="display: none"><tbody id="inlineedit">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   226
	<tr id="inline-edit" class="inline-edit-row" style="display: none"><td colspan="<?php echo $col_count; ?>">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   227
0d28b7c10758 First commit
ymh
parents:
diff changeset
   228
		<fieldset><div class="inline-edit-col">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   229
			<h4><?php _e( 'Quick Edit' ); ?></h4>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   230
0d28b7c10758 First commit
ymh
parents:
diff changeset
   231
			<label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   232
				<span class="title"><?php _e( 'Name' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   233
				<span class="input-text-wrap"><input type="text" name="name" class="ptitle" value="" /></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   234
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   235
0d28b7c10758 First commit
ymh
parents:
diff changeset
   236
			<label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   237
				<span class="title"><?php _e( 'Slug' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   238
				<span class="input-text-wrap"><input type="text" name="slug" class="ptitle" value="" /></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   239
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   240
0d28b7c10758 First commit
ymh
parents:
diff changeset
   241
<?php if ( 'category' == $type ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   242
0d28b7c10758 First commit
ymh
parents:
diff changeset
   243
			<label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   244
				<span class="title"><?php _e( 'Parent' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   245
				<?php wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('None'))); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   246
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   247
0d28b7c10758 First commit
ymh
parents:
diff changeset
   248
<?php endif; // $type ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   249
0d28b7c10758 First commit
ymh
parents:
diff changeset
   250
		</div></fieldset>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   251
0d28b7c10758 First commit
ymh
parents:
diff changeset
   252
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
   253
0d28b7c10758 First commit
ymh
parents:
diff changeset
   254
	$core_columns = array( 'cb' => true, 'description' => true, 'name' => true, 'slug' => true, 'posts' => true );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   255
0d28b7c10758 First commit
ymh
parents:
diff changeset
   256
	foreach ( $columns as $column_name => $column_display_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   257
		if ( isset( $core_columns[$column_name] ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   258
			continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   259
		do_action( 'quick_edit_custom_box', $column_name, $type );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   260
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   261
0d28b7c10758 First commit
ymh
parents:
diff changeset
   262
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   263
0d28b7c10758 First commit
ymh
parents:
diff changeset
   264
	<p class="inline-edit-save submit">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   265
		<a accesskey="c" href="#inline-edit" title="<?php _e('Cancel'); ?>" class="cancel button-secondary alignleft"><?php _e('Cancel'); ?></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   266
		<?php $update_text = ( $is_tag ) ? __( 'Update Tag' ) : __( 'Update Category' ); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   267
		<a accesskey="s" href="#inline-edit" title="<?php echo esc_attr( $update_text ); ?>" class="save button-primary alignright"><?php echo $update_text; ?></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   268
		<img class="waiting" style="display:none;" src="images/wpspin_light.gif" alt="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
   269
		<span class="error" style="display:none;"></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   270
		<?php wp_nonce_field( 'taxinlineeditnonce', '_inline_edit', false ); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   271
		<br class="clear" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
   272
	</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   273
	</td></tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   274
	</tbody></table></form>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   275
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
   276
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   277
0d28b7c10758 First commit
ymh
parents:
diff changeset
   278
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   279
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   280
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   281
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   282
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   283
 * @param unknown_type $category
0d28b7c10758 First commit
ymh
parents:
diff changeset
   284
 * @param unknown_type $name_override
0d28b7c10758 First commit
ymh
parents:
diff changeset
   285
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   286
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   287
function link_cat_row( $category, $name_override = false ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   288
	static $row_class = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   289
0d28b7c10758 First commit
ymh
parents:
diff changeset
   290
	if ( !$category = get_term( $category, 'link_category', OBJECT, 'display' ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   291
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   292
	if ( is_wp_error( $category ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   293
		return $category;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   294
0d28b7c10758 First commit
ymh
parents:
diff changeset
   295
	$default_cat_id = (int) get_option( 'default_link_category' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   296
	$name = ( $name_override ? $name_override : $category->name );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   297
	$edit_link = "link-category.php?action=edit&amp;cat_ID=$category->term_id";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   298
	if ( current_user_can( 'manage_categories' ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   299
		$edit = "<a class='row-title' href='$edit_link' title='" . esc_attr(sprintf(__('Edit &#8220;%s&#8221;'), $category->name)) . "'>$name</a><br />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   300
		$actions = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   301
		$actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   302
		$actions['inline hide-if-no-js'] = '<a href="#" class="editinline">' . __('Quick&nbsp;Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   303
		if ( $default_cat_id != $category->term_id )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   304
			$actions['delete'] = "<a class='delete:the-list:link-cat-$category->term_id submitdelete' href='" . wp_nonce_url("link-category.php?action=delete&amp;cat_ID=$category->term_id", 'delete-link-category_' . $category->term_id) . "'>" . __('Delete') . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   305
		$actions = apply_filters('link_cat_row_actions', $actions, $category);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   306
		$action_count = count($actions);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   307
		$i = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   308
		$edit .= '<div class="row-actions">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   309
		foreach ( $actions as $action => $link ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   310
			++$i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   311
			( $i == $action_count ) ? $sep = '' : $sep = ' | ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   312
			$edit .= "<span class='$action'>$link$sep</span>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   313
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   314
		$edit .= '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   315
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   316
		$edit = $name;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   317
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   318
0d28b7c10758 First commit
ymh
parents:
diff changeset
   319
	$row_class = 'alternate' == $row_class ? '' : 'alternate';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   320
	$qe_data = get_term_to_edit($category->term_id, 'link_category');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   321
0d28b7c10758 First commit
ymh
parents:
diff changeset
   322
	$category->count = number_format_i18n( $category->count );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   323
	$count = ( $category->count > 0 ) ? "<a href='link-manager.php?cat_id=$category->term_id'>$category->count</a>" : $category->count;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   324
	$output = "<tr id='link-cat-$category->term_id' class='iedit $row_class'>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   325
	$columns = get_column_headers('edit-link-categories');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   326
	$hidden = get_hidden_columns('edit-link-categories');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   327
	foreach ( $columns as $column_name => $column_display_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   328
		$class = "class=\"$column_name column-$column_name\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   329
0d28b7c10758 First commit
ymh
parents:
diff changeset
   330
		$style = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   331
		if ( in_array($column_name, $hidden) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   332
			$style = ' style="display:none;"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   333
0d28b7c10758 First commit
ymh
parents:
diff changeset
   334
		$attributes = "$class$style";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   335
0d28b7c10758 First commit
ymh
parents:
diff changeset
   336
		switch ($column_name) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   337
			case 'cb':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   338
				$output .= "<th scope='row' class='check-column'>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   339
				if ( absint( get_option( 'default_link_category' ) ) != $category->term_id ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   340
					$output .= "<input type='checkbox' name='delete[]' value='$category->term_id' />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   341
				} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   342
					$output .= "&nbsp;";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   343
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   344
				$output .= "</th>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   345
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   346
			case 'name':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   347
				$output .= "<td $attributes>$edit";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   348
				$output .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   349
				$output .= '<div class="name">' . $qe_data->name . '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   350
				$output .= '<div class="slug">' . apply_filters('editable_slug', $qe_data->slug) . '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   351
				$output .= '<div class="cat_parent">' . $qe_data->parent . '</div></div></td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   352
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   353
			case 'description':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   354
				$output .= "<td $attributes>$category->description</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   355
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   356
			case 'slug':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   357
				$output .= "<td $attributes>" . apply_filters('editable_slug', $category->slug) . "</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   358
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   359
			case 'links':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   360
				$attributes = 'class="links column-links num"' . $style;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   361
				$output .= "<td $attributes>$count</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   362
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   363
			default:
0d28b7c10758 First commit
ymh
parents:
diff changeset
   364
				$output .= "<td $attributes>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   365
				$output .= apply_filters('manage_link_categories_custom_column', '', $column_name, $category->term_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   366
				$output .= "</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   367
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   368
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   369
	$output .= '</tr>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   370
0d28b7c10758 First commit
ymh
parents:
diff changeset
   371
	return $output;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   372
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   373
0d28b7c10758 First commit
ymh
parents:
diff changeset
   374
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   375
 * Outputs the html checked attribute.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   376
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   377
 * Compares the first two arguments and if identical marks as checked
0d28b7c10758 First commit
ymh
parents:
diff changeset
   378
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   379
 * @since 1.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
   380
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   381
 * @param any $checked One of the values to compare
0d28b7c10758 First commit
ymh
parents:
diff changeset
   382
 * @param any $current (true) The other value to compare if not just true
0d28b7c10758 First commit
ymh
parents:
diff changeset
   383
 * @param bool $echo Whether or not to echo or just return the string
0d28b7c10758 First commit
ymh
parents:
diff changeset
   384
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   385
function checked( $checked, $current = true, $echo = true) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   386
	return __checked_selected_helper( $checked, $current, $echo, 'checked' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   387
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   388
0d28b7c10758 First commit
ymh
parents:
diff changeset
   389
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   390
 * Outputs the html selected attribute.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   391
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   392
 * Compares the first two arguments and if identical marks as selected
0d28b7c10758 First commit
ymh
parents:
diff changeset
   393
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   394
 * @since 1.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
   395
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   396
 * @param any selected One of the values to compare
0d28b7c10758 First commit
ymh
parents:
diff changeset
   397
 * @param any $current (true) The other value to compare if not just true
0d28b7c10758 First commit
ymh
parents:
diff changeset
   398
 * @param bool $echo Whether or not to echo or just return the string
0d28b7c10758 First commit
ymh
parents:
diff changeset
   399
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   400
function selected( $selected, $current = true, $echo = true) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   401
	return __checked_selected_helper( $selected, $current, $echo, 'selected' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   402
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   403
0d28b7c10758 First commit
ymh
parents:
diff changeset
   404
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   405
 * Private helper function for checked and selected.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   406
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   407
 * Compares the first two arguments and if identical marks as $type
0d28b7c10758 First commit
ymh
parents:
diff changeset
   408
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   409
 * @since 2.8
0d28b7c10758 First commit
ymh
parents:
diff changeset
   410
 * @access private
0d28b7c10758 First commit
ymh
parents:
diff changeset
   411
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   412
 * @param any $helper One of the values to compare
0d28b7c10758 First commit
ymh
parents:
diff changeset
   413
 * @param any $current (true) The other value to compare if not just true
0d28b7c10758 First commit
ymh
parents:
diff changeset
   414
 * @param bool $echo Whether or not to echo or just return the string
0d28b7c10758 First commit
ymh
parents:
diff changeset
   415
 * @param string $type The type of checked|selected we are doing.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   416
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   417
function __checked_selected_helper( $helper, $current, $echo, $type) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   418
	if ( (string) $helper === (string) $current)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   419
		$result = " $type='$type'";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   420
	else
0d28b7c10758 First commit
ymh
parents:
diff changeset
   421
		$result = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   422
0d28b7c10758 First commit
ymh
parents:
diff changeset
   423
	if ($echo)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   424
		echo $result;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   425
0d28b7c10758 First commit
ymh
parents:
diff changeset
   426
	return $result;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   427
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   428
0d28b7c10758 First commit
ymh
parents:
diff changeset
   429
//
0d28b7c10758 First commit
ymh
parents:
diff changeset
   430
// Category Checklists
0d28b7c10758 First commit
ymh
parents:
diff changeset
   431
//
0d28b7c10758 First commit
ymh
parents:
diff changeset
   432
0d28b7c10758 First commit
ymh
parents:
diff changeset
   433
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   434
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   435
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   436
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   437
 * @deprecated Use {@link wp_link_category_checklist()}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   438
 * @see wp_link_category_checklist()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   439
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   440
 * @param unknown_type $default
0d28b7c10758 First commit
ymh
parents:
diff changeset
   441
 * @param unknown_type $parent
0d28b7c10758 First commit
ymh
parents:
diff changeset
   442
 * @param unknown_type $popular_ids
0d28b7c10758 First commit
ymh
parents:
diff changeset
   443
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   444
function dropdown_categories( $default = 0, $parent = 0, $popular_ids = array() ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   445
	global $post_ID;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   446
	wp_category_checklist($post_ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   447
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   448
0d28b7c10758 First commit
ymh
parents:
diff changeset
   449
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   450
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   451
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   452
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   453
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   454
class Walker_Category_Checklist extends Walker {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   455
	var $tree_type = 'category';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   456
	var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); //TODO: decouple this
0d28b7c10758 First commit
ymh
parents:
diff changeset
   457
0d28b7c10758 First commit
ymh
parents:
diff changeset
   458
	function start_lvl(&$output, $depth, $args) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   459
		$indent = str_repeat("\t", $depth);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   460
		$output .= "$indent<ul class='children'>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   461
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   462
0d28b7c10758 First commit
ymh
parents:
diff changeset
   463
	function end_lvl(&$output, $depth, $args) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   464
		$indent = str_repeat("\t", $depth);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   465
		$output .= "$indent</ul>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   466
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   467
0d28b7c10758 First commit
ymh
parents:
diff changeset
   468
	function start_el(&$output, $category, $depth, $args) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   469
		extract($args);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   470
0d28b7c10758 First commit
ymh
parents:
diff changeset
   471
		$class = in_array( $category->term_id, $popular_cats ) ? ' class="popular-category"' : '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   472
		$output .= "\n<li id='category-$category->term_id'$class>" . '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="post_category[]" id="in-category-' . $category->term_id . '"' . (in_array( $category->term_id, $selected_cats ) ? ' checked="checked"' : "" ) . '/> ' . esc_html( apply_filters('the_category', $category->name )) . '</label>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   473
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   474
0d28b7c10758 First commit
ymh
parents:
diff changeset
   475
	function end_el(&$output, $category, $depth, $args) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   476
		$output .= "</li>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   477
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   478
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   479
0d28b7c10758 First commit
ymh
parents:
diff changeset
   480
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   481
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   482
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   483
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   484
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   485
 * @param unknown_type $post_id
0d28b7c10758 First commit
ymh
parents:
diff changeset
   486
 * @param unknown_type $descendants_and_self
0d28b7c10758 First commit
ymh
parents:
diff changeset
   487
 * @param unknown_type $selected_cats
0d28b7c10758 First commit
ymh
parents:
diff changeset
   488
 * @param unknown_type $popular_cats
0d28b7c10758 First commit
ymh
parents:
diff changeset
   489
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   490
function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   491
	if ( empty($walker) || !is_a($walker, 'Walker') )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   492
		$walker = new Walker_Category_Checklist;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   493
0d28b7c10758 First commit
ymh
parents:
diff changeset
   494
	$descendants_and_self = (int) $descendants_and_self;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   495
0d28b7c10758 First commit
ymh
parents:
diff changeset
   496
	$args = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   497
0d28b7c10758 First commit
ymh
parents:
diff changeset
   498
	if ( is_array( $selected_cats ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   499
		$args['selected_cats'] = $selected_cats;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   500
	elseif ( $post_id )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   501
		$args['selected_cats'] = wp_get_post_categories($post_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   502
	else
0d28b7c10758 First commit
ymh
parents:
diff changeset
   503
		$args['selected_cats'] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   504
0d28b7c10758 First commit
ymh
parents:
diff changeset
   505
	if ( is_array( $popular_cats ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   506
		$args['popular_cats'] = $popular_cats;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   507
	else
0d28b7c10758 First commit
ymh
parents:
diff changeset
   508
		$args['popular_cats'] = get_terms( 'category', array( 'fields' => 'ids', 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   509
0d28b7c10758 First commit
ymh
parents:
diff changeset
   510
	if ( $descendants_and_self ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   511
		$categories = get_categories( "child_of=$descendants_and_self&hierarchical=0&hide_empty=0" );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   512
		$self = get_category( $descendants_and_self );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   513
		array_unshift( $categories, $self );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   514
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   515
		$categories = get_categories('get=all');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   516
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   517
0d28b7c10758 First commit
ymh
parents:
diff changeset
   518
	if ( $checked_ontop ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   519
		// Post process $categories rather than adding an exclude to the get_terms() query to keep the query the same across all posts (for any query cache)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   520
		$checked_categories = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   521
		$keys = array_keys( $categories );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   522
0d28b7c10758 First commit
ymh
parents:
diff changeset
   523
		foreach( $keys as $k ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   524
			if ( in_array( $categories[$k]->term_id, $args['selected_cats'] ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   525
				$checked_categories[] = $categories[$k];
0d28b7c10758 First commit
ymh
parents:
diff changeset
   526
				unset( $categories[$k] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   527
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   528
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   529
0d28b7c10758 First commit
ymh
parents:
diff changeset
   530
		// Put checked cats on top
0d28b7c10758 First commit
ymh
parents:
diff changeset
   531
		echo call_user_func_array(array(&$walker, 'walk'), array($checked_categories, 0, $args));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   532
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   533
	// Then the rest of them
0d28b7c10758 First commit
ymh
parents:
diff changeset
   534
	echo call_user_func_array(array(&$walker, 'walk'), array($categories, 0, $args));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   535
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   536
0d28b7c10758 First commit
ymh
parents:
diff changeset
   537
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   538
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   539
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   540
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   541
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   542
 * @param unknown_type $taxonomy
0d28b7c10758 First commit
ymh
parents:
diff changeset
   543
 * @param unknown_type $default
0d28b7c10758 First commit
ymh
parents:
diff changeset
   544
 * @param unknown_type $number
0d28b7c10758 First commit
ymh
parents:
diff changeset
   545
 * @param unknown_type $echo
0d28b7c10758 First commit
ymh
parents:
diff changeset
   546
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   547
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   548
function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $echo = true ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   549
	global $post_ID;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   550
0d28b7c10758 First commit
ymh
parents:
diff changeset
   551
	if ( $post_ID )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   552
		$checked_categories = wp_get_post_categories($post_ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   553
	else
0d28b7c10758 First commit
ymh
parents:
diff changeset
   554
		$checked_categories = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   555
0d28b7c10758 First commit
ymh
parents:
diff changeset
   556
	$categories = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => $number, 'hierarchical' => false ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   557
0d28b7c10758 First commit
ymh
parents:
diff changeset
   558
	$popular_ids = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   559
	foreach ( (array) $categories as $category ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   560
		$popular_ids[] = $category->term_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   561
		if ( !$echo ) // hack for AJAX use
0d28b7c10758 First commit
ymh
parents:
diff changeset
   562
			continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   563
		$id = "popular-category-$category->term_id";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   564
		$checked = in_array( $category->term_id, $checked_categories ) ? 'checked="checked"' : '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   565
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   566
0d28b7c10758 First commit
ymh
parents:
diff changeset
   567
		<li id="<?php echo $id; ?>" class="popular-category">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   568
			<label class="selectit">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   569
			<input id="in-<?php echo $id; ?>" type="checkbox" <?php echo $checked; ?> value="<?php echo (int) $category->term_id; ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
   570
				<?php echo esc_html( apply_filters( 'the_category', $category->name ) ); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   571
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   572
		</li>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   573
0d28b7c10758 First commit
ymh
parents:
diff changeset
   574
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
   575
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   576
	return $popular_ids;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   577
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   578
0d28b7c10758 First commit
ymh
parents:
diff changeset
   579
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   580
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   581
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   582
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   583
 * @deprecated Use {@link wp_link_category_checklist()}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   584
 * @see wp_link_category_checklist()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   585
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   586
 * @param unknown_type $default
0d28b7c10758 First commit
ymh
parents:
diff changeset
   587
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   588
function dropdown_link_categories( $default = 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   589
	global $link_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   590
0d28b7c10758 First commit
ymh
parents:
diff changeset
   591
	wp_link_category_checklist($link_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   592
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   593
0d28b7c10758 First commit
ymh
parents:
diff changeset
   594
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   595
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   596
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   597
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   598
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   599
 * @param unknown_type $link_id
0d28b7c10758 First commit
ymh
parents:
diff changeset
   600
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   601
function wp_link_category_checklist( $link_id = 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   602
	$default = 1;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   603
0d28b7c10758 First commit
ymh
parents:
diff changeset
   604
	if ( $link_id ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   605
		$checked_categories = wp_get_link_cats($link_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   606
0d28b7c10758 First commit
ymh
parents:
diff changeset
   607
		if ( count( $checked_categories ) == 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   608
			// No selected categories, strange
0d28b7c10758 First commit
ymh
parents:
diff changeset
   609
			$checked_categories[] = $default;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   610
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   611
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   612
		$checked_categories[] = $default;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   613
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   614
0d28b7c10758 First commit
ymh
parents:
diff changeset
   615
	$categories = get_terms('link_category', 'orderby=count&hide_empty=0');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   616
0d28b7c10758 First commit
ymh
parents:
diff changeset
   617
	if ( empty($categories) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   618
		return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   619
0d28b7c10758 First commit
ymh
parents:
diff changeset
   620
	foreach ( $categories as $category ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   621
		$cat_id = $category->term_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   622
		$name = esc_html( apply_filters('the_category', $category->name));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   623
		$checked = in_array( $cat_id, $checked_categories );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   624
		echo '<li id="link-category-', $cat_id, '"><label for="in-link-category-', $cat_id, '" class="selectit"><input value="', $cat_id, '" type="checkbox" name="link_category[]" id="in-link-category-', $cat_id, '"', ($checked ? ' checked="checked"' : "" ), '/> ', $name, "</label></li>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   625
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   626
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   627
0d28b7c10758 First commit
ymh
parents:
diff changeset
   628
// Tag stuff
0d28b7c10758 First commit
ymh
parents:
diff changeset
   629
0d28b7c10758 First commit
ymh
parents:
diff changeset
   630
// Returns a single tag row (see tag_rows below)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   631
// Note: this is also used in admin-ajax.php!
0d28b7c10758 First commit
ymh
parents:
diff changeset
   632
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   633
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   634
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   635
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   636
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   637
 * @param unknown_type $tag
0d28b7c10758 First commit
ymh
parents:
diff changeset
   638
 * @param unknown_type $class
0d28b7c10758 First commit
ymh
parents:
diff changeset
   639
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   640
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   641
function _tag_row( $tag, $class = '', $taxonomy = 'post_tag' ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   642
		$count = number_format_i18n( $tag->count );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   643
		$tagsel = ($taxonomy == 'post_tag' ? 'tag' : $taxonomy);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   644
		$count = ( $count > 0 ) ? "<a href='edit.php?$tagsel=$tag->slug'>$count</a>" : $count;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   645
0d28b7c10758 First commit
ymh
parents:
diff changeset
   646
		$name = apply_filters( 'term_name', $tag->name );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   647
		$qe_data = get_term($tag->term_id, $taxonomy, object, 'edit');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   648
		$edit_link = "edit-tags.php?action=edit&amp;taxonomy=$taxonomy&amp;tag_ID=$tag->term_id";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   649
		$out = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   650
		$out .= '<tr id="tag-' . $tag->term_id . '"' . $class . '>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   651
		$columns = get_column_headers('edit-tags');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   652
		$hidden = get_hidden_columns('edit-tags');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   653
		foreach ( $columns as $column_name => $column_display_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   654
			$class = "class=\"$column_name column-$column_name\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   655
0d28b7c10758 First commit
ymh
parents:
diff changeset
   656
			$style = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   657
			if ( in_array($column_name, $hidden) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   658
				$style = ' style="display:none;"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   659
0d28b7c10758 First commit
ymh
parents:
diff changeset
   660
			$attributes = "$class$style";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   661
0d28b7c10758 First commit
ymh
parents:
diff changeset
   662
			switch ($column_name) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   663
				case 'cb':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   664
					$out .= '<th scope="row" class="check-column"> <input type="checkbox" name="delete_tags[]" value="' . $tag->term_id . '" /></th>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   665
					break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   666
				case 'name':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   667
					$out .= '<td ' . $attributes . '><strong><a class="row-title" href="' . $edit_link . '" title="' . esc_attr(sprintf(__('Edit &#8220;%s&#8221;'), $name)) . '">' . $name . '</a></strong><br />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   668
					$actions = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   669
					$actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   670
					$actions['inline hide-if-no-js'] = '<a href="#" class="editinline">' . __('Quick&nbsp;Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   671
					$actions['delete'] = "<a class='delete-tag' href='" . wp_nonce_url("edit-tags.php?action=delete&amp;taxonomy=$taxonomy&amp;tag_ID=$tag->term_id", 'delete-tag_' . $tag->term_id) . "'>" . __('Delete') . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   672
					$actions = apply_filters('tag_row_actions', $actions, $tag);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   673
					$action_count = count($actions);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   674
					$i = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   675
					$out .= '<div class="row-actions">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   676
					foreach ( $actions as $action => $link ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   677
						++$i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   678
						( $i == $action_count ) ? $sep = '' : $sep = ' | ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   679
						$out .= "<span class='$action'>$link$sep</span>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   680
					}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   681
					$out .= '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   682
					$out .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   683
					$out .= '<div class="name">' . $qe_data->name . '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   684
					$out .= '<div class="slug">' . apply_filters('editable_slug', $qe_data->slug) . '</div></div></td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   685
					break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   686
				case 'description':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   687
					$out .= "<td $attributes>$tag->description</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   688
					break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   689
				case 'slug':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   690
					$out .= "<td $attributes>" . apply_filters('editable_slug', $tag->slug) . "</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   691
					break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   692
				case 'posts':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   693
					$attributes = 'class="posts column-posts num"' . $style;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   694
					$out .= "<td $attributes>$count</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   695
					break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   696
				default:
0d28b7c10758 First commit
ymh
parents:
diff changeset
   697
					$out .= "<td $attributes>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   698
					$out .= apply_filters("manage_${taxonomy}_custom_column", '', $column_name, $tag->term_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   699
					$out .= "</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   700
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   701
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   702
0d28b7c10758 First commit
ymh
parents:
diff changeset
   703
		$out .= '</tr>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   704
0d28b7c10758 First commit
ymh
parents:
diff changeset
   705
		return $out;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   706
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   707
0d28b7c10758 First commit
ymh
parents:
diff changeset
   708
// Outputs appropriate rows for the Nth page of the Tag Management screen,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   709
// assuming M tags displayed at a time on the page
0d28b7c10758 First commit
ymh
parents:
diff changeset
   710
// Returns the number of tags displayed
0d28b7c10758 First commit
ymh
parents:
diff changeset
   711
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   712
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   713
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   714
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   715
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   716
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
   717
 * @param unknown_type $pagesize
0d28b7c10758 First commit
ymh
parents:
diff changeset
   718
 * @param unknown_type $searchterms
0d28b7c10758 First commit
ymh
parents:
diff changeset
   719
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   720
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   721
function tag_rows( $page = 1, $pagesize = 20, $searchterms = '', $taxonomy = 'post_tag' ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   722
0d28b7c10758 First commit
ymh
parents:
diff changeset
   723
	// Get a page worth of tags
0d28b7c10758 First commit
ymh
parents:
diff changeset
   724
	$start = ($page - 1) * $pagesize;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   725
0d28b7c10758 First commit
ymh
parents:
diff changeset
   726
	$args = array('offset' => $start, 'number' => $pagesize, 'hide_empty' => 0);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   727
0d28b7c10758 First commit
ymh
parents:
diff changeset
   728
	if ( !empty( $searchterms ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   729
		$args['search'] = $searchterms;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   730
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   731
0d28b7c10758 First commit
ymh
parents:
diff changeset
   732
	$tags = get_terms( $taxonomy, $args );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   733
0d28b7c10758 First commit
ymh
parents:
diff changeset
   734
	// convert it to table rows
0d28b7c10758 First commit
ymh
parents:
diff changeset
   735
	$out = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   736
	$count = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   737
	foreach( $tags as $tag )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   738
		$out .= _tag_row( $tag, ++$count % 2 ? ' class="alternate"' : '', $taxonomy );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   739
0d28b7c10758 First commit
ymh
parents:
diff changeset
   740
	// filter and send to screen
0d28b7c10758 First commit
ymh
parents:
diff changeset
   741
	echo $out;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   742
	return $count;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   743
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   744
0d28b7c10758 First commit
ymh
parents:
diff changeset
   745
// define the columns to display, the syntax is 'internal name' => 'display name'
0d28b7c10758 First commit
ymh
parents:
diff changeset
   746
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   747
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   748
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   749
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   750
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   751
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   752
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   753
function wp_manage_posts_columns() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   754
	$posts_columns = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   755
	$posts_columns['cb'] = '<input type="checkbox" />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   756
	/* translators: manage posts column name */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   757
	$posts_columns['title'] = _x('Post', 'column name');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   758
	$posts_columns['author'] = __('Author');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   759
	$posts_columns['categories'] = __('Categories');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   760
	$posts_columns['tags'] = __('Tags');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   761
	$post_status = !empty($_REQUEST['post_status']) ? $_REQUEST['post_status'] : 'all';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   762
	if ( !in_array( $post_status, array('pending', 'draft', 'future') ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   763
		$posts_columns['comments'] = '<div class="vers"><img alt="Comments" src="images/comment-grey-bubble.png" /></div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   764
	$posts_columns['date'] = __('Date');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   765
	$posts_columns = apply_filters('manage_posts_columns', $posts_columns);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   766
0d28b7c10758 First commit
ymh
parents:
diff changeset
   767
	return $posts_columns;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   768
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   769
0d28b7c10758 First commit
ymh
parents:
diff changeset
   770
// define the columns to display, the syntax is 'internal name' => 'display name'
0d28b7c10758 First commit
ymh
parents:
diff changeset
   771
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   772
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   773
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   774
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   775
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   776
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   777
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   778
function wp_manage_media_columns() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   779
	$posts_columns = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   780
	$posts_columns['cb'] = '<input type="checkbox" />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   781
	$posts_columns['icon'] = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   782
	/* translators: column name */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   783
	$posts_columns['media'] = _x('File', 'column name');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   784
	$posts_columns['author'] = __('Author');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   785
	//$posts_columns['tags'] = _x('Tags', 'column name');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   786
	/* translators: column name */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   787
	$posts_columns['parent'] = _x('Attached to', 'column name');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   788
	$posts_columns['comments'] = '<div class="vers"><img alt="Comments" src="images/comment-grey-bubble.png" /></div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   789
	//$posts_columns['comments'] = __('Comments');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   790
	/* translators: column name */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   791
	$posts_columns['date'] = _x('Date', 'column name');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   792
	$posts_columns = apply_filters('manage_media_columns', $posts_columns);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   793
0d28b7c10758 First commit
ymh
parents:
diff changeset
   794
	return $posts_columns;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   795
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   796
0d28b7c10758 First commit
ymh
parents:
diff changeset
   797
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   798
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   799
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   800
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   801
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   802
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   803
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   804
function wp_manage_pages_columns() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   805
	$posts_columns = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   806
	$posts_columns['cb'] = '<input type="checkbox" />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   807
	$posts_columns['title'] = __('Title');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   808
	$posts_columns['author'] = __('Author');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   809
	$post_status = !empty($_REQUEST['post_status']) ? $_REQUEST['post_status'] : 'all';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   810
	if ( !in_array( $post_status, array('pending', 'draft', 'future') ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   811
		$posts_columns['comments'] = '<div class="vers"><img alt="" src="images/comment-grey-bubble.png" /></div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   812
	$posts_columns['date'] = __('Date');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   813
	$posts_columns = apply_filters('manage_pages_columns', $posts_columns);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   814
0d28b7c10758 First commit
ymh
parents:
diff changeset
   815
	return $posts_columns;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   816
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   817
0d28b7c10758 First commit
ymh
parents:
diff changeset
   818
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   819
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   820
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   821
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   822
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   823
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
   824
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   825
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   826
function get_column_headers($page) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   827
	global $_wp_column_headers;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   828
0d28b7c10758 First commit
ymh
parents:
diff changeset
   829
	if ( !isset($_wp_column_headers) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   830
		$_wp_column_headers = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   831
0d28b7c10758 First commit
ymh
parents:
diff changeset
   832
	// Store in static to avoid running filters on each call
0d28b7c10758 First commit
ymh
parents:
diff changeset
   833
	if ( isset($_wp_column_headers[$page]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   834
		return $_wp_column_headers[$page];
0d28b7c10758 First commit
ymh
parents:
diff changeset
   835
0d28b7c10758 First commit
ymh
parents:
diff changeset
   836
	switch ($page) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   837
		case 'edit':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   838
			 $_wp_column_headers[$page] = wp_manage_posts_columns();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   839
			 break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   840
		case 'edit-pages':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   841
			$_wp_column_headers[$page] = wp_manage_pages_columns();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   842
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   843
		case 'edit-comments':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   844
			$_wp_column_headers[$page] = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   845
				'cb' => '<input type="checkbox" />',
0d28b7c10758 First commit
ymh
parents:
diff changeset
   846
				'author' => __('Author'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   847
				/* translators: column name */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   848
				'comment' => _x('Comment', 'column name'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   849
				//'date' => __('Submitted'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   850
				'response' => __('In Response To')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   851
			);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   852
0d28b7c10758 First commit
ymh
parents:
diff changeset
   853
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   854
		case 'link-manager':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   855
			$_wp_column_headers[$page] = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   856
				'cb' => '<input type="checkbox" />',
0d28b7c10758 First commit
ymh
parents:
diff changeset
   857
				'name' => __('Name'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   858
				'url' => __('URL'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   859
				'categories' => __('Categories'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   860
				'rel' => __('Relationship'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   861
				'visible' => __('Visible'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   862
				'rating' => __('Rating')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   863
			);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   864
0d28b7c10758 First commit
ymh
parents:
diff changeset
   865
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   866
		case 'upload':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   867
			$_wp_column_headers[$page] = wp_manage_media_columns();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   868
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   869
		case 'categories':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   870
			$_wp_column_headers[$page] = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   871
				'cb' => '<input type="checkbox" />',
0d28b7c10758 First commit
ymh
parents:
diff changeset
   872
				'name' => __('Name'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   873
				'description' => __('Description'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   874
				'slug' => __('Slug'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   875
				'posts' => __('Posts')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   876
			);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   877
0d28b7c10758 First commit
ymh
parents:
diff changeset
   878
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   879
		case 'edit-link-categories':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   880
			$_wp_column_headers[$page] = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   881
				'cb' => '<input type="checkbox" />',
0d28b7c10758 First commit
ymh
parents:
diff changeset
   882
				'name' => __('Name'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   883
				'description' => __('Description'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   884
				'slug' => __('Slug'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   885
				'links' => __('Links')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   886
			);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   887
0d28b7c10758 First commit
ymh
parents:
diff changeset
   888
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   889
		case 'edit-tags':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   890
			$_wp_column_headers[$page] = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   891
				'cb' => '<input type="checkbox" />',
0d28b7c10758 First commit
ymh
parents:
diff changeset
   892
				'name' => __('Name'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   893
				'description' => __('Description'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   894
				'slug' => __('Slug'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   895
				'posts' => __('Posts')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   896
			);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   897
0d28b7c10758 First commit
ymh
parents:
diff changeset
   898
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   899
		case 'users':
0d28b7c10758 First commit
ymh
parents:
diff changeset
   900
			$_wp_column_headers[$page] = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   901
				'cb' => '<input type="checkbox" />',
0d28b7c10758 First commit
ymh
parents:
diff changeset
   902
				'username' => __('Username'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   903
				'name' => __('Name'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   904
				'email' => __('E-mail'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   905
				'role' => __('Role'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
   906
				'posts' => __('Posts')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   907
			);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   908
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   909
		default :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   910
			$_wp_column_headers[$page] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   911
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   912
0d28b7c10758 First commit
ymh
parents:
diff changeset
   913
	$_wp_column_headers[$page] = apply_filters('manage_' . $page . '_columns', $_wp_column_headers[$page]);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   914
	return $_wp_column_headers[$page];
0d28b7c10758 First commit
ymh
parents:
diff changeset
   915
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   916
0d28b7c10758 First commit
ymh
parents:
diff changeset
   917
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   918
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   919
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   920
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   921
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   922
 * @param unknown_type $type
0d28b7c10758 First commit
ymh
parents:
diff changeset
   923
 * @param unknown_type $id
0d28b7c10758 First commit
ymh
parents:
diff changeset
   924
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   925
function print_column_headers( $type, $id = true ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   926
	$type = str_replace('.php', '', $type);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   927
	$columns = get_column_headers( $type );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   928
	$hidden = get_hidden_columns($type);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   929
	$styles = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   930
//	$styles['tag']['posts'] = 'width: 90px;';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   931
//	$styles['link-category']['links'] = 'width: 90px;';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   932
//	$styles['category']['posts'] = 'width: 90px;';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   933
//	$styles['link']['visible'] = 'text-align: center;';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   934
0d28b7c10758 First commit
ymh
parents:
diff changeset
   935
	foreach ( $columns as $column_key => $column_display_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   936
		$class = ' class="manage-column';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   937
0d28b7c10758 First commit
ymh
parents:
diff changeset
   938
		$class .= " column-$column_key";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   939
0d28b7c10758 First commit
ymh
parents:
diff changeset
   940
		if ( 'cb' == $column_key )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   941
			$class .= ' check-column';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   942
		elseif ( in_array($column_key, array('posts', 'comments', 'links')) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   943
			$class .= ' num';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   944
0d28b7c10758 First commit
ymh
parents:
diff changeset
   945
		$class .= '"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   946
0d28b7c10758 First commit
ymh
parents:
diff changeset
   947
		$style = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   948
		if ( in_array($column_key, $hidden) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   949
			$style = 'display:none;';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   950
0d28b7c10758 First commit
ymh
parents:
diff changeset
   951
		if ( isset($styles[$type]) && isset($styles[$type][$column_key]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   952
			$style .= ' ' . $styles[$type][$column_key];
0d28b7c10758 First commit
ymh
parents:
diff changeset
   953
		$style = ' style="' . $style . '"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   954
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   955
	<th scope="col" <?php echo $id ? "id=\"$column_key\"" : ""; echo $class; echo $style; ?>><?php echo $column_display_name; ?></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   956
<?php }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   957
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   958
0d28b7c10758 First commit
ymh
parents:
diff changeset
   959
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   960
 * Register column headers for a particular screen.  The header names will be listed in the Screen Options.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   961
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   962
 * @since 2.7.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
   963
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   964
 * @param string $screen The handle for the screen to add help to.  This is usually the hook name returned by the add_*_page() functions.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   965
 * @param array $columns An array of columns with column IDs as the keys and translated column names as the values
0d28b7c10758 First commit
ymh
parents:
diff changeset
   966
 * @see get_column_headers(), print_column_headers(), get_hidden_columns()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   967
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   968
function register_column_headers($screen, $columns) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   969
	global $_wp_column_headers;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   970
0d28b7c10758 First commit
ymh
parents:
diff changeset
   971
	if ( !isset($_wp_column_headers) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   972
		$_wp_column_headers = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   973
0d28b7c10758 First commit
ymh
parents:
diff changeset
   974
	$_wp_column_headers[$screen] = $columns;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   975
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   976
0d28b7c10758 First commit
ymh
parents:
diff changeset
   977
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   978
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   979
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   980
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
   981
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   982
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
   983
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   984
function get_hidden_columns($page) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   985
	$page = str_replace('.php', '', $page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   986
	return (array) get_user_option( 'manage-' . $page . '-columns-hidden', 0, false );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   987
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   988
0d28b7c10758 First commit
ymh
parents:
diff changeset
   989
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   990
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   991
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   992
 * Outputs the quick edit and bulk edit table rows for posts and pages
0d28b7c10758 First commit
ymh
parents:
diff changeset
   993
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   994
 * @since 2.7
0d28b7c10758 First commit
ymh
parents:
diff changeset
   995
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   996
 * @param string $type 'post' or 'page'
0d28b7c10758 First commit
ymh
parents:
diff changeset
   997
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   998
function inline_edit_row( $type ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   999
	global $current_user, $mode;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1000
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1001
	$is_page = 'page' == $type;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1002
	if ( $is_page ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1003
		$screen = 'edit-pages';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1004
		$post = get_default_page_to_edit();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1005
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1006
		$screen = 'edit';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1007
		$post = get_default_post_to_edit();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1008
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1009
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1010
	$columns = $is_page ? wp_manage_pages_columns() : wp_manage_posts_columns();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1011
	$hidden = array_intersect( array_keys( $columns ), array_filter( get_hidden_columns($screen) ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1012
	$col_count = count($columns) - count($hidden);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1013
	$m = ( isset($mode) && 'excerpt' == $mode ) ? 'excerpt' : 'list';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1014
	$can_publish = current_user_can("publish_{$type}s");
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1015
	$core_columns = array( 'cb' => true, 'date' => true, 'title' => true, 'categories' => true, 'tags' => true, 'comments' => true, 'author' => true );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1016
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1017
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1018
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1019
<form method="get" action=""><table style="display: none"><tbody id="inlineedit">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1020
	<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1021
	$bulk = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1022
	while ( $bulk < 2 ) { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1023
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1024
	<tr id="<?php echo $bulk ? 'bulk-edit' : 'inline-edit'; ?>" class="inline-edit-row inline-edit-row-<?php echo "$type ";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1025
		echo $bulk ? "bulk-edit-row bulk-edit-row-$type" : "quick-edit-row quick-edit-row-$type";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1026
	?>" style="display: none"><td colspan="<?php echo $col_count; ?>">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1027
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1028
	<fieldset class="inline-edit-col-left"><div class="inline-edit-col">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1029
		<h4><?php echo $bulk ? ( $is_page ? __( 'Bulk Edit Pages' ) : __( 'Bulk Edit Posts' ) ) : __( 'Quick Edit' ); ?></h4>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1030
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1031
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1032
<?php if ( $bulk ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1033
		<div id="bulk-title-div">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1034
			<div id="bulk-titles"></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1035
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1036
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1037
<?php else : // $bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1038
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1039
		<label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1040
			<span class="title"><?php _e( 'Title' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1041
			<span class="input-text-wrap"><input type="text" name="post_title" class="ptitle" value="" /></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1042
		</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1043
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1044
<?php endif; // $bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1045
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1046
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1047
<?php if ( !$bulk ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1048
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1049
		<label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1050
			<span class="title"><?php _e( 'Slug' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1051
			<span class="input-text-wrap"><input type="text" name="post_name" value="" /></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1052
		</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1053
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1054
		<label><span class="title"><?php _e( 'Date' ); ?></span></label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1055
		<div class="inline-edit-date">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1056
			<?php touch_time(1, 1, 4, 1); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1057
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1058
		<br class="clear" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1059
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1060
<?php endif; // $bulk
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1061
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1062
		$authors = get_editable_user_ids( $current_user->id, true, $type ); // TODO: ROLE SYSTEM
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1063
		$authors_dropdown = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1064
		if ( $authors && count( $authors ) > 1 ) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1065
			$users_opt = array('include' => $authors, 'name' => 'post_author', 'class'=> 'authors', 'multi' => 1, 'echo' => 0);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1066
			if ( $bulk )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1067
				$users_opt['show_option_none'] = __('- No Change -');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1068
			$authors_dropdown  = '<label>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1069
			$authors_dropdown .= '<span class="title">' . __( 'Author' ) . '</span>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1070
			$authors_dropdown .= wp_dropdown_users( $users_opt );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1071
			$authors_dropdown .= '</label>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1072
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1073
		endif; // authors
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1074
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1075
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1076
<?php if ( !$bulk ) : echo $authors_dropdown; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1077
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1078
		<div class="inline-edit-group">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1079
			<label class="alignleft">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1080
				<span class="title"><?php _e( 'Password' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1081
				<span class="input-text-wrap"><input type="text" name="post_password" class="inline-edit-password-input" value="" /></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1082
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1083
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1084
			<em style="margin:5px 10px 0 0" class="alignleft">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1085
				<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1086
				/* translators: Between password field and private checkbox on post quick edit interface */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1087
				echo __( '&ndash;OR&ndash;' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1088
				?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1089
			</em>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1090
			<label class="alignleft inline-edit-private">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1091
				<input type="checkbox" name="keep_private" value="private" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1092
				<span class="checkbox-title"><?php echo $is_page ? __('Private page') : __('Private post'); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1093
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1094
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1095
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1096
<?php endif; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1097
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1098
	</div></fieldset>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1099
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1100
<?php if ( !$is_page && !$bulk ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1101
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1102
	<fieldset class="inline-edit-col-center inline-edit-categories"><div class="inline-edit-col">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1103
		<span class="title inline-edit-categories-label"><?php _e( 'Categories' ); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1104
			<span class="catshow"><?php _e('[more]'); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1105
			<span class="cathide" style="display:none;"><?php _e('[less]'); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1106
		</span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1107
		<ul class="cat-checklist">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1108
			<?php wp_category_checklist(); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1109
		</ul>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1110
	</div></fieldset>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1111
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1112
<?php endif; // !$is_page && !$bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1113
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1114
	<fieldset class="inline-edit-col-right"><div class="inline-edit-col">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1115
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1116
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1117
	if ( $bulk )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1118
		echo $authors_dropdown;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1119
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1120
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1121
<?php if ( $is_page ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1122
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1123
		<label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1124
			<span class="title"><?php _e( 'Parent' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1125
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1126
	$dropdown_args = array('selected' => $post->post_parent, 'name' => 'post_parent', 'show_option_none' => __('Main Page (no parent)'), 'option_none_value' => 0, 'sort_column'=> 'menu_order, post_title');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1127
	if ( $bulk )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1128
		$dropdown_args['show_option_no_change'] =  __('- No Change -');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1129
	$dropdown_args = apply_filters('quick_edit_dropdown_pages_args', $dropdown_args);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1130
	wp_dropdown_pages($dropdown_args);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1131
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1132
		</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1133
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1134
<?php	if ( !$bulk ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1135
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1136
		<label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1137
			<span class="title"><?php _e( 'Order' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1138
			<span class="input-text-wrap"><input type="text" name="menu_order" class="inline-edit-menu-order-input" value="<?php echo $post->menu_order ?>" /></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1139
		</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1140
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1141
<?php	endif; // !$bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1142
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1143
		<label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1144
			<span class="title"><?php _e( 'Template' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1145
			<select name="page_template">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1146
<?php	if ( $bulk ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1147
				<option value="-1"><?php _e('- No Change -'); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1148
<?php	endif; // $bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1149
				<option value="default"><?php _e( 'Default Template' ); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1150
				<?php page_template_dropdown() ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1151
			</select>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1152
		</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1153
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1154
<?php elseif ( !$bulk ) : // $is_page ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1155
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1156
		<label class="inline-edit-tags">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1157
			<span class="title"><?php _e( 'Tags' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1158
			<textarea cols="22" rows="1" name="tags_input" class="tags_input"></textarea>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1159
		</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1160
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1161
<?php endif; // $is_page  ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1162
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1163
<?php if ( $bulk ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1164
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1165
		<div class="inline-edit-group">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1166
		<label class="alignleft">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1167
			<span class="title"><?php _e( 'Comments' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1168
			<select name="comment_status">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1169
				<option value=""><?php _e('- No Change -'); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1170
				<option value="open"><?php _e('Allow'); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1171
				<option value="closed"><?php _e('Do not allow'); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1172
			</select>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1173
		</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1174
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1175
		<label class="alignright">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1176
			<span class="title"><?php _e( 'Pings' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1177
			<select name="ping_status">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1178
				<option value=""><?php _e('- No Change -'); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1179
				<option value="open"><?php _e('Allow'); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1180
				<option value="closed"><?php _e('Do not allow'); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1181
			</select>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1182
		</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1183
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1184
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1185
<?php else : // $bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1186
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1187
		<div class="inline-edit-group">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1188
			<label class="alignleft">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1189
				<input type="checkbox" name="comment_status" value="open" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1190
				<span class="checkbox-title"><?php _e( 'Allow Comments' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1191
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1192
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1193
			<label class="alignleft">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1194
				<input type="checkbox" name="ping_status" value="open" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1195
				<span class="checkbox-title"><?php _e( 'Allow Pings' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1196
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1197
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1198
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1199
<?php endif; // $bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1200
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1201
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1202
		<div class="inline-edit-group">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1203
			<label class="inline-edit-status alignleft">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1204
				<span class="title"><?php _e( 'Status' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1205
				<select name="_status">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1206
<?php if ( $bulk ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1207
					<option value="-1"><?php _e('- No Change -'); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1208
<?php endif; // $bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1209
				<?php if ( $can_publish ) : // Contributors only get "Unpublished" and "Pending Review" ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1210
					<option value="publish"><?php _e( 'Published' ); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1211
					<option value="future"><?php _e( 'Scheduled' ); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1212
<?php if ( $bulk ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1213
					<option value="private"><?php _e('Private') ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1214
<?php endif; // $bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1215
				<?php endif; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1216
					<option value="pending"><?php _e( 'Pending Review' ); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1217
					<option value="draft"><?php _e( 'Draft' ); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1218
				</select>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1219
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1220
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1221
<?php if ( !$is_page && $can_publish && current_user_can( 'edit_others_posts' ) ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1222
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1223
<?php	if ( $bulk ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1224
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1225
			<label class="alignright">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1226
				<span class="title"><?php _e( 'Sticky' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1227
				<select name="sticky">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1228
					<option value="-1"><?php _e( '- No Change -' ); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1229
					<option value="sticky"><?php _e( 'Sticky' ); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1230
					<option value="unsticky"><?php _e( 'Not Sticky' ); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1231
				</select>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1232
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1233
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1234
<?php	else : // $bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1235
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1236
			<label class="alignleft">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1237
				<input type="checkbox" name="sticky" value="sticky" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1238
				<span class="checkbox-title"><?php _e( 'Make this post sticky' ); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1239
			</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1240
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1241
<?php	endif; // $bulk ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1242
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1243
<?php endif; // !$is_page && $can_publish && current_user_can( 'edit_others_posts' ) ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1244
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1245
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1246
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1247
	</div></fieldset>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1248
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1249
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1250
	foreach ( $columns as $column_name => $column_display_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1251
		if ( isset( $core_columns[$column_name] ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1252
			continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1253
		do_action( $bulk ? 'bulk_edit_custom_box' : 'quick_edit_custom_box', $column_name, $type);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1254
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1255
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1256
	<p class="submit inline-edit-save">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1257
		<a accesskey="c" href="#inline-edit" title="<?php _e('Cancel'); ?>" class="button-secondary cancel alignleft"><?php _e('Cancel'); ?></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1258
		<?php if ( ! $bulk ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1259
			wp_nonce_field( 'inlineeditnonce', '_inline_edit', false );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1260
			$update_text = ( $is_page ) ? __( 'Update Page' ) : __( 'Update Post' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1261
			?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1262
			<a accesskey="s" href="#inline-edit" title="<?php _e('Update'); ?>" class="button-primary save alignright"><?php echo esc_attr( $update_text ); ?></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1263
			<img class="waiting" style="display:none;" src="images/wpspin_light.gif" alt="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1264
		<?php } else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1265
			$update_text = ( $is_page ) ? __( 'Update Pages' ) : __( 'Update Posts' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1266
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1267
			<input accesskey="s" class="button-primary alignright" type="submit" name="bulk_edit" value="<?php echo esc_attr( $update_text ); ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1268
		<?php } ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1269
		<input type="hidden" name="post_view" value="<?php echo $m; ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1270
		<br class="clear" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1271
	</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1272
	</td></tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1273
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1274
	$bulk++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1275
	} ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1276
	</tbody></table></form>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1277
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1278
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1279
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1280
// adds hidden fields with the data for use in the inline editor for posts and pages
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1281
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1282
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1283
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1284
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1285
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1286
 * @param unknown_type $post
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1287
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1288
function get_inline_data($post) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1289
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1290
	if ( ! current_user_can('edit_' . $post->post_type, $post->ID) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1291
		return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1292
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1293
	$title = esc_attr($post->post_title);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1294
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1295
	echo '
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1296
<div class="hidden" id="inline_' . $post->ID . '">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1297
	<div class="post_title">' . $title . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1298
	<div class="post_name">' . apply_filters('editable_slug', $post->post_name) . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1299
	<div class="post_author">' . $post->post_author . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1300
	<div class="comment_status">' . $post->comment_status . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1301
	<div class="ping_status">' . $post->ping_status . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1302
	<div class="_status">' . $post->post_status . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1303
	<div class="jj">' . mysql2date( 'd', $post->post_date, false ) . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1304
	<div class="mm">' . mysql2date( 'm', $post->post_date, false ) . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1305
	<div class="aa">' . mysql2date( 'Y', $post->post_date, false ) . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1306
	<div class="hh">' . mysql2date( 'H', $post->post_date, false ) . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1307
	<div class="mn">' . mysql2date( 'i', $post->post_date, false ) . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1308
	<div class="ss">' . mysql2date( 's', $post->post_date, false ) . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1309
	<div class="post_password">' . esc_html( $post->post_password ) . '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1310
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1311
	if( $post->post_type == 'page' )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1312
		echo '
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1313
	<div class="post_parent">' . $post->post_parent . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1314
	<div class="page_template">' . esc_html( get_post_meta( $post->ID, '_wp_page_template', true ) ) . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1315
	<div class="menu_order">' . $post->menu_order . '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1316
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1317
	if( $post->post_type == 'post' )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1318
		echo '
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1319
	<div class="tags_input">' . esc_html( str_replace( ',', ', ', get_tags_to_edit($post->ID) ) ) . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1320
	<div class="post_category">' . implode( ',', wp_get_post_categories( $post->ID ) ) . '</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1321
	<div class="sticky">' . (is_sticky($post->ID) ? 'sticky' : '') . '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1322
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1323
	echo '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1324
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1325
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1326
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1327
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1328
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1329
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1330
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1331
 * @param unknown_type $posts
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1332
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1333
function post_rows( $posts = array() ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1334
	global $wp_query, $post, $mode;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1335
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1336
	add_filter('the_title','esc_html');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1337
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1338
	// Create array of post IDs.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1339
	$post_ids = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1340
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1341
	if ( empty($posts) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1342
		$posts = &$wp_query->posts;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1343
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1344
	foreach ( $posts as $a_post )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1345
		$post_ids[] = $a_post->ID;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1346
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1347
	$comment_pending_count = get_pending_comments_num($post_ids);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1348
	if ( empty($comment_pending_count) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1349
		$comment_pending_count = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1350
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1351
	foreach ( $posts as $post ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1352
		if ( empty($comment_pending_count[$post->ID]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1353
			$comment_pending_count[$post->ID] = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1354
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1355
		_post_row($post, $comment_pending_count[$post->ID], $mode);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1356
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1357
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1358
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1359
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1360
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1361
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1362
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1363
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1364
 * @param unknown_type $a_post
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1365
 * @param unknown_type $pending_comments
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1366
 * @param unknown_type $mode
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1367
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1368
function _post_row($a_post, $pending_comments, $mode) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1369
	global $post, $current_user;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1370
	static $rowclass;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1371
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1372
	$global_post = $post;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1373
	$post = $a_post;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1374
	setup_postdata($post);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1375
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1376
	$rowclass = 'alternate' == $rowclass ? '' : 'alternate';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1377
	$post_owner = ( $current_user->ID == $post->post_author ? 'self' : 'other' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1378
	$edit_link = get_edit_post_link( $post->ID );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1379
	$title = _draft_or_post_title();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1380
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1381
	<tr id='post-<?php echo $post->ID; ?>' class='<?php echo trim( $rowclass . ' author-' . $post_owner . ' status-' . $post->post_status ); ?> iedit' valign="top">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1382
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1383
	$posts_columns = get_column_headers('edit');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1384
	$hidden = get_hidden_columns('edit');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1385
	foreach ( $posts_columns as $column_name=>$column_display_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1386
		$class = "class=\"$column_name column-$column_name\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1387
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1388
		$style = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1389
		if ( in_array($column_name, $hidden) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1390
			$style = ' style="display:none;"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1391
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1392
		$attributes = "$class$style";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1393
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1394
		switch ($column_name) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1395
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1396
		case 'cb':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1397
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1398
		<th scope="row" class="check-column"><?php if ( current_user_can( 'edit_post', $post->ID ) ) { ?><input type="checkbox" name="post[]" value="<?php the_ID(); ?>" /><?php } ?></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1399
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1400
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1401
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1402
		case 'date':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1403
			if ( '0000-00-00 00:00:00' == $post->post_date && 'date' == $column_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1404
				$t_time = $h_time = __('Unpublished');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1405
				$time_diff = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1406
			} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1407
				$t_time = get_the_time(__('Y/m/d g:i:s A'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1408
				$m_time = $post->post_date;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1409
				$time = get_post_time('G', true, $post);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1410
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1411
				$time_diff = time() - $time;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1412
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1413
				if ( $time_diff > 0 && $time_diff < 24*60*60 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1414
					$h_time = sprintf( __('%s ago'), human_time_diff( $time ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1415
				else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1416
					$h_time = mysql2date(__('Y/m/d'), $m_time);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1417
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1418
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1419
			echo '<td ' . $attributes . '>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1420
			if ( 'excerpt' == $mode )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1421
				echo apply_filters('post_date_column_time', $t_time, $post, $column_name, $mode);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1422
			else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1423
				echo '<abbr title="' . $t_time . '">' . apply_filters('post_date_column_time', $h_time, $post, $column_name, $mode) . '</abbr>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1424
			echo '<br />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1425
			if ( 'publish' == $post->post_status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1426
				_e('Published');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1427
			} elseif ( 'future' == $post->post_status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1428
				if ( $time_diff > 0 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1429
					echo '<strong class="attention">' . __('Missed schedule') . '</strong>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1430
				else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1431
					_e('Scheduled');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1432
			} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1433
				_e('Last Modified');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1434
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1435
			echo '</td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1436
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1437
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1438
		case 'title':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1439
			$attributes = 'class="post-title column-title"' . $style;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1440
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1441
		<td <?php echo $attributes ?>><strong><?php if ( current_user_can('edit_post', $post->ID) && $post->post_status != 'trash' ) { ?><a class="row-title" href="<?php echo $edit_link; ?>" title="<?php echo esc_attr(sprintf(__('Edit &#8220;%s&#8221;'), $title)); ?>"><?php echo $title ?></a><?php } else { echo $title; }; _post_states($post); ?></strong>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1442
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1443
			if ( 'excerpt' == $mode )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1444
				the_excerpt();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1445
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1446
			$actions = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1447
			if ( current_user_can('edit_post', $post->ID) && 'trash' != $post->post_status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1448
				$actions['edit'] = '<a href="' . get_edit_post_link($post->ID, true) . '" title="' . esc_attr(__('Edit this post')) . '">' . __('Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1449
				$actions['inline hide-if-no-js'] = '<a href="#" class="editinline" title="' . esc_attr(__('Edit this post inline')) . '">' . __('Quick&nbsp;Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1450
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1451
			if ( current_user_can('delete_post', $post->ID) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1452
				if ( 'trash' == $post->post_status )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1453
					$actions['untrash'] = "<a title='" . esc_attr(__('Restore this post from the Trash')) . "' href='" . wp_nonce_url("post.php?action=untrash&amp;post=$post->ID", 'untrash-post_' . $post->ID) . "'>" . __('Restore') . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1454
				elseif ( EMPTY_TRASH_DAYS )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1455
					$actions['trash'] = "<a class='submitdelete' title='" . esc_attr(__('Move this post to the Trash')) . "' href='" . get_delete_post_link($post->ID) . "'>" . __('Trash') . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1456
				if ( 'trash' == $post->post_status || !EMPTY_TRASH_DAYS )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1457
					$actions['delete'] = "<a class='submitdelete' title='" . esc_attr(__('Delete this post permanently')) . "' href='" . wp_nonce_url("post.php?action=delete&amp;post=$post->ID", 'delete-post_' . $post->ID) . "'>" . __('Delete Permanently') . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1458
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1459
			if ( in_array($post->post_status, array('pending', 'draft')) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1460
				if ( current_user_can('edit_post', $post->ID) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1461
					$actions['view'] = '<a href="' . get_permalink($post->ID) . '" title="' . esc_attr(sprintf(__('Preview &#8220;%s&#8221;'), $title)) . '" rel="permalink">' . __('Preview') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1462
			} elseif ( 'trash' != $post->post_status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1463
				$actions['view'] = '<a href="' . get_permalink($post->ID) . '" title="' . esc_attr(sprintf(__('View &#8220;%s&#8221;'), $title)) . '" rel="permalink">' . __('View') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1464
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1465
			$actions = apply_filters('post_row_actions', $actions, $post);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1466
			$action_count = count($actions);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1467
			$i = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1468
			echo '<div class="row-actions">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1469
			foreach ( $actions as $action => $link ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1470
				++$i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1471
				( $i == $action_count ) ? $sep = '' : $sep = ' | ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1472
				echo "<span class='$action'>$link$sep</span>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1473
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1474
			echo '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1475
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1476
			get_inline_data($post);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1477
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1478
		</td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1479
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1480
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1481
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1482
		case 'categories':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1483
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1484
		<td <?php echo $attributes ?>><?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1485
			$categories = get_the_category();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1486
			if ( !empty( $categories ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1487
				$out = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1488
				foreach ( $categories as $c )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1489
					$out[] = "<a href='edit.php?category_name=$c->slug'> " . esc_html(sanitize_term_field('name', $c->name, $c->term_id, 'category', 'display')) . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1490
					echo join( ', ', $out );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1491
			} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1492
				_e('Uncategorized');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1493
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1494
		?></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1495
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1496
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1497
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1498
		case 'tags':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1499
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1500
		<td <?php echo $attributes ?>><?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1501
			$tags = get_the_tags($post->ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1502
			if ( !empty( $tags ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1503
				$out = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1504
				foreach ( $tags as $c )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1505
					$out[] = "<a href='edit.php?tag=$c->slug'> " . esc_html(sanitize_term_field('name', $c->name, $c->term_id, 'post_tag', 'display')) . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1506
				echo join( ', ', $out );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1507
			} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1508
				_e('No Tags');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1509
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1510
		?></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1511
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1512
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1513
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1514
		case 'comments':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1515
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1516
		<td <?php echo $attributes ?>><div class="post-com-count-wrapper">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1517
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1518
			$pending_phrase = sprintf( __('%s pending'), number_format( $pending_comments ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1519
			if ( $pending_comments )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1520
				echo '<strong>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1521
				comments_number("<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('0', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('1', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link: % will be substituted by comment count */ _x('%', 'comment count') . '</span></a>');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1522
				if ( $pending_comments )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1523
				echo '</strong>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1524
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1525
		</div></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1526
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1527
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1528
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1529
		case 'author':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1530
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1531
		<td <?php echo $attributes ?>><a href="edit.php?author=<?php the_author_meta('ID'); ?>"><?php the_author() ?></a></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1532
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1533
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1534
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1535
		case 'control_view':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1536
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1537
		<td><a href="<?php the_permalink(); ?>" rel="permalink" class="view"><?php _e('View'); ?></a></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1538
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1539
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1540
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1541
		case 'control_edit':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1542
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1543
		<td><?php if ( current_user_can('edit_post', $post->ID) ) { echo "<a href='$edit_link' class='edit'>" . __('Edit') . "</a>"; } ?></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1544
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1545
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1546
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1547
		case 'control_delete':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1548
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1549
		<td><?php if ( current_user_can('delete_post', $post->ID) ) { echo "<a href='" . wp_nonce_url("post.php?action=delete&amp;post=$id", 'delete-post_' . $post->ID) . "' class='delete'>" . __('Delete') . "</a>"; } ?></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1550
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1551
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1552
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1553
		default:
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1554
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1555
		<td <?php echo $attributes ?>><?php do_action('manage_posts_custom_column', $column_name, $post->ID); ?></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1556
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1557
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1558
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1559
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1560
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1561
	</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1562
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1563
	$post = $global_post;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1564
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1565
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1566
/*
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1567
 * display one row if the page doesn't have any children
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1568
 * otherwise, display the row and its children in subsequent rows
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1569
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1570
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1571
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1572
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1573
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1574
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1575
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1576
 * @param unknown_type $level
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1577
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1578
function display_page_row( $page, $level = 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1579
	global $post;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1580
	static $rowclass;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1581
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1582
	$post = $page;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1583
	setup_postdata($page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1584
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1585
	if ( 0 == $level && (int)$page->post_parent > 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1586
		//sent level 0 by accident, by default, or because we don't know the actual level
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1587
		$find_main_page = (int)$page->post_parent;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1588
		while ( $find_main_page > 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1589
			$parent = get_page($find_main_page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1590
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1591
			if ( is_null($parent) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1592
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1593
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1594
			$level++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1595
			$find_main_page = (int)$parent->post_parent;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1596
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1597
			if ( !isset($parent_name) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1598
				$parent_name = $parent->post_title;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1599
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1600
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1601
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1602
	$page->post_title = esc_html( $page->post_title );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1603
	$pad = str_repeat( '&#8212; ', $level );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1604
	$id = (int) $page->ID;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1605
	$rowclass = 'alternate' == $rowclass ? '' : 'alternate';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1606
	$posts_columns = get_column_headers('edit-pages');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1607
	$hidden = get_hidden_columns('edit-pages');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1608
	$title = _draft_or_post_title();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1609
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1610
<tr id="page-<?php echo $id; ?>" class="<?php echo $rowclass; ?> iedit">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1611
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1612
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1613
foreach ($posts_columns as $column_name=>$column_display_name) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1614
	$class = "class=\"$column_name column-$column_name\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1615
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1616
	$style = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1617
	if ( in_array($column_name, $hidden) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1618
		$style = ' style="display:none;"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1619
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1620
	$attributes = "$class$style";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1621
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1622
	switch ($column_name) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1623
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1624
	case 'cb':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1625
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1626
		<th scope="row" class="check-column"><input type="checkbox" name="post[]" value="<?php the_ID(); ?>" /></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1627
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1628
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1629
	case 'date':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1630
		if ( '0000-00-00 00:00:00' == $page->post_date && 'date' == $column_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1631
			$t_time = $h_time = __('Unpublished');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1632
			$time_diff = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1633
		} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1634
			$t_time = get_the_time(__('Y/m/d g:i:s A'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1635
			$m_time = $page->post_date;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1636
			$time = get_post_time('G', true);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1637
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1638
			$time_diff = time() - $time;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1639
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1640
			if ( $time_diff > 0 && $time_diff < 24*60*60 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1641
				$h_time = sprintf( __('%s ago'), human_time_diff( $time ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1642
			else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1643
				$h_time = mysql2date(__('Y/m/d'), $m_time);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1644
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1645
		echo '<td ' . $attributes . '>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1646
		echo '<abbr title="' . $t_time . '">' . apply_filters('post_date_column_time', $h_time, $page, $column_name, '') . '</abbr>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1647
		echo '<br />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1648
		if ( 'publish' == $page->post_status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1649
			_e('Published');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1650
		} elseif ( 'future' == $page->post_status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1651
			if ( $time_diff > 0 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1652
				echo '<strong class="attention">' . __('Missed schedule') . '</strong>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1653
			else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1654
				_e('Scheduled');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1655
		} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1656
			_e('Last Modified');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1657
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1658
		echo '</td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1659
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1660
	case 'title':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1661
		$attributes = 'class="post-title page-title column-title"' . $style;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1662
		$edit_link = get_edit_post_link( $page->ID );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1663
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1664
		<td <?php echo $attributes ?>><strong><?php if ( current_user_can('edit_page', $page->ID) && $post->post_status != 'trash' ) { ?><a class="row-title" href="<?php echo $edit_link; ?>" title="<?php echo esc_attr(sprintf(__('Edit &#8220;%s&#8221;'), $title)); ?>"><?php echo $pad; echo $title ?></a><?php } else { echo $pad; echo $title; }; _post_states($page); echo isset($parent_name) ? ' | ' . __('Parent Page: ') . esc_html($parent_name) : ''; ?></strong>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1665
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1666
		$actions = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1667
		if ( current_user_can('edit_page', $page->ID) && $post->post_status != 'trash' ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1668
			$actions['edit'] = '<a href="' . $edit_link . '" title="' . esc_attr(__('Edit this page')) . '">' . __('Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1669
			$actions['inline'] = '<a href="#" class="editinline">' . __('Quick&nbsp;Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1670
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1671
		if ( current_user_can('delete_page', $page->ID) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1672
			if ( $post->post_status == 'trash' )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1673
				$actions['untrash'] = "<a title='" . esc_attr(__('Remove this page from the Trash')) . "' href='" . wp_nonce_url("page.php?action=untrash&amp;post=$page->ID", 'untrash-page_' . $page->ID) . "'>" . __('Restore') . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1674
			elseif ( EMPTY_TRASH_DAYS )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1675
				$actions['trash'] = "<a class='submitdelete' title='" . esc_attr(__('Move this page to the Trash')) . "' href='" . get_delete_post_link($page->ID) . "'>" . __('Trash') . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1676
			if ( $post->post_status == 'trash' || !EMPTY_TRASH_DAYS )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1677
				$actions['delete'] = "<a class='submitdelete' title='" . esc_attr(__('Delete this page permanently')) . "' href='" . wp_nonce_url("page.php?action=delete&amp;post=$page->ID", 'delete-page_' . $page->ID) . "'>" . __('Delete Permanently') . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1678
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1679
		if ( in_array($post->post_status, array('pending', 'draft')) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1680
			if ( current_user_can('edit_page', $page->ID) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1681
				$actions['view'] = '<a href="' . get_permalink($page->ID) . '" title="' . esc_attr(sprintf(__('Preview &#8220;%s&#8221;'), $title)) . '" rel="permalink">' . __('Preview') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1682
		} elseif ( $post->post_status != 'trash' ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1683
			$actions['view'] = '<a href="' . get_permalink($page->ID) . '" title="' . esc_attr(sprintf(__('View &#8220;%s&#8221;'), $title)) . '" rel="permalink">' . __('View') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1684
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1685
		$actions = apply_filters('page_row_actions', $actions, $page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1686
		$action_count = count($actions);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1687
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1688
		$i = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1689
		echo '<div class="row-actions">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1690
		foreach ( $actions as $action => $link ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1691
			++$i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1692
			( $i == $action_count ) ? $sep = '' : $sep = ' | ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1693
			echo "<span class='$action'>$link$sep</span>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1694
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1695
		echo '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1696
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1697
		get_inline_data($post);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1698
		echo '</td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1699
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1700
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1701
	case 'comments':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1702
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1703
		<td <?php echo $attributes ?>><div class="post-com-count-wrapper">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1704
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1705
		$left = get_pending_comments_num( $page->ID );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1706
		$pending_phrase = sprintf( __('%s pending'), number_format( $left ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1707
		if ( $left )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1708
			echo '<strong>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1709
		comments_number("<a href='edit-comments.php?p=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('0', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('1', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link: % will be substituted by comment count */ _x('%', 'comment count') . '</span></a>');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1710
		if ( $left )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1711
			echo '</strong>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1712
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1713
		</div></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1714
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1715
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1716
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1717
	case 'author':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1718
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1719
		<td <?php echo $attributes ?>><a href="edit-pages.php?author=<?php the_author_meta('ID'); ?>"><?php the_author() ?></a></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1720
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1721
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1722
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1723
	default:
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1724
		?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1725
		<td <?php echo $attributes ?>><?php do_action('manage_pages_custom_column', $column_name, $id); ?></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1726
		<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1727
		break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1728
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1729
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1730
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1731
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1732
</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1733
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1734
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1735
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1736
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1737
/*
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1738
 * displays pages in hierarchical order with paging support
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1739
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1740
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1741
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1742
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1743
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1744
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1745
 * @param unknown_type $pages
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1746
 * @param unknown_type $pagenum
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1747
 * @param unknown_type $per_page
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1748
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1749
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1750
function page_rows($pages, $pagenum = 1, $per_page = 20) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1751
	global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1752
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1753
	$level = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1754
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1755
	if ( ! $pages ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1756
		$pages = get_pages( array('sort_column' => 'menu_order') );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1757
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1758
		if ( ! $pages )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1759
			return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1760
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1761
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1762
	/*
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1763
	 * arrange pages into two parts: top level pages and children_pages
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1764
	 * children_pages is two dimensional array, eg.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1765
	 * children_pages[10][] contains all sub-pages whose parent is 10.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1766
	 * It only takes O(N) to arrange this and it takes O(1) for subsequent lookup operations
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1767
	 * If searching, ignore hierarchy and treat everything as top level
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1768
	 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1769
	if ( empty($_GET['s']) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1770
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1771
		$top_level_pages = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1772
		$children_pages = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1773
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1774
		foreach ( $pages as $page ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1775
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1776
			// catch and repair bad pages
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1777
			if ( $page->post_parent == $page->ID ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1778
				$page->post_parent = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1779
				$wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_parent = '0' WHERE ID = %d", $page->ID) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1780
				clean_page_cache( $page->ID );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1781
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1782
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1783
			if ( 0 == $page->post_parent )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1784
				$top_level_pages[] = $page;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1785
			else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1786
				$children_pages[ $page->post_parent ][] = $page;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1787
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1788
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1789
		$pages = &$top_level_pages;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1790
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1791
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1792
	$count = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1793
	$start = ($pagenum - 1) * $per_page;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1794
	$end = $start + $per_page;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1795
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1796
	foreach ( $pages as $page ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1797
		if ( $count >= $end )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1798
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1799
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1800
		if ( $count >= $start )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1801
			echo "\t" . display_page_row( $page, $level );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1802
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1803
		$count++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1804
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1805
		if ( isset($children_pages) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1806
			_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1807
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1808
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1809
	// if it is the last pagenum and there are orphaned pages, display them with paging as well
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1810
	if ( isset($children_pages) && $count < $end ){
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1811
		foreach( $children_pages as $orphans ){
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1812
			foreach ( $orphans as $op ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1813
				if ( $count >= $end )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1814
					break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1815
				if ( $count >= $start )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1816
					echo "\t" . display_page_row( $op, 0 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1817
				$count++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1818
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1819
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1820
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1821
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1822
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1823
/*
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1824
 * Given a top level page ID, display the nested hierarchy of sub-pages
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1825
 * together with paging support
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1826
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1827
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1828
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1829
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1830
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1831
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1832
 * @param unknown_type $children_pages
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1833
 * @param unknown_type $count
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1834
 * @param unknown_type $parent
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1835
 * @param unknown_type $level
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1836
 * @param unknown_type $pagenum
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1837
 * @param unknown_type $per_page
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1838
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1839
function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1840
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1841
	if ( ! isset( $children_pages[$parent] ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1842
		return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1843
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1844
	$start = ($pagenum - 1) * $per_page;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1845
	$end = $start + $per_page;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1846
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1847
	foreach ( $children_pages[$parent] as $page ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1848
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1849
		if ( $count >= $end )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1850
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1851
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1852
		// If the page starts in a subtree, print the parents.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1853
		if ( $count == $start && $page->post_parent > 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1854
			$my_parents = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1855
			$my_parent = $page->post_parent;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1856
			while ( $my_parent) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1857
				$my_parent = get_post($my_parent);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1858
				$my_parents[] = $my_parent;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1859
				if ( !$my_parent->post_parent )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1860
					break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1861
				$my_parent = $my_parent->post_parent;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1862
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1863
			$num_parents = count($my_parents);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1864
			while( $my_parent = array_pop($my_parents) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1865
				echo "\t" . display_page_row( $my_parent, $level - $num_parents );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1866
				$num_parents--;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1867
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1868
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1869
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1870
		if ( $count >= $start )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1871
			echo "\t" . display_page_row( $page, $level );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1872
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1873
		$count++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1874
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1875
		_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1876
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1877
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1878
	unset( $children_pages[$parent] ); //required in order to keep track of orphans
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1879
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1880
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1881
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1882
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1883
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1884
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1885
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1886
 * @param unknown_type $user_object
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1887
 * @param unknown_type $style
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1888
 * @param unknown_type $role
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1889
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1890
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1891
function user_row( $user_object, $style = '', $role = '' ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1892
	global $wp_roles;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1893
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1894
	$current_user = wp_get_current_user();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1895
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1896
	if ( !( is_object( $user_object) && is_a( $user_object, 'WP_User' ) ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1897
		$user_object = new WP_User( (int) $user_object );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1898
	$user_object = sanitize_user_object($user_object, 'display');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1899
	$email = $user_object->user_email;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1900
	$url = $user_object->user_url;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1901
	$short_url = str_replace( 'http://', '', $url );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1902
	$short_url = str_replace( 'www.', '', $short_url );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1903
	if ('/' == substr( $short_url, -1 ))
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1904
		$short_url = substr( $short_url, 0, -1 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1905
	if ( strlen( $short_url ) > 35 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1906
		$short_url = substr( $short_url, 0, 32 ).'...';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1907
	$numposts = get_usernumposts( $user_object->ID );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1908
	$checkbox = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1909
	// Check if the user for this row is editable
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1910
	if ( current_user_can( 'edit_user', $user_object->ID ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1911
		// Set up the user editing link
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1912
		// TODO: make profile/user-edit determination a seperate function
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1913
		if ($current_user->ID == $user_object->ID) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1914
			$edit_link = 'profile.php';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1915
		} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1916
			$edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( esc_url( stripslashes( $_SERVER['REQUEST_URI'] ) ) ), "user-edit.php?user_id=$user_object->ID" ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1917
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1918
		$edit = "<strong><a href=\"$edit_link\">$user_object->user_login</a></strong><br />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1919
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1920
		// Set up the hover actions for this user
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1921
		$actions = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1922
		$actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1923
		if ( $current_user->ID != $user_object->ID )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1924
			$actions['delete'] = "<a class='submitdelete' href='" . wp_nonce_url("users.php?action=delete&amp;user=$user_object->ID", 'bulk-users') . "'>" . __('Delete') . "</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1925
		$actions = apply_filters('user_row_actions', $actions, $user_object);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1926
		$action_count = count($actions);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1927
		$i = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1928
		$edit .= '<div class="row-actions">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1929
		foreach ( $actions as $action => $link ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1930
			++$i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1931
			( $i == $action_count ) ? $sep = '' : $sep = ' | ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1932
			$edit .= "<span class='$action'>$link$sep</span>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1933
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1934
		$edit .= '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1935
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1936
		// Set up the checkbox (because the user is editable, otherwise its empty)
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1937
		$checkbox = "<input type='checkbox' name='users[]' id='user_{$user_object->ID}' class='$role' value='{$user_object->ID}' />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1938
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1939
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1940
		$edit = '<strong>' . $user_object->user_login . '</strong>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1941
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1942
	$role_name = isset($wp_roles->role_names[$role]) ? translate_user_role($wp_roles->role_names[$role] ) : __('None');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1943
	$r = "<tr id='user-$user_object->ID'$style>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1944
	$columns = get_column_headers('users');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1945
	$hidden = get_hidden_columns('users');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1946
	$avatar = get_avatar( $user_object->ID, 32 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1947
	foreach ( $columns as $column_name => $column_display_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1948
		$class = "class=\"$column_name column-$column_name\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1949
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1950
		$style = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1951
		if ( in_array($column_name, $hidden) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1952
			$style = ' style="display:none;"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1953
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1954
		$attributes = "$class$style";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1955
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1956
		switch ($column_name) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1957
			case 'cb':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1958
				$r .= "<th scope='row' class='check-column'>$checkbox</th>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1959
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1960
			case 'username':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1961
				$r .= "<td $attributes>$avatar $edit</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1962
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1963
			case 'name':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1964
				$r .= "<td $attributes>$user_object->first_name $user_object->last_name</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1965
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1966
			case 'email':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1967
				$r .= "<td $attributes><a href='mailto:$email' title='" . sprintf( __('e-mail: %s' ), $email ) . "'>$email</a></td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1968
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1969
			case 'role':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1970
				$r .= "<td $attributes>$role_name</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1971
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1972
			case 'posts':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1973
				$attributes = 'class="posts column-posts num"' . $style;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1974
				$r .= "<td $attributes>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1975
				if ( $numposts > 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1976
					$r .= "<a href='edit.php?author=$user_object->ID' title='" . __( 'View posts by this author' ) . "' class='edit'>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1977
					$r .= $numposts;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1978
					$r .= '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1979
				} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1980
					$r .= 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1981
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1982
				$r .= "</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1983
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1984
			default:
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1985
				$r .= "<td $attributes>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1986
				$r .= apply_filters('manage_users_custom_column', '', $column_name, $user_object->ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1987
				$r .= "</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1988
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1989
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1990
	$r .= '</tr>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1991
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1992
	return $r;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1993
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1994
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1995
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1996
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1997
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1998
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  1999
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2000
 * @param string $status Comment status (approved, spam, trash, etc)
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2001
 * @param string $s Term to search for
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2002
 * @param int $start Offset to start at for pagination
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2003
 * @param int $num Maximum number of comments to return
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2004
 * @param int $post Post ID or 0 to return all comments
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2005
 * @param string $type Comment type (comment, trackback, pingback, etc)
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2006
 * @return array [0] contains the comments and [1] contains the total number of comments that match (ignoring $start and $num)
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2007
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2008
function _wp_get_comment_list( $status = '', $s = false, $start, $num, $post = 0, $type = '' ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2009
	global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2010
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2011
	$start = abs( (int) $start );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2012
	$num = (int) $num;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2013
	$post = (int) $post;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2014
	$count = wp_count_comments();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2015
	$index = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2016
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2017
	if ( 'moderated' == $status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2018
		$approved = "c.comment_approved = '0'";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2019
		$total = $count->moderated;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2020
	} elseif ( 'approved' == $status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2021
		$approved = "c.comment_approved = '1'";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2022
		$total = $count->approved;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2023
	} elseif ( 'spam' == $status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2024
		$approved = "c.comment_approved = 'spam'";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2025
		$total = $count->spam;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2026
	} elseif ( 'trash' == $status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2027
		$approved = "c.comment_approved = 'trash'";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2028
		$total = $count->trash;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2029
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2030
		$approved = "( c.comment_approved = '0' OR c.comment_approved = '1' )";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2031
		$total = $count->moderated + $count->approved;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2032
		$index = 'USE INDEX (c.comment_date_gmt)';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2033
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2034
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2035
	if ( $post ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2036
		$total = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2037
		$post = " AND c.comment_post_ID = '$post'";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2038
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2039
		$post = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2040
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2041
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2042
	$orderby = "ORDER BY c.comment_date_gmt DESC LIMIT $start, $num";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2043
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2044
	if ( 'comment' == $type )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2045
		$typesql = "AND c.comment_type = ''";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2046
	elseif ( 'pings' == $type )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2047
		$typesql = "AND ( c.comment_type = 'pingback' OR c.comment_type = 'trackback' )";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2048
	elseif ( 'all' == $type )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2049
		$typesql = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2050
	elseif ( !empty($type) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2051
		$typesql = $wpdb->prepare("AND c.comment_type = %s", $type);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2052
	else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2053
		$typesql = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2054
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2055
	if ( !empty($type) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2056
		$total = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2057
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2058
	$query = "FROM $wpdb->comments c LEFT JOIN $wpdb->posts p ON c.comment_post_ID = p.ID WHERE p.post_status != 'trash' ";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2059
	if ( $s ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2060
		$total = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2061
		$s = $wpdb->escape($s);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2062
		$query .= "AND
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2063
			(c.comment_author LIKE '%$s%' OR
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2064
			c.comment_author_email LIKE '%$s%' OR
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2065
			c.comment_author_url LIKE ('%$s%') OR
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2066
			c.comment_author_IP LIKE ('%$s%') OR
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2067
			c.comment_content LIKE ('%$s%') ) AND
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2068
			$approved
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2069
			$typesql";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2070
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2071
		$query .= "AND $approved $post $typesql";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2072
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2073
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2074
	$comments = $wpdb->get_results("SELECT * $query $orderby");
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2075
	if ( '' === $total )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2076
		$total = $wpdb->get_var("SELECT COUNT(c.comment_ID) $query");
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2077
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2078
	update_comment_cache($comments);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2079
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2080
	return array($comments, $total);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2081
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2082
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2083
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2084
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2085
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2086
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2087
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2088
 * @param unknown_type $comment_id
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2089
 * @param unknown_type $mode
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2090
 * @param unknown_type $comment_status
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2091
 * @param unknown_type $checkbox
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2092
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2093
function _wp_comment_row( $comment_id, $mode, $comment_status, $checkbox = true, $from_ajax = false ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2094
	global $comment, $post, $_comment_pending_count;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2095
	$comment = get_comment( $comment_id );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2096
	$post = get_post($comment->comment_post_ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2097
	$the_comment_status = wp_get_comment_status($comment->comment_ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2098
	$user_can = current_user_can('edit_post', $post->ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2099
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2100
	$author_url = get_comment_author_url();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2101
	if ( 'http://' == $author_url )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2102
		$author_url = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2103
	$author_url_display = preg_replace('|http://(www\.)?|i', '', $author_url);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2104
	if ( strlen($author_url_display) > 50 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2105
		$author_url_display = substr($author_url_display, 0, 49) . '...';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2106
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2107
	$ptime = date('G', strtotime( $comment->comment_date ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2108
	if ( ( abs(time() - $ptime) ) < 86400 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2109
		$ptime = sprintf( __('%s ago'), human_time_diff( $ptime ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2110
	else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2111
		$ptime = mysql2date(__('Y/m/d \a\t g:i A'), $comment->comment_date );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2112
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2113
	if ( $user_can ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2114
		$del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2115
		$approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "approve-comment_$comment->comment_ID" ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2116
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2117
		$comment_url = esc_url(get_comment_link($comment->comment_ID));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2118
		$approve_url = esc_url( "comment.php?action=approvecomment&p=$post->ID&c=$comment->comment_ID&$approve_nonce" );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2119
		$unapprove_url = esc_url( "comment.php?action=unapprovecomment&p=$post->ID&c=$comment->comment_ID&$approve_nonce" );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2120
		$spam_url = esc_url( "comment.php?action=spamcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2121
		$unspam_url = esc_url( "comment.php?action=unspamcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2122
		$trash_url = esc_url( "comment.php?action=trashcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2123
		$untrash_url = esc_url( "comment.php?action=untrashcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2124
		$delete_url = esc_url( "comment.php?action=deletecomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2125
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2126
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2127
	echo "<tr id='comment-$comment->comment_ID' class='$the_comment_status'>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2128
	$columns = get_column_headers('edit-comments');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2129
	$hidden = get_hidden_columns('edit-comments');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2130
	foreach ( $columns as $column_name => $column_display_name ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2131
		$class = "class=\"$column_name column-$column_name\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2132
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2133
		$style = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2134
		if ( in_array($column_name, $hidden) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2135
			$style = ' style="display:none;"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2136
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2137
		$attributes = "$class$style";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2138
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2139
		switch ($column_name) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2140
			case 'cb':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2141
				if ( !$checkbox ) break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2142
				echo '<th scope="row" class="check-column">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2143
				if ( $user_can ) echo "<input type='checkbox' name='delete_comments[]' value='$comment->comment_ID' />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2144
				echo '</th>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2145
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2146
			case 'comment':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2147
				echo "<td $attributes>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2148
				echo '<div id="submitted-on">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2149
				printf(__('Submitted on <a href="%1$s">%2$s at %3$s</a>'), $comment_url, get_comment_date(__('Y/m/d')), get_comment_date(__('g:ia')));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2150
				echo '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2151
				comment_text();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2152
				if ( $user_can ) { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2153
				<div id="inline-<?php echo $comment->comment_ID; ?>" class="hidden">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2154
				<textarea class="comment" rows="1" cols="1"><?php echo htmlspecialchars( apply_filters('comment_edit_pre', $comment->comment_content), ENT_QUOTES ); ?></textarea>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2155
				<div class="author-email"><?php echo esc_attr( $comment->comment_author_email ); ?></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2156
				<div class="author"><?php echo esc_attr( $comment->comment_author ); ?></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2157
				<div class="author-url"><?php echo esc_attr( $comment->comment_author_url ); ?></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2158
				<div class="comment_status"><?php echo $comment->comment_approved; ?></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2159
				</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2160
				<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2161
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2162
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2163
				if ( $user_can ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2164
					// preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2165
					$actions = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2166
						'approve' => '', 'unapprove' => '',
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2167
						'reply' => '',
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2168
						'quickedit' => '',
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2169
						'edit' => '',
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2170
						'spam' => '', 'unspam' => '',
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2171
						'trash' => '', 'untrash' => '', 'delete' => ''
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2172
					);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2173
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2174
					if ( $comment_status && 'all' != $comment_status ) { // not looking at all comments
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2175
						if ( 'approved' == $the_comment_status )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2176
							$actions['unapprove'] = "<a href='$unapprove_url' class='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&amp;new=unapproved vim-u vim-destructive' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2177
						else if ( 'unapproved' == $the_comment_status )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2178
							$actions['approve'] = "<a href='$approve_url' class='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&amp;new=approved vim-a vim-destructive' title='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2179
					} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2180
						$actions['approve'] = "<a href='$approve_url' class='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=approved vim-a' title='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2181
						$actions['unapprove'] = "<a href='$unapprove_url' class='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved vim-u' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2182
					}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2183
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2184
					if ( 'spam' != $the_comment_status && 'trash' != $the_comment_status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2185
						$actions['spam'] = "<a href='$spam_url' class='delete:the-comment-list:comment-$comment->comment_ID::spam=1 vim-s vim-destructive' title='" . esc_attr__( 'Mark this comment as spam' ) . "'>" . /* translators: mark as spam link */ _x( 'Spam', 'verb' ) . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2186
					} elseif ( 'spam' == $the_comment_status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2187
						$actions['unspam'] = "<a href='$untrash_url' class='delete:the-comment-list:comment-$comment->comment_ID:66cc66:unspam=1 vim-z vim-destructive'>" . __( 'Not Spam' ) . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2188
					} elseif ( 'trash' == $the_comment_status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2189
						$actions['untrash'] = "<a href='$untrash_url' class='delete:the-comment-list:comment-$comment->comment_ID:66cc66:untrash=1 vim-z vim-destructive'>" . __( 'Restore' ) . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2190
					}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2191
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2192
					if ( 'spam' == $the_comment_status || 'trash' == $the_comment_status || !EMPTY_TRASH_DAYS ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2193
						$actions['delete'] = "<a href='$delete_url' class='delete:the-comment-list:comment-$comment->comment_ID::delete=1 delete vim-d vim-destructive'>" . __('Delete Permanently') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2194
					} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2195
						$actions['trash'] = "<a href='$trash_url' class='delete:the-comment-list:comment-$comment->comment_ID::trash=1 delete vim-d vim-destructive' title='" . esc_attr__( 'Move this comment to the trash' ) . "'>" . _x('Trash', 'verb') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2196
					}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2197
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2198
					if ( 'trash' != $the_comment_status ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2199
						$actions['edit'] = "<a href='comment.php?action=editcomment&amp;c={$comment->comment_ID}' title='" . esc_attr__('Edit comment') . "'>". __('Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2200
						$actions['quickedit'] = '<a onclick="commentReply.open(\''.$comment->comment_ID.'\',\''.$post->ID.'\',\'edit\');return false;" class="vim-q" title="'.esc_attr__('Quick Edit').'" href="#">' . __('Quick&nbsp;Edit') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2201
						if ( 'spam' != $the_comment_status )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2202
							$actions['reply'] = '<a onclick="commentReply.open(\''.$comment->comment_ID.'\',\''.$post->ID.'\');return false;" class="vim-r" title="'.esc_attr__('Reply to this comment').'" href="#">' . __('Reply') . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2203
					}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2204
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2205
					$actions = apply_filters( 'comment_row_actions', array_filter($actions), $comment );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2206
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2207
					$i = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2208
					echo '<div class="row-actions">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2209
					foreach ( $actions as $action => $link ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2210
						++$i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2211
						( ( ('approve' == $action || 'unapprove' == $action) && 2 === $i ) || 1 === $i ) ? $sep = '' : $sep = ' | ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2212
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2213
						// Reply and quickedit need a hide-if-no-js span when not added with ajax
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2214
						if ( ('reply' == $action || 'quickedit' == $action) && ! $from_ajax )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2215
							$action .= ' hide-if-no-js';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2216
						elseif ( ($action == 'untrash' && $the_comment_status == 'trash') || ($action == 'unspam' && $the_comment_status == 'spam') ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2217
							if ('1' == get_comment_meta($comment_id, '_wp_trash_meta_status', true))
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2218
								$action .= ' approve';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2219
							else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2220
								$action .= ' unapprove';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2221
						}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2222
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2223
						echo "<span class='$action'>$sep$link</span>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2224
					}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2225
					echo '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2226
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2227
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2228
				echo '</td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2229
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2230
			case 'author':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2231
				echo "<td $attributes><strong>"; comment_author(); echo '</strong><br />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2232
				if ( !empty($author_url) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2233
					echo "<a title='$author_url' href='$author_url'>$author_url_display</a><br />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2234
				if ( $user_can ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2235
					if ( !empty($comment->comment_author_email) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2236
						comment_author_email_link();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2237
						echo '<br />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2238
					}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2239
					echo '<a href="edit-comments.php?s=';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2240
					comment_author_IP();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2241
					echo '&amp;mode=detail';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2242
					if ( 'spam' == $comment_status )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2243
						echo '&amp;comment_status=spam';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2244
					echo '">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2245
					comment_author_IP();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2246
					echo '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2247
				} //current_user_can
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2248
				echo '</td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2249
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2250
			case 'date':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2251
				echo "<td $attributes>" . get_comment_date(__('Y/m/d \a\t g:ia')) . '</td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2252
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2253
			case 'response':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2254
				if ( 'single' !== $mode ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2255
					if ( isset( $_comment_pending_count[$post->ID] ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2256
						$pending_comments = absint( $_comment_pending_count[$post->ID] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2257
					} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2258
						$_comment_pending_count_temp = (array) get_pending_comments_num( array( $post->ID ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2259
						$pending_comments = $_comment_pending_count[$post->ID] = $_comment_pending_count_temp[$post->ID];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2260
					}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2261
					if ( $user_can ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2262
						$post_link = "<a href='" . get_edit_post_link($post->ID) . "'>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2263
						$post_link .= get_the_title($post->ID) . '</a>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2264
					} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2265
						$post_link = get_the_title($post->ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2266
					}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2267
					echo "<td $attributes>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2268
					echo '<div class="response-links"><span class="post-com-count-wrapper">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2269
					echo $post_link . '<br />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2270
					$pending_phrase = esc_attr(sprintf( __('%s pending'), number_format( $pending_comments ) ));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2271
					if ( $pending_comments )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2272
						echo '<strong>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2273
					comments_number("<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('0', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('1', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link: % will be substituted by comment count */ _x('%', 'comment count') . '</span></a>');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2274
					if ( $pending_comments )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2275
						echo '</strong>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2276
					echo '</span> ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2277
					echo "<a href='" . get_permalink( $post->ID ) . "'>#</a>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2278
					echo '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2279
					if ( 'attachment' == $post->post_type && ( $thumb = wp_get_attachment_image( $post->ID, array(80, 60), true ) ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2280
						echo $thumb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2281
					echo '</td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2282
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2283
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2284
			default:
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2285
				echo "<td $attributes>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2286
				do_action( 'manage_comments_custom_column', $column_name, $comment->comment_ID );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2287
				echo "</td>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2288
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2289
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2290
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2291
	echo "</tr>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2292
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2293
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2294
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2295
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2296
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2297
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2298
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2299
 * @param unknown_type $position
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2300
 * @param unknown_type $checkbox
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2301
 * @param unknown_type $mode
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2302
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2303
function wp_comment_reply($position = '1', $checkbox = false, $mode = 'single', $table_row = true) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2304
	global $current_user;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2305
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2306
	// allow plugin to replace the popup content
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2307
	$content = apply_filters( 'wp_comment_reply', '', array('position' => $position, 'checkbox' => $checkbox, 'mode' => $mode) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2308
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2309
	if ( ! empty($content) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2310
		echo $content;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2311
		return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2312
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2313
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2314
	$columns = get_column_headers('edit-comments');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2315
	$hidden = array_intersect( array_keys( $columns ), array_filter( get_hidden_columns('edit-comments') ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2316
	$col_count = count($columns) - count($hidden);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2317
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2318
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2319
<form method="get" action="">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2320
<?php if ( $table_row ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2321
<table style="display:none;"><tbody id="com-reply"><tr id="replyrow" style="display:none;"><td colspan="<?php echo $col_count; ?>">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2322
<?php else : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2323
<div id="com-reply" style="display:none;"><div id="replyrow" style="display:none;">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2324
<?php endif; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2325
	<div id="replyhead" style="display:none;"><?php _e('Reply to Comment'); ?></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2326
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2327
	<div id="edithead" style="display:none;">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2328
		<div class="inside">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2329
		<label for="author"><?php _e('Name') ?></label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2330
		<input type="text" name="newcomment_author" size="50" value="" tabindex="101" id="author" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2331
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2332
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2333
		<div class="inside">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2334
		<label for="author-email"><?php _e('E-mail') ?></label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2335
		<input type="text" name="newcomment_author_email" size="50" value="" tabindex="102" id="author-email" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2336
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2337
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2338
		<div class="inside">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2339
		<label for="author-url"><?php _e('URL') ?></label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2340
		<input type="text" id="author-url" name="newcomment_author_url" size="103" value="" tabindex="103" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2341
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2342
		<div style="clear:both;"></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2343
	</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2344
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2345
	<div id="replycontainer"><textarea rows="8" cols="40" name="replycontent" tabindex="104" id="replycontent"></textarea></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2346
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2347
	<p id="replysubmit" class="submit">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2348
	<a href="#comments-form" class="cancel button-secondary alignleft" tabindex="106"><?php _e('Cancel'); ?></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2349
	<a href="#comments-form" class="save button-primary alignright" tabindex="104">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2350
	<span id="savebtn" style="display:none;"><?php _e('Update Comment'); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2351
	<span id="replybtn" style="display:none;"><?php _e('Submit Reply'); ?></span></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2352
	<img class="waiting" style="display:none;" src="images/wpspin_light.gif" alt="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2353
	<span class="error" style="display:none;"></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2354
	<br class="clear" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2355
	</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2356
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2357
	<input type="hidden" name="user_ID" id="user_ID" value="<?php echo $current_user->ID; ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2358
	<input type="hidden" name="action" id="action" value="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2359
	<input type="hidden" name="comment_ID" id="comment_ID" value="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2360
	<input type="hidden" name="comment_post_ID" id="comment_post_ID" value="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2361
	<input type="hidden" name="status" id="status" value="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2362
	<input type="hidden" name="position" id="position" value="<?php echo $position; ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2363
	<input type="hidden" name="checkbox" id="checkbox" value="<?php echo $checkbox ? 1 : 0; ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2364
	<input type="hidden" name="mode" id="mode" value="<?php echo esc_attr($mode); ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2365
	<?php wp_nonce_field( 'replyto-comment', '_ajax_nonce', false ); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2366
	<?php wp_comment_form_unfiltered_html_nonce(); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2367
<?php if ( $table_row ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2368
</td></tr></tbody></table>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2369
<?php else : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2370
</div></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2371
<?php endif; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2372
</form>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2373
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2374
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2375
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2376
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2377
 * Output 'undo move to trash' text for comments
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2378
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2379
 * @since 2.9.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2380
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2381
function wp_comment_trashnotice() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2382
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2383
<div class="hidden" id="trash-undo-holder">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2384
	<div class="trash-undo-inside"><?php printf(__('Comment by %s moved to the trash.'), '<strong></strong>'); ?> <span class="undo untrash"><a href="#"><?php _e('Undo'); ?></a></span></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2385
</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2386
<div class="hidden" id="spam-undo-holder">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2387
	<div class="spam-undo-inside"><?php printf(__('Comment by %s marked as spam.'), '<strong></strong>'); ?> <span class="undo unspam"><a href="#"><?php _e('Undo'); ?></a></span></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2388
</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2389
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2390
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2391
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2392
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2393
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2394
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2395
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2396
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2397
 * @param unknown_type $currentcat
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2398
 * @param unknown_type $currentparent
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2399
 * @param unknown_type $parent
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2400
 * @param unknown_type $level
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2401
 * @param unknown_type $categories
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2402
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2403
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2404
function wp_dropdown_cats( $currentcat = 0, $currentparent = 0, $parent = 0, $level = 0, $categories = 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2405
	if (!$categories )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2406
		$categories = get_categories( array('hide_empty' => 0) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2407
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2408
	if ( $categories ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2409
		foreach ( $categories as $category ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2410
			if ( $currentcat != $category->term_id && $parent == $category->parent) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2411
				$pad = str_repeat( '&#8211; ', $level );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2412
				$category->name = esc_html( $category->name );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2413
				echo "\n\t<option value='$category->term_id'";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2414
				if ( $currentparent == $category->term_id )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2415
					echo " selected='selected'";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2416
				echo ">$pad$category->name</option>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2417
				wp_dropdown_cats( $currentcat, $currentparent, $category->term_id, $level +1, $categories );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2418
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2419
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2420
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2421
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2422
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2423
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2424
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2425
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2426
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2427
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2428
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2429
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2430
 * @param unknown_type $meta
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2431
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2432
function list_meta( $meta ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2433
	// Exit if no meta
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2434
	if ( ! $meta ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2435
		echo '
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2436
<table id="list-table" style="display: none;">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2437
	<thead>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2438
	<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2439
		<th class="left">' . __( 'Name' ) . '</th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2440
		<th>' . __( 'Value' ) . '</th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2441
	</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2442
	</thead>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2443
	<tbody id="the-list" class="list:meta">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2444
	<tr><td></td></tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2445
	</tbody>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2446
</table>'; //TBODY needed for list-manipulation JS
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2447
		return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2448
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2449
	$count = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2450
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2451
<table id="list-table">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2452
	<thead>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2453
	<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2454
		<th class="left"><?php _e( 'Name' ) ?></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2455
		<th><?php _e( 'Value' ) ?></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2456
	</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2457
	</thead>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2458
	<tbody id='the-list' class='list:meta'>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2459
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2460
	foreach ( $meta as $entry )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2461
		echo _list_meta_row( $entry, $count );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2462
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2463
	</tbody>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2464
</table>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2465
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2466
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2467
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2468
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2469
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2470
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2471
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2472
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2473
 * @param unknown_type $entry
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2474
 * @param unknown_type $count
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2475
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2476
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2477
function _list_meta_row( $entry, &$count ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2478
	static $update_nonce = false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2479
	if ( !$update_nonce )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2480
		$update_nonce = wp_create_nonce( 'add-meta' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2481
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2482
	$r = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2483
	++ $count;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2484
	if ( $count % 2 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2485
		$style = 'alternate';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2486
	else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2487
		$style = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2488
	if ('_' == $entry['meta_key'] { 0 } )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2489
		$style .= ' hidden';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2490
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2491
	if ( is_serialized( $entry['meta_value'] ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2492
		if ( is_serialized_string( $entry['meta_value'] ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2493
			// this is a serialized string, so we should display it
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2494
			$entry['meta_value'] = maybe_unserialize( $entry['meta_value'] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2495
		} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2496
			// this is a serialized array/object so we should NOT display it
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2497
			--$count;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2498
			return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2499
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2500
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2501
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2502
	$entry['meta_key'] = esc_attr($entry['meta_key']);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2503
	$entry['meta_value'] = htmlspecialchars($entry['meta_value']); // using a <textarea />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2504
	$entry['meta_id'] = (int) $entry['meta_id'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2505
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2506
	$delete_nonce = wp_create_nonce( 'delete-meta_' . $entry['meta_id'] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2507
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2508
	$r .= "\n\t<tr id='meta-{$entry['meta_id']}' class='$style'>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2509
	$r .= "\n\t\t<td class='left'><label class='screen-reader-text' for='meta[{$entry['meta_id']}][key]'>" . __( 'Key' ) . "</label><input name='meta[{$entry['meta_id']}][key]' id='meta[{$entry['meta_id']}][key]' tabindex='6' type='text' size='20' value='{$entry['meta_key']}' />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2510
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2511
	$r .= "\n\t\t<div class='submit'><input name='deletemeta[{$entry['meta_id']}]' type='submit' ";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2512
	$r .= "class='delete:the-list:meta-{$entry['meta_id']}::_ajax_nonce=$delete_nonce deletemeta' tabindex='6' value='". esc_attr__( 'Delete' ) ."' />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2513
	$r .= "\n\t\t<input name='updatemeta' type='submit' tabindex='6' value='". esc_attr__( 'Update' ) ."' class='add:the-list:meta-{$entry['meta_id']}::_ajax_nonce=$update_nonce updatemeta' /></div>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2514
	$r .= wp_nonce_field( 'change-meta', '_ajax_nonce', false, false );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2515
	$r .= "</td>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2516
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2517
	$r .= "\n\t\t<td><label class='screen-reader-text' for='meta[{$entry['meta_id']}][value]'>" . __( 'Value' ) . "</label><textarea name='meta[{$entry['meta_id']}][value]' id='meta[{$entry['meta_id']}][value]' tabindex='6' rows='2' cols='30'>{$entry['meta_value']}</textarea></td>\n\t</tr>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2518
	return $r;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2519
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2520
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2521
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2522
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2523
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2524
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2525
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2526
function meta_form() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2527
	global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2528
	$limit = (int) apply_filters( 'postmeta_form_limit', 30 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2529
	$keys = $wpdb->get_col( "
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2530
		SELECT meta_key
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2531
		FROM $wpdb->postmeta
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2532
		GROUP BY meta_key
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2533
		HAVING meta_key NOT LIKE '\_%'
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2534
		ORDER BY LOWER(meta_key)
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2535
		LIMIT $limit" );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2536
	if ( $keys )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2537
		natcasesort($keys);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2538
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2539
<p><strong><?php _e( 'Add new custom field:' ) ?></strong></p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2540
<table id="newmeta">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2541
<thead>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2542
<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2543
<th class="left"><label for="metakeyselect"><?php _e( 'Name' ) ?></label></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2544
<th><label for="metavalue"><?php _e( 'Value' ) ?></label></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2545
</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2546
</thead>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2547
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2548
<tbody>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2549
<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2550
<td id="newmetaleft" class="left">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2551
<?php if ( $keys ) { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2552
<select id="metakeyselect" name="metakeyselect" tabindex="7">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2553
<option value="#NONE#"><?php _e( '- Select -' ); ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2554
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2555
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2556
	foreach ( $keys as $key ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2557
		$key = esc_attr( $key );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2558
		echo "\n<option value='" . esc_attr($key) . "'>$key</option>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2559
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2560
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2561
</select>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2562
<input class="hide-if-js" type="text" id="metakeyinput" name="metakeyinput" tabindex="7" value="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2563
<a href="#postcustomstuff" class="hide-if-no-js" onclick="jQuery('#metakeyinput, #metakeyselect, #enternew, #cancelnew').toggle();return false;">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2564
<span id="enternew"><?php _e('Enter new'); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2565
<span id="cancelnew" class="hidden"><?php _e('Cancel'); ?></span></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2566
<?php } else { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2567
<input type="text" id="metakeyinput" name="metakeyinput" tabindex="7" value="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2568
<?php } ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2569
</td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2570
<td><textarea id="metavalue" name="metavalue" rows="2" cols="25" tabindex="8"></textarea></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2571
</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2572
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2573
<tr><td colspan="2" class="submit">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2574
<input type="submit" id="addmetasub" name="addmeta" class="add:the-list:newmeta" tabindex="9" value="<?php esc_attr_e( 'Add Custom Field' ) ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2575
<?php wp_nonce_field( 'add-meta', '_ajax_nonce', false ); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2576
</td></tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2577
</tbody>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2578
</table>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2579
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2580
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2581
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2582
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2583
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2584
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2585
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2586
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2587
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2588
 * @param unknown_type $edit
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2589
 * @param unknown_type $for_post
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2590
 * @param unknown_type $tab_index
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2591
 * @param unknown_type $multi
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2592
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2593
function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2594
	global $wp_locale, $post, $comment;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2595
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2596
	if ( $for_post )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2597
		$edit = ( in_array($post->post_status, array('draft', 'pending') ) && (!$post->post_date_gmt || '0000-00-00 00:00:00' == $post->post_date_gmt ) ) ? false : true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2598
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2599
	$tab_index_attribute = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2600
	if ( (int) $tab_index > 0 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2601
		$tab_index_attribute = " tabindex=\"$tab_index\"";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2602
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2603
	// echo '<label for="timestamp" style="display: block;"><input type="checkbox" class="checkbox" name="edit_date" value="1" id="timestamp"'.$tab_index_attribute.' /> '.__( 'Edit timestamp' ).'</label><br />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2604
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2605
	$time_adj = time() + (get_option( 'gmt_offset' ) * 3600 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2606
	$post_date = ($for_post) ? $post->post_date : $comment->comment_date;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2607
	$jj = ($edit) ? mysql2date( 'd', $post_date, false ) : gmdate( 'd', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2608
	$mm = ($edit) ? mysql2date( 'm', $post_date, false ) : gmdate( 'm', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2609
	$aa = ($edit) ? mysql2date( 'Y', $post_date, false ) : gmdate( 'Y', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2610
	$hh = ($edit) ? mysql2date( 'H', $post_date, false ) : gmdate( 'H', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2611
	$mn = ($edit) ? mysql2date( 'i', $post_date, false ) : gmdate( 'i', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2612
	$ss = ($edit) ? mysql2date( 's', $post_date, false ) : gmdate( 's', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2613
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2614
	$cur_jj = gmdate( 'd', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2615
	$cur_mm = gmdate( 'm', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2616
	$cur_aa = gmdate( 'Y', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2617
	$cur_hh = gmdate( 'H', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2618
	$cur_mn = gmdate( 'i', $time_adj );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2619
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2620
	$month = "<select " . ( $multi ? '' : 'id="mm" ' ) . "name=\"mm\"$tab_index_attribute>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2621
	for ( $i = 1; $i < 13; $i = $i +1 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2622
		$month .= "\t\t\t" . '<option value="' . zeroise($i, 2) . '"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2623
		if ( $i == $mm )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2624
			$month .= ' selected="selected"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2625
		$month .= '>' . $wp_locale->get_month_abbrev( $wp_locale->get_month( $i ) ) . "</option>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2626
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2627
	$month .= '</select>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2628
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2629
	$day = '<input type="text" ' . ( $multi ? '' : 'id="jj" ' ) . 'name="jj" value="' . $jj . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2630
	$year = '<input type="text" ' . ( $multi ? '' : 'id="aa" ' ) . 'name="aa" value="' . $aa . '" size="4" maxlength="4"' . $tab_index_attribute . ' autocomplete="off" />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2631
	$hour = '<input type="text" ' . ( $multi ? '' : 'id="hh" ' ) . 'name="hh" value="' . $hh . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2632
	$minute = '<input type="text" ' . ( $multi ? '' : 'id="mn" ' ) . 'name="mn" value="' . $mn . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2633
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2634
	echo '<div class="timestamp-wrap">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2635
	/* translators: 1: month input, 2: day input, 3: year input, 4: hour input, 5: minute input */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2636
	printf(__('%1$s%2$s, %3$s @ %4$s : %5$s'), $month, $day, $year, $hour, $minute);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2637
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2638
	echo '</div><input type="hidden" id="ss" name="ss" value="' . $ss . '" />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2639
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2640
	if ( $multi ) return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2641
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2642
	echo "\n\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2643
	foreach ( array('mm', 'jj', 'aa', 'hh', 'mn') as $timeunit ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2644
		echo '<input type="hidden" id="hidden_' . $timeunit . '" name="hidden_' . $timeunit . '" value="' . $$timeunit . '" />' . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2645
		$cur_timeunit = 'cur_' . $timeunit;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2646
		echo '<input type="hidden" id="'. $cur_timeunit . '" name="'. $cur_timeunit . '" value="' . $$cur_timeunit . '" />' . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2647
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2648
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2649
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2650
<p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2651
<a href="#edit_timestamp" class="save-timestamp hide-if-no-js button"><?php _e('OK'); ?></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2652
<a href="#edit_timestamp" class="cancel-timestamp hide-if-no-js"><?php _e('Cancel'); ?></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2653
</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2654
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2655
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2656
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2657
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2658
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2659
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2660
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2661
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2662
 * @param unknown_type $default
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2663
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2664
function page_template_dropdown( $default = '' ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2665
	$templates = get_page_templates();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2666
	ksort( $templates );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2667
	foreach (array_keys( $templates ) as $template )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2668
		: if ( $default == $templates[$template] )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2669
			$selected = " selected='selected'";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2670
		else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2671
			$selected = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2672
	echo "\n\t<option value='".$templates[$template]."' $selected>$template</option>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2673
	endforeach;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2674
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2675
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2676
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2677
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2678
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2679
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2680
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2681
 * @param unknown_type $default
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2682
 * @param unknown_type $parent
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2683
 * @param unknown_type $level
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2684
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2685
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2686
function parent_dropdown( $default = 0, $parent = 0, $level = 0 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2687
	global $wpdb, $post_ID;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2688
	$items = $wpdb->get_results( $wpdb->prepare("SELECT ID, post_parent, post_title FROM $wpdb->posts WHERE post_parent = %d AND post_type = 'page' ORDER BY menu_order", $parent) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2689
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2690
	if ( $items ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2691
		foreach ( $items as $item ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2692
			// A page cannot be its own parent.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2693
			if (!empty ( $post_ID ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2694
				if ( $item->ID == $post_ID ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2695
					continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2696
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2697
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2698
			$pad = str_repeat( '&nbsp;', $level * 3 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2699
			if ( $item->ID == $default)
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2700
				$current = ' selected="selected"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2701
			else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2702
				$current = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2703
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2704
			echo "\n\t<option class='level-$level' value='$item->ID'$current>$pad " . esc_html($item->post_title) . "</option>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2705
			parent_dropdown( $default, $item->ID, $level +1 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2706
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2707
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2708
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2709
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2710
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2711
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2712
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2713
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2714
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2715
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2716
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2717
function browse_happy() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2718
	$getit = __( 'WordPress recommends a better browser' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2719
	echo '
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2720
		<div id="bh"><a href="http://browsehappy.com/" title="'.$getit.'"><img src="images/browse-happy.gif" alt="Browse Happy" /></a></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2721
';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2722
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2723
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2724
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2725
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2726
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2727
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2728
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2729
 * @param unknown_type $id
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2730
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2731
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2732
function the_attachment_links( $id = false ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2733
	$id = (int) $id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2734
	$post = & get_post( $id );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2735
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2736
	if ( $post->post_type != 'attachment' )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2737
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2738
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2739
	$icon = get_attachment_icon( $post->ID );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2740
	$attachment_data = wp_get_attachment_metadata( $id );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2741
	$thumb = isset( $attachment_data['thumb'] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2742
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2743
<form id="the-attachment-links">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2744
<table>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2745
	<col />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2746
	<col class="widefat" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2747
	<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2748
		<th scope="row"><?php _e( 'URL' ) ?></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2749
		<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><?php echo wp_get_attachment_url(); ?></textarea></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2750
	</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2751
<?php if ( $icon ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2752
	<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2753
		<th scope="row"><?php $thumb ? _e( 'Thumbnail linked to file' ) : _e( 'Image linked to file' ); ?></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2754
		<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo wp_get_attachment_url(); ?>"><?php echo $icon ?></a></textarea></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2755
	</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2756
	<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2757
		<th scope="row"><?php $thumb ? _e( 'Thumbnail linked to page' ) : _e( 'Image linked to page' ); ?></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2758
		<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link( $post->ID ) ?>" rel="attachment wp-att-<?php echo $post->ID; ?>"><?php echo $icon ?></a></textarea></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2759
	</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2760
<?php else : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2761
	<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2762
		<th scope="row"><?php _e( 'Link to file' ) ?></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2763
		<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo wp_get_attachment_url(); ?>" class="attachmentlink"><?php echo basename( wp_get_attachment_url() ); ?></a></textarea></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2764
	</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2765
	<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2766
		<th scope="row"><?php _e( 'Link to page' ) ?></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2767
		<td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link( $post->ID ) ?>" rel="attachment wp-att-<?php echo $post->ID ?>"><?php the_title(); ?></a></textarea></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2768
	</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2769
<?php endif; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2770
</table>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2771
</form>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2772
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2773
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2774
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2775
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2776
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2777
 * Print out <option> html elements for role selectors based on $wp_roles
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2778
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2779
 * @package WordPress
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2780
 * @subpackage Administration
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2781
 * @since 2.1
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2782
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2783
 * @uses $wp_roles
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2784
 * @param string $default slug for the role that should be already selected
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2785
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2786
function wp_dropdown_roles( $selected = false ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2787
	global $wp_roles;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2788
	$p = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2789
	$r = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2790
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2791
	$editable_roles = get_editable_roles();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2792
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2793
	foreach( $editable_roles as $role => $details ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2794
		$name = translate_user_role($details['name'] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2795
		if ( $selected == $role ) // Make default first in list
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2796
			$p = "\n\t<option selected='selected' value='" . esc_attr($role) . "'>$name</option>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2797
		else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2798
			$r .= "\n\t<option value='" . esc_attr($role) . "'>$name</option>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2799
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2800
	echo $p . $r;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2801
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2802
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2803
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2804
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2805
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2806
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2807
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2808
 * @param unknown_type $size
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2809
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2810
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2811
function wp_convert_hr_to_bytes( $size ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2812
	$size = strtolower($size);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2813
	$bytes = (int) $size;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2814
	if ( strpos($size, 'k') !== false )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2815
		$bytes = intval($size) * 1024;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2816
	elseif ( strpos($size, 'm') !== false )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2817
		$bytes = intval($size) * 1024 * 1024;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2818
	elseif ( strpos($size, 'g') !== false )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2819
		$bytes = intval($size) * 1024 * 1024 * 1024;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2820
	return $bytes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2821
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2822
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2823
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2824
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2825
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2826
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2827
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2828
 * @param unknown_type $bytes
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2829
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2830
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2831
function wp_convert_bytes_to_hr( $bytes ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2832
	$units = array( 0 => 'B', 1 => 'kB', 2 => 'MB', 3 => 'GB' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2833
	$log = log( $bytes, 1024 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2834
	$power = (int) $log;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2835
	$size = pow(1024, $log - $power);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2836
	return $size . $units[$power];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2837
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2838
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2839
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2840
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2841
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2842
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2843
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2844
 * @return unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2845
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2846
function wp_max_upload_size() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2847
	$u_bytes = wp_convert_hr_to_bytes( ini_get( 'upload_max_filesize' ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2848
	$p_bytes = wp_convert_hr_to_bytes( ini_get( 'post_max_size' ) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2849
	$bytes = apply_filters( 'upload_size_limit', min($u_bytes, $p_bytes), $u_bytes, $p_bytes );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2850
	return $bytes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2851
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2852
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2853
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2854
 * Outputs the form used by the importers to accept the data to be imported
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2855
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2856
 * @since 2.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2857
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2858
 * @param string $action The action attribute for the form.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2859
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2860
function wp_import_upload_form( $action ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2861
	$bytes = apply_filters( 'import_upload_size_limit', wp_max_upload_size() );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2862
	$size = wp_convert_bytes_to_hr( $bytes );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2863
	$upload_dir = wp_upload_dir();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2864
	if ( ! empty( $upload_dir['error'] ) ) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2865
		?><div class="error"><p><?php _e('Before you can upload your import file, you will need to fix the following error:'); ?></p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2866
		<p><strong><?php echo $upload_dir['error']; ?></strong></p></div><?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2867
	else :
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2868
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2869
<form enctype="multipart/form-data" id="import-upload-form" method="post" action="<?php echo esc_attr(wp_nonce_url($action, 'import-upload')); ?>">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2870
<p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2871
<label for="upload"><?php _e( 'Choose a file from your computer:' ); ?></label> (<?php printf( __('Maximum size: %s' ), $size ); ?>)
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2872
<input type="file" id="upload" name="import" size="25" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2873
<input type="hidden" name="action" value="save" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2874
<input type="hidden" name="max_file_size" value="<?php echo $bytes; ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2875
</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2876
<p class="submit">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2877
<input type="submit" class="button" value="<?php esc_attr_e( 'Upload file and import' ); ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2878
</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2879
</form>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2880
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2881
	endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2882
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2883
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2884
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2885
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2886
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2887
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2888
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2889
function wp_remember_old_slug() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2890
	global $post;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2891
	$name = esc_attr($post->post_name); // just in case
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2892
	if ( strlen($name) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2893
		echo '<input type="hidden" id="wp-old-slug" name="wp-old-slug" value="' . $name . '" />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2894
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2895
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2896
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2897
 * Add a meta box to an edit form.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2898
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2899
 * @since 2.5.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2900
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2901
 * @param string $id String for use in the 'id' attribute of tags.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2902
 * @param string $title Title of the meta box.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2903
 * @param string $callback Function that fills the box with the desired content. The function should echo its output.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2904
 * @param string $page The type of edit page on which to show the box (post, page, link).
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2905
 * @param string $context The context within the page where the boxes should show ('normal', 'advanced').
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2906
 * @param string $priority The priority within the context where the boxes should show ('high', 'low').
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2907
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2908
function add_meta_box($id, $title, $callback, $page, $context = 'advanced', $priority = 'default', $callback_args=null) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2909
	global $wp_meta_boxes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2910
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2911
	if ( !isset($wp_meta_boxes) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2912
		$wp_meta_boxes = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2913
	if ( !isset($wp_meta_boxes[$page]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2914
		$wp_meta_boxes[$page] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2915
	if ( !isset($wp_meta_boxes[$page][$context]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2916
		$wp_meta_boxes[$page][$context] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2917
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2918
	foreach ( array_keys($wp_meta_boxes[$page]) as $a_context ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2919
	foreach ( array('high', 'core', 'default', 'low') as $a_priority ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2920
		if ( !isset($wp_meta_boxes[$page][$a_context][$a_priority][$id]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2921
			continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2922
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2923
		// If a core box was previously added or removed by a plugin, don't add.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2924
		if ( 'core' == $priority ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2925
			// If core box previously deleted, don't add
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2926
			if ( false === $wp_meta_boxes[$page][$a_context][$a_priority][$id] )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2927
				return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2928
			// If box was added with default priority, give it core priority to maintain sort order
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2929
			if ( 'default' == $a_priority ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2930
				$wp_meta_boxes[$page][$a_context]['core'][$id] = $wp_meta_boxes[$page][$a_context]['default'][$id];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2931
				unset($wp_meta_boxes[$page][$a_context]['default'][$id]);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2932
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2933
			return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2934
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2935
		// If no priority given and id already present, use existing priority
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2936
		if ( empty($priority) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2937
			$priority = $a_priority;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2938
		// else if we're adding to the sorted priortiy, we don't know the title or callback. Glab them from the previously added context/priority.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2939
		} elseif ( 'sorted' == $priority ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2940
			$title = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['title'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2941
			$callback = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['callback'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2942
			$callback_args = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['args'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2943
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2944
		// An id can be in only one priority and one context
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2945
		if ( $priority != $a_priority || $context != $a_context )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2946
			unset($wp_meta_boxes[$page][$a_context][$a_priority][$id]);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2947
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2948
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2949
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2950
	if ( empty($priority) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2951
		$priority = 'low';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2952
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2953
	if ( !isset($wp_meta_boxes[$page][$context][$priority]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2954
		$wp_meta_boxes[$page][$context][$priority] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2955
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2956
	$wp_meta_boxes[$page][$context][$priority][$id] = array('id' => $id, 'title' => $title, 'callback' => $callback, 'args' => $callback_args);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2957
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2958
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2959
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2960
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2961
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2962
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2963
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2964
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2965
 * @param unknown_type $context
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2966
 * @param unknown_type $object
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2967
 * @return int number of meta_boxes
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2968
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2969
function do_meta_boxes($page, $context, $object) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2970
	global $wp_meta_boxes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2971
	static $already_sorted = false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2972
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2973
	//do_action('do_meta_boxes', $page, $context, $object);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2974
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2975
	$hidden = get_hidden_meta_boxes($page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2976
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2977
	echo "<div id='$context-sortables' class='meta-box-sortables'>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2978
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2979
	$i = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2980
	do {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2981
		// Grab the ones the user has manually sorted. Pull them out of their previous context/priority and into the one the user chose
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2982
		if ( !$already_sorted && $sorted = get_user_option( "meta-box-order_$page", 0, false ) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2983
			foreach ( $sorted as $box_context => $ids )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2984
				foreach ( explode(',', $ids) as $id )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2985
					if ( $id )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2986
						add_meta_box( $id, null, null, $page, $box_context, 'sorted' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2987
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2988
		$already_sorted = true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2989
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2990
		if ( !isset($wp_meta_boxes) || !isset($wp_meta_boxes[$page]) || !isset($wp_meta_boxes[$page][$context]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2991
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2992
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2993
		foreach ( array('high', 'sorted', 'core', 'default', 'low') as $priority ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2994
			if ( isset($wp_meta_boxes[$page][$context][$priority]) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2995
				foreach ( (array) $wp_meta_boxes[$page][$context][$priority] as $box ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2996
					if ( false == $box || ! $box['title'] )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2997
						continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2998
					$i++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  2999
					$style = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3000
					if ( in_array($box['id'], $hidden) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3001
						$style = 'style="display:none;"';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3002
					echo '<div id="' . $box['id'] . '" class="postbox ' . postbox_classes($box['id'], $page) . '" ' . $style . '>' . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3003
					echo '<div class="handlediv" title="' . __('Click to toggle') . '"><br /></div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3004
					echo "<h3 class='hndle'><span>{$box['title']}</span></h3>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3005
					echo '<div class="inside">' . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3006
					call_user_func($box['callback'], $object, $box);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3007
					echo "</div>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3008
					echo "</div>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3009
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3010
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3011
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3012
	} while(0);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3013
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3014
	echo "</div>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3015
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3016
	return $i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3017
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3018
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3019
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3020
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3021
 * Remove a meta box from an edit form.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3022
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3023
 * @since 2.6.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3024
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3025
 * @param string $id String for use in the 'id' attribute of tags.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3026
 * @param string $page The type of edit page on which to show the box (post, page, link).
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3027
 * @param string $context The context within the page where the boxes should show ('normal', 'advanced').
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3028
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3029
function remove_meta_box($id, $page, $context) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3030
	global $wp_meta_boxes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3031
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3032
	if ( !isset($wp_meta_boxes) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3033
		$wp_meta_boxes = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3034
	if ( !isset($wp_meta_boxes[$page]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3035
		$wp_meta_boxes[$page] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3036
	if ( !isset($wp_meta_boxes[$page][$context]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3037
		$wp_meta_boxes[$page][$context] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3038
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3039
	foreach ( array('high', 'core', 'default', 'low') as $priority )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3040
		$wp_meta_boxes[$page][$context][$priority][$id] = false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3041
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3042
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3043
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3044
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3045
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3046
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3047
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3048
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3049
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3050
function meta_box_prefs($page) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3051
	global $wp_meta_boxes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3052
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3053
	if ( empty($wp_meta_boxes[$page]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3054
		return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3055
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3056
	$hidden = get_hidden_meta_boxes($page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3057
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3058
	foreach ( array_keys($wp_meta_boxes[$page]) as $context ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3059
		foreach ( array_keys($wp_meta_boxes[$page][$context]) as $priority ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3060
			foreach ( $wp_meta_boxes[$page][$context][$priority] as $box ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3061
				if ( false == $box || ! $box['title'] )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3062
					continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3063
				// Submit box cannot be hidden
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3064
				if ( 'submitdiv' == $box['id'] || 'linksubmitdiv' == $box['id'] )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3065
					continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3066
				$box_id = $box['id'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3067
				echo '<label for="' . $box_id . '-hide">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3068
				echo '<input class="hide-postbox-tog" name="' . $box_id . '-hide" type="checkbox" id="' . $box_id . '-hide" value="' . $box_id . '"' . (! in_array($box_id, $hidden) ? ' checked="checked"' : '') . ' />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3069
				echo "{$box['title']}</label>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3070
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3071
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3072
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3073
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3074
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3075
function get_hidden_meta_boxes($page) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3076
	$hidden = (array) get_user_option( "meta-box-hidden_$page", 0, false );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3077
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3078
	// Hide slug boxes by default
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3079
	if ( empty($hidden[0]) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3080
		$hidden = array('slugdiv');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3081
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3082
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3083
	return $hidden;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3084
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3085
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3086
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3087
 * Add a new section to a settings page.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3088
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3089
 * @since 2.7.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3090
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3091
 * @param string $id String for use in the 'id' attribute of tags.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3092
 * @param string $title Title of the section.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3093
 * @param string $callback Function that fills the section with the desired content. The function should echo its output.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3094
 * @param string $page The type of settings page on which to show the section (general, reading, writing, ...).
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3095
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3096
function add_settings_section($id, $title, $callback, $page) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3097
	global $wp_settings_sections;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3098
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3099
	if ( !isset($wp_settings_sections) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3100
		$wp_settings_sections = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3101
	if ( !isset($wp_settings_sections[$page]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3102
		$wp_settings_sections[$page] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3103
	if ( !isset($wp_settings_sections[$page][$id]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3104
		$wp_settings_sections[$page][$id] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3105
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3106
	$wp_settings_sections[$page][$id] = array('id' => $id, 'title' => $title, 'callback' => $callback);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3107
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3108
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3109
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3110
 * Add a new field to a settings page.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3111
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3112
 * @since 2.7.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3113
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3114
 * @param string $id String for use in the 'id' attribute of tags.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3115
 * @param string $title Title of the field.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3116
 * @param string $callback Function that fills the field with the desired content. The function should echo its output.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3117
 * @param string $page The type of settings page on which to show the field (general, reading, writing, ...).
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3118
 * @param string $section The section of the settingss page in which to show the box (default, ...).
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3119
 * @param array $args Additional arguments
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3120
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3121
function add_settings_field($id, $title, $callback, $page, $section = 'default', $args = array()) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3122
	global $wp_settings_fields;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3123
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3124
	if ( !isset($wp_settings_fields) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3125
		$wp_settings_fields = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3126
	if ( !isset($wp_settings_fields[$page]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3127
		$wp_settings_fields[$page] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3128
	if ( !isset($wp_settings_fields[$page][$section]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3129
		$wp_settings_fields[$page][$section] = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3130
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3131
	$wp_settings_fields[$page][$section][$id] = array('id' => $id, 'title' => $title, 'callback' => $callback, 'args' => $args);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3132
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3133
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3134
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3135
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3136
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3137
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3138
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3139
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3140
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3141
function do_settings_sections($page) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3142
	global $wp_settings_sections, $wp_settings_fields;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3143
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3144
	if ( !isset($wp_settings_sections) || !isset($wp_settings_sections[$page]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3145
		return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3146
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3147
	foreach ( (array) $wp_settings_sections[$page] as $section ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3148
		echo "<h3>{$section['title']}</h3>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3149
		call_user_func($section['callback'], $section);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3150
		if ( !isset($wp_settings_fields) || !isset($wp_settings_fields[$page]) || !isset($wp_settings_fields[$page][$section['id']]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3151
			continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3152
		echo '<table class="form-table">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3153
		do_settings_fields($page, $section['id']);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3154
		echo '</table>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3155
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3156
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3157
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3158
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3159
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3160
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3161
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3162
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3163
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3164
 * @param unknown_type $section
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3165
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3166
function do_settings_fields($page, $section) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3167
	global $wp_settings_fields;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3168
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3169
	if ( !isset($wp_settings_fields) || !isset($wp_settings_fields[$page]) || !isset($wp_settings_fields[$page][$section]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3170
		return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3171
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3172
	foreach ( (array) $wp_settings_fields[$page][$section] as $field ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3173
		echo '<tr valign="top">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3174
		if ( !empty($field['args']['label_for']) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3175
			echo '<th scope="row"><label for="' . $field['args']['label_for'] . '">' . $field['title'] . '</label></th>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3176
		else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3177
			echo '<th scope="row">' . $field['title'] . '</th>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3178
		echo '<td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3179
		call_user_func($field['callback'], $field['args']);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3180
		echo '</td>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3181
		echo '</tr>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3182
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3183
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3184
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3185
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3186
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3187
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3188
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3189
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3190
 * @param unknown_type $page
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3191
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3192
function manage_columns_prefs($page) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3193
	$columns = get_column_headers($page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3194
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3195
	$hidden = get_hidden_columns($page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3196
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3197
	foreach ( $columns as $column => $title ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3198
		// Can't hide these
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3199
		if ( 'cb' == $column || 'title' == $column || 'name' == $column || 'username' == $column || 'media' == $column || 'comment' == $column )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3200
			continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3201
		if ( empty($title) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3202
			continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3203
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3204
		if ( 'comments' == $column )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3205
			$title = __('Comments');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3206
		$id = "$column-hide";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3207
		echo '<label for="' . $id . '">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3208
		echo '<input class="hide-column-tog" name="' . $id . '" type="checkbox" id="' . $id . '" value="' . $column . '"' . (! in_array($column, $hidden) ? ' checked="checked"' : '') . ' />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3209
		echo "$title</label>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3210
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3211
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3212
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3213
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3214
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3215
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3216
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3217
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3218
 * @param unknown_type $found_action
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3219
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3220
function find_posts_div($found_action = '') {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3221
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3222
	<div id="find-posts" class="find-box" style="display:none;">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3223
		<div id="find-posts-head" class="find-box-head"><?php _e('Find Posts or Pages'); ?></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3224
		<div class="find-box-inside">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3225
			<div class="find-box-search">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3226
				<?php if ( $found_action ) { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3227
					<input type="hidden" name="found_action" value="<?php echo esc_attr($found_action); ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3228
				<?php } ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3229
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3230
				<input type="hidden" name="affected" id="affected" value="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3231
				<?php wp_nonce_field( 'find-posts', '_ajax_nonce', false ); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3232
				<label class="screen-reader-text" for="find-posts-input"><?php _e( 'Search' ); ?></label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3233
				<input type="text" id="find-posts-input" name="ps" value="" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3234
				<input type="button" onclick="findPosts.send();" value="<?php esc_attr_e( 'Search' ); ?>" class="button" /><br />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3235
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3236
				<input type="radio" name="find-posts-what" id="find-posts-posts" checked="checked" value="posts" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3237
				<label for="find-posts-posts"><?php _e( 'Posts' ); ?></label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3238
				<input type="radio" name="find-posts-what" id="find-posts-pages" value="pages" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3239
				<label for="find-posts-pages"><?php _e( 'Pages' ); ?></label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3240
			</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3241
			<div id="find-posts-response"></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3242
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3243
		<div class="find-box-buttons">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3244
			<input type="button" class="button alignleft" onclick="findPosts.close();" value="<?php esc_attr_e('Close'); ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3245
			<input id="find-posts-submit" type="submit" class="button-primary alignright" value="<?php esc_attr_e('Select'); ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3246
		</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3247
	</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3248
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3249
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3250
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3251
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3252
 * Display the post password.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3253
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3254
 * The password is passed through {@link esc_attr()} to ensure that it
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3255
 * is safe for placing in an html attribute.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3256
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3257
 * @uses attr
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3258
 * @since 2.7.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3259
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3260
function the_post_password() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3261
	global $post;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3262
	if ( isset( $post->post_password ) ) echo esc_attr( $post->post_password );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3263
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3264
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3265
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3266
 * {@internal Missing Short Description}}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3267
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3268
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3269
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3270
function favorite_actions( $screen = null ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3271
	switch ( $screen ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3272
		case 'post-new.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3273
			$default_action = array('edit.php' => array(__('Edit Posts'), 'edit_posts'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3274
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3275
		case 'edit-pages.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3276
			$default_action = array('page-new.php' => array(__('New Page'), 'edit_pages'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3277
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3278
		case 'page-new.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3279
			$default_action = array('edit-pages.php' => array(__('Edit Pages'), 'edit_pages'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3280
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3281
		case 'upload.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3282
			$default_action = array('media-new.php' => array(__('New Media'), 'upload_files'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3283
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3284
		case 'media-new.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3285
			$default_action = array('upload.php' => array(__('Edit Media'), 'upload_files'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3286
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3287
		case 'link-manager.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3288
			$default_action = array('link-add.php' => array(__('New Link'), 'manage_links'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3289
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3290
		case 'link-add.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3291
			$default_action = array('link-manager.php' => array(__('Edit Links'), 'manage_links'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3292
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3293
		case 'users.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3294
			$default_action = array('user-new.php' => array(__('New User'), 'create_users'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3295
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3296
		case 'user-new.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3297
			$default_action = array('users.php' => array(__('Edit Users'), 'edit_users'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3298
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3299
		case 'plugins.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3300
			$default_action = array('plugin-install.php' => array(__('Install Plugins'), 'install_plugins'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3301
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3302
		case 'plugin-install.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3303
			$default_action = array('plugins.php' => array(__('Manage Plugins'), 'activate_plugins'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3304
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3305
		case 'themes.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3306
			$default_action = array('theme-install.php' => array(__('Install Themes'), 'install_themes'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3307
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3308
		case 'theme-install.php':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3309
			$default_action = array('themes.php' => array(__('Manage Themes'), 'switch_themes'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3310
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3311
		default:
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3312
			$default_action = array('post-new.php' => array(__('New Post'), 'edit_posts'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3313
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3314
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3315
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3316
	$actions = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3317
		'post-new.php' => array(__('New Post'), 'edit_posts'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3318
		'edit.php?post_status=draft' => array(__('Drafts'), 'edit_posts'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3319
		'page-new.php' => array(__('New Page'), 'edit_pages'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3320
		'media-new.php' => array(__('Upload'), 'upload_files'),
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3321
		'edit-comments.php' => array(__('Comments'), 'moderate_comments')
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3322
		);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3323
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3324
	$default_key = array_keys($default_action);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3325
	$default_key = $default_key[0];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3326
	if ( isset($actions[$default_key]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3327
		unset($actions[$default_key]);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3328
	$actions = array_merge($default_action, $actions);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3329
	$actions = apply_filters('favorite_actions', $actions);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3330
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3331
	$allowed_actions = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3332
	foreach ( $actions as $action => $data ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3333
		if ( current_user_can($data[1]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3334
			$allowed_actions[$action] = $data[0];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3335
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3336
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3337
	if ( empty($allowed_actions) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3338
		return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3339
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3340
	$first = array_keys($allowed_actions);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3341
	$first = $first[0];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3342
	echo '<div id="favorite-actions">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3343
	echo '<div id="favorite-first"><a href="' . $first . '">' . $allowed_actions[$first] . '</a></div><div id="favorite-toggle"><br /></div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3344
	echo '<div id="favorite-inside">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3345
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3346
	array_shift($allowed_actions);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3347
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3348
	foreach ( $allowed_actions as $action => $label) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3349
		echo "<div class='favorite-action'><a href='$action'>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3350
		echo $label;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3351
		echo "</a></div>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3352
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3353
	echo "</div></div>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3354
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3355
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3356
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3357
 * Get the post title.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3358
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3359
 * The post title is fetched and if it is blank then a default string is
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3360
 * returned.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3361
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3362
 * @since 2.7.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3363
 * @param int $id The post id. If not supplied the global $post is used.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3364
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3365
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3366
function _draft_or_post_title($post_id = 0)
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3367
{
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3368
	$title = get_the_title($post_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3369
	if ( empty($title) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3370
		$title = __('(no title)');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3371
	return $title;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3372
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3373
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3374
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3375
 * Display the search query.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3376
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3377
 * A simple wrapper to display the "s" parameter in a GET URI. This function
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3378
 * should only be used when {@link the_search_query()} cannot.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3379
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3380
 * @uses attr
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3381
 * @since 2.7.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3382
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3383
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3384
function _admin_search_query() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3385
	echo isset($_GET['s']) ? esc_attr( stripslashes( $_GET['s'] ) ) : '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3386
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3387
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3388
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3389
 * Generic Iframe header for use with Thickbox
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3390
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3391
 * @since 2.7.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3392
 * @param string $title Title of the Iframe page.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3393
 * @param bool $limit_styles Limit styles to colour-related styles only (unless others are enqueued).
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3394
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3395
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3396
function iframe_header( $title = '', $limit_styles = false ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3397
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3398
<html xmlns="http://www.w3.org/1999/xhtml" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3399
<head>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3400
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3401
<title><?php bloginfo('name') ?> &rsaquo; <?php echo $title ?> &#8212; <?php _e('WordPress'); ?></title>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3402
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3403
wp_enqueue_style( 'global' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3404
if ( ! $limit_styles )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3405
	wp_enqueue_style( 'wp-admin' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3406
wp_enqueue_style( 'colors' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3407
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3408
<script type="text/javascript">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3409
//<![CDATA[
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3410
addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3411
function tb_close(){var win=window.dialogArguments||opener||parent||top;win.tb_remove();}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3412
//]]>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3413
</script>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3414
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3415
do_action('admin_print_styles');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3416
do_action('admin_print_scripts');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3417
do_action('admin_head');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3418
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3419
</head>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3420
<body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?>>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3421
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3422
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3423
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3424
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3425
 * Generic Iframe footer for use with Thickbox
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3426
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3427
 * @since 2.7.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3428
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3429
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3430
function iframe_footer() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3431
	//We're going to hide any footer output on iframe pages, but run the hooks anyway since they output Javascript or other needed content. ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3432
	<div class="hidden">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3433
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3434
	do_action('admin_footer', '');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3435
	do_action('admin_print_footer_scripts'); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3436
	</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3437
<script type="text/javascript">if(typeof wpOnload=="function")wpOnload();</script>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3438
</body>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3439
</html>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3440
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3441
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3442
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3443
function _post_states($post) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3444
	$post_states = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3445
	if ( isset($_GET['post_status']) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3446
		$post_status = $_GET['post_status'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3447
	else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3448
		$post_status = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3449
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3450
	if ( !empty($post->post_password) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3451
		$post_states[] = __('Password protected');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3452
	if ( 'private' == $post->post_status && 'private' != $post_status )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3453
		$post_states[] = __('Private');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3454
	if ( 'draft' == $post->post_status && 'draft' != $post_status )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3455
		$post_states[] = __('Draft');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3456
	if ( 'pending' == $post->post_status && 'pending' != $post_status )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3457
		/* translators: post state */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3458
		$post_states[] = _x('Pending', 'post state');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3459
	if ( is_sticky($post->ID) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3460
		$post_states[] = __('Sticky');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3461
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3462
	$post_states = apply_filters( 'display_post_states', $post_states );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3463
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3464
	if ( ! empty($post_states) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3465
		$state_count = count($post_states);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3466
		$i = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3467
		echo ' - ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3468
		foreach ( $post_states as $state ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3469
			++$i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3470
			( $i == $state_count ) ? $sep = '' : $sep = ', ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3471
			echo "<span class='post-state'>$state$sep</span>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3472
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3473
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3474
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3475
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3476
function screen_meta($screen) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3477
	global $wp_meta_boxes, $_wp_contextual_help;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3478
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3479
	$screen = str_replace('.php', '', $screen);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3480
	$screen = str_replace('-new', '', $screen);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3481
	$screen = str_replace('-add', '', $screen);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3482
	$screen = apply_filters('screen_meta_screen', $screen);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3483
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3484
	$column_screens = get_column_headers($screen);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3485
	$meta_screens = array('index' => 'dashboard');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3486
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3487
	if ( isset($meta_screens[$screen]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3488
		$screen = $meta_screens[$screen];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3489
	$show_screen = false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3490
	$show_on_screen = false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3491
	if ( !empty($wp_meta_boxes[$screen]) || !empty($column_screens) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3492
		$show_screen = true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3493
		$show_on_screen = true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3494
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3495
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3496
	$screen_options = screen_options($screen);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3497
	if ( $screen_options )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3498
		$show_screen = true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3499
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3500
	if ( !isset($_wp_contextual_help) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3501
		$_wp_contextual_help = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3502
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3503
	$settings = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3504
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3505
	switch ( $screen ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3506
		case 'post':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3507
			if ( !isset($_wp_contextual_help['post']) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3508
				$help = drag_drop_help();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3509
				$help .= '<p>' . __('<a href="http://codex.wordpress.org/Writing_Posts" target="_blank">Writing Posts</a>') . '</p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3510
				$_wp_contextual_help['post'] = $help;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3511
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3512
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3513
		case 'page':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3514
			if ( !isset($_wp_contextual_help['page']) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3515
				$help = drag_drop_help();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3516
				$_wp_contextual_help['page'] = $help;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3517
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3518
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3519
		case 'dashboard':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3520
			if ( !isset($_wp_contextual_help['dashboard']) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3521
				$help = '<p>' . __('The modules on this screen can be arranged in several columns. You can select the number of columns from the Screen Options tab.') . "</p>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3522
				$help .= drag_drop_help();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3523
				$_wp_contextual_help['dashboard'] = $help;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3524
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3525
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3526
		case 'link':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3527
			if ( !isset($_wp_contextual_help['link']) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3528
				$help = drag_drop_help();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3529
				$_wp_contextual_help['link'] = $help;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3530
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3531
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3532
		case 'options-general':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3533
			if ( !isset($_wp_contextual_help['options-general']) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3534
				$_wp_contextual_help['options-general'] = __('<a href="http://codex.wordpress.org/Settings_General_SubPanel" target="_blank">General Settings</a>');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3535
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3536
		case 'theme-install':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3537
		case 'plugin-install':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3538
			if ( ( !isset($_GET['tab']) || 'dashboard' == $_GET['tab'] ) && !isset($_wp_contextual_help[$screen]) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3539
				$help = plugins_search_help();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3540
				$_wp_contextual_help[$screen] = $help;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3541
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3542
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3543
		case 'widgets':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3544
			if ( !isset($_wp_contextual_help['widgets']) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3545
				$help = widgets_help();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3546
				$_wp_contextual_help['widgets'] = $help;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3547
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3548
			$settings = '<p><a id="access-on" href="widgets.php?widgets-access=on">' . __('Enable accessibility mode') . '</a><a id="access-off" href="widgets.php?widgets-access=off">' . __('Disable accessibility mode') . "</a></p>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3549
			$show_screen = true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3550
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3551
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3552
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3553
<div id="screen-meta">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3554
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3555
	if ( $show_screen ) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3556
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3557
<div id="screen-options-wrap" class="hidden">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3558
	<form id="adv-settings" action="" method="post">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3559
<?php if ( $show_on_screen ) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3560
	<h5><?php _e('Show on screen') ?></h5>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3561
	<div class="metabox-prefs">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3562
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3563
	if ( !meta_box_prefs($screen) && isset($column_screens) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3564
		manage_columns_prefs($screen);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3565
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3566
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3567
	<br class="clear" />
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3568
	</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3569
<?php endif; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3570
<?php echo screen_layout($screen); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3571
<?php echo $screen_options; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3572
<?php echo $settings; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3573
<div><?php wp_nonce_field( 'screen-options-nonce', 'screenoptionnonce', false ); ?></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3574
</form>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3575
</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3576
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3577
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3578
	endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3579
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3580
	global $title;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3581
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3582
	$_wp_contextual_help = apply_filters('contextual_help_list', $_wp_contextual_help, $screen);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3583
	?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3584
	<div id="contextual-help-wrap" class="hidden">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3585
	<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3586
	$contextual_help = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3587
	if ( isset($_wp_contextual_help[$screen]) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3588
		if ( !empty($title) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3589
			$contextual_help .= '<h5>' . sprintf(__('Get help with &#8220;%s&#8221;'), $title) . '</h5>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3590
		else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3591
			$contextual_help .= '<h5>' . __('Get help with this page') . '</h5>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3592
		$contextual_help .= '<div class="metabox-prefs">' . $_wp_contextual_help[$screen] . "</div>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3593
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3594
		$contextual_help .= '<h5>' . __('Other Help') . '</h5>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3595
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3596
		$contextual_help .= '<h5>' . __('Help') . '</h5>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3597
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3598
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3599
	$contextual_help .= '<div class="metabox-prefs">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3600
	$default_help = __('<a href="http://codex.wordpress.org/" target="_blank">Documentation</a>');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3601
	$default_help .= '<br />';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3602
	$default_help .= __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3603
	$contextual_help .= apply_filters('default_contextual_help', $default_help);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3604
	$contextual_help .= "</div>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3605
	echo apply_filters('contextual_help', $contextual_help, $screen);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3606
	?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3607
	</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3608
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3609
<div id="screen-meta-links">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3610
<div id="contextual-help-link-wrap" class="hide-if-no-js screen-meta-toggle">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3611
<a href="#contextual-help" id="contextual-help-link" class="show-settings"><?php _e('Help') ?></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3612
</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3613
<?php if ( $show_screen ) { ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3614
<div id="screen-options-link-wrap" class="hide-if-no-js screen-meta-toggle">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3615
<a href="#screen-options" id="show-settings-link" class="show-settings"><?php _e('Screen Options') ?></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3616
</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3617
<?php } ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3618
</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3619
</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3620
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3621
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3622
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3623
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3624
 * Add contextual help text for a page
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3625
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3626
 * @since 2.7.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3627
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3628
 * @param string $screen The handle for the screen to add help to.  This is usually the hook name returned by the add_*_page() functions.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3629
 * @param string $help Arbitrary help text
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3630
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3631
function add_contextual_help($screen, $help) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3632
	global $_wp_contextual_help;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3633
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3634
	if ( !isset($_wp_contextual_help) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3635
		$_wp_contextual_help = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3636
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3637
	$_wp_contextual_help[$screen] = $help;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3638
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3639
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3640
function drag_drop_help() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3641
	return '
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3642
	<p>' .	__('Most of the modules on this screen can be moved. If you hover your mouse over the title bar of a module you&rsquo;ll notice the 4 arrow cursor appears to let you know it is movable. Click on it, hold down the mouse button and start dragging the module to a new location. As you drag the module, notice the dotted gray box that also moves. This box indicates where the module will be placed when you release the mouse button.') . '</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3643
	<p>' . __('The same modules can be expanded and collapsed by clicking once on their title bar and also completely hidden from the Screen Options tab.') . '</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3644
';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3645
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3646
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3647
function plugins_search_help() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3648
	return '
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3649
	<p><strong>' . __('Search help') . '</strong></p>' .
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3650
	'<p>' . __('You may search based on 3 criteria:') . '<br />' .
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3651
	__('<strong>Term:</strong> Searches theme names and descriptions for the specified term.') . '<br />' .
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3652
	__('<strong>Tag:</strong> Searches for themes tagged as such.') . '<br />' .
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3653
	__('<strong>Author:</strong> Searches for themes created by the Author, or which the Author contributed to.') . '</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3654
';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3655
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3656
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3657
function widgets_help() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3658
	return '
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3659
	<p>' . __('Widgets are added and arranged by simple drag &#8217;n&#8217; drop. If you hover your mouse over the titlebar of a widget, you&#8217;ll see a 4-arrow cursor which indicates that the widget is movable.  Click on the titlebar, hold down the mouse button and drag the widget to a sidebar. As you drag, you&#8217;ll see a dotted box that also moves. This box shows where the widget will go once you drop it.') . '</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3660
	<p>' . __('To remove a widget from a sidebar, drag it back to Available Widgets or click on the arrow on its titlebar to reveal its settings, and then click Remove.') . '</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3661
	<p>' . __('To remove a widget from a sidebar <em>and keep its configuration</em>, drag it to Inactive Widgets.') . '</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3662
	<p>' . __('The Inactive Widgets area stores widgets that are configured but not curently used. If you change themes and the new theme has fewer sidebars than the old, all extra widgets will be stored to Inactive Widgets automatically.') . '</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3663
';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3664
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3665
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3666
function screen_layout($screen) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3667
	global $screen_layout_columns;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3668
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3669
	$columns = array('dashboard' => 4, 'post' => 2, 'page' => 2, 'link' => 2);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3670
	$columns = apply_filters('screen_layout_columns', $columns, $screen);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3671
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3672
	if ( !isset($columns[$screen]) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3673
		$screen_layout_columns = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3674
		return '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3675
 	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3676
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3677
	$screen_layout_columns = get_user_option("screen_layout_$screen");
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3678
	$num = $columns[$screen];
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3679
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3680
	if ( ! $screen_layout_columns )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3681
			$screen_layout_columns = 2;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3682
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3683
	$i = 1;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3684
	$return = '<h5>' . __('Screen Layout') . "</h5>\n<div class='columns-prefs'>" . __('Number of Columns:') . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3685
	while ( $i <= $num ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3686
		$return .= "<label><input type='radio' name='screen_columns' value='$i'" . ( ($screen_layout_columns == $i) ? " checked='checked'" : "" ) . " /> $i</label>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3687
		++$i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3688
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3689
	$return .= "</div>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3690
	return $return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3691
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3692
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3693
function screen_options($screen) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3694
	switch ( $screen ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3695
		case 'edit':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3696
			$per_page_label = __('Posts per page:');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3697
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3698
		case 'edit-pages':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3699
			$per_page_label = __('Pages per page:');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3700
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3701
		case 'edit-comments':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3702
			$per_page_label = __('Comments per page:');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3703
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3704
		case 'upload':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3705
			$per_page_label = __('Media items per page:');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3706
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3707
		case 'categories':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3708
			$per_page_label = __('Categories per page:');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3709
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3710
		case 'edit-tags':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3711
			$per_page_label = __('Tags per page:');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3712
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3713
		case 'plugins':
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3714
			$per_page_label = __('Plugins per page:');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3715
			break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3716
		default:
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3717
			return '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3718
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3719
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3720
	$option = str_replace( '-', '_', "${screen}_per_page" );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3721
	$per_page = (int) get_user_option( $option, 0, false );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3722
	if ( empty( $per_page ) || $per_page < 1 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3723
		if ( 'plugins' == $screen )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3724
			$per_page = 999;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3725
		else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3726
			$per_page = 20;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3727
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3728
	if ( 'edit_comments_per_page' == $option )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3729
		$per_page = apply_filters( 'comments_per_page', $per_page, isset($_REQUEST['comment_status']) ? $_REQUEST['comment_status'] : 'all' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3730
	elseif ( 'categories' == $option )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3731
		$per_page = apply_filters( 'edit_categories_per_page', $per_page );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3732
	else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3733
		$per_page = apply_filters( $option, $per_page );
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3734
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3735
	$return = '<h5>' . __('Options') . "</h5>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3736
	$return .= "<div class='screen-options'>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3737
	if ( !empty($per_page_label) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3738
		$return .= "<label for='$option'>$per_page_label</label> <input type='text' class='screen-per-page' name='wp_screen_options[value]' id='$option' maxlength='3' value='$per_page' />\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3739
	$return .= "<input type='submit' class='button' value='" . esc_attr__('Apply') . "' />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3740
	$return .= "<input type='hidden' name='wp_screen_options[option]' value='" . esc_attr($option) . "' />";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3741
	$return .= "</div>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3742
	return $return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3743
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3744
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3745
function screen_icon($name = '') {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3746
	global $parent_file, $hook_suffix;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3747
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3748
	if ( empty($name) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3749
		if ( isset($parent_file) && !empty($parent_file) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3750
			$name = substr($parent_file, 0, -4);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3751
		else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3752
			$name = str_replace(array('.php', '-new', '-add'), '', $hook_suffix);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3753
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3754
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3755
	<div id="icon-<?php echo $name; ?>" class="icon32"><br /></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3756
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3757
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3758
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3759
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3760
 * Test support for compressing JavaScript from PHP
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3761
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3762
 * Outputs JavaScript that tests if compression from PHP works as expected
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3763
 * and sets an option with the result. Has no effect when the current user
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3764
 * is not an administrator. To run the test again the option 'can_compress_scripts'
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3765
 * has to be deleted.
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3766
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3767
 * @since 2.8.0
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3768
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3769
function compression_test() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3770
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3771
	<script type="text/javascript">
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3772
	/* <![CDATA[ */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3773
	var testCompression = {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3774
		get : function(test) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3775
			var x;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3776
			if ( window.XMLHttpRequest ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3777
				x = new XMLHttpRequest();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3778
			} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3779
				try{x=new ActiveXObject('Msxml2.XMLHTTP');}catch(e){try{x=new ActiveXObject('Microsoft.XMLHTTP');}catch(e){};}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3780
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3781
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3782
			if (x) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3783
				x.onreadystatechange = function() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3784
					var r, h;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3785
					if ( x.readyState == 4 ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3786
						r = x.responseText.substr(0, 18);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3787
						h = x.getResponseHeader('Content-Encoding');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3788
						testCompression.check(r, h, test);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3789
					}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3790
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3791
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3792
				x.open('GET', 'admin-ajax.php?action=wp-compression-test&test='+test+'&'+(new Date()).getTime(), true);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3793
				x.send('');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3794
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3795
		},
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3796
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3797
		check : function(r, h, test) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3798
			if ( ! r && ! test )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3799
				this.get(1);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3800
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3801
			if ( 1 == test ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3802
				if ( h && ( h.match(/deflate/i) || h.match(/gzip/i) ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3803
					this.get('no');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3804
				else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3805
					this.get(2);
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3806
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3807
				return;
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3808
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3809
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3810
			if ( 2 == test ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3811
				if ( '"wpCompressionTest' == r )
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3812
					this.get('yes');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3813
				else
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3814
					this.get('no');
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3815
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3816
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3817
	};
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3818
	testCompression.check();
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3819
	/* ]]> */
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3820
	</script>
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3821
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3822
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3823
0d28b7c10758 First commit
ymh
parents:
diff changeset
  3824
?>