PluginProbe
The WP Remote WordPress Plugin / 4.69
The WP Remote WordPress Plugin v4.69
6.72 6.69 6.65 6.62 6.48 6.47 4.87 4.97 5.05 5.09 5.16 5.22 5.24 5.25 5.38 5.41 5.42 5.45 5.47 5.53 5.56 5.65 5.68 5.72 5.73 All 53 releases
wpremote / wp_admin.php

wp_admin.php in The WP Remote WordPress Plugin 4.69, at wp_admin.php

214 lines 7.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if (!defined('ABSPATH')) exit;
4 if (!class_exists('WPRWPAdmin')) :
5
6 class WPRWPAdmin {
7 public $settings;
8 public $siteinfo;
9 public $bvinfo;
10 public $bvapi;
11
12 function __construct($settings, $siteinfo, $bvapi = null) {
13 $this->settings = $settings;
14 $this->siteinfo = $siteinfo;
15 $this->bvapi = new WPRWPAPI($settings);
16 $this->bvinfo = new WPRInfo($this->settings);
17 }
18
19 public function mainUrl($_params = '') {
20 if (function_exists('network_admin_url')) {
21 return network_admin_url('admin.php?page='.$this->bvinfo->plugname.$_params);
22 } else {
23 return admin_url('admin.php?page='.$this->bvinfo->plugname.$_params);
24 }
25 }
26
27 function removeAdminNotices() {
28 if (array_key_exists('page', $_REQUEST) && $_REQUEST['page'] == $this->bvinfo->plugname) {
29 remove_all_actions('admin_notices');
30 remove_all_actions('all_admin_notices');
31 }
32 }
33
34 public function initHandler() {
35 if (!current_user_can('activate_plugins'))
36 return;
37
38 if (array_key_exists('bvnonce', $_REQUEST) &&
39 wp_verify_nonce($_REQUEST['bvnonce'], "bvnonce") &&
40 array_key_exists('blogvaultkey', $_REQUEST) &&
41 (strlen($_REQUEST['blogvaultkey']) == 64) &&
42 (array_key_exists('page', $_REQUEST) &&
43 $_REQUEST['page'] == $this->bvinfo->plugname)) {
44 $keys = str_split($_REQUEST['blogvaultkey'], 32);
45 WPRAccount::addAccount($this->settings, $keys[0], $keys[1]);
46 if (array_key_exists('redirect', $_REQUEST)) {
47 $location = $_REQUEST['redirect'];
48 wp_redirect($this->bvinfo->appUrl()."/dash/redir?q=".urlencode($location));
49 exit();
50 }
51 }
52 if ($this->bvinfo->isActivateRedirectSet()) {
53 $this->settings->updateOption($this->bvinfo->plug_redirect, 'no');
54 wp_redirect($this->mainUrl());
55 }
56 }
57
58 public function wprsecAdminMenu($hook) {
59 if ($hook === 'toplevel_page_wpremote' || preg_match("/wpr_add_account$/", $hook) || preg_match("/wpr_account_details$/", $hook)) {
60 wp_enqueue_style( 'bvsurface', plugins_url('css/bvmui.min.css', __FILE__));
61 wp_enqueue_style( 'bootstrap', plugins_url('css/bootstrap.min.css', __FILE__));
62 wp_enqueue_style( 'bvplugin', plugins_url('css/bvplugin.min.css', __FILE__));
63 }
64 }
65
66 public function menu() {
67 $brand = $this->bvinfo->getBrandInfo();
68 if (!$brand || (!array_key_exists('hide', $brand) && !array_key_exists('hide_from_menu', $brand))) {
69 $bname = $this->bvinfo->getBrandName();
70 $icon = $this->bvinfo->getBrandIcon();
71 add_menu_page($bname, $bname, 'manage_options', $this->bvinfo->plugname,
72 array($this, 'adminPage'), plugins_url($icon, __FILE__ ));
73 }
74 }
75
76 public function hidePluginDetails($plugin_metas, $slug) {
77 $brand = $this->bvinfo->getBrandInfo();
78 $bvslug = $this->bvinfo->slug;
79
80 if ($slug === $bvslug && $brand && array_key_exists('hide_plugin_details', $brand)){
81 foreach ($plugin_metas as $pluginKey => $pluginValue) {
82 if (strpos($pluginValue, sprintf('>%s<', translate('View details')))) {
83 unset($plugin_metas[$pluginKey]);
84 break;
85 }
86 }
87 }
88 return $plugin_metas;
89 }
90
91 public function settingsLink($links, $file) {
92 #XNOTE: Fix this
93 if ( $file == plugin_basename( dirname(__FILE__).'/blogvault.php' ) ) {
94 $brand = $this->bvinfo->getBrandInfo();
95 if (!$brand || !array_key_exists('hide_plugin_details', $brand)) {
96 $links[] = '<a href="'.$this->mainUrl().'">'.__( 'Settings' ).'</a>';
97 }
98 }
99 return $links;
100 }
101
102 public function getPluginLogo() {
103 $brand = $this->bvinfo->getBrandInfo();
104 if ($brand && array_key_exists('logo', $brand)) {
105 return $brand['logo'];
106 }
107 return $this->bvinfo->logo;
108 }
109
110 public function getWebPage() {
111 $brand = $this->bvinfo->getBrandInfo();
112 if ($brand && array_key_exists('webpage', $brand)) {
113 return $brand['webpage'];
114 }
115 return $this->bvinfo->webpage;
116 }
117
118 public function siteInfoTags() {
119 require_once dirname( __FILE__ ) . '/recover.php';
120 $bvnonce = wp_create_nonce("bvnonce");
121 $public = WPRAccount::getApiPublicKey($this->settings);
122 $secret = WPRRecover::defaultSecret($this->settings);
123 $tags = "<input type='hidden' name='url' value='".$this->siteinfo->wpurl()."'/>\n".
124 "<input type='hidden' name='homeurl' value='".$this->siteinfo->homeurl()."'/>\n".
125 "<input type='hidden' name='siteurl' value='".$this->siteinfo->siteurl()."'/>\n".
126 "<input type='hidden' name='dbsig' value='".$this->siteinfo->dbsig(false)."'/>\n".
127 "<input type='hidden' name='plug' value='".$this->bvinfo->plugname."'/>\n".
128 "<input type='hidden' name='adminurl' value='".$this->mainUrl()."'/>\n".
129 "<input type='hidden' name='bvversion' value='".$this->bvinfo->version."'/>\n".
130 "<input type='hidden' name='serverip' value='".$_SERVER["SERVER_ADDR"]."'/>\n".
131 "<input type='hidden' name='abspath' value='".ABSPATH."'/>\n".
132 "<input type='hidden' name='secret' value='".$secret."'/>\n".
133 "<input type='hidden' name='public' value='".$public."'/>\n".
134 "<input type='hidden' name='bvnonce' value='".$bvnonce."'/>\n";
135 return $tags;
136 }
137
138 public function activateWarning() {
139 global $hook_suffix;
140 if (!WPRAccount::isConfigured($this->settings) && $hook_suffix == 'index.php' ) {
141 ?>
142 <div id="message" class="updated" style="padding: 8px; font-size: 16px; background-color: #dff0d8">
143 <a class="button-primary" href="<?php echo $this->mainUrl(); ?>">Activate WPRemote</a>
144 &nbsp;&nbsp;&nbsp;<b>Almost Done:</b> Activate your WPRemote account to backup & secure your site.
145 </div>
146 <?php
147 }
148 }
149
150 public function showAddAccountPage() {
151 require_once dirname( __FILE__ ) . "/admin/add_new_account.php";
152 }
153
154 public function showAccountDetailsPage() {
155 require_once dirname( __FILE__ ) . "/admin/account_details.php";
156 }
157
158 public function adminPage() {
159 if (isset($_REQUEST['bvnonce']) && wp_verify_nonce( $_REQUEST['bvnonce'], 'bvnonce' )) {
160 $info = array();
161 $this->siteinfo->basic($info);
162 $this->bvapi->pingbv('/bvapi/disconnect', $info, $_REQUEST['pubkey']);
163 WPRAccount::remove($this->settings, $_REQUEST['pubkey']);
164 }
165 if (WPRAccount::isConfigured($this->settings)) {
166 if (!isset($_REQUEST['add_account'])) {
167 $this->showAccountDetailsPage();
168 } else {
169 $this->showAddAccountPage();
170 }
171 } else {
172 $this->showAddAccountPage();
173 }
174 }
175
176 public function initBranding($plugins) {
177 $slug = $this->bvinfo->slug;
178
179 if (!is_array($plugins) || !isset($slug, $plugins)) {
180 return $plugins;
181 }
182
183 $brand = $this->bvinfo->getBrandInfo();
184 if ($brand) {
185 if (array_key_exists('hide', $brand)) {
186 unset($plugins[$slug]);
187 } else {
188 if (array_key_exists('name', $brand)) {
189 $plugins[$slug]['Name'] = $brand['name'];
190 }
191 if (array_key_exists('title', $brand)) {
192 $plugins[$slug]['Title'] = $brand['title'];
193 }
194 if (array_key_exists('description', $brand)) {
195 $plugins[$slug]['Description'] = $brand['description'];
196 }
197 if (array_key_exists('authoruri', $brand)) {
198 $plugins[$slug]['AuthorURI'] = $brand['authoruri'];
199 }
200 if (array_key_exists('author', $brand)) {
201 $plugins[$slug]['Author'] = $brand['author'];
202 }
203 if (array_key_exists('authorname', $brand)) {
204 $plugins[$slug]['AuthorName'] = $brand['authorname'];
205 }
206 if (array_key_exists('pluginuri', $brand)) {
207 $plugins[$slug]['PluginURI'] = $brand['pluginuri'];
208 }
209 }
210 }
211 return $plugins;
212 }
213 }
214 endif;