C:\xampp\htdocs\landing\wp-content\updraft\plugins-old\updraftplus\includes\updraftplus-notices.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
<?php

if (!defined('UPDRAFTPLUS_DIR')) die('No direct access allowed');

if (!
class_exists('Updraft_Notices')) require_once(UPDRAFTPLUS_DIR.'/includes/updraft-notices.php');

class 
UpdraftPlus_Notices extends Updraft_Notices {

    protected static 
$_instance null;

    private 
$initialized false;

    protected 
$notices_content = array();
    
    protected 
$self_affiliate_id 212;

    public static function 
instance() {
        if (empty(
self::$_instance)) {
            
self::$_instance = new self();
        }
        return 
self::$_instance;
    }

    protected function 
populate_notices_content() {
        
        
$parent_notice_content parent::populate_notices_content();

        
$child_notice_content = array(
            
=> array(
                
'prefix' => __('UpdraftPlus Premium:''updraftplus'),
                
'title' => __('Support''updraftplus'),
                
'text' => __('Enjoy professional, fast, and friendly help whenever you need it with Premium.''updraftplus'),
                
'image' => 'notices/support.png',
                
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
                
'campaign' => 'support',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismiss_notice',
                
'supported_positions' => $this->dashboard_top_or_report,
            ),
            
=> array(
                
'prefix' => __('UpdraftPlus Premium:''updraftplus'),
                
'title' => __('UpdraftVault storage''updraftplus'),
                
'text' => __('The ultimately secure and convenient place to store your backups.''updraftplus'),
                
'image' => 'notices/updraft_logo.png',
                
'button_link' => 'https://updraftplus.com/landing/vault',
                
'campaign' => 'vault',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismiss_notice',
                
'supported_positions' => $this->dashboard_top_or_report,
            ),
            
=> array(
                
'prefix' => __('UpdraftPlus Premium:''updraftplus'),
                
'title' => __('enhanced remote storage options''updraftplus'),
                
'text' => __('Enhanced storage options for Dropbox, Google Drive and S3. Plus many more options.''updraftplus'),
                
'image' => 'addons-images/morestorage.png',
                
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
                
'campaign' => 'morestorage',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismiss_notice',
                
'supported_positions' => $this->dashboard_top_or_report,
            ),
            
=> array(
                
'prefix' => __('UpdraftPlus Premium:''updraftplus'),
                
'title' => __('advanced options''updraftplus'),
                
'text' => __('Secure multisite installation, advanced reporting and much more.''updraftplus'),
                
'image' => 'addons-images/reporting.png',
                
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
                
'campaign' => 'reporting',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismiss_notice',
                
'supported_positions' => $this->dashboard_top_or_report,
            ),
            
=> array(
                
'prefix' => __('UpdraftPlus Premium:''updraftplus'),
                
'title' => __('secure your backups''updraftplus'),
                
'text' => __('Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security.''updraftplus'),
                
'image' => 'addons-images/lockadmin.png',
                
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
                
'campaign' => 'lockadmin',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismiss_notice',
                
'supported_positions' => $this->dashboard_top_or_report,
            ),
            
=> array(
                
'prefix' => __('UpdraftPlus Premium:''updraftplus'),
                
'title' => __('easily migrate or clone your site in minutes''updraftplus'),
                
'text' => __('Copy your site to another domain directly. Includes find-and-replace tool for database references.''updraftplus'),
                
'image' => 'addons-images/migrator.png',
                
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
                
'campaign' => 'migrator',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismiss_notice',
                
'supported_positions' => $this->anywhere,
            ),
            
=> array(
                
'prefix' => '',
                
'title' => __('Introducing UpdraftCentral''updraftplus'),
                
'text' => __('UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place.''updraftplus'),
                
'image' => 'notices/updraft_logo.png',
                
'button_link' => 'https://updraftcentral.com',
                
'button_meta' => 'updraftcentral',
                
'dismiss_time' => 'dismiss_notice',
                
'supported_positions' => $this->dashboard_top_or_report,
            ),
            
=> array(
                
'prefix' => '',
                
'title' => __('Do you use UpdraftPlus on multiple sites?''updraftplus'),
                
'text' => __('Control all your WordPress installations from one place using UpdraftCentral remote site management!''updraftplus'),
                
'image' => 'notices/updraft_logo.png',
                
'button_link' => 'https://updraftcentral.com',
                
'button_meta' => 'updraftcentral',
                
'dismiss_time' => 'dismiss_notice',
                
'supported_positions' => $this->anywhere,
            ),
            
'rate' => array(
                
'text' => __("Hey - We noticed UpdraftPlus has kept your site safe for a while.  If you like us, please consider leaving a positive review to spread the word.  Or if you have any issues or questions please leave us a support message"'updraftplus') . ' <a href="https://wordpress.org/support/plugin/updraftplus/" target="_blank">' __('here''updraftplus') . '.</a><br>' __('Thank you so much!''updraftplus') . '<br><br> - <b>' __('Team Updraft''updraftplus') . '</b><br>',
                
'image' => 'notices/ud_smile.png',
                
'button_link' => 'https://wordpress.org/support/plugin/updraftplus/reviews/?rate=5#new-post',
                
'button_meta' => 'review',
                
'dismiss_time' => 'dismiss_review_notice',
                
'supported_positions' => $this->dashboard_top,
                
'validity_function' => 'show_rate_notice'
            
),
            
'translation_needed' => array(
                
'prefix' => '',
                
'title' => 'Can you translate? Want to improve UpdraftPlus for speakers of your language?',
                
'text' => $this->url_start(true'updraftplus.com/translate/')."Please go here for instructions - it is easy.".$this->url_end(true'updraftplus.com/translate/'),
                
'text_plain' => $this->url_start(false'updraftplus.com/translate/')."Please go here for instructions - it is easy.".$this->url_end(false'updraftplus.com/translate/'),
                
'image' => 'notices/updraft_logo.png',
                
'button_link' => false,
                
'dismiss_time' => false,
                
'supported_positions' => $this->anywhere,
                
'validity_function' => 'translation_needed',
            ),
            
'social_media' => array(
                
'prefix' => '',
                
'title' => __('UpdraftPlus is on social media - check us out!''updraftplus'),
                
'text' => $this->url_start(true'twitter.com/updraftplus'true). __('Twitter''updraftplus'). $this->url_end(true'twitter.com/updraftplus'true).
                        
' - '.
                        
$this->url_start(true'facebook.com/updraftplus'true). __('Facebook''updraftplus'). $this->url_end(true'facebook.com/updraftplus'true),
                
'text_plain' => $this->url_start(false'twitter.com/updraftplus'true). __('Twitter''updraftplus'). $this->url_end(false'twitter.com/updraftplus'true).
                        
' - '.
                        
$this->url_start(false'facebook.com/updraftplus'true). __('Facebook''updraftplus'). $this->url_end(false'facebook.com/updraftplus'true),
                
'image' => 'notices/updraft_logo.png',
                
'dismiss_time' => false,
                
'supported_positions' => $this->anywhere,
            ),
            
'newsletter' => array(
                
'prefix' => '',
                
'title' => __('UpdraftPlus Newsletter''updraftplus'),
                
'text' => __("Follow this link to sign up for the UpdraftPlus newsletter."'updraftplus'),
                
'image' => 'notices/updraft_logo.png',
                
'button_link' => 'https://updraftplus.com/newsletter-signup',
                
'campaign' => 'newsletter',
                
'button_meta' => 'signup',
                
'supported_positions' => $this->anywhere,
                
'dismiss_time' => false
            
),
            
'subscribe_blog' => array(
                
'prefix' => '',
                
'title' => __('UpdraftPlus Blog - get up-to-date news and offers''updraftplus'),
                
'text' => $this->url_start(true'updraftplus.com/news/').__("Blog link"'updraftplus').$this->url_end(true'updraftplus.com/news/').' - '.$this->url_start(true'feeds.feedburner.com/UpdraftPlus').__("RSS link"'updraftplus').$this->url_end(true'feeds.feedburner.com/UpdraftPlus'),
                
'text_plain' => $this->url_start(false'updraftplus.com/news/').__("Blog link"'updraftplus').$this->url_end(false'updraftplus.com/news/').' - '.$this->url_start(false'feeds.feedburner.com/UpdraftPlus').__("RSS link"'updraftplus').$this->url_end(false'feeds.feedburner.com/UpdraftPlus'),
                
'image' => 'notices/updraft_logo.png',
                
'button_link' => false,
                
'supported_positions' => $this->anywhere,
                
'dismiss_time' => false
            
),
            
'check_out_updraftplus_com' => array(
                
'prefix' => '',
                
'title' => __('UpdraftPlus Blog - get up-to-date news and offers''updraftplus'),
                
'text' => $this->url_start(true'updraftplus.com/news/').__("Blog link"'updraftplus').$this->url_end(true'updraftplus.com/news/').' - '.$this->url_start(true'feeds.feedburner.com/UpdraftPlus').__("RSS link"'updraftplus').$this->url_end(true'feeds.feedburner.com/UpdraftPlus'),
                
'text_plain' => $this->url_start(false'updraftplus.com/news/').__("Blog link"'updraftplus').$this->url_end(false'updraftplus.com/news/').' - '.$this->url_start(false'feeds.feedburner.com/UpdraftPlus').__("RSS link"'updraftplus').$this->url_end(false'feeds.feedburner.com/UpdraftPlus'),
                
'image' => 'notices/updraft_logo.png',
                
'button_link' => false,
                
'supported_positions' => $this->dashboard_bottom_or_report,
                
'dismiss_time' => false
            
),
            
'autobackup' => array(
                
'prefix' => '',
                
'title' => __('Make updates easy with UpdraftPlus''updraftplus'),
                
'text' => __('Be safe''updraftplus') . ' - ' $this->url_start(true'updraftplus.com/shop/updraftplus-premium/') . 'UpdraftPlus Premium' $this->url_end(true'updraftplus.com/shop/updraftplus-premium/') . ' ' __('backs up automatically when you update plugins, themes or core''updraftplus'),
                
'text2' => __('Save time''updraftplus') . ' - ' $this->url_start(true'wordpress.org/plugins/stops-core-theme-and-plugin-updates/') . 'Easy Updates Manager' $this->url_end(true'wordpress.org/plugins/stops-core-theme-and-plugin-updates/') . ' ' __('handles updates automatically as you want them''updraftplus'),
                
'text3' => __('Many sites?''updraftplus') . ' - ' $this->url_start(true'updraftplus.com/updraftcentral/') . 'UpdraftCentral' $this->url_end(true'updraftplus.com/updraftcentral/') . ' ' __('manages all your WordPress sites at once from one place''updraftplus'),
                
'image' => 'addons-images/autobackup.png',
                
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
                
'campaign' => 'autobackup',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismissautobackup',
                
'supported_positions' => $this->autobackup_bottom_or_report,
            ),
            
'wp-optimize' => array(
                
'prefix' => '',
                
'title' => 'WP-Optimize',
                
'text' => __("After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance.""updraftplus"),
                
'image' => 'notices/wp_optimize_logo.png',
                
'button_link' => 'https://wordpress.org/plugins/wp-optimize/',
                
'button_meta' => 'wp-optimize',
                
'dismiss_time' => 'dismiss_notice',
                
'supported_positions' => $this->anywhere,
                
'validity_function' => 'wp_optimize_installed',
            ),
            
            
// The sale adverts content starts here
            
'blackfriday' => array(
                
'prefix' => '',
                
'title' => __('Black Friday - 20% off UpdraftPlus Premium until November 30th''updraftplus'),
                
'text' => __('To benefit, use this discount code:''updraftplus').' ',
                
'image' => 'notices/black_friday.png',
                
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
                
'campaign' => 'blackfriday',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismiss_season',
                
'discount_code' => 'blackfridaysale2020',
                
'valid_from' => '2020-11-20 00:00:00',
                
'valid_to' => '2020-11-30 23:59:59',
                
'supported_positions' => $this->dashboard_top_or_report,
            ),
            
'newyear' => array(
                
'prefix' => '',
                
'title' => __('Happy New Year - 20% off UpdraftPlus Premium until January 14th''updraftplus'),
                
'text' => __('To benefit, use this discount code:''updraftplus').' ',
                
'image' => 'notices/new_year.png',
                
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
                
'campaign' => 'newyear',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismiss_season',
                
'discount_code' => 'newyearsale2021',
                
'valid_from' => '2020-12-26 00:00:00',
                
'valid_to' => '2021-01-14 23:59:59',
                
'supported_positions' => $this->dashboard_top_or_report,
            ),
            
'spring' => array(
                
'prefix' => '',
                
'title' => __('Spring sale - 20% off UpdraftPlus Premium until April 30th''updraftplus'),
                
'text' => __('To benefit, use this discount code:''updraftplus').' ',
                
'image' => 'notices/spring.png',
                
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
                
'campaign' => 'spring',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismiss_season',
                
'discount_code' => 'springsale2020',
                
'valid_from' => '2020-04-01 00:00:00',
                
'valid_to' => '2020-04-30 23:59:59',
                
'supported_positions' => $this->dashboard_top_or_report,
            ),
            
'summer' => array(
                
'prefix' => '',
                
'title' => __('Summer sale - 20% off UpdraftPlus Premium until July 31st''updraftplus'),
                
'text' => __('To benefit, use this discount code:''updraftplus').' ',
                
'image' => 'notices/summer.png',
                
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
                
'campaign' => 'summer',
                
'button_meta' => 'updraftplus',
                
'dismiss_time' => 'dismiss_season',
                
'discount_code' => 'summersale2020',
                
'valid_from' => '2020-07-01 00:00:00',
                
'valid_to' => '2020-07-31 23:59:59',
                
'supported_positions' => $this->dashboard_top_or_report,
            ),
            
'collection' => array(
                
'prefix' => '',
                
'title' => __('The Updraft Plugin Collection Sale''updraftplus'),
                
'text' => __('Get 20% off any of our plugins. But hurry - offer ends 30th September, use this discount code:''updraftplus').' ',
                
'image' => 'notices/updraft_logo.png',
                
'button_link' => 'https://teamupdraft.com',
                
'campaign' => 'collection',
                
'button_meta' => 'collection',
                
'dismiss_time' => 'dismiss_season',
                
'discount_code' => 'UDP2020',
                
'valid_from' => '2020-09-01 00:00:00',
                
'valid_to' => '2020-09-30 23:59:59',
                
'supported_positions' => $this->dashboard_top_or_report,
            )
        );

        return 
array_merge($parent_notice_content$child_notice_content);
    }
    
    
/**
     * Call this method to setup the notices
     */
    
public function notices_init() {
        if (
$this->initialized) return;
        
$this->initialized true;
        
// parent::notices_init();
        
$this->notices_content = (defined('UPDRAFTPLUS_NOADS_B') && UPDRAFTPLUS_NOADS_B) ? array() : $this->populate_notices_content();
        global 
$updraftplus;
        
$enqueue_version $updraftplus->use_unminified_scripts() ? $updraftplus->version.'.'.time() : $updraftplus->version;
        
$updraft_min_or_not $updraftplus->get_updraftplus_file_version();

        
wp_enqueue_style('updraftplus-notices-css',  UPDRAFTPLUS_URL.'/css/updraftplus-notices'.$updraft_min_or_not.'.css', array(), $enqueue_version);
    }

    protected function 
translation_needed($plugin_base_dir null$product_name null) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable, Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Filter use
        
return parent::translation_needed(UPDRAFTPLUS_DIR'updraftplus');
    }

    
/**
     * This function will check if we should display the rate notice or not
     *
     * @return boolean - to indicate if we should show the notice or not
     */
    
protected function show_rate_notice() {
        global 
$updraftplus;

        
$backup_history UpdraftPlus_Backup_History::get_history();
        
        
$backup_dir $updraftplus->backups_dir_location();
        
// N.B. Not an exact proxy for the installed time; they may have tweaked the expert option to move the directory
        
$installed = @filemtime($backup_dir.'/index.html');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
        
$installed_for time() - $installed;

        if (!empty(
$backup_history) && $installed && $installed_for 28*86400) {
            return 
true;
        }

        return 
false;
    }
    
    protected function 
wp_optimize_installed($plugin_base_dir null$product_name null) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use
        
if (!function_exists('get_plugins')) include_once(ABSPATH.'wp-admin/includes/plugin.php');
        
$plugins get_plugins();

        foreach (
$plugins as $value) {
            if (
'wp-optimize' == $value['TextDomain']) {
                return 
false;
            }
        }
        return 
true;
    }
    
    protected function 
url_start($html_allowed$url$https false$website_home 'updraftplus.com') {
        return 
parent::url_start($html_allowed$url$https$website_home);
    }

    protected function 
skip_seasonal_notices($notice_data) {
        global 
$updraftplus;

        
$time_now defined('UPDRAFTPLUS_NOTICES_FORCE_TIME') ? UPDRAFTPLUS_NOTICES_FORCE_TIME time();
        
// Do not show seasonal notices to people with an updraftplus.com version and no-addons yet
        
if (!file_exists(UPDRAFTPLUS_DIR.'/udaddons') || $updraftplus->have_addons) {
            
$valid_from strtotime($notice_data['valid_from']);
            
$valid_to strtotime($notice_data['valid_to']);
            
$dismiss $this->check_notice_dismissed($notice_data['dismiss_time']);
            if ((
$time_now >= $valid_from && $time_now <= $valid_to) && !$dismiss) {
                
// return true so that we return this notice to be displayed
                
return true;
            }
        }
        
        return 
false;
    }
    
    protected function 
check_notice_dismissed($dismiss_time) {

        
$time_now defined('UPDRAFTPLUS_NOTICES_FORCE_TIME') ? UPDRAFTPLUS_NOTICES_FORCE_TIME time();
    
        
$notice_dismiss = ($time_now UpdraftPlus_Options::get_updraft_option('dismissed_general_notices_until'0));
        
$review_dismiss = ($time_now UpdraftPlus_Options::get_updraft_option('dismissed_review_notice'0));
        
$seasonal_dismiss = ($time_now UpdraftPlus_Options::get_updraft_option('dismissed_season_notices_until'0));
        
$autobackup_dismiss = ($time_now UpdraftPlus_Options::get_updraft_option('updraftplus_dismissedautobackup'0));

        
$dismiss false;

        if (
'dismiss_notice' == $dismiss_time$dismiss $notice_dismiss;
        if (
'dismiss_review_notice' == $dismiss_time$dismiss $review_dismiss;
        if (
'dismiss_season' == $dismiss_time$dismiss $seasonal_dismiss;
        if (
'dismissautobackup' == $dismiss_time$dismiss $autobackup_dismiss;

        return 
$dismiss;
    }

    protected function 
render_specified_notice($advert_information$return_instead_of_echo false$position 'top') {
    
        if (
'bottom' == $position) {
            
$template_file 'bottom-notice.php';
        } elseif (
'report' == $position) {
            
$template_file 'report.php';
        } elseif (
'report-plain' == $position) {
            
$template_file 'report-plain.php';
        } elseif (
'autobackup' == $position) {
            
$template_file 'autobackup-notice.php';
        } else {
            
$template_file 'horizontal-notice.php';
        }
        
        
/*
            Check to see if the updraftplus_com_link filter is being used, if it's not then add our tracking to the link.
        */
    
        
if (!has_filter('updraftplus_com_link') && isset($advert_information['button_link']) && false !== strpos($advert_information['button_link'], '//updraftplus.com')) {
            
$advert_information['button_link'] = trailingslashit($advert_information['button_link']).'?afref='.$this->self_affiliate_id;
            if (isset(
$advert_information['campaign'])) $advert_information['button_link'] .= '&utm_source=updraftplus&utm_medium=banner&utm_campaign='.$advert_information['campaign'];
        }

        include_once(
UPDRAFTPLUS_DIR.'/admin.php');
        global 
$updraftplus_admin;
        return 
$updraftplus_admin->include_template('wp-admin/notices/'.$template_file$return_instead_of_echo$advert_information);
    }
}

$GLOBALS['updraftplus_notices'] = UpdraftPlus_Notices::instance();
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586