Submit
Path:
~
/
/
var
/
softaculous
/
sitepad
/
editor
/
site-admin
/
includes
/
File Content:
class-wp-themes-list-table.php
<?php /** * List Table API: WP_Themes_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying installed themes in a list table. * * @since 3.1.0 * @access private * * @see WP_List_Table */ class WP_Themes_List_Table extends WP_List_Table { protected $search_terms = array(); public $features = array(); /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { parent::__construct( array( 'ajax' => true, 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); } /** * @return bool */ public function ajax_user_can() { // Do not check edit_theme_options here. Ajax calls for available themes require switch_themes. return current_user_can( 'switch_themes' ); } /** */ public function prepare_items() { $themes = wp_get_themes( array( 'allowed' => true ) ); if ( ! empty( $_REQUEST['s'] ) ) { $this->search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', strtolower( wp_unslash( $_REQUEST['s'] ) ) ) ) ) ); } if ( ! empty( $_REQUEST['features'] ) ) { $this->features = $_REQUEST['features']; } if ( $this->search_terms || $this->features ) { foreach ( $themes as $key => $theme ) { if ( ! $this->search_theme( $theme ) ) { unset( $themes[ $key ] ); } } } unset( $themes[ get_option( 'stylesheet' ) ] ); WP_Theme::sort_by_name( $themes ); $per_page = 36; $page = $this->get_pagenum(); $start = ( $page - 1 ) * $per_page; $this->items = array_slice( $themes, $start, $per_page, true ); $this->set_pagination_args( array( 'total_items' => count( $themes ), 'per_page' => $per_page, 'infinite_scroll' => true, ) ); } /** */ public function no_items() { if ( $this->search_terms || $this->features ) { _e( 'No items found.' ); return; } $blog_id = get_current_blog_id(); if ( is_multisite() ) { if ( current_user_can( 'install_themes' ) && current_user_can( 'manage_network_themes' ) ) { printf( __( 'You only have one theme enabled for this site right now. Visit the Network Admin to <a href="%1$s">enable</a> or <a href="%2$s">install</a> more themes.' ), network_admin_url( 'site-themes.php?id=' . $blog_id ), network_admin_url( 'theme-install.php' ) ); return; } elseif ( current_user_can( 'manage_network_themes' ) ) { printf( __( 'You only have one theme enabled for this site right now. Visit the Network Admin to <a href="%1$s">enable</a> more themes.' ), network_admin_url( 'site-themes.php?id=' . $blog_id ) ); return; } // Else, fallthrough. install_themes doesn't help if you can't enable it. } else { if ( current_user_can( 'install_themes' ) ) { printf( __( 'You only have one theme installed right now. Live a little! You can choose from over 1,000 free themes in the WordPress Theme Directory at any time: just click on the <a href="%s">Install Themes</a> tab above.' ), admin_url( 'theme-install.php' ) ); return; } } // Fallthrough. printf( __( 'Only the current theme is available to you. Contact the %s administrator for information about accessing additional themes.' ), get_site_option( 'site_name' ) ); } /** * @param string $which */ public function tablenav( $which = 'top' ) { if ( $this->get_pagination_arg( 'total_pages' ) <= 1 ) { return; } ?> <div class="tablenav themes <?php echo $which; ?>"> <?php $this->pagination( $which ); ?> <span class="spinner"></span> <br class="clear" /> </div> <?php } /** */ public function display() { wp_nonce_field( 'fetch-list-' . get_class( $this ), '_ajax_fetch_list_nonce' ); ?> <?php $this->tablenav( 'top' ); ?> <div id="availablethemes"> <?php $this->display_rows_or_placeholder(); ?> </div> <?php $this->tablenav( 'bottom' ); ?> <?php } /** * @return array */ public function get_columns() { return array(); } /** */ public function display_rows_or_placeholder() { if ( $this->has_items() ) { $this->display_rows(); } else { echo '<div class="no-items">'; $this->no_items(); echo '</div>'; } } /** */ public function display_rows() { $themes = $this->items; foreach ( $themes as $theme ) : ?> <div class="available-theme"> <?php $template = $theme->get_template(); $stylesheet = $theme->get_stylesheet(); $title = $theme->display( 'Name' ); $version = $theme->display( 'Version' ); $author = $theme->display( 'Author' ); $activate_link = wp_nonce_url( 'themes.php?action=activate&template=' . urlencode( $template ) . '&stylesheet=' . urlencode( $stylesheet ), 'switch-theme_' . $stylesheet ); $actions = array(); $actions['activate'] = '<a href="' . $activate_link . '" class="activatelink" title="' . esc_attr( sprintf( __( 'Activate “%s”' ), $title ) ) . '">' . __( 'Activate' ) . '</a>'; if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { $actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="load-customize hide-if-no-customize">' . __( 'Live Preview' ) . '</a>'; } if ( ! is_multisite() && current_user_can( 'delete_themes' ) ) { $actions['delete'] = '<a class="submitdelete deletion" href="' . wp_nonce_url( 'themes.php?action=delete&stylesheet=' . urlencode( $stylesheet ), 'delete-theme_' . $stylesheet ) . '" onclick="' . "return confirm( '" . esc_js( sprintf( __( "You are about to delete this theme '%s'\n 'Cancel' to stop, 'OK' to delete." ), $title ) ) . "' );" . '">' . __( 'Delete' ) . '</a>'; } /** This filter is documented in site-admin/includes/class-wp-ms-themes-list-table.php */ $actions = apply_filters( 'theme_action_links', $actions, $theme, 'all' ); /** This filter is documented in site-admin/includes/class-wp-ms-themes-list-table.php */ $actions = apply_filters( "theme_action_links_$stylesheet", $actions, $theme, 'all' ); $delete_action = isset( $actions['delete'] ) ? '<div class="delete-theme">' . $actions['delete'] . '</div>' : ''; unset( $actions['delete'] ); ?> <span class="screenshot hide-if-customize"> <?php if ( $screenshot = $theme->get_screenshot() ) : ?> <img src="<?php echo esc_url( $screenshot ); ?>" alt="" /> <?php endif; ?> </span> <a href="<?php echo wp_customize_url( $stylesheet ); ?>" class="screenshot load-customize hide-if-no-customize"> <?php if ( $screenshot = $theme->get_screenshot() ) : ?> <img src="<?php echo esc_url( $screenshot ); ?>" alt="" /> <?php endif; ?> </a> <h3><?php echo $title; ?></h3> <div class="theme-author"><?php printf( __( 'By %s' ), $author ); ?></div> <div class="action-links"> <ul> <?php foreach ( $actions as $action ) : ?> <li><?php echo $action; ?></li> <?php endforeach; ?> <li class="hide-if-no-js"><a href="#" class="theme-detail"><?php _e( 'Details' ); ?></a></li> </ul> <?php echo $delete_action; ?> <?php theme_update_available( $theme ); ?> </div> <div class="themedetaildiv hide-if-js"> <p><strong><?php _e( 'Version:' ); ?></strong> <?php echo $version; ?></p> <p><?php echo $theme->display( 'Description' ); ?></p> <?php if ( $theme->parent() ) { printf( ' <p class="howto">' . __( 'This <a href="%1$s">child theme</a> requires its parent theme, %2$s.' ) . '</p>', __( 'https://sitepad.com/docs/Child_Themes' ), $theme->parent()->display( 'Name' ) ); } ?> </div> </div> <?php endforeach; } /** * @param WP_Theme $theme * @return bool */ public function search_theme( $theme ) { // Search the features foreach ( $this->features as $word ) { if ( ! in_array( $word, $theme->get( 'Tags' ) ) ) { return false; } } // Match all phrases foreach ( $this->search_terms as $word ) { if ( in_array( $word, $theme->get( 'Tags' ) ) ) { continue; } foreach ( array( 'Name', 'Description', 'Author', 'AuthorURI' ) as $header ) { // Don't mark up; Do translate. if ( false !== stripos( strip_tags( $theme->display( $header, false, true ) ), $word ) ) { continue 2; } } if ( false !== stripos( $theme->get_stylesheet(), $word ) ) { continue; } if ( false !== stripos( $theme->get_template(), $word ) ) { continue; } return false; } return true; } /** * Send required variables to JavaScript land * * @since 3.4.0 * * @param array $extra_args */ public function _js_vars( $extra_args = array() ) { $search_string = isset( $_REQUEST['s'] ) ? esc_attr( wp_unslash( $_REQUEST['s'] ) ) : ''; $args = array( 'search' => $search_string, 'features' => $this->features, 'paged' => $this->get_pagenum(), 'total_pages' => ! empty( $this->_pagination_args['total_pages'] ) ? $this->_pagination_args['total_pages'] : 1, ); if ( is_array( $extra_args ) ) { $args = array_merge( $args, $extra_args ); } printf( "<script type='text/javascript'>var theme_list_args = %s;</script>\n", wp_json_encode( $args ) ); parent::_js_vars(); } }
Submit
FILE
FOLDER
Name
Size
Permission
Action
admin-filters.php
6644 bytes
0644
admin.php
2682 bytes
0644
ajax-actions.php
133097 bytes
0644
bookmark.php
9247 bytes
0644
class-automatic-upgrader-skin.php
3148 bytes
0644
class-bulk-plugin-upgrader-skin.php
2058 bytes
0644
class-bulk-theme-upgrader-skin.php
2093 bytes
0644
class-bulk-upgrader-skin.php
5308 bytes
0644
class-core-upgrader.php
13743 bytes
0644
class-file-upload-upgrader.php
3373 bytes
0644
class-ftp-pure.php
5399 bytes
0644
class-ftp-sockets.php
8448 bytes
0644
class-ftp.php
27106 bytes
0644
class-language-pack-upgrader-skin.php
2367 bytes
0644
class-language-pack-upgrader.php
14726 bytes
0644
class-pclzip.php
196642 bytes
0644
class-plugin-installer-skin.php
4461 bytes
0644
class-plugin-upgrader-skin.php
2683 bytes
0644
class-plugin-upgrader.php
15187 bytes
0644
class-theme-installer-skin.php
4432 bytes
0644
class-theme-upgrader-skin.php
3847 bytes
0644
class-theme-upgrader.php
20290 bytes
0644
class-walker-category-checklist.php
4249 bytes
0644
class-walker-nav-menu-checklist.php
5012 bytes
0644
class-walker-nav-menu-edit.php
11685 bytes
0644
class-wp-ajax-upgrader-skin.php
3038 bytes
0644
class-wp-automatic-updater.php
35569 bytes
0644
class-wp-comments-list-table.php
27232 bytes
0644
class-wp-community-events.php
15962 bytes
0644
class-wp-filesystem-base.php
22509 bytes
0644
class-wp-filesystem-direct.php
11667 bytes
0644
class-wp-filesystem-ftpext.php
13978 bytes
0644
class-wp-filesystem-ftpsockets.php
10877 bytes
0644
class-wp-filesystem-ssh2.php
15430 bytes
0644
class-wp-importer.php
7522 bytes
0644
class-wp-internal-pointers.php
5508 bytes
0644
class-wp-links-list-table.php
7751 bytes
0644
class-wp-list-table-compat.php
1071 bytes
0644
class-wp-list-table.php
39638 bytes
0644
class-wp-media-list-table.php
23501 bytes
0644
class-wp-plugin-install-list-table.php
22507 bytes
0644
class-wp-plugins-list-table.php
33823 bytes
0644
class-wp-post-comments-list-table.php
1472 bytes
0644
class-wp-posts-list-table.php
54467 bytes
0644
class-wp-screen.php
35134 bytes
0644
class-wp-site-icon.php
6125 bytes
0644
class-wp-terms-list-table.php
18502 bytes
0644
class-wp-theme-install-list-table.php
15241 bytes
0644
class-wp-themes-list-table.php
9439 bytes
0644
class-wp-upgrader-skin.php
5164 bytes
0644
class-wp-upgrader.php
34624 bytes
0644
class-wp-users-list-table.php
17531 bytes
0644
comment.php
6062 bytes
0644
continents-cities.php
20750 bytes
0644
credits.php
2221 bytes
0644
dashboard.php
57785 bytes
0644
edit-tag-messages.php
1412 bytes
0644
export.php
23404 bytes
0644
file.php
84915 bytes
0644
image-edit.php
34709 bytes
0644
image.php
22910 bytes
0644
import.php
6707 bytes
0644
list-table.php
2781 bytes
0644
media.php
109520 bytes
0644
menu.php
9114 bytes
0644
meta-boxes.php
59352 bytes
0644
misc.php
73162 bytes
0644
nav-menu.php
44317 bytes
0644
network.php
24188 bytes
0644
noop.php
1231 bytes
0644
options.php
7861 bytes
0644
plugin-install.php
33585 bytes
0644
plugin.php
74324 bytes
0644
post.php
74430 bytes
0644
revision.php
15671 bytes
0644
schema.php
41611 bytes
0644
screen.php
6214 bytes
0644
taxonomy.php
7914 bytes
0644
template.php
87953 bytes
0644
theme-install.php
6559 bytes
0644
theme.php
30073 bytes
0644
translation-install.php
8618 bytes
0644
update-core.php
56841 bytes
0644
update.php
26212 bytes
0644
upgrade.php
101710 bytes
0644
user.php
52131 bytes
0644
widgets.php
10628 bytes
0644
N4ST4R_ID | Naxtarrr