PluginProbe
Boxzilla – WordPress Popup Builder / 3.3.0
Boxzilla – WordPress Popup Builder v3.3.0
3.4.11 3.4.10 3.4.9 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 trunk 3.0 3.0.1 3.0.2 3.0.3 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 All 72 releases
boxzilla / src / admin / class-installer.php

class-installer.php in Boxzilla – WordPress Popup Builder 3.3.0, at src/admin/class-installer.php

95 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace Boxzilla\Admin;
5
6 class Installer {
7
8
9 /**
10 * Run the installer
11 */
12 public static function run() {
13 $installer = new self;
14 $installer->install();
15 }
16
17 /**
18 * The main install method
19 */
20 public function install() {
21
22 // don't install sample boxes on multisite
23 if ( is_multisite() ) {
24 return;
25 }
26
27 $this->transfer_from_stb();
28 $this->create_sample_box();
29 }
30
31 /**
32 *
33 */
34 public function transfer_from_stb() {
35 global $wpdb;
36
37 // transfer post types
38 $query = $wpdb->prepare( "UPDATE {$wpdb->posts} SET post_type = %s WHERE post_type = %s", 'boxzilla-box', 'scroll-triggered-box' );
39 $wpdb->query( $query );
40
41 // transfer post meta
42 $query = $wpdb->prepare( "UPDATE {$wpdb->postmeta} SET meta_key = %s WHERE meta_key = %s", 'boxzilla_options', 'stb_options' );
43 $wpdb->query( $query );
44
45 // transfer rules
46 $query = $wpdb->prepare( "UPDATE {$wpdb->options} SET option_name = %s WHERE option_name = %s", 'boxzilla_rules', 'stb_rules' );
47 $wpdb->query( $query );
48 }
49
50 /**
51 * @return bool
52 */
53 protected function create_sample_box() {
54
55 // only create sample box if no boxes were found
56 $boxes = get_posts(
57 array(
58 'post_type' => 'boxzilla-box',
59 'post_status' => array( 'publish', 'draft' ),
60 )
61 );
62
63 if ( ! empty( $boxes ) ) {
64 return false;
65 }
66
67 $box_id = wp_insert_post(
68 array(
69 'post_type' => 'boxzilla-box',
70 'post_title' => 'Sample Box',
71 'post_content' => '<h4>Hello world.</h4><p>This is a sample box, with some sample content in it.</p>',
72 'post_status' => 'draft',
73 )
74 );
75
76 // set box settings
77 $settings = array(
78 'css' => array(
79 'background_color' => '#edf9ff',
80 'color' => '',
81 'width' => '340',
82 'border_color' => '#dd7575',
83 'border_width' => '4',
84 'border_style' => 'dashed',
85 'position' => 'bottom-right',
86 'manual' => '',
87 ),
88 );
89
90 update_post_meta( $box_id, 'boxzilla_options', $settings );
91
92 return true;
93 }
94 }
95