Wordpress++

This commit is contained in:
nikolark committed 2015-08-22 18:55:55 +02:00
1 parent 790f1487a2
commit 3f49ab1747
610 files changed
+58979 -36562

No files matched your search

+114 -32
View File
@@ -17,6 +17,9 @@ class WP_Plugins_List_Table extends WP_List_Table {
*
* @see WP_List_Table::__construct() for more information on default arguments.
*
* @global string $status
* @global int $page
*
* @param array $args An associative array of arguments.
*/
public function __construct( $args = array() ) {
@@ -37,14 +40,30 @@ class WP_Plugins_List_Table extends WP_List_Table {
$page = $this->get_pagenum();
}
/**
* @return array
*/
protected function get_table_classes() {
return array( 'widefat', $this->_args['plural'] );
}
/**
* @return bool
*/
public function ajax_user_can() {
return current_user_can('activate_plugins');
}
/**
*
* @global string $status
* @global type $plugins
* @global array $totals
* @global int $page
* @global string $orderby
* @global string $order
* @global string $s
*/
public function prepare_items() {
global $status, $plugins, $totals, $page, $orderby, $order, $s;
@@ -180,13 +199,16 @@ class WP_Plugins_List_Table extends WP_List_Table {
$total_this_page = $totals[ $status ];
if ( $orderby ) {
if ( ! $orderby ) {
$orderby = 'Name';
} else {
$orderby = ucfirst( $orderby );
$order = strtoupper( $order );
uasort( $this->items, array( $this, '_order_callback' ) );
}
$order = strtoupper( $order );
uasort( $this->items, array( $this, '_order_callback' ) );
$plugins_per_page = $this->get_items_per_page( str_replace( '-', '_', $screen->id . '_per_page' ), 999 );
$start = ( $page - 1 ) * $plugins_per_page;
@@ -203,10 +225,10 @@ class WP_Plugins_List_Table extends WP_List_Table {
/**
* @staticvar string $term
* @param array $plugin
* @return boolean
* @return bool
*/
public function _search_callback( $plugin ) {
static $term;
static $term = null;
if ( is_null( $term ) )
$term = wp_unslash( $_REQUEST['s'] );
@@ -235,12 +257,17 @@ class WP_Plugins_List_Table extends WP_List_Table {
if ( $a == $b )
return 0;
if ( 'DESC' == $order )
return ( $a < $b ) ? 1 : -1;
else
return ( $a < $b ) ? -1 : 1;
if ( 'DESC' == $order ) {
return strcasecmp( $b, $a );
} else {
return strcasecmp( $a, $b );
}
}
/**
*
* @global array $plugins
*/
public function no_items() {
global $plugins;
@@ -250,6 +277,11 @@ class WP_Plugins_List_Table extends WP_List_Table {
_e( 'You do not appear to have any plugins available at this time.' );
}
/**
*
* @global string $status
* @return array
*/
public function get_columns() {
global $status;
@@ -260,10 +292,19 @@ class WP_Plugins_List_Table extends WP_List_Table {
);
}
/**
* @return array
*/
protected function get_sortable_columns() {
return array();
}
/**
*
* @global array $totals
* @global string $status
* @return array
*/
protected function get_views() {
global $totals, $status;
@@ -308,6 +349,11 @@ class WP_Plugins_List_Table extends WP_List_Table {
return $status_links;
}
/**
*
* @global string $status
* @return array
*/
protected function get_bulk_actions() {
global $status;
@@ -332,7 +378,6 @@ class WP_Plugins_List_Table extends WP_List_Table {
/**
* @global string $status
* @param string $which
* @return null
*/
public function bulk_actions( $which = '' ) {
global $status;
@@ -346,7 +391,6 @@ class WP_Plugins_List_Table extends WP_List_Table {
/**
* @global string $status
* @param string $which
* @return null
*/
protected function extra_tablenav( $which ) {
global $status;
@@ -366,6 +410,9 @@ class WP_Plugins_List_Table extends WP_List_Table {
echo '</div>';
}
/**
* @return string
*/
public function current_action() {
if ( isset($_POST['clear-recent-list']) )
return 'clear-recent-list';
@@ -373,6 +420,10 @@ class WP_Plugins_List_Table extends WP_List_Table {
return parent::current_action();
}
/**
*
* @global string $status
*/
public function display_rows() {
global $status;
@@ -388,6 +439,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
* @global int $page
* @global string $s
* @global array $totals
*
* @param array $item
*/
public function single_row( $item ) {
@@ -421,7 +473,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
$description = '<p><strong>' . $dropins[ $plugin_file ][0] . '</strong></p>';
} else {
$is_active = false;
$description = '<p><strong>' . $dropins[ $plugin_file ][0] . ' <span class="attention">' . __('Inactive:') . '</span></strong> ' . sprintf( __( 'Requires <code>%s</code> in <code>wp-config.php</code>.' ), "define('" . $dropins[ $plugin_file ][1] . "', true);" ) . '</p>';
$description = '<p><strong>' . $dropins[ $plugin_file ][0] . ' <span class="error-message">' . __('Inactive:') . '</span></strong> ' . sprintf( __( 'Requires <code>%s</code> in <code>wp-config.php</code>.' ), "define('" . $dropins[ $plugin_file ][1] . "', true);" ) . '</p>';
}
if ( $plugin_data['Description'] )
$description .= '<p>' . $plugin_data['Description'] . '</p>';
@@ -433,28 +485,40 @@ class WP_Plugins_List_Table extends WP_List_Table {
if ( $screen->in_admin( 'network' ) ) {
if ( $is_active ) {
if ( current_user_can( 'manage_network_plugins' ) )
$actions['deactivate'] = '<a href="' . wp_nonce_url('plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Deactivate this plugin') . '">' . __('Network Deactivate') . '</a>';
if ( current_user_can( 'manage_network_plugins' ) ) {
/* translators: %s: plugin name */
$actions['deactivate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file ) . '" aria-label="' . esc_attr( sprintf( __( 'Network deactivate %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Network Deactivate' ) . '</a>';
}
} else {
if ( current_user_can( 'manage_network_plugins' ) )
$actions['activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin for all sites in this network') . '" class="edit">' . __('Network Activate') . '</a>';
if ( current_user_can( 'delete_plugins' ) && ! is_plugin_active( $plugin_file ) )
$actions['delete'] = '<a href="' . wp_nonce_url('plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins') . '" title="' . esc_attr__('Delete this plugin') . '" class="delete">' . __('Delete') . '</a>';
if ( current_user_can( 'manage_network_plugins' ) ) {
/* translators: %s: plugin name */
$actions['activate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file ) . '" class="edit" aria-label="' . esc_attr( sprintf( __( 'Network Activate %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Network Activate' ) . '</a>';
}
if ( current_user_can( 'delete_plugins' ) && ! is_plugin_active( $plugin_file ) ) {
/* translators: %s: plugin name */
$actions['delete'] = '<a href="' . wp_nonce_url( 'plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins' ) . '" class="delete" aria-label="' . esc_attr( sprintf( __( 'Delete %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Delete' ) . '</a>';
}
}
} else {
if ( $is_active ) {
$actions['deactivate'] = '<a href="' . wp_nonce_url('plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Deactivate this plugin') . '">' . __('Deactivate') . '</a>';
/* translators: %s: plugin name */
$actions['deactivate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file ) . '" aria-label="' . esc_attr( sprintf( __( 'Deactivate %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Deactivate' ) . '</a>';
} else {
$actions['activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin') . '" class="edit">' . __('Activate') . '</a>';
/* translators: %s: plugin name */
$actions['activate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file ) . '" class="edit" aria-label="' . esc_attr( sprintf( __( 'Activate %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Activate' ) . '</a>';
if ( ! is_multisite() && current_user_can('delete_plugins') )
$actions['delete'] = '<a href="' . wp_nonce_url('plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins') . '" title="' . esc_attr__('Delete this plugin') . '" class="delete">' . __('Delete') . '</a>';
if ( ! is_multisite() && current_user_can( 'delete_plugins' ) ) {
/* translators: %s: plugin name */
$actions['delete'] = '<a href="' . wp_nonce_url( 'plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins' ) . '" class="delete" aria-label="' . esc_attr( sprintf( __( 'Delete %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Delete' ) . '</a>';
}
} // end if $is_active
} // end if $screen->in_admin( 'network' )
if ( ( ! is_multisite() || $screen->in_admin( 'network' ) ) && current_user_can('edit_plugins') && is_writable(WP_PLUGIN_DIR . '/' . $plugin_file) )
$actions['edit'] = '<a href="plugin-editor.php?file=' . $plugin_file . '" title="' . esc_attr__('Open this file in the Plugin Editor') . '" class="edit">' . __('Edit') . '</a>';
if ( ( ! is_multisite() || $screen->in_admin( 'network' ) ) && current_user_can( 'edit_plugins' ) && is_writable( WP_PLUGIN_DIR . '/' . $plugin_file ) ) {
/* translators: %s: plugin name */
$actions['edit'] = '<a href="plugin-editor.php?file=' . $plugin_file . '" class="edit" aria-label="' . esc_attr( sprintf( __( 'Edit %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Edit' ) . '</a>';
}
} // end if $context
$prefix = $screen->in_admin( 'network' ) ? 'network_admin_' : '';
@@ -531,24 +595,27 @@ class WP_Plugins_List_Table extends WP_List_Table {
$plugin_slug
);
list( $columns, $hidden ) = $this->get_column_info();
list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info();
foreach ( $columns as $column_name => $column_display_name ) {
$style = '';
if ( in_array( $column_name, $hidden ) )
$style = ' style="display:none;"';
$extra_classes = '';
if ( in_array( $column_name, $hidden ) ) {
$extra_classes = ' hidden';
}
switch ( $column_name ) {
case 'cb':
echo "<th scope='row' class='check-column'>$checkbox</th>";
break;
case 'name':
echo "<td class='plugin-title'$style><strong>$plugin_name</strong>";
echo "<td class='plugin-title column-primary'><strong>$plugin_name</strong>";
echo $this->row_actions( $actions, true );
echo "</td>";
break;
case 'description':
echo "<td class='column-description desc'$style>
$classes = 'column-description desc';
echo "<td class='$classes{$extra_classes}'>
<div class='plugin-description'>$description</div>
<div class='$class second plugin-version-author-uri'>";
@@ -598,7 +665,9 @@ class WP_Plugins_List_Table extends WP_List_Table {
echo "</div></td>";
break;
default:
echo "<td class='$column_name column-$column_name'$style>";
$classes = "$column_name column-$column_name$class";
echo "<td class='$classes{$extra_classes}'>";
/**
* Fires inside each custom column of the Plugins list table.
@@ -610,6 +679,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
* @param array $plugin_data An array of plugin data.
*/
do_action( 'manage_plugins_custom_column', $column_name, $plugin_file, $plugin_data );
echo "</td>";
}
}
@@ -645,4 +715,16 @@ class WP_Plugins_List_Table extends WP_List_Table {
*/
do_action( "after_plugin_row_$plugin_file", $plugin_file, $plugin_data, $status );
}
/**
* Gets the name of the primary column for this specific list table.
*
* @since 4.3.0
* @access protected
*
* @return string Unalterable name for the primary column, in this case, 'name'.
*/
protected function get_primary_column_name() {
return 'name';
}
}