← All changes
|
WPDataAccess/Global_Search/WPDA_Global_Search.php
+23
-22
5.5.41
→
5.5.85
View file →
| @@ -79,8 +79,10 @@ | ||
| 79 | 79 | <?php |
| 80 | 80 | global $wpdb; |
| 81 | 81 | foreach ( $this->databases as $database ) { |
| 82 | 82 | $dbname = $database === $wpdb->dbname ? "WordPress database ({$esc_attr( $database )})" : esc_attr( $database ); |
| 83 | + | |
| 84 | + // phpcs:ignore PluginCheck.CodeAnalysis.Heredoc.NotAllowed | |
| 83 | 85 | $dbs = <<< EOL |
| 84 | 86 | <div class="selectionFrameBodyElement" |
| 85 | 87 | onclick="selectSchema('{$esc_attr( $database )}')" |
| 86 | 88 | id="{$esc_attr( $database )}" |
| @@ -85,12 +87,12 @@ | ||
| 85 | 87 | onclick="selectSchema('{$esc_attr( $database )}')" |
| 86 | 88 | id="{$esc_attr( $database )}" |
| 87 | 89 | > |
| 88 | 90 | <input type="checkbox" id="chk_{$esc_attr( $database )}" /> |
| 89 | - {$dbname} | |
| 91 | + {$esc_attr( $dbname )} | |
| 90 | 92 | </div> |
| 91 | 93 | EOL; |
| 92 | - echo $dbs; | |
| 94 | + echo $dbs; // phpcs:ignore WordPress.Security.EscapeOutput | |
| 93 | 95 | } |
| 94 | 96 | ?> |
| 95 | 97 | </div> |
| 96 | 98 | <div class="selectionFrameFooter"> |
| @@ -435,14 +437,13 @@ | ||
| 435 | 437 | <i class="fas fa-table"></i> |
| 436 | 438 | ${tableName} |
| 437 | 439 | </span> |
| 438 | 440 | <span> |
| 439 | - <form id="view_${schemaName}_${tableName}" action="?page=wpda" method="post" style="display:none"> | |
| 440 | - <input type="hidden" name="wpdaschema_name" value="${schemaName}" /> | |
| 441 | - <input type="hidden" name="table_name" value="${tableName}" /> | |
| 442 | - <input type="hidden" name="wpda_s" value="${searchString}" /> | |
| 443 | - <input type="hidden" name="wpda_c" value="${searchCase}" /> | |
| 444 | - <input type="hidden" name="explorer" value="OLD" /> | |
| 441 | + <form id="view_${schemaName}_${tableName}" action="?page=wpda_table" method="post" style="display:none"> | |
| 442 | + <input type="hidden" name="dbs" value="${schemaName}" /> | |
| 443 | + <input type="hidden" name="tbl" value="${tableName}" /> | |
| 444 | + <input type="hidden" name="s" value="${searchString}" /> | |
| 445 | + <input type="hidden" name="c" value="${searchCase}" /> | |
| 445 | 446 | </form> |
| 446 | 447 | <a href="javascript:submitForm('${schemaName}', '${tableName}')" class="disableLink"> |
| 447 | 448 | <span class="linkSpinner"> |
| 448 | 449 | <i class="fa fa-spinner fa-spin"></i> |
| @@ -518,9 +519,9 @@ | ||
| 518 | 519 | |
| 519 | 520 | function searchTable(schemaName, tableName, searchString, searchCase) { |
| 520 | 521 | jQuery.ajax({ |
| 521 | 522 | method: "POST", |
| 522 | - url: "<?php echo admin_url( 'admin-ajax.php?action=wpda_global_search' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>", | |
| 523 | + url: "<?php echo esc_url( admin_url( 'admin-ajax.php?action=wpda_global_search' ) ); ?>", | |
| 523 | 524 | data: { |
| 524 | 525 | n: "<?php echo esc_attr( wp_create_nonce( self::NONCE_SEED . WPDA::get_current_user_login() ) ); ?>", |
| 525 | 526 | sn: schemaName, |
| 526 | 527 | tn: tableName, |
| @@ -541,9 +542,9 @@ | ||
| 541 | 542 | |
| 542 | 543 | function replaceTable(schemaName, tableName, searchString, searchCase, replaceString) { |
| 543 | 544 | jQuery.ajax({ |
| 544 | 545 | method: "POST", |
| 545 | - url: "<?php echo admin_url( 'admin-ajax.php?action=wpda_global_replace' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>", | |
| 546 | + url: "<?php echo esc_url( admin_url( 'admin-ajax.php?action=wpda_global_replace' ) ); ?>", | |
| 546 | 547 | data: { |
| 547 | 548 | n: "<?php echo esc_attr( wp_create_nonce( self::NONCE_SEED . WPDA::get_current_user_login() ) ); ?>", |
| 548 | 549 | sn: schemaName, |
| 549 | 550 | tn: tableName, |
| @@ -764,11 +765,11 @@ | ||
| 764 | 765 | |
| 765 | 766 | public static function search() { |
| 766 | 767 | self::check_request(); |
| 767 | 768 | |
| 768 | - $schema_name = sanitize_text_field( wp_unslash( $_POST['sn'] ) ); // phpcs:ignore WordPress.Security.NonceVerification | |
| 769 | - $table_name = sanitize_text_field( wp_unslash( $_POST['tn'] ) ); // phpcs:ignore WordPress.Security.NonceVerification | |
| 770 | - $search_value = sanitize_text_field( wp_unslash( $_POST['q'] ) ); // phpcs:ignore WordPress.Security.NonceVerification | |
| 769 | + $schema_name = sanitize_text_field( wp_unslash( $_POST['sn'] ) ); // phpcs:ignore | |
| 770 | + $table_name = sanitize_text_field( wp_unslash( $_POST['tn'] ) ); // phpcs:ignore | |
| 771 | + $search_value = sanitize_text_field( wp_unslash( $_POST['q'] ) ); // phpcs:ignore | |
| 771 | 772 | |
| 772 | 773 | $wpdadb = WPDADB::get_db_connection( $schema_name ); |
| 773 | 774 | if ( null !== $wpdadb ) { |
| 774 | 775 | $wpdadb->suppress_errors( true ); |
| @@ -784,15 +785,15 @@ | ||
| 784 | 785 | die(); |
| 785 | 786 | } |
| 786 | 787 | |
| 787 | 788 | // Determine case-sensitive search |
| 788 | - $search_case = 'true' === $_POST['c']; | |
| 789 | + $search_case = 'true' === $_POST['c']; // phpcs:ignore | |
| 789 | 790 | |
| 790 | 791 | // Perform query |
| 791 | 792 | $result = self::execute_query( $wpdadb, $schema_name, $table_name, $columns, $search_value, $search_case, true ); |
| 792 | 793 | |
| 793 | 794 | // Process query results |
| 794 | - if ( '' === $wpdadb->last_error && is_array( $result ) && count( $result ) > 0 ) {//phpcs:ignore - 8.1 proof | |
| 795 | + if ( '' === $wpdadb->last_error && is_array( $result ) && count( $result ) > 0 ) { // phpcs:ignore -- 8.1 proof | |
| 795 | 796 | WPDA::sent_header( 'application/json' ); |
| 796 | 797 | WPDA::sent_msg( 'OK', $result[0][0] ); |
| 797 | 798 | die(); |
| 798 | 799 | } |
| @@ -848,18 +849,18 @@ | ||
| 848 | 849 | |
| 849 | 850 | public static function replace() { |
| 850 | 851 | self::check_request(); |
| 851 | 852 | |
| 852 | - if ( ! isset( $_POST['r'] ) ) { | |
| 853 | + if ( ! isset( $_POST['r'] ) ) { // phpcs:ignore | |
| 853 | 854 | WPDA::sent_header( 'application/json' ); |
| 854 | 855 | WPDA::sent_msg( 'ERROR', 'Invalid arguments' ); |
| 855 | 856 | die(); |
| 856 | 857 | } |
| 857 | 858 | |
| 858 | - $schema_name = sanitize_text_field( wp_unslash( $_POST['sn'] ) ); // phpcs:ignore WordPress.Security.NonceVerification | |
| 859 | - $table_name = sanitize_text_field( wp_unslash( $_POST['tn'] ) ); // phpcs:ignore WordPress.Security.NonceVerification | |
| 860 | - $search_value = sanitize_text_field( wp_unslash( $_POST['q'] ) ); // phpcs:ignore WordPress.Security.NonceVerification | |
| 861 | - $replace_value = sanitize_text_field( wp_unslash( $_POST['r'] ) ); // phpcs:ignore WordPress.Security.NonceVerification | |
| 859 | + $schema_name = sanitize_text_field( wp_unslash( $_POST['sn'] ) ); // phpcs:ignore | |
| 860 | + $table_name = sanitize_text_field( wp_unslash( $_POST['tn'] ) ); // phpcs:ignore | |
| 861 | + $search_value = sanitize_text_field( wp_unslash( $_POST['q'] ) ); // phpcs:ignore | |
| 862 | + $replace_value = sanitize_text_field( wp_unslash( $_POST['r'] ) ); // phpcs:ignore | |
| 862 | 863 | |
| 863 | 864 | $wpdadb = WPDADB::get_db_connection( $schema_name ); |
| 864 | 865 | if ( null !== $wpdadb ) { |
| 865 | 866 | $wpdadb->suppress_errors( true ); |
| @@ -875,9 +876,9 @@ | ||
| 875 | 876 | die(); |
| 876 | 877 | } |
| 877 | 878 | |
| 878 | 879 | // Determine case-sensitive search |
| 879 | - if ( 'true' === $_POST['c'] ) { | |
| 880 | + if ( 'true' === $_POST['c'] ) { // phpcs:ignore | |
| 880 | 881 | // Case-sensitive search and replace |
| 881 | 882 | // Use built-in SQL replace function |
| 882 | 883 | |
| 883 | 884 | // Define query. |
| @@ -967,9 +968,9 @@ | ||
| 967 | 968 | // Update row |
| 968 | 969 | $wpdadb->update( |
| 969 | 970 | $table_name, |
| 970 | 971 | $update_values, |
| 971 | - //phpcs:ignore - 8.1 proof | |
| 972 | + // phpcs:ignore -- 8.1 proof | |
| 972 | 973 | ( is_array( $pk ) && count( $pk ) > 0 ? $pk_values : $result ) // fall back to all cols if no pk |
| 973 | 974 | ); |
| 974 | 975 | $rows_affected += $wpdadb->rows_affected; |
| 975 | 976 | } |