PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.0
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.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.0, at includes/Core/Fallback/FallBack.php

44 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 public static function getOlderVersion() {
9 $installed = get_option('bitforms_installed');
10 $oldversion = null;
11 if ($installed) {
12 $oldversion = get_option('bitforms_version');
13 }
14 return $oldversion;
15 }
16
17 public static function add($version, $invokeable, $check = '>=') {
18 $oldversion = self::getOlderVersion();
19 if ($oldversion && version_compare($oldversion, BITFORMS_VERSION, '!=')) {
20 return static::action($version, $invokeable, $oldversion, $check);
21 }
22 }
23
24 public static function action($version, $invokeable, $oldversion, $check) {
25 $namespace = 'BitCode\BitForm\Core\Fallback';
26 $invoke = explode('@', $invokeable);
27 if (is_array($invoke) && 2 === count($invoke)) {
28 $fileName = $invoke[0];
29 $method = $invoke[1];
30 $class = $namespace . '\\' . $fileName;
31 if (class_exists($class) && method_exists($class, $method)) {
32 $invokeMethod = new ReflectionMethod($class, $method);
33 if (version_compare($version, $oldversion, $check)) {
34 $invokeMethod->invoke($invokeMethod->isStatic() ? null : new $class());
35 }
36 } else {
37 return 'Method or class not exist';
38 }
39 } else {
40 return 'Invalid invokeable';
41 }
42 }
43 }
44