PluginProbe
Depicter — Popup & Slider Builder / 1.6.2
Depicter — Popup & Slider Builder v1.6.2
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / app / version.php

version.php in Depicter — Popup & Slider Builder 1.6.2, at app/version.php

100 lines 2.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Handle WP Emerge version checking to make sure a compatible version is loaded.
4 *
5 * @package Depicter
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit;
10 }
11
12 if ( ! function_exists( 'depicter_get_loaded_framework' ) ) {
13 /**
14 * Get the currently loaded WP Emerge version, if any.
15 *
16 * @return array|false
17 */
18 function depicter_get_loaded_framework() {
19 /**
20 * Filters the loaded WP Emerge version.
21 *
22 * @param array|false $loaded
23 */
24 return apply_filters( 'wpemerge_loaded', false );
25 }
26 }
27
28 if ( ! function_exists( 'depicter_should_load_framework' ) ) {
29 /**
30 * Get whether a compatible WP Emerge version is or should be loaded.
31 *
32 * @param string $name Project name.
33 * @param string $min Minimum version (inclusive).
34 * @param string $max Maximum version (exclusive).
35 * @return bool
36 */
37 function depicter_should_load_framework( $name, $min, $max ) {
38 $loaded = depicter_get_loaded_framework();
39
40 if ( false === $loaded ) {
41 // No version is loaded, yet.
42 return true;
43 }
44
45 if ( version_compare( $loaded['version'], $min, '>=' ) && version_compare( $loaded['version'], $max, '<' ) ) {
46 // A compatible version is already loaded.
47 return true;
48 }
49
50 add_action(
51 'admin_notices',
52 function () use ( $name, $min, $max, $loaded ) {
53 // Translators: %1$s = plugin or theme name; %2$s = minimum version number; %3$s = maximum version number; %4$s plugin or theme name; %5$s loaded version number.
54 $message = __( '%1$s requires WP Emerge version >= %2$s and < %3$s but %4$s has already loaded version %5$s.', 'depicter' );
55 ?>
56 <div class="notice notice-error">
57 <p><strong><?php echo esc_html( $name ); ?></strong></p>
58 <p><?php echo esc_html( sprintf( $message, $name, $min, $max, $loaded['name'], $loaded['version'] ) ); ?></p>
59 </div>
60 <?php
61 }
62 );
63
64 // An incompatible version is already loaded.
65 return false;
66 }
67 }
68
69 if ( ! function_exists( 'depicter_declare_loaded_framework' ) ) {
70 /**
71 * Declare the loaded WP Emerge version.
72 *
73 * @param string $name Project name.
74 * @param string $type Project type - 'plugin' or 'theme'.
75 * @param string $file Main project file.
76 * @return void
77 */
78 function depicter_declare_loaded_framework( $name, $type, $file ) {
79 $loaded = depicter_get_loaded_framework();
80
81 if ( $loaded ) {
82 // A version is already loaded - bail.
83 return;
84 }
85
86 // Declare loaded WP Emerge version.
87 add_filter(
88 'wpemerge_loaded',
89 function () use ( $name, $type, $file ) {
90 return [
91 'version' => WPEMERGE_VERSION,
92 'name' => $name,
93 'type' => $type,
94 'file' => $file,
95 ];
96 }
97 );
98 }
99 }
100