lue' => maybe_serialize( $meta_value ), ], $this->type ); // phpcs:enable WordPress.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.DirectDatabaseQuery.DirectQuery, 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.DirectDatabaseQuery.DirectQuery, 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.DirectDatabaseQuery.DirectQuery, 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.DirectDatabaseQuery.DirectQuery, 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.DirectQuery, 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()->obj( '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.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching 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 ) ); // phpcs:enable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching } /** * 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.DirectQuery, 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 ) ); // phpcs:enable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.InterpolatedNotPrepared } /** * 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.DirectQuery, 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 ); // phpcs:enable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.InterpolatedNotPrepared } /** * 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.DirectDatabaseQuery.DirectQuery, 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:disable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.SlowDBQuery.slow_db_query_meta_key } }
Fatal error: Uncaught Error: Class "Yoast\WP\SEO\Surfaces\Twitter_Helpers_Surface" not found in /htdocs/wp-content/plugins/wordpress-seo/src/generated/container.php:6405 Stack trace: #0 /htdocs/wp-content/plugins/wordpress-seo/vendor_prefixed/symfony/dependency-injection/Container.php(212): Yoast\WP\SEO\Generated\Cached_Container->getHelpersSurfaceService() #1 /htdocs/wp-content/plugins/wordpress-seo/vendor_prefixed/symfony/dependency-injection/Container.php(195): YoastSEO_Vendor\Symfony\Component\DependencyInjection\Container->make('Yoast\\WP\\SEO\\Su...', 1) #2 /htdocs/wp-content/plugins/wordpress-seo/lib/abstract-main.php(80): YoastSEO_Vendor\Symfony\Component\DependencyInjection\Container->get('Yoast\\WP\\SEO\\Su...') #3 /htdocs/wp-content/plugins/wordpress-seo/admin/watchers/class-slug-change-watcher.php(20): Yoast\WP\Lib\Abstract_Main->__get('helpers') #4 /htdocs/wp-content/plugins/wordpress-seo/wp-seo-main.php(368): WPSEO_Slug_Change_Watcher->register_hooks() #5 /htdocs/wp-includes/class-wp-hook.php(324): wpseo_init('') #6 /htdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #7 /htdocs/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #8 /htdocs/wp-settings.php(578): do_action('plugins_loaded') #9 /htdocs/wp-config.php(98): require_once('/htdocs/wp-sett...') #10 /htdocs/wp-load.php(50): require_once('/htdocs/wp-conf...') #11 /htdocs/wp-blog-header.php(13): require_once('/htdocs/wp-load...') #12 /htdocs/index.php(17): require('/htdocs/wp-blog...') #13 {main} thrown in /htdocs/wp-content/plugins/wordpress-seo/src/generated/container.php on line 6405