PluginProbe
Float menu – awesome floating side menu / trunk
Float menu – awesome floating side menu vtrunk
7.2.5 trunk 2.1 2.2 3.0.1 3.1 3.2.2 3.3.1 3.5 3.5.1 3.5.2 3.5.3. 3.5.4 4.0 4.1 4.1.1 4.2 4.3 4.3.1 4.3.2 5.0 5.0.1 5.0.2 5.0.3 5.1 All 57 releases
float-menu / classes / Update / UpdateDB.php

UpdateDB.php in Float menu – awesome floating side menu trunk, at classes/Update/UpdateDB.php

112 lines 3.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Class UpdateDB
5 *
6 * Contains methods for updating the database structure and data
7 *
8 * @package FloatMenuLite
9 * @subpackage Update
10 * @author Dmytro Lobov <dev@wow-company.com>, Wow-Company
11 * @copyright 2024 Dmytro Lobov
12 * @license GPL-2.0+
13 *
14 */
15
16 namespace FloatMenuLite\Update;
17
18 use FloatMenuLite\Admin\DBManager;
19 use FloatMenuLite\WOWP_Plugin;
20
21 class UpdateDB {
22
23 public static function init(): void {
24 $current_db_version = get_site_option( WOWP_Plugin::PREFIX . '_db_version' );
25
26 if ( $current_db_version && version_compare( $current_db_version, '7.0', '>=' ) ) {
27 return;
28 }
29
30 self::start_update();
31
32 update_site_option( WOWP_Plugin::PREFIX . '_db_version', '7.0' );
33 }
34
35 public static function start_update(): void {
36 self::update_fields();
37 }
38
39 public static function update_fields(): void {
40 $results = DBManager::get_all_data();
41
42 if ( empty( $results ) || ! is_array( $results ) ) {
43 return;
44 }
45 foreach ( $results as $result ) {
46 $param = maybe_unserialize( $result->param );
47
48 $param = self::update_param( $param );
49
50 $data = [
51 'param' => maybe_serialize( $param ),
52 ];
53
54 $where = [ 'id' => $result->id ];
55
56 $data_formats = [ '%s' ];
57
58 DBManager::update( $data, $where, $data_formats );
59
60 }
61 }
62
63 public static function update_param( $param ) {
64 $count = ( ! empty( $param['menu_1']['item_type'] ) ) ? count( $param['menu_1']['item_type'] ) : '0';
65 if ( $count > 0 ) {
66 for ( $i = 0; $i < $count; $i ++ ) {
67
68 if ( $param['menu_1']['item_type'][ $i ] === 'popup' && ! isset( $param['menu_1']['popupcontent'][ $i ] ) && isset( $param['popupcontent'] ) ) {
69 $param['menu_1']['popupcontent'][ $i ] = $param['popupcontent'];
70 $param['menu_1']['popuptitle'][ $i ] = $param['popuptitle'];
71 }
72
73 if ( ! empty( $param['menu_1']['item_custom'][ $i ] ) && ! isset( $param['menu_1']['icon_type'][ $i ] ) ) {
74 $param['menu_1']['icon_type'][ $i ] = 'image';
75 }
76
77 if ( ! empty( $param['menu_1']['item_custom_text_check'][ $i ] ) && ! isset( $param['menu_1']['icon_type'][ $i ] ) ) {
78 $param['menu_1']['icon_type'][ $i ] = 'text';
79 }
80
81 if ( isset( $param['menu_1']['item_icon_anomate'][ $i ] ) ) {
82 $param['menu_1']['item_icon_anomate'][ $i ] = str_replace( "fa-", "-", $param['menu_1']['item_icon_anomate'][ $i ] );
83 }
84 }
85 }
86
87 if ( ! empty( $param['showAfterPosition'] ) && ! isset( $param['scroll_action'] ) ) {
88 $param['scroll_action'] = 'show';
89 $param['scroll'] = $param['showAfterPosition'];
90 }
91
92 if ( ! empty( $param['hideAfterPosition'] ) && ! isset( $param['scroll_action'] ) ) {
93 $param['scroll_action'] = 'hide';
94 $param['scroll'] = $param['hideAfterPosition'];
95 }
96
97 if ( isset( $param['windowColor'] ) && ! isset( $param['popup_head_bg'] ) ) {
98 if ( $param['windowColor'] === 'black' ) {
99 $param['popup_head_bg'] = '#2a2a2a';
100 } elseif ( $param['windowColor'] === 'red' ) {
101 $param['popup_head_bg'] = '#F23D3D';
102 } elseif ( $param['windowColor'] === 'yellow' ) {
103 $param['popup_head_bg'] = '#FFBD22';
104 } elseif ( $param['windowColor'] === 'blue' ) {
105 $param['popup_head_bg'] = '#4090FF';
106 }
107 }
108
109 return $param;
110 }
111
112 }