WP Engine Automated Migration - Version 4.54

Version Description

  • Upgrading to new UI
  • Added Support for Multi Table Callbacks
Download this release

Release Info

Developer ritesh.soni36
Plugin Icon 128x128 WP Engine Automated Migration
Version 4.54
Comparing to
See all releases

Code changes from version 4.35 to 4.54

account.php CHANGED
@@ -84,6 +84,39 @@ if (!class_exists('WPEAccount')) :
84
  return $accountsByPlugname;
85
  }
86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  public static function isConfigured($settings) {
88
  $accounts = self::accountsByPlugname($settings);
89
  return (sizeof($accounts) >= 1);
@@ -155,16 +188,22 @@ if (!class_exists('WPEAccount')) :
155
  $this->settings->updateOption('bvLastRecvTime', $time);
156
  return 1;
157
  }
158
-
159
  public function updateInfo($info) {
160
  $accounts = self::allAccounts($this->settings);
161
- $plugname = self::getPlugName($this->settings);
 
162
  $pubkey = $info['pubkey'];
163
  if (!array_key_exists($pubkey, $accounts)) {
164
  $accounts[$pubkey] = array();
165
  }
 
 
 
 
166
  $accounts[$pubkey]['lastbackuptime'] = time();
167
  $accounts[$pubkey][$plugname] = true;
 
168
  $accounts[$pubkey]['url'] = $info['url'];
169
  $accounts[$pubkey]['email'] = $info['email'];
170
  self::update($this->settings, $accounts);
@@ -180,6 +219,28 @@ if (!class_exists('WPEAccount')) :
180
  return false;
181
  }
182
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  public static function exists($settings, $pubkey) {
184
  $accounts = self::allAccounts($settings);
185
  return array_key_exists($pubkey, $accounts);
84
  return $accountsByPlugname;
85
  }
86
 
87
+ public static function accountsByType($settings, $account_type) {
88
+ $accounts = self::allAccounts($settings);
89
+ $accounts_by_type = array();
90
+ foreach ($accounts as $pubkey => $value) {
91
+ if (array_key_exists('account_type', $value) && $value['account_type'] === $account_type) {
92
+ $accounts_by_type[$pubkey] = $value;
93
+ }
94
+ }
95
+ return $accounts_by_type;
96
+ }
97
+
98
+ public static function accountsByGid($settings, $account_gid) {
99
+ $accounts = self::allAccounts($settings);
100
+ $accounts_by_gid = array();
101
+ foreach ($accounts as $pubkey => $value) {
102
+ if (array_key_exists('account_gid', $value) && $value['account_gid'] === $account_gid) {
103
+ $accounts_by_gid[$pubkey] = $value;
104
+ }
105
+ }
106
+ return $accounts_by_gid;
107
+ }
108
+
109
+ public static function accountsByPattern($settings, $search_key, $search_pattern) {
110
+ $accounts = self::allAccounts($settings);
111
+ $accounts_by_pattern = array();
112
+ foreach ($accounts as $pubkey => $value) {
113
+ if (array_key_exists($search_key, $value) && preg_match($search_pattern, $value[$search_key]) == 1) {
114
+ $accounts_by_pattern[$pubkey] = $value;
115
+ }
116
+ }
117
+ return $accounts_by_pattern;
118
+ }
119
+
120
  public static function isConfigured($settings) {
121
  $accounts = self::accountsByPlugname($settings);
122
  return (sizeof($accounts) >= 1);
188
  $this->settings->updateOption('bvLastRecvTime', $time);
189
  return 1;
190
  }
191
+
192
  public function updateInfo($info) {
193
  $accounts = self::allAccounts($this->settings);
194
+ $plugname = $info["plugname"];
195
+ $account_type = $info["account_type"];
196
  $pubkey = $info['pubkey'];
197
  if (!array_key_exists($pubkey, $accounts)) {
198
  $accounts[$pubkey] = array();
199
  }
200
+ if (array_key_exists('secret', $info)) {
201
+ $accounts[$pubkey]['secret'] = $info['secret'];
202
+ }
203
+ $accounts[$pubkey]['account_gid'] = $info['account_gid'];
204
  $accounts[$pubkey]['lastbackuptime'] = time();
205
  $accounts[$pubkey][$plugname] = true;
206
+ $accounts[$pubkey]['account_type'] = $account_type;
207
  $accounts[$pubkey]['url'] = $info['url'];
208
  $accounts[$pubkey]['email'] = $info['email'];
209
  self::update($this->settings, $accounts);
219
  return false;
220
  }
221
 
222
+ public static function removeByAccountType($settings, $account_type) {
223
+ $accounts = WPEAccount::accountsByType($settings, $account_type);
224
+ if (sizeof($accounts) >= 1) {
225
+ foreach ($accounts as $pubkey => $value) {
226
+ WPEAccount::remove($settings, $pubkey);
227
+ }
228
+ return true;
229
+ }
230
+ return false;
231
+ }
232
+
233
+ public static function removeByAccountGid($settings, $account_gid) {
234
+ $accounts = WPEAccount::accountsByGid($settings, $account_gid);
235
+ if (sizeof($accounts) >= 1) {
236
+ foreach ($accounts as $pubkey => $value) {
237
+ WPEAccount::remove($settings, $pubkey);
238
+ }
239
+ return true;
240
+ }
241
+ return false;
242
+ }
243
+
244
  public static function exists($settings, $pubkey) {
245
  $accounts = self::allAccounts($settings);
246
  return array_key_exists($pubkey, $accounts);
admin/main_page.php CHANGED
@@ -1,151 +1,29 @@
1
- <?php
2
- $_error = NULL;
3
- if (array_key_exists('error', $_REQUEST)) {
4
- $_error = $_REQUEST['error'];
5
- }
6
- ?>
7
- <div class="wrap">
8
- <header>
9
- <a href="http://wpengine.com/"><img src="<?php echo plugins_url($this->getPluginLogo(), __FILE__); ?>" width="180px" /></a>
10
- <p class="poweredBy u-pull-right"><a href="http://blogvault.net"><img src="<?php echo plugins_url('../assets/img/blogvault-logo-120.png', __FILE__); ?>" width="140px"/></a></p>
11
- </header>
12
-
13
- <hr/>
14
- <div class="row">
15
-
16
- <div class="seven columns">
17
- <form id="wpe_migrate_form" dummy=">" action="<?php echo $this->bvinfo->appUrl(); ?>/home/migrate" onsubmit="document.getElementById('migratesubmit').disabled = true;" method="post" name="signup">
18
- <h1>Migrate My Site to WP Engine</h1>
19
- <p>The WP Engine Automated Migration plugin allows you to easily migrate your entire WordPress site from
20
- your previous hosting service to WP Engine for free.</p>
21
- <p>Take the information from the migration page of your <a href="http://my.wpengine.com">WP Engine User Portal</a>, and paste
22
- those values into the fields below, and click "Migrate".</p>
23
- <p style="color:red">The .htaccess file will not be supported on our platform on PHP 7.4 and up (PHP 7.4 is currently default). We will continue to support .htaccess as normal on all previous versions of PHP until they are deprecated. For more information regarding these .htaccess changes, or to find/change your environment’s PHP version, <a href="https://wpengine.com/support/php-guide/">check out our PHP guide!</a></p>
24
- <?php if ($_error == "email") {
25
- echo '<div class="error" style="padding-bottom:0.5%;"><p>There is already an account with this email.</p></div>';
26
- } else if ($_error == "blog") {
27
- echo '<div class="error" style="padding-bottom:0.5%;"><p>Could not create an account. Please contact <a href="http://blogvault.net/contact/">blogVault Support</a><br />
28
- <font color="red">NOTE: We do not support automated migration of locally hosted sites.</font></p></div>';
29
- } else if (($_error == "custom") && isset($_REQUEST['bvnonce']) && wp_verify_nonce($_REQUEST['bvnonce'], "bvnonce")) {
30
- echo '<div class="error" style="padding-bottom:0.5%;"><p>'.base64_decode($_REQUEST['message']).'</p></div>';
31
- }
32
- ?>
33
- <input type="hidden" name="bvsrc" value="wpplugin" />
34
- <input type="hidden" name="migrate" value="wpengine" />
35
- <input type="hidden" name="type" value="sftp" />
36
- <?php echo $this->siteInfoTags(); ?>
37
- <div class="row">
38
- <div class="six columns">
39
- <label id='label_email'>Email</label>
40
- <input class="u-full-width" type="text" id="email" name="email">
41
- <p class="help-block"></p>
42
- </div>
43
- <div class="six columns">
44
- <label class="control-label" for="input02">Destination Site URL</label>
45
- <input type="text" class="u-full-width" name="newurl" placeholder="site.wpengine.com">
46
- </div>
47
- </div>
48
- <div class="row">
49
- <div class="six columns">
50
- <label class="control-label" for="inputip"> SFTP Host/Server Address </label>
51
- <input type="text" class="u-full-width" placeholder="ex. 123.456.789.101" name="address">
52
- <p class="help-block"></p>
53
- </div>
54
- </div>
55
- <div class="row">
56
- <div class="six columns">
57
- <label class="control-label" for="input01">SFTP Username</label>
58
- <input type="text" class="u-full-width" placeholder="See WP Engine User Portal" name="username">
59
- <p class="help-block"></p>
60
- </div>
61
- <div class="six columns">
62
- <label class="control-label" for="input02">SFTP Password</label>
63
- <input type="password" class="u-full-width" placeholder="See WP Engine User Portal" name="passwd">
64
- </div>
65
- </div>
66
- <hr/>
67
-
68
- <h3>Is Your Site Password Protected?</h3>
69
- <p>If your current host or your WP Engine install is password protected, you'll need to enter that information here so
70
- that the migration plugin can access all of your site.
71
- </p>
72
-
73
- <button name="password-protected" id="advanced-options-toggle" class="button" onclick="javascript; return false">My site is password protected</button>
74
-
75
- <div id="password-auth" style="display:none">
76
- <div id="source-auth" class="six columns">
77
- <div class="row">
78
- <div class="twelve columns">
79
- <h3>Current</h3>
80
- <label class="control-label" for="httpauth_src_user">User</label>
81
- <input type="text" class="u-full-width" name="httpauth_src_user">
82
- <p class="help-block"></p>
83
- </div>
84
- </div>
85
- <div class="row">
86
- <div class="twelve columns">
87
- <label class="control-label" for="httpauth_src_password">Password</label>
88
- <input type="password" class="u-full-width" name="httpauth_src_password">
89
- <p class="help-block sourceAuthError error" style="display:none">It appears that your current site that does not exist on WP Engine is password protected. Please provide your username and password
90
- for this password protection.</p>
91
- </div>
92
- </div>
93
- </div>
94
-
95
- <div id="dest-auth" class="six columns">
96
- <div class="row">
97
- <div class="twelve columns">
98
- <h3>WP Engine</h3>
99
- <label class="control-label" for="httpauth_dest_user">Username</label>
100
- <input type="text" class="u-full-width" name="httpauth_dest_user">
101
- <p class="help-block"></p>
102
- </div>
103
- </div>
104
- <div class="row">
105
- <div class="twelve columns">
106
- <label class="control-label" for="httpauth_dest_password">Password</label>
107
- <input type="password" class="u-full-width" name="httpauth_dest_password">
108
- <p class="help-block destAuthError error" style="display:none">It appears that your site on WP Engine is password protected. Please provide your username and password
109
- for the password protection.</p>
110
- </div>
111
- </div>
112
- </div>
113
- </div>
114
-
115
- <hr/>
116
- <div>
117
- <input type="checkbox" style="width:16px; height:16px" name="consent" onchange="document.getElementById('migratesubmit').disabled = !this.checked;" value="1"/>I agree to WP Engine's <a href="https://wpengine.com/terms-of-service/" target="_blank" rel="noopener noreferrer">Terms of Service</a>
118
- </div>
119
- <br><input type='submit' disabled id='migratesubmit' value='Migrate' class="button button-primary">
120
- </form>
121
- </div>
122
-
123
- <div class="five columns">
124
- <h1>Resources</h1>
125
- <div style="padding:10px; background-color:#FFF; margin-top:15px;">
126
- <iframe src="//fast.wistia.net/embed/iframe/0rrkl3w1vu?videoFoam=true" allowtransparency="true" frameborder="0" scrolling="no" class="wistia_embed" name="wistia_embed" allowfullscreen mozallowfullscreen webkitallowfullscreen oallowfullscreen msallowfullscreen width="500" height="313"></iframe><script src="//fast.wistia.net/assets/external/E-v1.js"></script>
127
- <p><i>For full instructions and solutions to common errors, please visit our <a href="http://wpengine.com/support/wp-engine-automatic-migration/">WP Engine Automated Migration</a> support garage article.</i></p>
128
  </div>
129
  </div>
130
- </div><!--row end-->
131
- </div><!-- wrap ends here -->
132
-
133
- <script type="text/javascript">
134
- jQuery(document).ready(function () {
135
- <?php if (array_key_exists('auth_required_dest', $_REQUEST)) { ?>
136
- jQuery('#password-auth').show();
137
- jQuery('.sourceAuthError').show();
138
- jQuery('#dest-auth').addClass("attentionNeeded");
139
- <?php } ?>
140
-
141
- <?php if (array_key_exists('auth_required_source', $_REQUEST)) { ?>
142
- jQuery('#password-auth').show();
143
- jQuery('.destAuthError').show();
144
- jQuery('#source-auth').addClass("attentionNeeded");
145
- <?php } ?>
146
- jQuery('#advanced-options-toggle').click(function() {
147
- jQuery('#password-auth').toggle();
148
- return false;
149
- });
150
- });
151
- </script>
1
+ <header class="header-container">
2
+ <a href="http://wpengine.com/" target="_blank" rel="noopener noreferrer">
3
+ <img class="wpengine-logo" src="<?php echo plugins_url("/../assets/img/wpe-logo.svg", __FILE__); ?>">
4
+ </a>
5
+ <img class="blogvault-logo" src="<?php echo plugins_url("/../assets/img/bv-logo.svg", __FILE__); ?>">
6
+ </header>
7
+ <main class="text-center">
8
+ <div class="card">
9
+ <form action="<?php echo $this->bvinfo->appUrl(); ?>/migration/migrate" method="post" name="signup">
10
+ <img class="wpe-logo-lg" src="<?php echo plugins_url("/../assets/img/wpe-logo-lg.svg", __FILE__); ?>">
11
+ <?php $this->showErrors(); ?>
12
+ <div class="form-content">
13
+ <label class="email-label" required>Email Address</label>
14
+ <input type="email" name="email" placeholder="Email address" class="email-input">
15
+ <div class="tnc-check text-center mt-2">
16
+ <label class="normal-text horizontal">
17
+ <input type="hidden" name="bvsrc" value="wpplugin" />
18
+ <input type="hidden" name="migrate" value="wpengine" />
19
+ <input type="checkbox" name="consent" onchange="document.getElementById('migratesubmit').disabled = !this.checked;" value="1">
20
+ <span class="checkmark"></span>&nbsp;
21
+ I agree to WP Engine's <a href="https://wpengine.com/legal/terms-of-service/" style="text-decoration: none; color: #9579F2;">Terms of Service</a>
22
+ </label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  </div>
24
  </div>
25
+ <?php echo $this->siteInfoTags(); ?>
26
+ <input type="submit" name="submit" id="migratesubmit" class="button button-secondary" value="Get started" style="display: block; margin: 2rem auto 2rem;" disabled>
27
+ </form>
28
+ </div>
29
+ </main>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/form-styles.css DELETED
@@ -1,14 +0,0 @@
1
- /* Customer CSS can go here */
2
-
3
- #password-auth{
4
- margin-top:10px;
5
- }
6
-
7
- #attentionNeeded{
8
- box-shadow: 0px 0px 30px #FF9C9C;
9
- padding: 5px;
10
- }
11
-
12
- .error{
13
- font-style:#FF0000;
14
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/normalize.css DELETED
@@ -1,427 +0,0 @@
1
- /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
2
-
3
- /**
4
- * 1. Set default font family to sans-serif.
5
- * 2. Prevent iOS text size adjust after orientation change, without disabling
6
- * user zoom.
7
- */
8
-
9
- html {
10
- font-family: sans-serif; /* 1 */
11
- -ms-text-size-adjust: 100%; /* 2 */
12
- -webkit-text-size-adjust: 100%; /* 2 */
13
- }
14
-
15
- /**
16
- * Remove default margin.
17
- */
18
-
19
- body {
20
- margin: 0;
21
- }
22
-
23
- /* HTML5 display definitions
24
- ========================================================================== */
25
-
26
- /**
27
- * Correct `block` display not defined for any HTML5 element in IE 8/9.
28
- * Correct `block` display not defined for `details` or `summary` in IE 10/11
29
- * and Firefox.
30
- * Correct `block` display not defined for `main` in IE 11.
31
- */
32
-
33
- article,
34
- aside,
35
- details,
36
- figcaption,
37
- figure,
38
- footer,
39
- header,
40
- hgroup,
41
- main,
42
- menu,
43
- nav,
44
- section,
45
- summary {
46
- display: block;
47
- }
48
-
49
- /**
50
- * 1. Correct `inline-block` display not defined in IE 8/9.
51
- * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
52
- */
53
-
54
- audio,
55
- canvas,
56
- progress,
57
- video {
58
- display: inline-block; /* 1 */
59
- vertical-align: baseline; /* 2 */
60
- }
61
-
62
- /**
63
- * Prevent modern browsers from displaying `audio` without controls.
64
- * Remove excess height in iOS 5 devices.
65
- */
66
-
67
- audio:not([controls]) {
68
- display: none;
69
- height: 0;
70
- }
71
-
72
- /**
73
- * Address `[hidden]` styling not present in IE 8/9/10.
74
- * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
75
- */
76
-
77
- [hidden],
78
- template {
79
- display: none;
80
- }
81
-
82
- /* Links
83
- ========================================================================== */
84
-
85
- /**
86
- * Remove the gray background color from active links in IE 10.
87
- */
88
-
89
- a {
90
- background-color: transparent;
91
- }
92
-
93
- /**
94
- * Improve readability when focused and also mouse hovered in all browsers.
95
- */
96
-
97
- a:active,
98
- a:hover {
99
- outline: 0;
100
- }
101
-
102
- /* Text-level semantics
103
- ========================================================================== */
104
-
105
- /**
106
- * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
107
- */
108
-
109
- abbr[title] {
110
- border-bottom: 1px dotted;
111
- }
112
-
113
- /**
114
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
115
- */
116
-
117
- b,
118
- strong {
119
- font-weight: bold;
120
- }
121
-
122
- /**
123
- * Address styling not present in Safari and Chrome.
124
- */
125
-
126
- dfn {
127
- font-style: italic;
128
- }
129
-
130
- /**
131
- * Address variable `h1` font-size and margin within `section` and `article`
132
- * contexts in Firefox 4+, Safari, and Chrome.
133
- */
134
-
135
- h1 {
136
- font-size: 2em;
137
- margin: 0.67em 0;
138
- }
139
-
140
- /**
141
- * Address styling not present in IE 8/9.
142
- */
143
-
144
- mark {
145
- background: #ff0;
146
- color: #000;
147
- }
148
-
149
- /**
150
- * Address inconsistent and variable font size in all browsers.
151
- */
152
-
153
- small {
154
- font-size: 80%;
155
- }
156
-
157
- /**
158
- * Prevent `sub` and `sup` affecting `line-height` in all browsers.
159
- */
160
-
161
- sub,
162
- sup {
163
- font-size: 75%;
164
- line-height: 0;
165
- position: relative;
166
- vertical-align: baseline;
167
- }
168
-
169
- sup {
170
- top: -0.5em;
171
- }
172
-
173
- sub {
174
- bottom: -0.25em;
175
- }
176
-
177
- /* Embedded content
178
- ========================================================================== */
179
-
180
- /**
181
- * Remove border when inside `a` element in IE 8/9/10.
182
- */
183
-
184
- img {
185
- border: 0;
186
- }
187
-
188
- /**
189
- * Correct overflow not hidden in IE 9/10/11.
190
- */
191
-
192
- svg:not(:root) {
193
- overflow: hidden;
194
- }
195
-
196
- /* Grouping content
197
- ========================================================================== */
198
-
199
- /**
200
- * Address margin not present in IE 8/9 and Safari.
201
- */
202
-
203
- figure {
204
- margin: 1em 40px;
205
- }
206
-
207
- /**
208
- * Address differences between Firefox and other browsers.
209
- */
210
-
211
- hr {
212
- -moz-box-sizing: content-box;
213
- box-sizing: content-box;
214
- height: 0;
215
- }
216
-
217
- /**
218
- * Contain overflow in all browsers.
219
- */
220
-
221
- pre {
222
- overflow: auto;
223
- }
224
-
225
- /**
226
- * Address odd `em`-unit font size rendering in all browsers.
227
- */
228
-
229
- code,
230
- kbd,
231
- pre,
232
- samp {
233
- font-family: monospace, monospace;
234
- font-size: 1em;
235
- }
236
-
237
- /* Forms
238
- ========================================================================== */
239
-
240
- /**
241
- * Known limitation: by default, Chrome and Safari on OS X allow very limited
242
- * styling of `select`, unless a `border` property is set.
243
- */
244
-
245
- /**
246
- * 1. Correct color not being inherited.
247
- * Known issue: affects color of disabled elements.
248
- * 2. Correct font properties not being inherited.
249
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
250
- */
251
-
252
- button,
253
- input,
254
- optgroup,
255
- select,
256
- textarea {
257
- color: inherit; /* 1 */
258
- font: inherit; /* 2 */
259
- margin: 0; /* 3 */
260
- }
261
-
262
- /**
263
- * Address `overflow` set to `hidden` in IE 8/9/10/11.
264
- */
265
-
266
- button {
267
- overflow: visible;
268
- }
269
-
270
- /**
271
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
272
- * All other form control elements do not inherit `text-transform` values.
273
- * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
274
- * Correct `select` style inheritance in Firefox.
275
- */
276
-
277
- button,
278
- select {
279
- text-transform: none;
280
- }
281
-
282
- /**
283
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
284
- * and `video` controls.
285
- * 2. Correct inability to style clickable `input` types in iOS.
286
- * 3. Improve usability and consistency of cursor style between image-type
287
- * `input` and others.
288
- */
289
-
290
- button,
291
- html input[type="button"], /* 1 */
292
- input[type="reset"],
293
- input[type="submit"] {
294
- -webkit-appearance: button; /* 2 */
295
- cursor: pointer; /* 3 */
296
- }
297
-
298
- /**
299
- * Re-set default cursor for disabled elements.
300
- */
301
-
302
- button[disabled],
303
- html input[disabled] {
304
- cursor: default;
305
- }
306
-
307
- /**
308
- * Remove inner padding and border in Firefox 4+.
309
- */
310
-
311
- button::-moz-focus-inner,
312
- input::-moz-focus-inner {
313
- border: 0;
314
- padding: 0;
315
- }
316
-
317
- /**
318
- * Address Firefox 4+ setting `line-height` on `input` using `!important` in
319
- * the UA stylesheet.
320
- */
321
-
322
- input {
323
- line-height: normal;
324
- }
325
-
326
- /**
327
- * It's recommended that you don't attempt to style these elements.
328
- * Firefox's implementation doesn't respect box-sizing, padding, or width.
329
- *
330
- * 1. Address box sizing set to `content-box` in IE 8/9/10.
331
- * 2. Remove excess padding in IE 8/9/10.
332
- */
333
-
334
- input[type="checkbox"],
335
- input[type="radio"] {
336
- box-sizing: border-box; /* 1 */
337
- padding: 0; /* 2 */
338
- }
339
-
340
- /**
341
- * Fix the cursor style for Chrome's increment/decrement buttons. For certain
342
- * `font-size` values of the `input`, it causes the cursor style of the
343
- * decrement button to change from `default` to `text`.
344
- */
345
-
346
- input[type="number"]::-webkit-inner-spin-button,
347
- input[type="number"]::-webkit-outer-spin-button {
348
- height: auto;
349
- }
350
-
351
- /**
352
- * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
353
- * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
354
- * (include `-moz` to future-proof).
355
- */
356
-
357
- input[type="search"] {
358
- -webkit-appearance: textfield; /* 1 */
359
- -moz-box-sizing: content-box;
360
- -webkit-box-sizing: content-box; /* 2 */
361
- box-sizing: content-box;
362
- }
363
-
364
- /**
365
- * Remove inner padding and search cancel button in Safari and Chrome on OS X.
366
- * Safari (but not Chrome) clips the cancel button when the search input has
367
- * padding (and `textfield` appearance).
368
- */
369
-
370
- input[type="search"]::-webkit-search-cancel-button,
371
- input[type="search"]::-webkit-search-decoration {
372
- -webkit-appearance: none;
373
- }
374
-
375
- /**
376
- * Define consistent border, margin, and padding.
377
- */
378
-
379
- fieldset {
380
- border: 1px solid #c0c0c0;
381
- margin: 0 2px;
382
- padding: 0.35em 0.625em 0.75em;
383
- }
384
-
385
- /**
386
- * 1. Correct `color` not being inherited in IE 8/9/10/11.
387
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
388
- */
389
-
390
- legend {
391
- border: 0; /* 1 */
392
- padding: 0; /* 2 */
393
- }
394
-
395
- /**
396
- * Remove default vertical scrollbar in IE 8/9/10/11.
397
- */
398
-
399
- textarea {
400
- overflow: auto;
401
- }
402
-
403
- /**
404
- * Don't inherit the `font-weight` (applied by a rule above).
405
- * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
406
- */
407
-
408
- optgroup {
409
- font-weight: bold;
410
- }
411
-
412
- /* Tables
413
- ========================================================================== */
414
-
415
- /**
416
- * Remove most spacing between table cells.
417
- */
418
-
419
- table {
420
- border-collapse: collapse;
421
- border-spacing: 0;
422
- }
423
-
424
- td,
425
- th {
426
- padding: 0;
427
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/skeleton.css DELETED
@@ -1,293 +0,0 @@
1
- /*
2
- * Skeleton V2.0.4
3
- * Copyright 2014, Dave Gamache
4
- * www.getskeleton.com
5
- * Free to use under the MIT license.
6
- * http://www.opensource.org/licenses/mit-license.php
7
- * 12/29/2014
8
- */
9
-
10
-
11
- /* Table of contents
12
- ––––––––––––––––––––––––––––––––––––––––––––––––––
13
- - Grid
14
- - Base Styles
15
- - Typography
16
- - Links
17
- - Buttons
18
- - Forms
19
- - Lists
20
- - Code
21
- - Tables
22
- - Spacing
23
- - Utilities
24
- - Clearing
25
- - Media Queries
26
- */
27
-
28
-
29
- /* Grid
30
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
31
- .container {
32
- position: relative;
33
- width: 100%;
34
- max-width: 960px;
35
- margin: 0 auto;
36
- padding: 0 20px;
37
- box-sizing: border-box; }
38
- .column,
39
- .columns {
40
- width: 100%;
41
- float: left;
42
- box-sizing: border-box; }
43
-
44
- /* For devices larger than 400px */
45
- @media (min-width: 400px) {
46
- .container {
47
- width: 85%;
48
- padding: 0; }
49
- }
50
-
51
- /* For devices larger than 550px */
52
- @media (min-width: 550px) {
53
- .container {
54
- width: 80%; }
55
- .column,
56
- .columns {
57
- margin-left: 4%; }
58
- .column:first-child,
59
- .columns:first-child {
60
- margin-left: 0; }
61
-
62
- .one.column,
63
- .one.columns { width: 4.66666666667%; }
64
- .two.columns { width: 13.3333333333%; }
65
- .three.columns { width: 22%; }
66
- .four.columns { width: 30.6666666667%; }
67
- .five.columns { width: 39.3333333333%; }
68
- .six.columns { width: 48%; }
69
- .seven.columns { width: 56.6666666667%; }
70
- .eight.columns { width: 65.3333333333%; }
71
- .nine.columns { width: 74.0%; }
72
- .ten.columns { width: 82.6666666667%; }
73
- .eleven.columns { width: 91.3333333333%; }
74
- .twelve.columns { width: 100%; margin-left: 0; }
75
-
76
- .one-third.column { width: 30.6666666667%; }
77
- .two-thirds.column { width: 65.3333333333%; }
78
-
79
- .one-half.column { width: 48%; }
80
-
81
- /* Offsets */
82
- .offset-by-one.column,
83
- .offset-by-one.columns { margin-left: 8.66666666667%; }
84
- .offset-by-two.column,
85
- .offset-by-two.columns { margin-left: 17.3333333333%; }
86
- .offset-by-three.column,
87
- .offset-by-three.columns { margin-left: 26%; }
88
- .offset-by-four.column,
89
- .offset-by-four.columns { margin-left: 34.6666666667%; }
90
- .offset-by-five.column,
91
- .offset-by-five.columns { margin-left: 43.3333333333%; }
92
- .offset-by-six.column,
93
- .offset-by-six.columns { margin-left: 52%; }
94
- .offset-by-seven.column,
95
- .offset-by-seven.columns { margin-left: 60.6666666667%; }
96
- .offset-by-eight.column,
97
- .offset-by-eight.columns { margin-left: 69.3333333333%; }
98
- .offset-by-nine.column,
99
- .offset-by-nine.columns { margin-left: 78.0%; }
100
- .offset-by-ten.column,
101
- .offset-by-ten.columns { margin-left: 86.6666666667%; }
102
- .offset-by-eleven.column,
103
- .offset-by-eleven.columns { margin-left: 95.3333333333%; }
104
-
105
- .offset-by-one-third.column,
106
- .offset-by-one-third.columns { margin-left: 34.6666666667%; }
107
- .offset-by-two-thirds.column,
108
- .offset-by-two-thirds.columns { margin-left: 69.3333333333%; }
109
-
110
- .offset-by-one-half.column,
111
- .offset-by-one-half.columns { margin-left: 52%; }
112
-
113
- }
114
-
115
-
116
- /* Base Styles
117
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
118
- /* NOTE
119
- html is set to 62.5% so that all the REM measurements throughout Skeleton
120
- are based on 10px sizing. So basically 1.5rem = 15px :) */
121
- html {
122
- font-size: 62.5%; }
123
- body {
124
- font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */
125
- line-height: 1.6;
126
- font-weight: 400;
127
- color: #222; }
128
-
129
-
130
- /* Typography
131
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
132
- /* Removed in favor of WordPress defaults */
133
-
134
-
135
- /* Links
136
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
137
- a {
138
- color: #1EAEDB; }
139
- a:hover {
140
- color: #0FA0CE; }
141
-
142
-
143
- /* Buttons
144
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
145
- /*Removed in favor of WordPress buttons
146
-
147
-
148
- /* Forms
149
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
150
- /* Removed Form Styles in favor of WordPress*/
151
- label,
152
- legend {
153
- display: block;
154
- margin-bottom: .5rem;
155
- font-weight: 600; }
156
-
157
- label > .label-body {
158
- display: inline-block;
159
- margin-left: .5rem;
160
- font-weight: normal; }
161
-
162
-
163
- /* Lists
164
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
165
- ul {
166
- list-style: circle inside; }
167
- ol {
168
- list-style: decimal inside; }
169
- ol, ul {
170
- padding-left: 0;
171
- margin-top: 0; }
172
- ul ul,
173
- ul ol,
174
- ol ol,
175
- ol ul {
176
- margin: 1.5rem 0 1.5rem 3rem;
177
- font-size: 90%; }
178
- li {
179
- margin-bottom: 1rem; }
180
-
181
-
182
- /* Code
183
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
184
- code {
185
- padding: .2rem .5rem;
186
- margin: 0 .2rem;
187
- font-size: 90%;
188
- white-space: nowrap;
189
- background: #F1F1F1;
190
- border: 1px solid #E1E1E1;
191
- border-radius: 4px; }
192
- pre > code {
193
- display: block;
194
- padding: 1rem 1.5rem;
195
- white-space: pre; }
196
-
197
-
198
- /* Tables
199
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
200
- th,
201
- td {
202
- padding: 12px 15px;
203
- text-align: left;
204
- border-bottom: 1px solid #E1E1E1; }
205
- th:first-child,
206
- td:first-child {
207
- padding-left: 0; }
208
- th:last-child,
209
- td:last-child {
210
- padding-right: 0; }
211
-
212
-
213
- /* Spacing
214
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
215
- button,
216
- .button {
217
- margin-bottom: 1rem; }
218
- input,
219
- textarea,
220
- select,
221
- fieldset {
222
- margin-bottom: 1.5rem; }
223
- pre,
224
- blockquote,
225
- dl,
226
- figure,
227
- table,
228
- p,
229
- ul,
230
- ol,
231
- form {
232
- margin-bottom: 2.5rem; }
233
-
234
-
235
- /* Utilities
236
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
237
- .u-full-width {
238
- width: 100%;
239
- box-sizing: border-box; }
240
- .u-max-full-width {
241
- max-width: 100%;
242
- box-sizing: border-box; }
243
- .u-pull-right {
244
- float: right; }
245
- .u-pull-left {
246
- float: left; }
247
-
248
-
249
- /* Misc
250
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
251
- hr {
252
- margin-top: 1rem;
253
- margin-bottom: 3.5rem;
254
- border-width: 0;
255
- border-top: 1px solid #E1E1E1; }
256
-
257
-
258
- /* Clearing
259
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
260
-
261
- /* Self Clearing Goodness */
262
- .container:after,
263
- .row:after,
264
- .u-cf {
265
- content: "";
266
- display: table;
267
- clear: both; }
268
-
269
-
270
- /* Media Queries
271
- –––––––––––––––––––––––––––––––––––––––––––––––––– */
272
- /*
273
- Note: The best way to structure the use of media queries is to create the queries
274
- near the relevant code. For example, if you wanted to change the styles for buttons
275
- on small devices, paste the mobile query code up in the buttons section and style it
276
- there.
277
- */
278
-
279
-
280
- /* Larger than mobile */
281
- @media (min-width: 400px) {}
282
-
283
- /* Larger than phablet (also point when grid becomes active) */
284
- @media (min-width: 550px) {}
285
-
286
- /* Larger than tablet */
287
- @media (min-width: 750px) {}
288
-
289
- /* Larger than desktop */
290
- @media (min-width: 1000px) {}
291
-
292
- /* Larger than Desktop HD */
293
- @media (min-width: 1200px) {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/style.css ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ background: #ffffff;
3
+ }
4
+ #wpcontent {
5
+ padding-left: 0;
6
+ }
7
+ .mt-2 {
8
+ margin-top: 20px;
9
+ }
10
+ .my-4 {
11
+ margin-top: 40px;
12
+ margin-bottom: 40px;
13
+ }
14
+ .header-container {
15
+ width: 100%;
16
+ margin: 1rem 1rem 4rem 0;
17
+ padding: 0 0 2rem;
18
+ border-bottom: 1px solid #dddddd;
19
+ box-sizing: border-box;
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: space-between;
23
+ }
24
+ .wpengine-logo {
25
+ width: 14em;
26
+ margin-left: 10px;
27
+ }
28
+ .blogvault-logo {
29
+ width: 12em;
30
+ float: right;
31
+ margin-right: 10px;
32
+ }
33
+ .text-center {
34
+ text-align: center;
35
+ }
36
+ .card {
37
+ margin: auto;
38
+ width: 100%;
39
+ max-width: 560px;
40
+ background: #fff;
41
+ padding: 2rem;
42
+ border: none;
43
+ box-shadow: unset;
44
+ }
45
+ .card-title {
46
+ font-size: 2.5rem;
47
+ line-height: 1;
48
+ }
49
+ .form-content {
50
+ max-width: 400px;
51
+ margin: auto;
52
+ }
53
+ .email-label {
54
+ display: block;
55
+ text-align: left;
56
+ margin-bottom: 5px;
57
+ font-weight: normal;
58
+ font-size: 12px;
59
+ }
60
+ input[type=email] {
61
+ font-size: inherit;
62
+ padding: .8em;
63
+ width: 100%;
64
+ border-radius: 5px;
65
+ border: 1px solid #7E8993;
66
+ }
67
+ #migratesubmit {
68
+ display: block;
69
+ margin: 2rem auto 0;
70
+ }
assets/img/blogvault-logo-120.png DELETED
Binary file
assets/img/blogvault-logo.png DELETED
Binary file
assets/img/bv-logo.svg ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg width="140" height="38" viewBox="0 0 133 21" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M66.0027 6.62468C66.2085 3.03007 69.1351 0.184668 72.8259 0.00862203C76.5209 -0.167424 79.7289 2.37092 80.2831 5.92869C80.3419 6.30534 80.3671 6.69428 80.3587 7.07913C80.3419 7.64821 79.88 8.0658 79.3006 8.08627C78.7044 8.10674 78.2299 7.74646 78.1417 7.18148C78.0661 6.71066 78.0619 6.22346 77.9402 5.76492C77.3103 3.43538 75.0765 1.98198 72.5656 2.2399C70.21 2.48555 68.3877 4.44662 68.2533 6.88261C68.2114 7.61955 67.8461 8.04943 67.2204 8.08627C66.557 8.12722 66.0573 7.70962 66.0069 7.06275C65.9943 6.91946 66.0027 6.77207 66.0027 6.62468Z" fill="#616161"></path>
3
+ <path d="M84.074 18.1135V8.99183C84.2209 8.98365 84.3511 8.96727 84.4855 8.97136C85.6696 8.99593 86.862 8.96318 88.0419 9.06553C89.1462 9.15969 89.7551 9.75743 89.944 10.695C90.196 11.9642 89.902 12.6806 88.8901 13.2825C88.8691 13.2947 88.8607 13.3193 88.8439 13.3398C88.8565 13.3643 88.8649 13.393 88.8817 13.4053C90.1456 14.1668 90.5361 15.3991 89.9356 16.7297C89.6459 17.3725 89.1294 17.7655 88.445 17.9293C87.0048 18.2691 85.5436 18.0439 84.074 18.1135ZM85.6654 14.0603V16.7215C86.2448 16.7215 86.7991 16.7461 87.3533 16.7174C88.1469 16.6765 88.4996 16.263 88.5038 15.4237C88.508 14.5762 88.1385 14.1176 87.3575 14.0685C86.8158 14.0358 86.2742 14.0603 85.6654 14.0603ZM85.6696 10.306V12.7297C86.3078 12.7011 86.9166 12.7093 87.5213 12.6397C88.1259 12.5701 88.3946 12.1689 88.3946 11.4933C88.3904 10.8465 88.1217 10.4739 87.5129 10.4002C86.9166 10.3306 86.3204 10.3347 85.6696 10.306Z" fill="#616161"></path>
4
+ <path d="M110.497 16.5372C110.829 15.35 111.185 14.1709 111.479 12.9795C111.79 11.7308 112.05 10.4657 112.315 9.20472C112.365 8.97545 112.453 8.88128 112.693 8.92632C113.129 9.00411 113.566 9.06961 114.066 9.15149C113.848 10.1586 113.701 11.1044 113.436 12.0174C112.886 13.917 112.273 15.8003 111.698 17.6959C111.605 18.007 111.416 18.1135 111.106 18.1094C110.614 18.0971 110.123 18.1217 109.636 18.0848C109.489 18.0725 109.275 17.9333 109.225 17.8023C108.124 15.047 107.364 12.2016 106.848 9.29069C106.844 9.26613 106.856 9.24157 106.882 9.12693C107.327 9.06142 107.805 8.97545 108.284 8.93451C108.36 8.92632 108.502 9.11874 108.532 9.23747C109.128 11.5793 109.712 13.9252 110.299 16.2711C110.32 16.3571 110.358 16.439 110.392 16.525C110.425 16.5291 110.463 16.5332 110.497 16.5372Z" fill="#616161"></path>
5
+ <path d="M105.823 12.0098C105.832 12.1285 105.844 12.2227 105.844 12.3128C105.844 14.1346 105.84 15.9565 105.84 17.7743C105.84 17.9462 105.836 18.1223 105.811 18.2902C105.55 20.1612 104.421 20.9308 102.338 20.6361C101.872 20.5706 101.414 20.4273 100.889 20.3044C101.02 19.8541 101.133 19.4652 101.255 19.0557C101.666 19.1581 102.027 19.2605 102.397 19.3341C102.624 19.3792 102.859 19.3956 103.085 19.3956C103.934 19.3956 104.362 18.9206 104.295 18.0445C103.757 18.0445 103.211 18.0814 102.674 18.0363C101.519 17.9381 100.923 17.4304 100.663 16.3291C100.461 15.4775 100.428 14.6177 100.679 13.7662C101.015 12.628 101.872 11.9811 103.081 11.9648C103.925 11.9525 104.773 11.973 105.622 11.9811C105.676 11.9893 105.727 12.0016 105.823 12.0098ZM104.316 16.8245C104.324 16.6607 104.337 16.5174 104.337 16.3741C104.341 15.6167 104.337 14.8593 104.337 14.1019C104.337 13.2503 104.337 13.2503 103.476 13.2667C102.733 13.2831 102.25 13.5983 102.157 14.3148C102.082 14.9043 102.149 15.5225 102.229 16.1203C102.283 16.5174 102.603 16.7794 103.022 16.8204C103.442 16.8531 103.862 16.8245 104.316 16.8245Z" fill="#616161"></path>
6
+ <path d="M78.963 18.03H70.5736C70.0487 18.03 69.6498 17.8007 69.4357 17.3299C69.2258 16.8714 69.3139 16.4456 69.6498 16.073C69.9354 15.7537 70.3175 15.7004 70.729 15.7004C72.5303 15.7045 74.3274 15.7004 76.1287 15.7004C77.0693 15.7004 78.0098 15.6963 78.9504 15.7004C79.8531 15.7045 80.3822 16.1426 80.3738 16.8795C80.3654 17.596 79.8363 18.03 78.963 18.03Z" fill="#616161"></path>
7
+ <path d="M74.851 14.7161C73.3939 14.7161 71.9327 14.7243 70.4757 14.712C69.8795 14.7079 69.4176 14.2821 69.3336 13.7131C69.2538 13.1645 69.6108 12.6158 70.1692 12.4562C70.312 12.4152 70.4631 12.407 70.6143 12.407C73.4359 12.403 76.2576 12.403 79.0792 12.407C79.8476 12.407 80.3599 12.8697 80.3683 13.5493C80.3725 14.2494 79.8602 14.7161 79.0666 14.7202C77.66 14.7202 76.2576 14.7161 74.851 14.7161Z" fill="#616161"></path>
8
+ <path d="M74.8203 11.387C73.4011 11.387 71.9861 11.3993 70.5669 11.3829C69.6515 11.3747 69.0805 10.5968 69.3954 9.81077C69.5885 9.33176 69.9748 9.06565 70.4997 9.06155C73.3885 9.05337 76.2815 9.04927 79.1704 9.06155C79.8674 9.06565 80.3587 9.57741 80.3545 10.2325C80.3503 10.8875 79.8632 11.3747 79.1536 11.3788C77.7134 11.3993 76.2689 11.387 74.8203 11.387Z" fill="#616161"></path>
9
+ <path d="M96.9754 11.9609C97.1811 11.9732 97.3995 11.9773 97.6136 11.9978C98.6675 12.1042 99.31 12.6487 99.5367 13.6559C99.755 14.618 99.7425 15.5842 99.4359 16.5259C99.0832 17.6231 98.2728 18.1348 96.9586 18.1307C95.6821 18.1266 94.8844 17.6067 94.54 16.5095C94.2293 15.5105 94.2209 14.4911 94.4855 13.4839C94.7164 12.5996 95.3714 12.1042 96.3456 11.9978C96.5555 11.9773 96.757 11.9732 96.9754 11.9609ZM98.2309 15.0233C98.1553 14.6385 98.1217 14.2536 97.9999 13.8934C97.8488 13.4348 97.4793 13.2465 96.9376 13.2547C96.4295 13.267 96.0768 13.4758 95.9467 13.9302C95.7325 14.6876 95.7325 15.4532 96.0097 16.1983C96.1692 16.6241 96.5009 16.8534 96.9796 16.8575C97.4625 16.8616 97.8278 16.6487 97.9831 16.1901C98.1091 15.8217 98.1511 15.4205 98.2309 15.0233Z" fill="#616161"></path>
10
+ <path d="M117.587 14.4209C117.701 13.6144 117.415 13.2705 116.655 13.2623C116.37 13.2582 116.084 13.2828 115.803 13.3196C115.522 13.3524 115.244 13.4138 114.879 13.4793C114.85 13.0944 114.804 12.7219 114.804 12.3493C114.804 12.2797 114.946 12.1651 115.043 12.1446C115.996 11.9235 116.958 11.8785 117.911 12.1405C118.654 12.3411 119.078 12.857 119.099 13.5898C119.145 14.9941 119.133 16.4025 119.133 17.8108C119.133 17.8968 118.998 18.0606 118.927 18.0647C117.839 18.077 116.748 18.122 115.664 18.0442C114.879 17.991 114.459 17.5161 114.359 16.7423C114.312 16.382 114.321 15.9972 114.392 15.641C114.518 14.9736 115.064 14.5683 115.866 14.4783C116.151 14.4496 116.437 14.4373 116.723 14.4332C117 14.4168 117.285 14.4209 117.587 14.4209ZM117.6 16.9797C117.617 16.8078 117.634 16.7054 117.634 16.6031C117.638 16.3124 117.646 16.0176 117.625 15.731C117.621 15.6573 117.512 15.5304 117.449 15.5263C117.071 15.5141 116.685 15.4977 116.311 15.5468C115.921 15.5959 115.757 15.8702 115.778 16.3124C115.799 16.7382 115.963 16.947 116.374 16.9756C116.773 17.0002 117.18 16.9797 117.6 16.9797Z" fill="#616161"></path>
11
+ <path d="M120.602 12.0164H122.034C122.042 12.1556 122.055 12.2948 122.055 12.434V15.9385C122.055 16.2661 122.071 16.6018 122.432 16.7492C122.84 16.917 123.289 16.9539 123.642 16.6796C123.818 16.5445 123.919 16.2251 123.923 15.9836C123.952 14.8168 123.936 13.6458 123.936 12.479V12.0164H125.41C125.418 12.1802 125.43 12.3194 125.43 12.4626C125.43 13.7523 125.439 15.0378 125.43 16.3275C125.422 17.5475 124.943 18.0593 123.692 18.1125C123.054 18.1412 122.412 18.1084 121.777 18.0347C121.131 17.961 120.64 17.568 120.619 16.9293C120.568 15.308 120.602 13.6786 120.602 12.0164Z" fill="#616161"></path>
12
+ <path d="M126.825 9.30142C127.35 9.19498 127.824 9.10081 128.328 8.99846V18.0955C127.887 18.0955 127.459 18.116 127.03 18.0792C126.951 18.071 126.833 17.8335 126.833 17.7025C126.82 15.7251 126.825 13.7476 126.825 11.7702V9.30142Z" fill="#616161"></path>
13
+ <path d="M131.421 18.0593H129.948V10.6981C130.397 10.5998 130.867 10.4974 131.405 10.3828V11.9754H133V13.2814H131.426C131.421 14.8904 131.421 16.4421 131.421 18.0593Z" fill="#616161"></path>
14
+ <path d="M91.6841 9.30961C91.7891 9.28095 91.8898 9.2441 91.9948 9.22363C92.3643 9.14994 92.738 9.08034 93.1537 8.99846C93.1621 9.17451 93.1747 9.3137 93.1747 9.457V17.5756C93.1747 18.0955 93.1747 18.0996 92.633 18.1119C92.4021 18.116 92.1712 18.1078 91.9402 18.0996C91.8604 18.0955 91.7849 18.0669 91.6883 18.0464C91.6841 15.1355 91.6841 12.2328 91.6841 9.30961Z" fill="#616161"></path>
15
+ <path d="M68.2217 13.5836C68.2259 14.214 67.7682 14.6726 67.1342 14.6726C66.496 14.6726 66.0425 14.2181 66.0425 13.5877C66.0467 12.9735 66.4876 12.5273 67.109 12.515C67.7472 12.5027 68.2133 12.9572 68.2217 13.5836Z" fill="#616161"></path>
16
+ <path d="M68.2175 16.918C68.2133 17.5035 67.7221 17.9948 67.1384 17.9989C66.5212 18.003 66.0383 17.5158 66.0425 16.8935C66.0467 16.2589 66.5044 15.829 67.1636 15.8372C67.785 15.8495 68.2217 16.2957 68.2175 16.918Z" fill="#616161"></path>
17
+ <path d="M68.2176 10.2414C68.2218 10.8801 67.7683 11.3223 67.1217 11.3223C66.4877 11.3182 66.0468 10.8924 66.0426 10.2701C66.0342 9.66007 66.5339 9.15649 67.1385 9.16468C67.7263 9.16877 68.2134 9.65597 68.2176 10.2414Z" fill="#616161"></path>
18
+ <path d="M6.23584 11.5215C6.23584 12.3415 5.96729 12.9699 5.43018 13.4067C4.89307 13.8436 4.12858 14.062 3.13672 14.062H2.32031V17H1.03662V9.14746H3.29785C4.27897 9.14746 5.01302 9.34798 5.5 9.74902C5.99056 10.1501 6.23584 10.7409 6.23584 11.5215ZM2.32031 12.9824H3.00244C3.6613 12.9824 4.14469 12.8678 4.45264 12.6387C4.76058 12.4095 4.91455 12.0514 4.91455 11.5645C4.91455 11.1133 4.77669 10.7767 4.50098 10.5547C4.22526 10.3327 3.79557 10.2217 3.21191 10.2217H2.32031V12.9824ZM12.939 14.019C12.939 14.9894 12.6901 15.7467 12.1924 16.291C11.6947 16.8353 11.0018 17.1074 10.1138 17.1074C9.55876 17.1074 9.0682 16.9821 8.64209 16.7314C8.21598 16.4808 7.88835 16.1209 7.65918 15.6519C7.43001 15.1828 7.31543 14.6385 7.31543 14.019C7.31543 13.0558 7.5625 12.3039 8.05664 11.7632C8.55078 11.2225 9.24723 10.9521 10.146 10.9521C11.0054 10.9521 11.6857 11.2297 12.187 11.7847C12.6883 12.3361 12.939 13.0809 12.939 14.019ZM8.61523 14.019C8.61523 15.3905 9.12191 16.0762 10.1353 16.0762C11.1379 16.0762 11.6392 15.3905 11.6392 14.019C11.6392 12.6619 11.1343 11.9834 10.1245 11.9834C9.59456 11.9834 9.20964 12.1589 8.96973 12.5098C8.7334 12.8607 8.61523 13.3638 8.61523 14.019ZM19.2661 17L18.498 14.2285C18.4049 13.9349 18.2367 13.2528 17.9932 12.1821H17.9448C17.7371 13.1489 17.5724 13.8346 17.4507 14.2393L16.6611 17H15.2646L13.5996 11.0596H14.8887L15.646 13.9868C15.8179 14.7101 15.9396 15.3296 16.0112 15.8452H16.0435C16.0793 15.5838 16.133 15.2848 16.2046 14.9482C16.2798 14.6081 16.3442 14.3538 16.3979 14.1855L17.3003 11.0596H18.686L19.5615 14.1855C19.6152 14.361 19.6815 14.6296 19.7603 14.9912C19.8426 15.3529 19.891 15.634 19.9053 15.8345H19.9482C20.002 15.394 20.1273 14.7782 20.3242 13.9868L21.0923 11.0596H22.3599L20.6841 17H19.2661ZM25.98 17.1074C25.0562 17.1074 24.3328 16.8389 23.8101 16.3018C23.2909 15.7611 23.0312 15.0181 23.0312 14.0728C23.0312 13.1024 23.2729 12.3397 23.7563 11.7847C24.2397 11.2297 24.904 10.9521 25.749 10.9521C26.5332 10.9521 27.1527 11.1903 27.6074 11.6665C28.0622 12.1427 28.2896 12.798 28.2896 13.6323V14.3145H24.3311C24.349 14.891 24.5047 15.335 24.7983 15.6465C25.092 15.9544 25.5055 16.1084 26.0391 16.1084C26.39 16.1084 26.7158 16.0762 27.0166 16.0117C27.321 15.9437 27.6468 15.8327 27.9941 15.6787V16.7046C27.6862 16.8514 27.3747 16.9552 27.0596 17.0161C26.7445 17.077 26.3846 17.1074 25.98 17.1074ZM25.749 11.9082C25.348 11.9082 25.0257 12.0353 24.7822 12.2896C24.5423 12.5438 24.3991 12.9144 24.3525 13.4014H27.0488C27.0417 12.9108 26.9235 12.5402 26.6943 12.2896C26.4652 12.0353 26.1501 11.9082 25.749 11.9082ZM32.7368 10.9521C32.991 10.9521 33.2005 10.9701 33.3652 11.0059L33.2417 12.1821C33.0627 12.1392 32.8765 12.1177 32.6831 12.1177C32.1782 12.1177 31.7682 12.2824 31.4531 12.6118C31.1416 12.9412 30.9858 13.3691 30.9858 13.8955V17H29.7236V11.0596H30.7119L30.8784 12.1069H30.9429C31.1398 11.7524 31.3958 11.4714 31.7109 11.2637C32.0296 11.056 32.3716 10.9521 32.7368 10.9521ZM37.0659 17.1074C36.1421 17.1074 35.4188 16.8389 34.896 16.3018C34.3768 15.7611 34.1172 15.0181 34.1172 14.0728C34.1172 13.1024 34.3589 12.3397 34.8423 11.7847C35.3257 11.2297 35.9899 10.9521 36.835 10.9521C37.6191 10.9521 38.2386 11.1903 38.6934 11.6665C39.1481 12.1427 39.3755 12.798 39.3755 13.6323V14.3145H35.417C35.4349 14.891 35.5907 15.335 35.8843 15.6465C36.1779 15.9544 36.5915 16.1084 37.125 16.1084C37.4759 16.1084 37.8018 16.0762 38.1025 16.0117C38.4069 15.9437 38.7327 15.8327 39.0801 15.6787V16.7046C38.7721 16.8514 38.4606 16.9552 38.1455 17.0161C37.8304 17.077 37.4705 17.1074 37.0659 17.1074ZM36.835 11.9082C36.4339 11.9082 36.1117 12.0353 35.8682 12.2896C35.6283 12.5438 35.485 12.9144 35.4385 13.4014H38.1348C38.1276 12.9108 38.0094 12.5402 37.7803 12.2896C37.5511 12.0353 37.236 11.9082 36.835 11.9082ZM42.813 17.1074C42.0718 17.1074 41.4935 16.8389 41.0781 16.3018C40.6628 15.7646 40.4551 15.0109 40.4551 14.0405C40.4551 13.0666 40.6646 12.3092 41.0835 11.7686C41.506 11.2243 42.0897 10.9521 42.8345 10.9521C43.6151 10.9521 44.2095 11.2404 44.6177 11.8169H44.6821C44.6213 11.3908 44.5908 11.0542 44.5908 10.8071V8.64258H45.8584V17H44.8701L44.6499 16.2212H44.5908C44.1862 16.812 43.5936 17.1074 42.813 17.1074ZM43.1514 16.0869C43.6706 16.0869 44.0483 15.9419 44.2847 15.6519C44.521 15.3582 44.6427 14.8838 44.6499 14.2285V14.0513C44.6499 13.3029 44.5282 12.7712 44.2847 12.4561C44.0412 12.141 43.6598 11.9834 43.1406 11.9834C42.6966 11.9834 42.3547 12.1642 42.1147 12.5259C41.8748 12.884 41.7549 13.396 41.7549 14.062C41.7549 14.7209 41.8713 15.224 42.104 15.5713C42.3368 15.915 42.6859 16.0869 43.1514 16.0869ZM53.5552 10.9521C54.2964 10.9521 54.8729 11.2207 55.2847 11.7578C55.7 12.2949 55.9077 13.0487 55.9077 14.019C55.9077 14.993 55.6982 15.7521 55.2793 16.2964C54.8604 16.8371 54.2785 17.1074 53.5337 17.1074C52.7817 17.1074 52.1981 16.8371 51.7827 16.2964H51.6968L51.4658 17H50.5205V8.64258H51.7827V10.6299C51.7827 10.7767 51.7756 10.9951 51.7612 11.2852C51.7469 11.5752 51.7362 11.7596 51.729 11.8384H51.7827C52.1838 11.2476 52.7746 10.9521 53.5552 10.9521ZM53.2275 11.9834C52.7191 11.9834 52.3521 12.1338 52.1265 12.4346C51.9045 12.7318 51.7899 13.2313 51.7827 13.9331V14.019C51.7827 14.7424 51.8973 15.2669 52.1265 15.5928C52.3556 15.915 52.7298 16.0762 53.249 16.0762C53.6966 16.0762 54.035 15.8989 54.2642 15.5444C54.4969 15.1899 54.6133 14.6779 54.6133 14.0083C54.6133 12.6584 54.1514 11.9834 53.2275 11.9834ZM56.4717 11.0596H57.8467L59.0552 14.4272C59.2378 14.9071 59.3595 15.3582 59.4204 15.7808H59.4634C59.4956 15.5838 59.5547 15.3457 59.6406 15.0664C59.7266 14.7835 60.1813 13.4479 61.0049 11.0596H62.3691L59.8286 17.7896C59.3667 19.0249 58.5968 19.6426 57.519 19.6426C57.2397 19.6426 56.9676 19.6121 56.7026 19.5513V18.5522C56.8924 18.5952 57.109 18.6167 57.3525 18.6167C57.9613 18.6167 58.3892 18.264 58.6362 17.5586L58.8564 17L56.4717 11.0596Z" fill="#616161"></path>
19
+ </svg>
assets/img/screenshot-1.jpg DELETED
Binary file
assets/img/screenshot-2.jpg DELETED
Binary file
assets/img/wpe-logo-lg.svg ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg width="199" height="268" viewBox="0 0 199 268" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M3.97998 14.6781L18.5889 0H65.4124V61.7228H3.97998V14.6781ZM68.7837 0H130.216V47.0447L115.233 61.7228H83.3927L68.7837 47.0447V0ZM148.196 65.11L133.587 79.7879V112.155L148.196 126.833H195.02V65.11H148.196ZM68.7837 191.943H130.216V144.898L115.233 130.22H83.3927L68.7837 144.898V191.943ZM195.02 191.943V144.898L180.411 130.22H133.587V191.943H195.02ZM133.587 0V47.0447L148.196 61.7228H195.02V0H133.587ZM90.8845 95.9713C90.8845 100.488 94.6304 104.628 99.5 104.628C104.37 104.628 108.116 100.864 108.116 95.9713C108.116 91.455 104.37 87.3151 99.5 87.3151C95.005 87.3151 90.8845 91.0786 90.8845 95.9713ZM65.4124 65.11H3.97998V126.833H50.4289L65.4124 112.155V65.11ZM50.4289 130.22L65.4124 144.898V177.265L50.4289 191.943H3.97998V130.22H50.4289Z" fill="#0ECAD4"></path>
3
+ <path d="M139.339 226.607C139.046 226.607 138.851 226.411 138.851 226.116V224.055C138.851 223.761 139.046 223.565 139.339 223.565H140.511C140.804 223.565 140.999 223.761 140.999 224.055V226.116C140.999 226.411 140.804 226.607 140.511 226.607H139.339Z" fill="#002838"></path>
4
+ <path d="M139.73 257.915C139.437 257.915 139.241 257.719 139.241 257.424V234.557C139.241 234.262 139.437 234.066 139.73 234.066H140.218C140.511 234.066 140.706 234.262 140.706 234.557V257.424C140.706 257.719 140.511 257.915 140.218 257.915H139.73Z" fill="#002838"></path>
5
+ <path d="M21.1889 258.406C20.896 258.406 20.7983 258.308 20.7007 258.013L16.6973 243.782H16.5996L12.5962 258.013C12.4985 258.308 12.4009 258.406 12.1079 258.406H7.42101C7.12807 258.406 7.03043 258.308 6.93278 258.013L0 233.281C0 233.085 2.96824e-06 232.888 0.292937 232.888H6.44456C6.73749 232.888 6.93278 233.085 6.93278 233.281L10.2527 248.101H10.3504L14.2561 233.281C14.3538 232.986 14.4514 232.888 14.7444 232.888H18.5525C18.8454 232.888 18.9431 232.986 19.0407 233.281L23.1418 248.101H23.2394L26.3641 233.281C26.3641 233.085 26.5594 232.888 26.8523 232.888H33.0039C33.1992 232.888 33.2969 233.085 33.2969 233.281L26.4617 258.013C26.3641 258.308 26.2664 258.406 25.9735 258.406H21.1889Z" fill="#002838"></path>
6
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M38.1791 258.406C37.9838 258.406 37.7885 258.21 37.7885 258.013V233.281C37.7885 233.085 37.9838 232.888 38.1791 232.888H48.3342C54.4858 232.888 57.7081 236.421 57.7081 241.329C57.7081 246.236 54.4858 249.867 48.3342 249.867H44.6237C44.4284 249.867 44.4284 249.965 44.4284 250.064V257.915C44.4284 258.111 44.2331 258.308 44.0378 258.308H38.1791V258.406ZM51.1658 241.427C51.1658 239.66 49.9941 238.581 47.9436 238.581H44.6237C44.4284 238.581 44.4284 238.679 44.4284 238.777V244.175C44.4284 244.371 44.526 244.371 44.6237 244.371H47.9436C49.9941 244.371 51.1658 243.193 51.1658 241.427Z" fill="#002838"></path>
7
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M65.7149 245.843C65.7149 249.18 65.9102 250.849 66.3984 252.223C67.7655 256.345 70.6948 258.406 75.0888 258.406C78.7993 258.406 81.631 256.737 83.291 254.382C83.4863 254.186 83.4863 253.891 83.1933 253.695L82.9004 253.401C82.7051 253.204 82.4122 253.204 82.2169 253.499C80.7522 255.462 78.3111 256.934 74.9912 256.934C71.476 256.934 68.8395 255.363 67.6678 251.732C67.2772 250.456 67.082 248.984 67.082 246.334C67.082 246.138 67.1796 245.942 67.3749 245.942H83.291C83.6815 245.942 83.8768 245.745 83.8768 245.451C83.8768 242.408 83.6816 240.838 83.1933 239.464C81.924 235.44 78.897 233.379 74.7959 233.379C70.7925 233.379 67.6678 235.44 66.3984 239.464C66.0079 240.838 65.7149 242.605 65.7149 245.843ZM82.5098 244.273C82.5098 244.469 82.4122 244.567 82.2169 244.567H67.5702C67.3749 244.567 67.2772 244.469 67.2772 244.273C67.2772 242.506 67.4725 241.231 67.8631 240.053C68.9372 236.52 71.476 234.851 74.8935 234.851C78.3111 234.851 80.8499 236.618 81.9239 240.053C82.3145 241.231 82.5098 242.605 82.5098 244.273Z" fill="#002838"></path>
8
+ <path d="M106.53 257.915C106.238 257.915 106.042 257.719 106.042 257.424V243.095C106.042 237.403 103.699 234.949 99.1094 234.949C95.106 234.949 91.7861 237.697 91.7861 242.408V257.523C91.7861 257.817 91.5908 258.013 91.2979 258.013H90.8096C90.5167 258.013 90.3214 257.817 90.3214 257.523V234.655C90.3214 234.36 90.5167 234.164 90.8096 234.164H91.2979C91.5908 234.164 91.7861 234.36 91.7861 234.655V237.992H91.8837C93.0555 235.244 95.7895 233.575 99.2071 233.575C104.578 233.575 107.605 236.618 107.605 242.801V257.523C107.605 257.817 107.409 258.013 107.116 258.013H106.53V257.915Z" fill="#002838"></path>
9
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M114.83 263.411C114.537 263.509 114.537 263.804 114.733 264.098C115.904 265.963 118.736 267.533 122.154 267.631C127.622 267.631 131.137 264.687 131.137 258.111V234.655C131.137 234.36 130.942 234.164 130.649 234.164H130.16C129.868 234.164 129.672 234.36 129.672 234.655V238.09H129.575C128.403 235.44 126.352 233.575 122.154 233.575C118.15 233.575 115.416 235.734 114.244 239.268C113.756 240.936 113.463 243.095 113.463 246.04C113.463 248.984 113.659 251.143 114.244 252.812C115.416 256.345 118.15 258.504 122.154 258.504C126.352 258.504 128.403 256.639 129.575 253.989H129.672V258.013C129.672 263.902 126.743 266.159 122.251 266.159C119.322 266.159 117.271 265.08 115.904 263.313C115.709 263.019 115.514 262.921 115.221 263.117L114.83 263.411ZM129.672 245.942C129.672 248.984 129.477 250.751 128.989 252.223C127.915 255.756 125.278 257.032 122.349 256.836C119.127 256.836 116.881 255.265 115.807 252.125C115.318 250.652 115.026 248.591 115.026 245.843C115.026 243.095 115.318 241.034 115.807 239.562C116.783 236.421 119.127 234.851 122.349 234.851C125.278 234.851 127.817 236.127 128.989 239.66C129.477 241.132 129.672 242.997 129.672 245.942Z" fill="#002838"></path>
10
+ <path d="M164.531 257.424C164.531 257.719 164.727 257.915 165.02 257.915V258.013H165.606C165.898 258.013 166.094 257.817 166.094 257.523V242.801C166.094 236.618 163.067 233.575 157.696 233.575C154.279 233.575 151.545 235.244 150.373 237.992H150.275V234.655C150.275 234.36 150.08 234.164 149.787 234.164H149.299C149.006 234.164 148.811 234.36 148.811 234.655V257.523C148.811 257.817 149.006 258.013 149.299 258.013H149.787C150.08 258.013 150.275 257.817 150.275 257.523V242.408C150.275 237.697 153.595 234.949 157.599 234.949C162.188 234.949 164.531 237.403 164.531 243.095V257.424Z" fill="#002838"></path>
11
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M172.734 252.223C172.245 250.849 172.05 249.18 172.05 245.843C172.05 242.605 172.343 240.838 172.734 239.464C174.003 235.44 177.128 233.379 181.131 233.379C185.232 233.379 188.259 235.44 189.528 239.464C190.017 240.838 190.212 242.408 190.212 245.451C190.212 245.745 190.017 245.942 189.626 245.942H173.808C173.612 245.942 173.515 246.138 173.515 246.334C173.515 248.984 173.71 250.456 174.101 251.732C175.272 255.363 177.909 256.934 181.424 256.934C184.744 256.934 187.185 255.462 188.65 253.499C188.845 253.204 189.138 253.204 189.333 253.401L189.626 253.695C189.919 253.891 189.919 254.186 189.724 254.382C188.064 256.737 185.232 258.406 181.522 258.406C177.03 258.406 174.003 256.345 172.734 252.223ZM188.454 244.567C188.65 244.567 188.747 244.469 188.747 244.273C188.747 242.605 188.552 241.231 188.161 240.053C187.087 236.618 184.549 234.851 181.131 234.851C177.713 234.851 175.175 236.52 174.101 240.053C173.71 241.231 173.515 242.506 173.515 244.273C173.515 244.469 173.612 244.567 173.808 244.567H188.454Z" fill="#002838"></path>
12
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M194.997 237.894C194.997 237.992 194.997 237.992 195.094 237.992H195.29C195.29 237.992 195.387 237.992 195.387 237.894V236.716H196.071L196.754 237.992C196.803 237.992 196.827 238.016 196.852 238.041C196.876 238.065 196.901 238.09 196.949 238.09H197.242C197.34 238.09 197.438 237.992 197.34 237.894L196.657 236.618C197.145 236.52 197.34 236.127 197.34 235.734C197.34 235.146 196.949 234.753 196.266 234.753H195.094C195.045 234.753 195.021 234.753 195.009 234.765C194.997 234.778 194.997 234.802 194.997 234.851V237.894ZM196.266 235.244C196.657 235.244 196.852 235.44 196.852 235.734C196.852 236.029 196.657 236.225 196.266 236.225H195.485V235.244H196.266Z" fill="#002838"></path>
13
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M196.071 233.477C194.411 233.477 193.141 234.753 193.141 236.421C193.141 238.09 194.411 239.366 196.071 239.366C197.731 239.366 199 238.09 199 236.421C199 234.753 197.731 233.477 196.071 233.477ZM196.071 233.968C197.438 233.968 198.512 234.949 198.512 236.421C198.512 237.795 197.438 238.875 196.071 238.875C194.704 238.875 193.63 237.894 193.63 236.421C193.63 235.047 194.606 233.968 196.071 233.968Z" fill="#002838"></path>
14
+ </svg>
assets/img/wpe-logo.svg ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg width="180" height="48" viewBox="0 0 230 45" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M0 3.4412L3.41264 0H14.3506V14.4706H0V3.4412ZM15.1381 0H29.4887V11.0294L25.9886 14.4706H18.5508L15.1381 11.0294V0ZM33.6889 15.2647L30.2762 18.7059V26.2941L33.6889 29.7353H44.6269V15.2647H33.6889ZM15.1381 45H29.4887V33.9706L25.9886 30.5294H18.5508L15.1381 33.9706V45ZM44.6269 45V33.9706L41.2142 30.5294H30.2762V45H44.6269ZM30.2762 0V11.0294L33.6889 14.4706H44.6269V0H30.2762ZM20.3009 22.5C20.3009 23.5588 21.1759 24.5294 22.3134 24.5294C23.451 24.5294 24.326 23.6471 24.326 22.5C24.326 21.4412 23.451 20.4706 22.3134 20.4706C21.2634 20.4706 20.3009 21.3529 20.3009 22.5ZM14.3506 15.2647H0V29.7353H10.8504L14.3506 26.2941V15.2647ZM10.8504 30.5294L14.3506 33.9706V41.5588L10.8504 45H0V30.5294H10.8504Z" fill="#0ECAD4"></path>
3
+ <path d="M177.512 7.01331C177.254 7.01331 177.082 6.83999 177.082 6.58002V4.76021C177.082 4.50023 177.254 4.32692 177.512 4.32692H178.543C178.8 4.32692 178.972 4.50023 178.972 4.76021V6.58002C178.972 6.83999 178.8 7.01331 178.543 7.01331H177.512Z" fill="#002838"></path>
4
+ <path d="M177.856 34.657C177.598 34.657 177.426 34.4837 177.426 34.2237V14.0326C177.426 13.7726 177.598 13.5993 177.856 13.5993H178.285C178.543 13.5993 178.715 13.7726 178.715 14.0326V34.2237C178.715 34.4837 178.543 34.657 178.285 34.657H177.856Z" fill="#002838"></path>
5
+ <path d="M73.5667 35.0903C73.309 35.0903 73.2231 35.0037 73.1372 34.7437L69.6151 22.1784H69.5292L66.007 34.7437C65.9211 35.0037 65.8352 35.0903 65.5775 35.0903H61.4541C61.1964 35.0903 61.1105 35.0037 61.0246 34.7437L54.9253 12.906C54.9253 12.7327 54.9253 12.5594 55.183 12.5594H60.595C60.8528 12.5594 61.0246 12.7327 61.0246 12.906L63.9453 25.9913H64.0312L67.4674 12.906C67.5534 12.6461 67.6393 12.5594 67.897 12.5594H71.2473C71.505 12.5594 71.5909 12.6461 71.6768 12.906L75.2848 25.9913H75.3707L78.1197 12.906C78.1197 12.7327 78.2915 12.5594 78.5492 12.5594H83.9612C84.133 12.5594 84.2189 12.7327 84.2189 12.906L78.2056 34.7437C78.1197 35.0037 78.0338 35.0903 77.7761 35.0903H73.5667Z" fill="#002838"></path>
6
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M88.5142 35.0903C88.3424 35.0903 88.1706 34.917 88.1706 34.7437V12.906C88.1706 12.7327 88.3424 12.5594 88.5142 12.5594H97.4483C102.86 12.5594 105.695 15.6791 105.695 20.0119C105.695 24.3448 102.86 27.5511 97.4483 27.5511H94.1839C94.0121 27.5511 94.0121 27.6378 94.0121 27.7244V34.657C94.0121 34.8303 93.8403 35.0037 93.6685 35.0037H88.5142V35.0903ZM99.9396 20.0986C99.9396 18.5388 98.9087 17.5855 97.1047 17.5855H94.1839C94.0121 17.5855 94.0121 17.6722 94.0121 17.7588V22.525C94.0121 22.6983 94.098 22.6983 94.1839 22.6983H97.1047C98.9087 22.6983 99.9396 21.6584 99.9396 20.0986Z" fill="#002838"></path>
7
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M112.739 23.9982C112.739 26.9445 112.911 28.4177 113.341 29.6309C114.543 33.2705 117.121 35.0903 120.986 35.0903C124.251 35.0903 126.742 33.6172 128.202 31.5374C128.374 31.3641 128.374 31.1041 128.116 30.9308L127.859 30.6708C127.687 30.4975 127.429 30.4975 127.257 30.7574C125.969 32.4906 123.821 33.7905 120.9 33.7905C117.808 33.7905 115.488 32.4039 114.458 29.1976C114.114 28.0711 113.942 26.7712 113.942 24.4315C113.942 24.2581 114.028 24.0848 114.2 24.0848H128.202C128.546 24.0848 128.718 23.9115 128.718 23.6515C128.718 20.9652 128.546 19.5786 128.116 18.3654C127 14.8125 124.337 12.9927 120.729 12.9927C117.207 12.9927 114.458 14.8125 113.341 18.3654C112.997 19.5786 112.739 21.1385 112.739 23.9982ZM127.515 22.6116C127.515 22.785 127.429 22.8716 127.257 22.8716H114.372C114.2 22.8716 114.114 22.785 114.114 22.6116C114.114 21.0518 114.286 19.9253 114.629 18.8854C115.574 15.7657 117.808 14.2925 120.815 14.2925C123.821 14.2925 126.055 15.8524 127 18.8854C127.343 19.9253 127.515 21.1385 127.515 22.6116Z" fill="#002838"></path>
8
+ <path d="M148.648 34.657C148.39 34.657 148.218 34.4837 148.218 34.2237V21.5718C148.218 16.5456 146.157 14.3792 142.119 14.3792C138.597 14.3792 135.676 16.8056 135.676 20.9652V34.3104C135.676 34.5704 135.504 34.7437 135.247 34.7437H134.817C134.559 34.7437 134.388 34.5704 134.388 34.3104V14.1192C134.388 13.8593 134.559 13.6859 134.817 13.6859H135.247C135.504 13.6859 135.676 13.8593 135.676 14.1192V17.0656H135.762C136.793 14.6392 139.198 13.166 142.205 13.166C146.93 13.166 149.593 15.8524 149.593 21.3118V34.3104C149.593 34.5704 149.421 34.7437 149.163 34.7437H148.648V34.657Z" fill="#002838"></path>
9
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M155.95 39.5098C155.692 39.5965 155.692 39.8565 155.864 40.1165C156.895 41.763 159.386 43.1495 162.393 43.2361C167.203 43.2361 170.296 40.6364 170.296 34.8304V14.1192C170.296 13.8593 170.124 13.6859 169.866 13.6859H169.437C169.179 13.6859 169.007 13.8593 169.007 14.1192V17.1522H168.921C167.891 14.8125 166.087 13.166 162.393 13.166C158.87 13.166 156.465 15.0724 155.434 18.1921C155.005 19.6653 154.747 21.5718 154.747 24.1715C154.747 26.7712 154.919 28.6777 155.434 30.1509C156.465 33.2705 158.87 35.177 162.393 35.177C166.087 35.177 167.891 33.5305 168.921 31.1907H169.007V34.7437C169.007 39.9431 166.43 41.9363 162.479 41.9363C159.901 41.9363 158.097 40.983 156.895 39.4232C156.723 39.1632 156.551 39.0766 156.293 39.2499L155.95 39.5098ZM169.007 24.0848C169.007 26.7712 168.835 28.331 168.406 29.6309C167.461 32.7506 165.142 33.8771 162.564 33.7038C159.73 33.7038 157.754 32.3173 156.809 29.5442C156.379 28.2444 156.122 26.4246 156.122 23.9982C156.122 21.5718 156.379 19.752 156.809 18.4521C157.668 15.6791 159.73 14.2925 162.564 14.2925C165.142 14.2925 167.375 15.4191 168.406 18.5388C168.835 19.8386 169.007 21.4851 169.007 24.0848Z" fill="#002838"></path>
10
+ <path d="M199.675 34.2237C199.675 34.4837 199.847 34.657 200.105 34.657V34.7437H200.62C200.878 34.7437 201.05 34.5704 201.05 34.3104V21.3118C201.05 15.8524 198.387 13.166 193.662 13.166C190.655 13.166 188.25 14.6392 187.219 17.0656H187.133V14.1192C187.133 13.8593 186.961 13.6859 186.704 13.6859H186.274C186.017 13.6859 185.845 13.8593 185.845 14.1192V34.3104C185.845 34.5704 186.017 34.7437 186.274 34.7437H186.704C186.961 34.7437 187.133 34.5704 187.133 34.3104V20.9652C187.133 16.8056 190.054 14.3792 193.576 14.3792C197.614 14.3792 199.675 16.5456 199.675 21.5718V34.2237Z" fill="#002838"></path>
11
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M206.891 29.6309C206.462 28.4177 206.29 26.9445 206.29 23.9982C206.29 21.1385 206.548 19.5786 206.891 18.3654C208.008 14.8125 210.757 12.9927 214.279 12.9927C217.887 12.9927 220.55 14.8125 221.667 18.3654C222.097 19.5786 222.268 20.9652 222.268 23.6515C222.268 23.9115 222.097 24.0848 221.753 24.0848H207.836C207.665 24.0848 207.579 24.2581 207.579 24.4315C207.579 26.7712 207.751 28.0711 208.094 29.1976C209.125 32.4039 211.444 33.7905 214.537 33.7905C217.458 33.7905 219.605 32.4906 220.894 30.7574C221.066 30.4975 221.324 30.4975 221.495 30.6708L221.753 30.9308C222.011 31.1041 222.011 31.3641 221.839 31.5374C220.379 33.6172 217.887 35.0903 214.623 35.0903C210.671 35.0903 208.008 33.2705 206.891 29.6309ZM220.722 22.8716C220.894 22.8716 220.98 22.785 220.98 22.6116C220.98 21.1385 220.808 19.9253 220.464 18.8854C219.52 15.8524 217.286 14.2925 214.279 14.2925C211.273 14.2925 209.039 15.7657 208.094 18.8854C207.751 19.9253 207.579 21.0518 207.579 22.6116C207.579 22.785 207.665 22.8716 207.836 22.8716H220.722Z" fill="#002838"></path>
12
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M226.478 16.9789C226.478 17.0656 226.478 17.0656 226.564 17.0656H226.736C226.736 17.0656 226.821 17.0656 226.821 16.9789V15.939H227.423L228.024 17.0656C228.067 17.0656 228.089 17.0872 228.11 17.1089C228.131 17.1306 228.153 17.1522 228.196 17.1522H228.454C228.54 17.1522 228.625 17.0656 228.54 16.9789L227.938 15.8524C228.368 15.7657 228.54 15.4191 228.54 15.0725C228.54 14.5525 228.196 14.2059 227.595 14.2059H226.564C226.521 14.2059 226.499 14.2059 226.489 14.2167C226.478 14.2275 226.478 14.2492 226.478 14.2925V16.9789ZM227.595 14.6392C227.938 14.6392 228.11 14.8125 228.11 15.0725C228.11 15.3324 227.938 15.5058 227.595 15.5058H226.907V14.6392H227.595Z" fill="#002838"></path>
13
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M227.423 13.0793C225.962 13.0793 224.846 14.2059 224.846 15.6791C224.846 17.1522 225.962 18.2788 227.423 18.2788C228.883 18.2788 230 17.1522 230 15.6791C230 14.2059 228.883 13.0793 227.423 13.0793ZM227.423 13.5126C228.625 13.5126 229.57 14.3792 229.57 15.6791C229.57 16.8923 228.625 17.8455 227.423 17.8455C226.22 17.8455 225.275 16.9789 225.275 15.6791C225.275 14.4658 226.134 13.5126 227.423 13.5126Z" fill="#002838"></path>
14
+ </svg>
assets/img/wpengine-logo.png DELETED
Binary file
callback/handler.php CHANGED
@@ -88,6 +88,10 @@ if (!class_exists('BVCallbackHandler')) :
88
  require_once dirname( __FILE__ ) . '/wings/fs_write.php';
89
  $module = new BVFSWriteCallback();
90
  break;
 
 
 
 
91
  default:
92
  require_once dirname( __FILE__ ) . '/wings/misc.php';
93
  $module = new BVMiscCallback($this);
88
  require_once dirname( __FILE__ ) . '/wings/fs_write.php';
89
  $module = new BVFSWriteCallback();
90
  break;
91
+ case 'actlg':
92
+ require_once dirname( __FILE__ ) . '/wings/actlog.php';
93
+ $module = new BVActLogCallback($this);
94
+ break;
95
  default:
96
  require_once dirname( __FILE__ ) . '/wings/misc.php';
97
  $module = new BVMiscCallback($this);
callback/wings/account.php CHANGED
@@ -24,19 +24,15 @@ class BVAccountCallback extends BVCallbackBase {
24
  $resp = array("status" => WPEAccount::remove($this->settings, $params['public']));
25
  break;
26
  case "updt":
27
- $info = array();
28
- $info['email'] = $params['email'];
29
- $info['url'] = $params['url'];
30
- $info['pubkey'] = $params['pubkey'];
31
- $account->updateInfo($info);
32
  $resp = array("status" => WPEAccount::exists($this->settings, $params['pubkey']));
33
  break;
34
  case "updtapikey":
35
  WPEAccount::updateApiPublicKey($this->settings, $params['pubkey']);
36
  $resp = array("status" => $this->settings->getOption(WPEAccount::$api_public_key));
37
  break;
38
- case "rmdefsec":
39
- $resp = array("status" => $settings->deleteOption('bvDefaultSecret'));
40
  break;
41
  case "rmbvkeys":
42
  $resp = array("status" => $settings->deleteOption('bvKeys'));
24
  $resp = array("status" => WPEAccount::remove($this->settings, $params['public']));
25
  break;
26
  case "updt":
27
+ $account->updateInfo($params);
 
 
 
 
28
  $resp = array("status" => WPEAccount::exists($this->settings, $params['pubkey']));
29
  break;
30
  case "updtapikey":
31
  WPEAccount::updateApiPublicKey($this->settings, $params['pubkey']);
32
  $resp = array("status" => $this->settings->getOption(WPEAccount::$api_public_key));
33
  break;
34
+ case "rmbvscrt":
35
+ $resp = array("status" => $settings->deleteOption('bvSecretKey'));
36
  break;
37
  case "rmbvkeys":
38
  $resp = array("status" => $settings->deleteOption('bvKeys'));
callback/wings/db.php CHANGED
@@ -15,7 +15,6 @@ class BVDBCallback extends BVCallbackBase {
15
  $this->db = $callback_handler->db;
16
  $this->account = $callback_handler->account;
17
  $this->siteinfo = $callback_handler->siteinfo;
18
- $this->bvinfo = $callback_handler->bvinfo;
19
  }
20
 
21
  public function getLastID($pkeys, $end_row) {
@@ -43,7 +42,9 @@ class BVDBCallback extends BVCallbackBase {
43
  $data = array();
44
  $data["offset"] = $offset;
45
  $data["size"] = $srows;
46
- $data["md5"] = md5(serialize($rows));
 
 
47
  array_push($tinfo, $data);
48
  if (!empty($pkeys) && $srows > 0) {
49
  $end_row = end($rows);
@@ -64,13 +65,65 @@ class BVDBCallback extends BVCallbackBase {
64
  return $result;
65
  }
66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  public function process($request) {
68
  $db = $this->db;
69
  $params = $request->params;
70
  $stream_init_info = BVStream::startStream($this->account, $request);
71
 
72
-
73
-
74
  if (array_key_exists('stream', $stream_init_info)) {
75
  $this->stream = $stream_init_info['stream'];
76
  switch ($request->method) {
@@ -101,6 +154,31 @@ class BVDBCallback extends BVCallbackBase {
101
  $table = urldecode($params['table']);
102
  $resp = array("create" => $db->showTableCreate($table));
103
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  case "getrowscount":
105
  $table = urldecode($params['table']);
106
  $resp = array("count" => $db->rowsCount($table));
@@ -175,4 +253,4 @@ class BVDBCallback extends BVCallbackBase {
175
  return $resp;
176
  }
177
  }
178
- endif;
15
  $this->db = $callback_handler->db;
16
  $this->account = $callback_handler->account;
17
  $this->siteinfo = $callback_handler->siteinfo;
 
18
  }
19
 
20
  public function getLastID($pkeys, $end_row) {
42
  $data = array();
43
  $data["offset"] = $offset;
44
  $data["size"] = $srows;
45
+ $serialized_rows = serialize($rows);
46
+ $data['md5'] = md5($serialized_rows);
47
+ $data['length'] = strlen($serialized_rows);
48
  array_push($tinfo, $data);
49
  if (!empty($pkeys) && $srows > 0) {
50
  $end_row = end($rows);
65
  return $result;
66
  }
67
 
68
+ public function getCreateTableQueries($tables) {
69
+ $resp = array();
70
+ foreach($tables as $table) {
71
+ $tname = urldecode($table);
72
+ $resp[$tname] = array("create" => $this->db->showTableCreate($table));
73
+ }
74
+ return $resp;
75
+ }
76
+
77
+ public function checkTables($tables, $type) {
78
+ $resp = array();
79
+ foreach($tables as $table) {
80
+ $tname = urldecode($table);
81
+ $resp[$tname] = array("status" => $this->db->checkTable($table, $type));
82
+ }
83
+ return $resp;
84
+ }
85
+
86
+ public function describeTables($tables) {
87
+ $resp = array();
88
+ foreach($tables as $table) {
89
+ $tname = urldecode($table);
90
+ $resp[$tname] = array("description" => $this->db->describeTable($table));
91
+ }
92
+ return $resp;
93
+ }
94
+
95
+ public function checkTablesExist($tables) {
96
+ $resp = array();
97
+ foreach($tables as $table) {
98
+ $tname = urldecode($table);
99
+ $resp[$tname] = array("tblexists" => $this->db->isTablePresent($table));
100
+ }
101
+ return $resp;
102
+ }
103
+
104
+ public function getTablesRowCount($tables) {
105
+ $resp = array();
106
+ foreach($tables as $table) {
107
+ $tname = urldecode($table);
108
+ $resp[$tname] = array("count" => $this->db->rowsCount($table));
109
+ }
110
+ return $resp;
111
+ }
112
+
113
+ public function getTablesKeys($tables) {
114
+ $resp = array();
115
+ foreach($tables as $table) {
116
+ $tname = urldecode($table);
117
+ $resp[$tname] = array("keys" => $this->db->tableKeys($table));
118
+ }
119
+ return $resp;
120
+ }
121
+
122
  public function process($request) {
123
  $db = $this->db;
124
  $params = $request->params;
125
  $stream_init_info = BVStream::startStream($this->account, $request);
126
 
 
 
127
  if (array_key_exists('stream', $stream_init_info)) {
128
  $this->stream = $stream_init_info['stream'];
129
  switch ($request->method) {
154
  $table = urldecode($params['table']);
155
  $resp = array("create" => $db->showTableCreate($table));
156
  break;
157
+ case "tblskys":
158
+ $tables = $params['tables'];
159
+ $resp = $this->getTablesKeys($tables);
160
+ break;
161
+ case "getmlticrt":
162
+ $tables = $params['tables'];
163
+ $resp = $this->getCreateTableQueries($tables);
164
+ break;
165
+ case "desctbls":
166
+ $tables = $params['tables'];
167
+ $resp = $this->describeTables($tables);
168
+ break;
169
+ case "mltirwscount":
170
+ $tables = $params['tables'];
171
+ $resp = $this->getTablesRowCount($tables);
172
+ break;
173
+ case "chktabls":
174
+ $tables = $params['tables'];
175
+ $type = urldecode($params['type']);
176
+ $resp = $this->checkTables($tables, $type);
177
+ break;
178
+ case "chktablsxist":
179
+ $tables = $params['tables'];
180
+ $resp = $this->checkTablesExist($tables);
181
+ break;
182
  case "getrowscount":
183
  $table = urldecode($params['table']);
184
  $resp = array("count" => $db->rowsCount($table));
253
  return $resp;
254
  }
255
  }
256
+ endif;
callback/wings/fs.php CHANGED
@@ -26,7 +26,7 @@ class BVFSCallback extends BVCallbackBase {
26
  if (is_link($absfile)) {
27
  $fdata["link"] = @readlink($absfile);
28
  }
29
- if ($md5 === true) {
30
  $fdata["md5"] = $this->calculateMd5($absfile, array(), 0, 0, 0);
31
  }
32
  } else {
@@ -196,7 +196,7 @@ class BVFSCallback extends BVCallbackBase {
196
  $result["missingfiles"][] = $file;
197
  continue;
198
  }
199
- if ($md5 === true) {
200
  $fdata["md5"] = $this->calculateMd5($absfile, $fdata, $offset, $limit, $bsize);
201
  }
202
  $result["stats"][] = $fdata;
@@ -245,8 +245,6 @@ class BVFSCallback extends BVCallbackBase {
245
  function process($request) {
246
  $params = $request->params;
247
  $stream_init_info = BVStream::startStream($this->account, $request);
248
-
249
-
250
 
251
  if (array_key_exists('stream', $stream_init_info)) {
252
  $this->stream = $stream_init_info['stream'];
26
  if (is_link($absfile)) {
27
  $fdata["link"] = @readlink($absfile);
28
  }
29
+ if ($md5 === true && !is_dir($absfile)) {
30
  $fdata["md5"] = $this->calculateMd5($absfile, array(), 0, 0, 0);
31
  }
32
  } else {
196
  $result["missingfiles"][] = $file;
197
  continue;
198
  }
199
+ if ($md5 === true && !is_dir($absfile)) {
200
  $fdata["md5"] = $this->calculateMd5($absfile, $fdata, $offset, $limit, $bsize);
201
  }
202
  $result["stats"][] = $fdata;
245
  function process($request) {
246
  $params = $request->params;
247
  $stream_init_info = BVStream::startStream($this->account, $request);
 
 
248
 
249
  if (array_key_exists('stream', $stream_init_info)) {
250
  $this->stream = $stream_init_info['stream'];
callback/wings/info.php CHANGED
@@ -129,6 +129,7 @@ class BVInfoCallback extends BVCallbackBase {
129
  'dbprefix' => $db->dbprefix(),
130
  'wpmu' => $siteinfo->isMultisite(),
131
  'mainsite' => $siteinfo->isMainSite(),
 
132
  'name' => get_bloginfo('name'),
133
  'siteurl' => $siteinfo->siteurl(),
134
  'homeurl' => $siteinfo->homeurl(),
@@ -210,6 +211,7 @@ class BVInfoCallback extends BVCallbackBase {
210
  $data['protect'] = $settings->getOption('bvptconf');
211
  $data['brand'] = $settings->getOption($this->bvinfo->brand_option);
212
  $data['badgeinfo'] = $settings->getOption($this->bvinfo->badgeinfo);
 
213
  }
214
 
215
  public function dbconf(&$info) {
129
  'dbprefix' => $db->dbprefix(),
130
  'wpmu' => $siteinfo->isMultisite(),
131
  'mainsite' => $siteinfo->isMainSite(),
132
+ 'main_site_id' => $siteinfo->getMainSiteId(),
133
  'name' => get_bloginfo('name'),
134
  'siteurl' => $siteinfo->siteurl(),
135
  'homeurl' => $siteinfo->homeurl(),
211
  $data['protect'] = $settings->getOption('bvptconf');
212
  $data['brand'] = $settings->getOption($this->bvinfo->brand_option);
213
  $data['badgeinfo'] = $settings->getOption($this->bvinfo->badgeinfo);
214
+ $data[$services_option_name] = $this->bvinfo->config;
215
  }
216
 
217
  public function dbconf(&$info) {
callback/wings/misc.php CHANGED
@@ -8,12 +8,14 @@ class BVMiscCallback extends BVCallbackBase {
8
  public $bvinfo;
9
  public $siteinfo;
10
  public $account;
 
11
 
12
  public function __construct($callback_handler) {
13
  $this->settings = $callback_handler->settings;
14
  $this->siteinfo = $callback_handler->siteinfo;
15
  $this->account = $callback_handler->account;
16
  $this->bvinfo = new WPEInfo($callback_handler->settings);
 
17
  }
18
 
19
  public function refreshPluginUpdates() {
@@ -53,6 +55,12 @@ class BVMiscCallback extends BVCallbackBase {
53
  $resp = array_merge($resp, $this->account->info());
54
  $resp = array_merge($resp, $this->bvinfo->info());
55
  break;
 
 
 
 
 
 
56
  case "enablebadge":
57
  $option = $bvinfo->badgeinfo;
58
  $badgeinfo = array();
@@ -94,8 +102,12 @@ class BVMiscCallback extends BVCallbackBase {
94
  case "dlttrsnt":
95
  $resp = array("dlttrsnt" => $settings->deleteTransient($params['key']));
96
  break;
97
- case "setmanulsignup":
98
- $resp = array("setmanulsignup" => $settings->updateOption("bvmanualsignup", true));
 
 
 
 
99
  break;
100
  default:
101
  $resp = false;
8
  public $bvinfo;
9
  public $siteinfo;
10
  public $account;
11
+ public $bvapi;
12
 
13
  public function __construct($callback_handler) {
14
  $this->settings = $callback_handler->settings;
15
  $this->siteinfo = $callback_handler->siteinfo;
16
  $this->account = $callback_handler->account;
17
  $this->bvinfo = new WPEInfo($callback_handler->settings);
18
+ $this->bvapi = new WPEWPAPI($callback_handler->settings);
19
  }
20
 
21
  public function refreshPluginUpdates() {
55
  $resp = array_merge($resp, $this->account->info());
56
  $resp = array_merge($resp, $this->bvinfo->info());
57
  break;
58
+ case "pngbv":
59
+ $info = array();
60
+ $this->siteinfo->basic($info);
61
+ $this->bvapi->pingbv('/bvapi/pingbv', $info);
62
+ $resp = array("status" => true);
63
+ break;
64
  case "enablebadge":
65
  $option = $bvinfo->badgeinfo;
66
  $badgeinfo = array();
102
  case "dlttrsnt":
103
  $resp = array("dlttrsnt" => $settings->deleteTransient($params['key']));
104
  break;
105
+ case "setbvss":
106
+ $resp = array("status" => $settings->updateOption('bv_site_settings', $params['bv_site_settings']));
107
+ break;
108
+ case "stsrvcs":
109
+ $settings->updateOption($bvinfo->services_option_name, $params['services']);
110
+ $resp = array("stsrvcs" => $settings->getOption($bvinfo->services_option_name));
111
  break;
112
  default:
113
  $resp = false;
info.php CHANGED
@@ -4,26 +4,39 @@ if (!defined('ABSPATH')) exit;
4
  if (!class_exists('WPEInfo')) :
5
  class WPEInfo {
6
  public $settings;
 
7
  public $plugname = 'wpengine';
8
  public $brandname = 'WPEngine Migration';
9
  public $badgeinfo = 'wpebadge';
10
  public $ip_header_option = 'wpeipheader';
11
  public $brand_option = 'wpebrand';
12
- public $version = '4.35';
13
  public $webpage = 'https://wpengine.com';
14
  public $appurl = 'https://wpengine.blogvault.net';
15
  public $slug = 'wp-site-migrate/wpengine.php';
16
  public $plug_redirect = 'wperedirect';
17
- public $logo = '../assets/img/wpengine-logo.png';
18
  public $brand_icon = '/assets/img/favicon.ico';
 
19
 
20
  public function __construct($settings) {
21
  $this->settings = $settings;
 
22
  }
23
 
24
- public function isManualSignup() {
25
- $scanOption = $this->settings->getOption('bvmanualsignup');
26
- return (isset($scanOption) && $scanOption == 1);
 
 
 
 
 
 
 
 
 
 
27
  }
28
 
29
  public function getBrandInfo() {
@@ -79,6 +92,14 @@ if (!class_exists('WPEInfo')) :
79
  $this->isActivePlugin();
80
  }
81
 
 
 
 
 
 
 
 
 
82
  public function isActivateRedirectSet() {
83
  return ($this->settings->getOption($this->plug_redirect) === 'yes') ? true : false;
84
  }
4
  if (!class_exists('WPEInfo')) :
5
  class WPEInfo {
6
  public $settings;
7
+ public $config;
8
  public $plugname = 'wpengine';
9
  public $brandname = 'WPEngine Migration';
10
  public $badgeinfo = 'wpebadge';
11
  public $ip_header_option = 'wpeipheader';
12
  public $brand_option = 'wpebrand';
13
+ public $version = '4.54';
14
  public $webpage = 'https://wpengine.com';
15
  public $appurl = 'https://wpengine.blogvault.net';
16
  public $slug = 'wp-site-migrate/wpengine.php';
17
  public $plug_redirect = 'wperedirect';
18
+ public $logo = '../assets/img/wpe-logo.svg';
19
  public $brand_icon = '/assets/img/favicon.ico';
20
+ public $services_option_name = 'BVSERVICESOPTIONNAME';
21
 
22
  public function __construct($settings) {
23
  $this->settings = $settings;
24
+ $this->config = $this->settings->getOption($this->services_option_name);
25
  }
26
 
27
+ public function canSetCWBranding() {
28
+ if (WPEWPSiteInfo::isCWServer()) {
29
+
30
+ $bot_protect_accounts = WPEAccount::accountsByType($this->settings, 'botprotect');
31
+ if (sizeof($bot_protect_accounts) >= 1)
32
+ return true;
33
+
34
+ $bot_protect_accounts = WPEAccount::accountsByPattern($this->settings, 'email', '/@cw_user\.com$/');
35
+ if (sizeof($bot_protect_accounts) >= 1)
36
+ return true;
37
+ }
38
+
39
+ return false;
40
  }
41
 
42
  public function getBrandInfo() {
92
  $this->isActivePlugin();
93
  }
94
 
95
+ public function isServiceActive($service) {
96
+ $bvconfig = $this->config;
97
+ if ($bvconfig && array_key_exists('services', $bvconfig)) {
98
+ return in_array($service, $bvconfig['services']) && $this->isActivePlugin();
99
+ }
100
+ return false;
101
+ }
102
+
103
  public function isActivateRedirectSet() {
104
  return ($this->settings->getOption($this->plug_redirect) === 'yes') ? true : false;
105
  }
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: wpe, wpengine, migration
4
  Requires at least: 4.0
5
  Tested up to: 5.6
6
  Requires PHP: 5.4.0
7
- Stable tag: 4.35
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -79,6 +79,11 @@ That's easy! [Signup here](http://wpengine.com/plans/).
79
  2. BlogVault dashboard showing live updates.
80
 
81
  == Changelog ==
 
 
 
 
 
82
  = 4.35 =
83
  * Improved scanfiles and filelist api
84
 
4
  Requires at least: 4.0
5
  Tested up to: 5.6
6
  Requires PHP: 5.4.0
7
+ Stable tag: 4.54
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
79
  2. BlogVault dashboard showing live updates.
80
 
81
  == Changelog ==
82
+
83
+ = 4.54 =
84
+ * Upgrading to new UI
85
+ * Added Support for Multi Table Callbacks
86
+
87
  = 4.35 =
88
  * Improved scanfiles and filelist api
89
 
wp_actions.php CHANGED
@@ -38,7 +38,7 @@ if (!class_exists('WPEWPAction')) :
38
  public static function uninstall() {
39
  ##CLEARPTCONFIG##
40
  ##CLEARIPSTORE##
41
- ##CLEARDYNSYNCCONFIG##
42
  }
43
 
44
  public function footerHandler() {
38
  public static function uninstall() {
39
  ##CLEARPTCONFIG##
40
  ##CLEARIPSTORE##
41
+ ##CLEARDYNSYNCCONFIG##
42
  }
43
 
44
  public function footerHandler() {
wp_admin.php CHANGED
@@ -42,7 +42,7 @@ class WPEWPAdmin {
42
  (array_key_exists('page', $_REQUEST) &&
43
  $_REQUEST['page'] == $this->bvinfo->plugname)) {
44
  $keys = str_split($_REQUEST['blogvaultkey'], 32);
45
- WPEAccount::addAccount($this->settings, $keys[0], $keys[1]);
46
  if (array_key_exists('redirect', $_REQUEST)) {
47
  $location = $_REQUEST['redirect'];
48
  wp_redirect($this->bvinfo->appUrl().'/migration/'.$location);
@@ -89,11 +89,7 @@ class WPEWPAdmin {
89
 
90
  public function wpesecAdminMenu($hook) {
91
  if ($hook === 'toplevel_page_wpengine') {
92
- wp_register_style('bvwpe_normalize', plugins_url('assets/css/normalize.css',__FILE__ ));
93
- wp_register_style('bvwpe_skeleton', plugins_url('assets/css/skeleton.css',__FILE__ ));
94
- wp_register_style('bvwpe_form-styles', plugins_url('assets/css/form-styles.css',__FILE__ ));
95
- wp_enqueue_style('bvwpe_normalize');
96
- wp_enqueue_style('bvwpe_skeleton');
97
  wp_enqueue_style('bvwpe_form-styles');
98
  }
99
  }
@@ -107,7 +103,7 @@ class WPEWPAdmin {
107
  echo '<div style="padding-bottom:0.5px; color:red;"><p>Incorrect Email.</p></div>';
108
  }
109
  else if (($error == "custom") && isset($_REQUEST['bvnonce']) && wp_verify_nonce($_REQUEST['bvnonce'], "bvnonce")) {
110
- echo '<div style="padding-bottom:0.5px;color: red;"><p>'.base64_decode($_REQUEST['message']).'</p></div>';
111
  }
112
  }
113
 
@@ -201,4 +197,4 @@ class WPEWPAdmin {
201
  return $plugins;
202
  }
203
  }
204
- endif;
42
  (array_key_exists('page', $_REQUEST) &&
43
  $_REQUEST['page'] == $this->bvinfo->plugname)) {
44
  $keys = str_split($_REQUEST['blogvaultkey'], 32);
45
+ WPEAccount::addAccount($this->settings, WPEAccount::sanitizeKey($keys[0]), WPEAccount::sanitizeKey($keys[1]));
46
  if (array_key_exists('redirect', $_REQUEST)) {
47
  $location = $_REQUEST['redirect'];
48
  wp_redirect($this->bvinfo->appUrl().'/migration/'.$location);
89
 
90
  public function wpesecAdminMenu($hook) {
91
  if ($hook === 'toplevel_page_wpengine') {
92
+ wp_register_style('bvwpe_form-styles', plugins_url('assets/css/style.css',__FILE__ ));
 
 
 
 
93
  wp_enqueue_style('bvwpe_form-styles');
94
  }
95
  }
103
  echo '<div style="padding-bottom:0.5px; color:red;"><p>Incorrect Email.</p></div>';
104
  }
105
  else if (($error == "custom") && isset($_REQUEST['bvnonce']) && wp_verify_nonce($_REQUEST['bvnonce'], "bvnonce")) {
106
+ echo '<div style="padding-bottom:0.5px;color: red;"><p>'.esc_html(base64_decode($_REQUEST['message'])).'</p></div>';
107
  }
108
  }
109
 
197
  return $plugins;
198
  }
199
  }
200
+ endif;
wp_site_info.php CHANGED
@@ -39,6 +39,12 @@ class WPEWPSiteInfo {
39
  return is_main_site();
40
  }
41
 
 
 
 
 
 
 
42
  public function info() {
43
  $info = array();
44
  $this->basic($info);
39
  return is_main_site();
40
  }
41
 
42
+ public function getMainSiteId() {
43
+ if (!function_exists('get_main_site_id'))
44
+ return 0;
45
+ return get_main_site_id();
46
+ }
47
+
48
  public function info() {
49
  $info = array();
50
  $this->basic($info);
wpengine.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: https://wpengine.com
5
  Description: The easiest way to migrate your site to WP Engine
6
  Author: WPEngine
7
  Author URI: https://wpengine.com
8
- Version: 4.35
9
  Network: True
10
  */
11
 
@@ -69,6 +69,7 @@ if (is_admin()) {
69
  add_action('admin_head', array($wpadmin, 'removeAdminNotices'), 3);
70
  ##ACTIVATEWARNING##
71
  add_action('admin_enqueue_scripts', array($wpadmin, 'wpesecAdminMenu'));
 
72
  }
73
 
74
 
@@ -131,4 +132,6 @@ if ((array_key_exists('bvplugname', $_REQUEST)) && ($_REQUEST['bvplugname'] == "
131
  } else {
132
  ##PROTECTMODULE##
133
  ##DYNSYNCMODULE##
 
 
134
  }
5
  Description: The easiest way to migrate your site to WP Engine
6
  Author: WPEngine
7
  Author URI: https://wpengine.com
8
+ Version: 4.54
9
  Network: True
10
  */
11
 
69
  add_action('admin_head', array($wpadmin, 'removeAdminNotices'), 3);
70
  ##ACTIVATEWARNING##
71
  add_action('admin_enqueue_scripts', array($wpadmin, 'wpesecAdminMenu'));
72
+ ##REMOVEDEACTIVATIONLINK##
73
  }
74
 
75
 
132
  } else {
133
  ##PROTECTMODULE##
134
  ##DYNSYNCMODULE##
135
+ ##ACTLOGMODULE##
136
+ ##WPAUTOUPDATEBLOCKMODULE##
137
  }