render_manage_sites_table_top(); } /** * Render manage sites table top. */ public function render_manage_sites_table_top() { $filters_row_style = 'display:none'; // phpcs:disable WordPress.Security.NonceVerification,WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $selected_status = isset( $_REQUEST['status'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['status'] ) ) : ''; $selected_group = isset( $_REQUEST['g'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['g'] ) ) : ''; $selected_client = isset( $_REQUEST['client'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['client'] ) ) : ''; $is_not = isset( $_REQUEST['isnot'] ) && ( 'yes' === $_REQUEST['isnot'] ) ? true : false; $reset_filter = isset( $_REQUEST['reset'] ) && ( 'yes' === $_REQUEST['reset'] ) ? true : false; if ( ! isset( $_REQUEST['g'] ) && ! $reset_filter ) { $selected_status = get_user_option( 'mainwp_screenshots_filter_status', '' ); $selected_group = get_user_option( 'mainwp_screenshots_filter_group', '' ); $selected_client = get_user_option( 'mainwp_screenshots_filter_client', '' ); $is_not = get_user_option( 'mainwp_screenshots_filter_is_not', '' ); } // phpcs:enable if ( ! empty( $selected_status ) || ! empty( $selected_group ) || ! empty( $selected_client ) ) { $filters_row_style = 'display:flex'; } ?>
render_filters_segment(); ?>
get_user_extension(); $decodedIgnoredCores = ! empty( $userExtension->ignored_wp_upgrades ) ? json_decode( $userExtension->ignored_wp_upgrades, true ) : array(); if ( ! is_array( $decodedIgnoredCores ) ) { $decodedIgnoredCores = array(); } $nonce = wp_create_nonce( 'viewmode' ); ?>
', '' ); ?>
sync_errors ); $suspendedSite = ( '0' !== $website->suspended ); $status_color = ''; $status_icon = ''; $status_tooltip = ''; if ( $hasSyncErrors ) { $status_color = 'red'; $status_icon = 'unlink'; $status_tooltip = esc_html__( 'Disconnected', 'mainwp' ); } elseif ( $suspendedSite ) { $status_color = 'yellow'; $status_icon = 'pause'; $status_tooltip = esc_html__( 'Suspended', 'mainwp' ); } else { $status_color = 'green'; $status_icon = 'check'; $status_tooltip = esc_html__( 'Connected', 'mainwp' ); } $total_wp_upgrades = 0; $total_plugin_upgrades = 0; $total_theme_upgrades = 0; $wp_upgrades = ! empty( $website->wp_upgrades ) ? json_decode( $website->wp_upgrades, true ) : array(); $ignored_core_upgrades = ! empty( $website->ignored_wp_upgrades ) ? json_decode( $website->ignored_wp_upgrades, true ) : array(); if ( $website->is_ignoreCoreUpdates || MainWP_Common_Functions::instance()->is_ignored_updates( $wp_upgrades, $ignored_core_upgrades, 'core' ) || MainWP_Common_Functions::instance()->is_ignored_updates( $wp_upgrades, $decodedIgnoredCores, 'core' ) ) { $wp_upgrades = array(); } if ( is_array( $wp_upgrades ) && ! empty( $wp_upgrades ) ) { ++$total_wp_upgrades; } $plugin_upgrades = json_decode( $website->plugin_upgrades, true ); if ( $website->is_ignorePluginUpdates ) { $plugin_upgrades = array(); } $theme_upgrades = json_decode( $website->theme_upgrades, true ); if ( $website->is_ignoreThemeUpdates ) { $theme_upgrades = array(); } $decodedPremiumUpgrades = ! empty( $website->premium_upgrades ) ? json_decode( $website->premium_upgrades, true ) : array(); if ( is_array( $decodedPremiumUpgrades ) ) { foreach ( $decodedPremiumUpgrades as $crrSlug => $premiumUpgrade ) { $premiumUpgrade['premium'] = true; if ( 'plugin' === $premiumUpgrade['type'] ) { if ( ! is_array( $plugin_upgrades ) ) { $plugin_upgrades = array(); } if ( ! $website->is_ignorePluginUpdates ) { $plugin_upgrades[ $crrSlug ] = $premiumUpgrade; } } elseif ( 'theme' === $premiumUpgrade['type'] ) { if ( ! is_array( $theme_upgrades ) ) { $theme_upgrades = array(); } if ( ! $website->is_ignoreThemeUpdates ) { $theme_upgrades[ $crrSlug ] = $premiumUpgrade; } } } } if ( is_array( $plugin_upgrades ) ) { $ignored_plugins = json_decode( $website->ignored_plugins, true ); if ( is_array( $ignored_plugins ) ) { $plugin_upgrades = MainWP_Common_Functions::instance()->get_not_ignored_updates_themesplugins( $plugin_upgrades, $ignored_plugins ); } $ignored_plugins = json_decode( $userExtension->ignored_plugins, true ); if ( is_array( $ignored_plugins ) ) { $plugin_upgrades = MainWP_Common_Functions::instance()->get_not_ignored_updates_themesplugins( $plugin_upgrades, $ignored_plugins ); } $total_plugin_upgrades += count( $plugin_upgrades ); } if ( is_array( $theme_upgrades ) ) { $ignored_themes = json_decode( $website->ignored_themes, true ); if ( is_array( $ignored_themes ) ) { $theme_upgrades = MainWP_Common_Functions::instance()->get_not_ignored_updates_themesplugins( $theme_upgrades, $ignored_themes ); } $ignored_themes = json_decode( $userExtension->ignored_themes, true ); if ( is_array( $ignored_themes ) ) { $theme_upgrades = MainWP_Common_Functions::instance()->get_not_ignored_updates_themesplugins( $theme_upgrades, $ignored_themes ); } $total_theme_upgrades += count( $theme_upgrades ); } $total_updates = $total_wp_upgrades + $total_plugin_upgrades + $total_theme_upgrades; $client_image = ''; if ( $website->client_id > 0 ) { $client = MainWP_DB_Client::instance()->get_wp_client_by( 'client_id', $website->client_id, true ); $client_image = MainWP_Client_Handler::get_client_avatar( $client ); } else { $client_image = ''; } $website_info = MainWP_DB::instance()->get_website_option( $website, 'site_info' ); $website_info = ! empty( $website_info ) ? json_decode( $website_info, true ) : array(); ?>
<?php esc_attr_e( 'Website preview', 'mainwp' ); ?>

name ) ); ?>
url ); ?>

wpgroups ) && '' !== $website->wpgroups ) : ?>
get_available_update_siteids(); if ( empty( $available_update_ids ) ) { $where = 'wp.id = -1'; if ( $is_not ) { $where = 'wp.id != -1'; } } else { $where = 'wp.id IN (' . implode( ',', $available_update_ids ) . ') '; if ( $is_not ) { $where = 'wp.id NOT IN (' . implode( ',', $available_update_ids ) . ') '; } } } elseif ( 'sitehealthnotgood' === $site_status ) { $where = ' wp_sync.health_status = 1 '; if ( $is_not ) { $where = 'wp_sync.health_status = 0'; } } elseif ( 'phpver7' === $site_status ) { $where = MainWP_DB_Common::instance()->get_sql_version_compare( 'wp_optionview.phpversion', '<', '7.0.0.0' ); // NOSONAR - no IP. if ( $is_not ) { $where = MainWP_DB_Common::instance()->get_sql_version_compare( 'wp_optionview.phpversion', '>=', '7.0.0.0' ); // NOSONAR - no IP. } } elseif ( 'phpver8' === $site_status ) { $where = MainWP_DB_Common::instance()->get_sql_version_compare( 'wp_optionview.phpversion', '<', '8.0.0.0' ); // NOSONAR - no IP. if ( $is_not ) { $where = MainWP_DB_Common::instance()->get_sql_version_compare( 'wp_optionview.phpversion', '>=', '8.0.0.0' ); // NOSONAR - no IP. } } elseif ( 'suspended' === $site_status ) { $where = 'wp.suspended = 1'; if ( $is_not ) { $where = 'wp.suspended = 0'; } } } // phpcs:enable $params = array( 'selectgroups' => true, 'orderby' => $orderby, 'offset' => $start, 'rowcount' => $perPage, ); $params['isnot'] = $is_not; $qry_group_ids = array(); if ( ! empty( $group_ids ) ) { $group_ids = explode( ',', $group_ids ); // convert to array. // to fix query deleted groups. $groups = MainWP_DB_Common::instance()->get_groups_for_manage_sites(); foreach ( $groups as $gr ) { if ( in_array( $gr->id, $group_ids ) ) { $qry_group_ids[] = $gr->id; } } // to fix. if ( in_array( 'nogroups', $group_ids ) ) { $qry_group_ids[] = 'nogroups'; } } if ( ! empty( $qry_group_ids ) ) { $params['group_id'] = $qry_group_ids; } $qry_client_ids = array(); if ( ! empty( $client_ids ) ) { $client_ids = explode( ',', $client_ids ); // convert to array. // to fix query deleted client. $clients = MainWP_DB_Client::instance()->get_wp_client_by( 'all' ); foreach ( $clients as $cl ) { if ( in_array( $cl->client_id, $client_ids ) ) { $qry_client_ids[] = $cl->client_id; } } // to fix. if ( in_array( 'noclients', $client_ids ) ) { $qry_client_ids[] = 'noclients'; } } if ( ! empty( $qry_client_ids ) ) { $params['client_id'] = $qry_client_ids; } if ( ! empty( $where ) ) { $params['extra_where'] = $where; } $params['extra_view'] = array( 'wp_upgrades', 'ignored_wp_upgrades', ); return MainWP_DB::instance()->query( MainWP_DB::instance()->get_sql_search_websites_for_current_user( $params ) ); } }