Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions inc/class-admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,17 @@ public function handle_page() {
echo '<a class="button pantheon-clear-all-sessions" style="float:right; margin-top: 9px;" href="' . esc_url( add_query_arg( $query_args, admin_url( 'admin-ajax.php' ) ) ) . '">' . esc_html__( 'Clear All', 'wp-native-php-sessions' ) . '</a>';
}
echo '<h2>' . esc_html__( 'Pantheon Sessions', 'wp-native-php-sessions' ) . '</h2>';
if ( isset( $_GET['message'] ) && in_array( $_GET['message'], [ 'delete-all-session', 'delete-session' ], true ) ) {
if ( 'delete-all-session' === $_GET['message'] ) {
// Check for success message transient.
$transient_key = 'pantheon_sessions_message_' . get_current_user_id();
$session_message = get_transient( $transient_key );
if ( $session_message ) {
if ( 'delete-all-session' === $session_message ) {
$message = __( 'Cleared all sessions.', 'wp-native-php-sessions' );
} elseif ( 'delete-session' === $_GET['message'] ) {
} elseif ( 'delete-session' === $session_message ) {
$message = __( 'Session cleared.', 'wp-native-php-sessions' );
}
echo '<div id="message" class="updated"><p>' . esc_html( $message ) . '</p></div>';
delete_transient( $transient_key );
}
echo '</div>';

Expand Down Expand Up @@ -113,7 +117,12 @@ public function handle_clear_session() {
$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->pantheon_sessions WHERE session_id=%s", sanitize_text_field( $_GET['session'] ) ) );
$message = 'delete-session';
}
wp_safe_redirect( add_query_arg( 'message', $message, wp_get_referer() ) );

// Set a transient to show success message (expires in 30 seconds).
$transient_key = 'pantheon_sessions_message_' . get_current_user_id();
set_transient( $transient_key, $message, 30 );

wp_safe_redirect( wp_get_referer() );
exit;
}

Expand Down
12 changes: 6 additions & 6 deletions pantheon-sessions.php
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ public static function check_native_primary_keys() {
$wpdb->esc_like( $old_table ) );

// Check for table existence and delete if present.
if ( $wpdb->get_var( $query ) == $old_table ) {
if ( $wpdb->get_var( $query ) === $old_table ) {
$cli_key_finalize = $wp_cli_cmd . 'pantheon session primary-key-finalize';
$cli_key_revert = $wp_cli_cmd . 'pantheon session primary-key-revert';

Expand Down Expand Up @@ -539,7 +539,7 @@ public function add_single_index( $prefix, $output = [], $multisite = false ) {
*/
$query = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $temp_clone_table ) );

if ( $wpdb->get_var( $query ) == $temp_clone_table ) {
if ( $wpdb->get_var( $query ) === $temp_clone_table ) {
$query = "DROP TABLE {$temp_clone_table};";
$wpdb->query( $query );
}
Expand All @@ -549,7 +549,7 @@ public function add_single_index( $prefix, $output = [], $multisite = false ) {
}

$query = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $table ) );
if ( ! $wpdb->get_var( $query ) == $table ) {
if ( $wpdb->get_var( $query ) !== $table ) {
$this->safe_output( __( 'This site does not have a pantheon_sessions table, and is being skipped.', 'wp-native-php-sessions' ), 'log' );
$output['no_session_table'] = isset( $output['no_session_table'] ) ? $output['no_session_table'] + 1 : 1;

Expand Down Expand Up @@ -626,7 +626,7 @@ public function add_single_index( $prefix, $output = [], $multisite = false ) {
$old_table = esc_sql( $prefix . 'bak_' . $unprefixed_table );
$query = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $old_table ) );

if ( $wpdb->get_var( $query ) == $old_table ) {
if ( $wpdb->get_var( $query ) === $old_table ) {
$query = "DROP TABLE {$old_table};";
$wpdb->query( $query );
}
Expand All @@ -653,7 +653,7 @@ public function primary_key_finalize_single( $prefix = null, $output = [], $mult
$query = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $table ) );

// Check for table existence and delete if present.
if ( ! $wpdb->get_var( $query ) == $table ) {
if ( $wpdb->get_var( $query ) !== $table ) {
/**
* If dealing with multisites, it's feasible that some may have a
* table and some may not, so don't stop execution if it's not found.
Expand Down Expand Up @@ -706,7 +706,7 @@ public function primary_key_revert_single( $prefix = null, $output = [], $multis
$type = 'log';
}

if ( ! $wpdb->get_var( $query ) == $old_clone_table ) {
if ( $wpdb->get_var( $query ) !== $old_clone_table ) {
$this->safe_output( __( 'There is no old table to roll back to.', 'wp-native-php-sessions' ), $type );
$output['no_rollback_table'] = isset( $output['no_rollback_table'] ) ? $output['no_rollback_table'] + 1 : 1;

Expand Down
Loading