PluginProbe ʕ •ᴥ•ʔ
WP Job Manager / 2.4.6
WP Job Manager v2.4.6
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.1.2 1.1.3 1.10.0 1.11.0 1.11.1 1.12.0 1.12.1 1.13.0 1.14.0 1.15.0 1.16.0 1.16.1 1.17.0 1.18.0 1.19.0 1.2.0 1.20.0 1.20.1 1.21.0 1.21.1 1.21.2 1.21.3 1.21.4 1.22.0 1.22.1 1.22.2 1.22.3 1.23.0 1.23.1 1.23.10 1.23.11 1.23.12 1.23.13 1.23.2 1.23.3 1.23.4 1.23.5 1.23.6 1.23.7 1.23.8 1.23.9 1.24.0 1.24.0.1 1.25.0 1.25.0.1 1.25.1 1.25.1.1 1.25.2 1.25.2.1 1.25.3 1.25.3.1 1.26.0 1.26.0.1 1.26.1 1.26.1.1 1.26.2 1.26.2.1 1.27.0 1.27.0.1 1.28.0 1.28.0.1 1.29.0 1.29.0.1 1.29.1 1.29.1.1 1.29.2 1.29.2.1 1.29.3 1.29.3.1 1.3.0 1.3.1 1.30.0 1.30.0.1 1.30.1 1.30.1.1 1.30.2 1.30.2.1 1.31.0 1.31.0.1 1.31.1 1.31.1.1 1.31.2 1.31.3 1.32.0 1.32.1 1.32.2 1.32.3 1.33.0 1.33.1 1.33.2 1.33.3 1.33.4 1.33.5 1.34.0 1.34.1 1.34.2 1.34.3 1.34.4 1.34.5 1.35.0 1.35.1 1.35.2 1.35.3 1.36.0 1.36.1 1.36.2 1.37.0 1.38.0 1.38.1 1.39.0 1.4.0 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.7.1 1.7.3 1.8.0 1.8.1 1.8.2 1.9.0 1.9.1 1.9.2 1.9.3 2.0.0 2.1.0 2.1.1 2.2.0 2.2.1 2.2.2 2.3.0 2.4.0 2.4.1
wp-job-manager / includes / admin / views / html-admin-page-addons.php
wp-job-manager / includes / admin / views Last commit date
html-admin-notice-core-setup.php 7 years ago html-admin-page-addons.php 2 years ago html-admin-setup-footer.php 7 years ago html-admin-setup-header.php 7 years ago html-admin-setup-opt-in-usage-tracking.php 2 years ago html-admin-setup-step-1.php 2 years ago html-admin-setup-step-2.php 4 years ago html-admin-setup-step-3.php 6 years ago
html-admin-page-addons.php
104 lines
1 <?php
2 /**
3 * File containing the view for displaying the list of extensions available to extend WP Job Manager.
4 *
5 * @package wp-job-manager
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit;
10 }
11
12 echo '<h1 class="screen-reader-text">' . esc_html__( 'WP Job Manager Marketplace', 'wp-job-manager' ) . '</h1>';
13 echo '<div class="wpjm-extensions-filter-search">';
14 if ( ! empty( $categories ) ) {
15 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Input is used safely.
16 $current_category = isset( $_GET['category'] ) ? sanitize_text_field( wp_unslash( $_GET['category'] ) ) : '_all';
17 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Input is used safely.
18 if ( ! empty( $_GET['search'] ) ) {
19 $current_category = null;
20 }
21 echo '<ul class="subsubsub">';
22 foreach ( $categories as $category ) {
23 ?>
24 <li>
25 <a class="<?php echo $current_category === $category->slug ? 'current' : ''; ?>"
26 href="<?php echo esc_url( admin_url( 'edit.php?post_type=job_listing&page=job-manager-marketplace&category=' . esc_attr( $category->slug ) ) ); ?>">
27 <?php echo esc_html( $category->label ); ?>
28 </a>
29 </li>
30 <?php
31 }
32 echo '</ul>';
33 }
34 ?>
35 <form class="extension-search" method="get" action="<?php esc_url( admin_url( 'edit.php?post_type=job_listing&page=job-manager-addons' ) ); ?>">
36 <input type="hidden" name="post_type" value="job_listing" />
37 <input type="hidden" name="page" value="job-manager-marketplace" />
38 <input class="wpjm-extension-search-input" type="text" name="search" value="<?php echo esc_attr( $search ); ?>" placeholder="<?php echo esc_attr__( 'Search', 'wp-job-manager' ); ?>" />
39 <input class="wpjm-extension-search-button button" type="submit" value="<?php echo esc_attr__( 'Search', 'wp-job-manager' ); ?>" />
40 </form>
41 <?php
42
43 echo '</div>';
44 echo '<br class="clear" />';
45
46 if ( empty( $add_ons ) ) {
47 echo '<div class="notice notice-warning below-h2"><p><strong>' . esc_html__( 'No extensions were found.', 'wp-job-manager' ) . '</strong></p></div>';
48 } else {
49 echo '<ul class="products">';
50 foreach ( $add_ons as $add_on ) {
51 $class = '';
52 $link_args = [
53 'utm_source' => 'product',
54 'utm_medium' => 'addonpage',
55 'utm_campaign' => 'wpjmplugin',
56 'utm_content' => 'listing',
57 ];
58 ?>
59 <li class="product">
60
61 <div class="add-on-header">
62 <?php if ( 'https://wpjobmanager.com/add-ons/bundle/' === $add_on->link ) : ?>
63 <?php
64 // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
65 echo ( new WP_Job_Manager_Addons() )->get_animated_logo();
66 ?>
67 <?php else : ?>
68 <?php if ( ! empty( $add_on->image ) && 'https://wpjobmanager.com/add-ons/bundle/' !== $add_on->link ) : ?>
69 <img class="<?php echo esc_attr( $class ); ?>" src="<?php echo esc_url( remove_query_arg( [ 'w', 'h', 'crop' ], $add_on->image ) ); ?>" />
70 <?php endif; ?>
71 <?php endif; ?>
72
73
74
75 <div class="product-info">
76 <div class="title"><?php echo esc_html( $add_on->title ); ?></div>
77 <?php if ( ! empty( $add_on->vendor_name ) && ! empty( $add_on->vendor_link ) ) : ?>
78 <div class="author"><?php esc_html_e( 'By', 'wp-job-manager' ); ?> <a target="_blank" href="<?php echo esc_url( add_query_arg( $link_args, $add_on->vendor_link ) ); ?>"><?php echo esc_html( $add_on->vendor_name ); ?></a></div>
79 <?php endif; ?>
80 </div>
81
82 <a class="button-secondary" target="_blank" href="<?php echo esc_url( add_query_arg( $link_args, $add_on->link ), [ 'http', 'https' ] ); ?>"><?php esc_html_e( 'Get Extension', 'wp-job-manager' ); ?></a>
83
84 </div>
85
86 <div class="add-on-body">
87 <p><?php echo esc_html( $add_on->excerpt ); ?></p>
88 </div>
89 <div class="add-on-footer">
90 <?php if ( ! empty( $add_on->price ) ) : ?>
91 <strong><?php esc_html_e( 'Paid Add-on', 'wp-job-manager' ); ?></strong>
92 <?php endif; ?>
93
94 <?php if ( ! empty( $add_on->documentation ) ) : ?>
95 <a target="_blank" href="<?php echo esc_url( add_query_arg( $link_args, $add_on->documentation ) ); ?>"><?php esc_html_e( 'More details', 'wp-job-manager' ); ?></a>
96 <?php endif; ?>
97 </div>
98
99 </li>
100 <?php
101 }
102 echo '</ul>';
103 }
104