settings = $settings; $this->siteinfo = $siteinfo; $this->bvapi = new WPRWPAPI($settings); $this->bvinfo = new WPRInfo($this->settings); } public function mainUrl($_params = '') { if (function_exists('network_admin_url')) { return network_admin_url('admin.php?page='.$this->bvinfo->plugname.$_params); } else { return admin_url('admin.php?page='.$this->bvinfo->plugname.$_params); } } function removeAdminNotices() { if (array_key_exists('page', $_REQUEST) && $_REQUEST['page'] == $this->bvinfo->plugname) { remove_all_actions('admin_notices'); remove_all_actions('all_admin_notices'); } } public function initHandler() { if (!current_user_can('activate_plugins')) return; if (array_key_exists('bvnonce', $_REQUEST) && wp_verify_nonce($_REQUEST['bvnonce'], "bvnonce") && array_key_exists('blogvaultkey', $_REQUEST) && (strlen(WPRAccount::sanitizeKey($_REQUEST['blogvaultkey'])) == 64) && (array_key_exists('page', $_REQUEST) && $_REQUEST['page'] == $this->bvinfo->plugname)) { $keys = str_split($_REQUEST['blogvaultkey'], 32); WPRAccount::addAccount($this->settings, $keys[0], $keys[1]); if (array_key_exists('redirect', $_REQUEST)) { $location = $_REQUEST['redirect']; wp_redirect($this->bvinfo->appUrl()."/dash/redir?q=".urlencode($location)); exit(); } } if ($this->bvinfo->isActivateRedirectSet()) { $this->settings->updateOption($this->bvinfo->plug_redirect, 'no'); ##ACTIVATEREDIRECTCODE## wp_redirect($this->mainUrl()); } } public function wprsecAdminMenu($hook) { if ($hook === 'toplevel_page_wpremote' || preg_match("/wpr_add_account$/", $hook) || preg_match("/wpr_account_details$/", $hook)) { wp_enqueue_style( 'bootstrap', plugins_url('css/bootstrap.min.css', __FILE__)); wp_enqueue_style( 'bvplugin', plugins_url('css/bvplugin.min.css', __FILE__)); } } public function menu() { $brand = $this->bvinfo->getBrandInfo(); if (!is_array($brand) || (!array_key_exists('hide', $brand) && !array_key_exists('hide_from_menu', $brand))) { $bname = $this->bvinfo->getBrandName(); $icon = $this->bvinfo->getBrandIcon(); add_menu_page($bname, $bname, 'manage_options', $this->bvinfo->plugname, array($this, 'adminPage'), plugins_url($icon, __FILE__ )); } } public function hidePluginUpdate($plugins) { $brand = $this->bvinfo->getBrandInfo(); $bvslug = $this->bvinfo->slug; if (isset($plugins->response[$bvslug]) && is_array($brand)) { if (array_key_exists('hide_from_menu', $brand) || array_key_exists('hide', $brand)) { unset($plugins->response[$bvslug]); } } return $plugins; } public function hidePluginDetails($plugin_metas, $slug) { $brand = $this->bvinfo->getBrandInfo(); $bvslug = $this->bvinfo->slug; if ($slug === $bvslug && is_array($brand) && array_key_exists('hide_plugin_details', $brand)){ foreach ($plugin_metas as $pluginKey => $pluginValue) { if (strpos($pluginValue, sprintf('>%s<', translate('View details')))) { unset($plugin_metas[$pluginKey]); break; } } } return $plugin_metas; } public function handlePluginHealthInfo($plugins) { $brand = $this->bvinfo->getBrandInfo(); $title = $this->bvinfo->title; if (!isset($plugins["wp-plugins-active"]) || !isset($plugins["wp-plugins-active"]["fields"]) || !isset($plugins["wp-plugins-active"]["fields"][$title])) { return $plugins; } if (is_array($brand)) { if (array_key_exists('hide', $brand)) { unset($plugins["wp-plugins-active"]["fields"][$title]); } else { $plugin = $plugins["wp-plugins-active"]["fields"][$title]; $author = $this->bvinfo->author; if (array_key_exists('name', $brand)) { $plugin["label"] = $brand['name']; } if (array_key_exists('author', $brand)) { $plugin["value"] = str_replace($author, $brand['author'], $plugin["value"]); } if (array_key_exists('description', $brand)) { $plugin["debug"] = str_replace($author, $brand['author'], $plugin["debug"]); } $plugins["wp-plugins-active"]["fields"][$title] = $plugin; } } return $plugins; } public function settingsLink($links, $file) { #XNOTE: Fix this if ( $file == plugin_basename( dirname(__FILE__).'/blogvault.php' ) ) { $brand = $this->bvinfo->getBrandInfo(); if (!$brand || !array_key_exists('hide_plugin_details', $brand)) { $links[] = ''.__( 'Settings' ).''; } } return $links; } public function getPluginLogo() { $brand = $this->bvinfo->getBrandInfo(); if (is_array($brand) && array_key_exists('logo', $brand)) { return $brand['logo']; } return $this->bvinfo->logo; } public function getWebPage() { $brand = $this->bvinfo->getBrandInfo(); if (is_array($brand) && array_key_exists('webpage', $brand)) { return $brand['webpage']; } return $this->bvinfo->webpage; } public function siteInfoTags() { require_once dirname( __FILE__ ) . '/recover.php'; $bvnonce = wp_create_nonce("bvnonce"); $public = WPRAccount::getApiPublicKey($this->settings); $secret = WPRRecover::defaultSecret($this->settings); $tags = "\n". "\n". "\n". "\n". "\n". "\n". "\n". "\n". "\n". "\n". "\n". "\n"; return $tags; } public function activateWarning() { global $hook_suffix; if (!WPRAccount::isConfigured($this->settings) && $hook_suffix == 'index.php' ) { ?>
Activate WPRemote    Almost Done: Activate your WPRemote account to backup & secure your site.
siteinfo->basic($info); $this->bvapi->pingbv('/bvapi/disconnect', $info, $_REQUEST['pubkey']); WPRAccount::remove($this->settings, $_REQUEST['pubkey']); } if (WPRAccount::isConfigured($this->settings)) { if (!isset($_REQUEST['add_account'])) { $this->showAccountDetailsPage(); } else { $this->showAddAccountPage(); } } else { $this->showAddAccountPage(); } } public function initBranding($plugins) { $slug = $this->bvinfo->slug; if (!is_array($plugins) || !isset($slug, $plugins)) { return $plugins; } $brand = $this->bvinfo->getBrandInfo(); if (is_array($brand)) { if (array_key_exists('hide', $brand)) { unset($plugins[$slug]); } else { if (array_key_exists('name', $brand)) { $plugins[$slug]['Name'] = $brand['name']; } if (array_key_exists('title', $brand)) { $plugins[$slug]['Title'] = $brand['title']; } if (array_key_exists('description', $brand)) { $plugins[$slug]['Description'] = $brand['description']; } if (array_key_exists('authoruri', $brand)) { $plugins[$slug]['AuthorURI'] = $brand['authoruri']; } if (array_key_exists('author', $brand)) { $plugins[$slug]['Author'] = $brand['author']; } if (array_key_exists('authorname', $brand)) { $plugins[$slug]['AuthorName'] = $brand['authorname']; } if (array_key_exists('pluginuri', $brand)) { $plugins[$slug]['PluginURI'] = $brand['pluginuri']; } } } return $plugins; } } endif;