elementor
1 year ago
logs
1 month ago
strong-testimonials-beaver-block
1 year ago
submodules
8 months ago
class-strong-gutemberg.php
1 year ago
class-strong-log.php
1 year ago
class-strong-mail.php
1 year ago
class-strong-testimonials-average-shortcode.php
1 year ago
class-strong-testimonials-count-shortcode.php
1 year ago
class-strong-testimonials-defaults.php
1 month ago
class-strong-testimonials-form.php
1 month ago
class-strong-testimonials-order.php
1 year ago
class-strong-testimonials-privacy.php
1 year ago
class-strong-testimonials-render.php
1 month ago
class-strong-testimonials-templates.php
1 year ago
class-strong-testimonials-view-shortcode.php
1 week ago
class-strong-testimonials-view-widget.php
1 year ago
class-strong-view-display.php
1 day ago
class-strong-view-form.php
1 day ago
class-strong-view-slideshow.php
1 day ago
class-strong-view.php
1 day ago
class-walker-strong-category-checklist-front.php
1 year ago
deprecated.php
1 year ago
filters.php
1 month ago
functions-activation.php
1 month ago
functions-content.php
11 months ago
functions-image.php
5 months ago
functions-rating.php
1 year ago
functions-template-form.php
1 week ago
functions-template.php
4 months ago
functions-views.php
1 year ago
functions.php
1 month ago
l10n-polylang.php
1 year ago
l10n-wpml.php
1 year ago
post-types.php
1 week ago
retro.php
1 year ago
scripts.php
1 month ago
functions-views.php
98 lines
| 1 | <?php |
| 2 | /** |
| 3 | * View Functions |
| 4 | */ |
| 5 | |
| 6 | /** |
| 7 | * Return the default view settings. |
| 8 | * |
| 9 | * @param bool $unfiltered |
| 10 | * @since 2.30.5 |
| 11 | * |
| 12 | * @return array |
| 13 | */ |
| 14 | function wpmtst_get_view_default( $unfiltered = false ) { |
| 15 | $default = get_option( 'wpmtst_view_default' ); |
| 16 | if ( ! $unfiltered ) { |
| 17 | $default = apply_filters( 'wpmtst_view_default', $default ); |
| 18 | } |
| 19 | |
| 20 | return $default; |
| 21 | } |
| 22 | |
| 23 | /** |
| 24 | * @return array|mixed|null|object |
| 25 | */ |
| 26 | function wpmtst_get_views() { |
| 27 | global $wpdb; |
| 28 | $wpdb->show_errors(); |
| 29 | $table_name = $wpdb->prefix . 'strong_views'; |
| 30 | $results = $wpdb->get_results( "SELECT * FROM $table_name ORDER BY id ASC", ARRAY_A ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared |
| 31 | $wpdb->hide_errors(); |
| 32 | if ( $wpdb->last_error ) { |
| 33 | |
| 34 | if ( ! function_exists( 'deactivate_plugins' ) ) { |
| 35 | require_once ABSPATH . 'wp-admin/includes/plugin.php'; |
| 36 | } |
| 37 | |
| 38 | deactivate_plugins( 'strong-testimonials/strong-testimonials.php' ); |
| 39 | $message = '<p><span style="color: #CD0000;">'; |
| 40 | $message .= esc_html__( 'An error occurred.', 'strong-testimonials' ) . '</span> '; |
| 41 | $message .= esc_html__( 'The plugin has been deactivated.', 'strong-testimonials' ) . ' '; |
| 42 | // translators: %s is the URL to the WordPress dashboard. |
| 43 | $message .= '<p>' . sprintf( __( '<a href="%s">Go back to Dashboard</a>', 'strong-testimonials' ), esc_url( admin_url() ) ) . '</p>'; |
| 44 | wp_die( sprintf( '<div class="error strong-view-error">%s</div>', wp_kses_post( $message ) ) ); |
| 45 | } |
| 46 | |
| 47 | return apply_filters( 'wpmtst_views_query_results', $results ); |
| 48 | } |
| 49 | |
| 50 | /** |
| 51 | * @param $views |
| 52 | * |
| 53 | * @return mixed |
| 54 | */ |
| 55 | function wpmtst_unserialize_views( $views ) { |
| 56 | foreach ( $views as $key => $view ) { |
| 57 | $views[ $key ]['data'] = unserialize( $view['value'] ); |
| 58 | } |
| 59 | |
| 60 | return $views; |
| 61 | } |
| 62 | |
| 63 | /** |
| 64 | * @param $id |
| 65 | * |
| 66 | * @return array |
| 67 | */ |
| 68 | function wpmtst_get_view( $id ) { |
| 69 | global $wpdb; |
| 70 | $table_name = $wpdb->prefix . 'strong_views'; |
| 71 | $row = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table_name WHERE id = %d", (int) $id ), ARRAY_A ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared |
| 72 | |
| 73 | return $row; |
| 74 | } |
| 75 | |
| 76 | /** |
| 77 | * Find the view for the single template. |
| 78 | * |
| 79 | * @return bool|array |
| 80 | */ |
| 81 | function wpmtst_find_single_template_view() { |
| 82 | $views = wpmtst_get_views(); |
| 83 | /* |
| 84 | * [id] => 1 |
| 85 | * [name] => TEST |
| 86 | * [value] => {serialized_array} |
| 87 | */ |
| 88 | |
| 89 | foreach ( $views as $view ) { |
| 90 | $view_data = maybe_unserialize( $view['value'] ); |
| 91 | if ( isset( $view_data['mode'] ) && 'single_template' === $view_data['mode'] ) { |
| 92 | return $view_data; |
| 93 | } |
| 94 | } |
| 95 | |
| 96 | return false; |
| 97 | } |
| 98 |