s.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.SlowDBQuery.slow_db_query_meta_key, WordPress.DB.SlowDBQuery.slow_db_query_meta_value } /** * Add payment log. * * @since 1.8.4 * * @param int $payment_id Payment ID. * @param string $content Log content. * * @return bool */ public function add_log( $payment_id, $content ) { return (bool) $this->add( [ 'payment_id' => $payment_id, 'meta_key' => 'log', // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key 'meta_value' => wp_json_encode( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_value [ 'value' => wp_kses_post( $content ), 'date' => gmdate( 'Y-m-d H:i:s' ), ] ), ], $this->type ); } /** * Get single payment meta. * * @since 1.8.2 * * @param int $payment_id Payment ID. * @param string|null $meta_key Payment meta to be retrieved. * * @return mixed Meta value. */ public function get_single( $payment_id, $meta_key ) { global $wpdb; // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching $meta_value = $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM $this->table_name WHERE payment_id = %d AND meta_key = %s ORDER BY id DESC LIMIT 1", $payment_id, $meta_key ) ); // phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching return maybe_unserialize( $meta_value ); } /** * Get all payment meta. * * @since 1.8.2 * * @param int $payment_id Payment ID. * * @return array|null */ public function get_all( $payment_id ) { global $wpdb; // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching return $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value as value FROM $this->table_name WHERE payment_id = %d ORDER BY id DESC", $payment_id ), OBJECT_K ); // phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching } /** * Retrieve all rows based on meta_key value. * * @since 1.8.2 * * @param string $meta_key Meta key value. * @param int $payment_id Payment ID. * * @return object|null */ public function get_all_by( $meta_key, $payment_id ) { global $wpdb; if ( empty( $meta_key ) ) { return null; } // phpcs:ignore WordPress.DB.DirectDatabaseQuery.NoCaching return $wpdb->get_results( $wpdb->prepare( "SELECT meta_value as value FROM $this->table_name WHERE payment_id = %d AND meta_key = %s ORDER BY id DESC", // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared $payment_id, $meta_key ), ARRAY_A ); } /** * Check if there are valid entries with a specific meta key. * * @since 1.8.4 * * @param string $meta_key The meta key to check. * * @return bool */ public function is_valid_meta_by_meta_key( $meta_key ) { // Check if the meta key is empty and return false. if ( empty( $meta_key ) ) { return false; } // Retrieve the global database instance. global $wpdb; $payment_handler = wpforms()->get( 'payment' ); $payment_table_name = $payment_handler->table_name; $secondary_where_clause = $payment_handler->add_secondary_where_conditions(); // Prepare and execute the SQL query to check if there are valid entries with the given meta key. // phpcs:disable WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.InterpolatedNotPrepared return (bool) $wpdb->get_var( $wpdb->prepare( "SELECT 1 FROM {$this->table_name} AS pm WHERE meta_key = %s AND meta_value IS NOT NULL AND EXISTS (SELECT 1 FROM {$payment_table_name} AS p WHERE p.id = pm.payment_id {$secondary_where_clause}) LIMIT 1", $meta_key ) ); } /** * Check if the given meta key and value exist in the payment meta table. * * @since 1.8.4 * * @param string $meta_key Meta key value. * @param string $meta_value Meta value. * * @return bool */ public function is_valid_meta( $meta_key, $meta_value ) { // Check if the meta key or value is empty and return false. if ( empty( $meta_key ) || empty( $meta_value ) ) { return false; } // Retrieve the global database instance. global $wpdb; // Prepare and execute the SQL query to check if the given meta key and value exist in the payment meta table. // phpcs:disable WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.InterpolatedNotPrepared return (bool) $wpdb->get_var( $wpdb->prepare( "SELECT EXISTS( SELECT 1 FROM {$this->table_name} WHERE meta_key = %s AND meta_value = %s )", $meta_key, $meta_value ) ); } /** * Retrieve payment meta data by given meta key and value. * * @since 1.8.4 * * @param string $meta_key Meta key value. * @param string $meta_value Meta value. * * @return array */ public function get_all_by_meta( $meta_key, $meta_value ) { // Check if the meta key or value is empty and return null. if ( empty( $meta_key ) || empty( $meta_value ) ) { return []; } // Retrieve the global database instance. global $wpdb; // Prepare and execute the SQL query to retrieve payment meta data based on the given meta key and value. // phpcs:disable WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.InterpolatedNotPrepared return $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value AS value FROM {$this->table_name} WHERE payment_id = ( SELECT payment_id FROM {$this->table_name} WHERE meta_key = %s AND meta_value = %s LIMIT 1 )", $meta_key, $meta_value ), OBJECT_K ); } /** * Get row from the payment meta table for given payment id and meta key. * * @since 1.8.4 * * @param string $meta_key Meta key value. * @param int $payment_id Payment ID. * * @return object|null */ public function get_last_by( $meta_key, $payment_id ) { global $wpdb; // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.SlowDBQuery.slow_db_query_meta_key return $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $this->table_name WHERE payment_id = %d AND meta_key = %s ORDER BY id DESC LIMIT 1", $payment_id, $meta_key ) ); // phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.SlowDBQuery.slow_db_query_meta_key } }
Warning: Cannot modify header information - headers already sent by (output started at /htdocs/nexsook.com/wp-content/plugins/wpforms-lite/src/Db/Payments/Meta.php:1) in /htdocs/nexsook.com/wp-includes/pluggable.php on line 1435

Warning: Cannot modify header information - headers already sent by (output started at /htdocs/nexsook.com/wp-content/plugins/wpforms-lite/src/Db/Payments/Meta.php:1) in /htdocs/nexsook.com/wp-includes/pluggable.php on line 1438