PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.7.0
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.7.0
V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 2.10.1 2.10.2 All 137 releases
bit-form / includes / Core / Fallback / FallBack.php

FallBack.php in Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder 2.7.0, at includes/Core/Fallback/FallBack.php

48 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace BitCode\BitForm\Core\Fallback;
4
5 use ReflectionMethod;
6
7 final class FallBack
8 {
9 public static function getOlderVersion()
10 {
11 $installed = get_option('bitforms_installed');
12 $oldversion = null;
13 if ($installed) {
14 $oldversion = get_option('bitforms_version');
15 }
16 return $oldversion;
17 }
18
19 public static function add($version, $invokeable, $check = '>=')
20 {
21 $oldversion = self::getOlderVersion();
22 if ($oldversion && version_compare($oldversion, BITFORMS_VERSION, '!=')) {
23 return static::action($version, $invokeable, $oldversion, $check);
24 }
25 }
26
27 public static function action($version, $invokeable, $oldversion, $check)
28 {
29 $namespace = 'BitCode\BitForm\Core\Fallback';
30 $invoke = explode('@', $invokeable);
31 if (is_array($invoke) && 2 === count($invoke)) {
32 $fileName = $invoke[0];
33 $method = $invoke[1];
34 $class = $namespace . '\\' . $fileName;
35 if (class_exists($class) && method_exists($class, $method)) {
36 $invokeMethod = new ReflectionMethod($class, $method);
37 if (version_compare($version, $oldversion, $check)) {
38 $invokeMethod->invoke($invokeMethod->isStatic() ? null : new $class());
39 }
40 } else {
41 return 'Method or class not exist';
42 }
43 } else {
44 return 'Invalid invokeable';
45 }
46 }
47 }
48