public static function instance() { if (is_null(self::$_instance)) { self::$_instance = new self(); } return self::$_instance; }
public function create_software_api_url($args) { $api_url = esc_url_raw(add_query_arg('wc-api', 'am-software-api', MainWPApiManager::instance()->upgrade_url)); $query_url = ""; foreach ($args as $key => $value) { $query_url .= $key . '=' . urlencode($value) . '&'; } $query_url = rtrim($query_url, '&'); return $api_url . '&' . $query_url; }
private function create_upgrade_api_url($args) { $upgrade_url = esc_url_raw(add_query_arg('wc-api', 'upgrade-api', MainWPApiManager::instance()->upgrade_url)); $query_url = ""; foreach ($args as $key => $value) { $query_url .= $key . '=' . urlencode($value) . '&'; } $query_url = rtrim($query_url, '&'); return $upgrade_url . '&' . $query_url; //http_build_query( $args ); }
public function mwp_setup_purchase_extension_save() { check_admin_referer('mwp-setup'); $username = !empty($_POST['mwp_setup_purchase_username']) ? sanitize_text_field($_POST['mwp_setup_purchase_username']) : ''; $password = !empty($_POST['mwp_setup_purchase_passwd']) ? sanitize_text_field($_POST['mwp_setup_purchase_passwd']) : ''; if ($username == '' && $password == '') { MainWP_Utility::update_option("mainwp_extensions_api_username", $username); MainWP_Utility::update_option("mainwp_extensions_api_password", $password); } else { $enscrypt_u = MainWP_Api_Manager_Password_Management::encrypt_string($username); $enscrypt_p = MainWP_Api_Manager_Password_Management::encrypt_string($password); MainWP_Utility::update_option("mainwp_extensions_api_username", $enscrypt_u); MainWP_Utility::update_option("mainwp_extensions_api_password", $enscrypt_p); MainWP_Utility::update_option("mainwp_extensions_api_save_login", true); } $product_id = !empty($_POST['mwp_setup_purchase_product_id']) ? sanitize_text_field($_POST['mwp_setup_purchase_product_id']) : ''; if ($username == '' || $password == '') { update_option('mwp_setup_error_purchase_extension', __('Invalid user name or password.', 'mainwp')); return; } if (empty($product_id)) { return array('error' => __('Invalid product id', 'mainwp')); } $data = MainWPApiManager::instance()->purchase_software($username, $password, $product_id); $result = json_decode($data, true); $undefined_error = false; if (is_array($result)) { if (isset($result['success']) && $result['success'] == true) { if (isset($result['code']) && $result['code'] == 'PURCHASED') { // success: do nothing } else { if (isset($result['order_id']) && !empty($result['order_id'])) { // success: do nothing } else { $undefined_error = true; } } } else { if (isset($result['error'])) { update_option('mwp_setup_error_purchase_extension', $result['error']); return; } else { $undefined_error = true; } } } else { $undefined_error = true; } if ($undefined_error) { update_option('mwp_setup_error_purchase_extension', __('Undefined error.', 'mainwp')); return; } wp_redirect($this->get_next_step_link()); exit; }
public static function getPurchasedExts() { $username = trim($_POST['username']); $password = trim($_POST['password']); if ($username == '' || $password == '') { die(json_encode(array('error' => __('Login Invalid.', 'mainwp')))); } $data = MainWPApiManager::instance()->get_purchased_software($username, $password); $result = json_decode($data, true); $return = array(); if (is_array($result)) { if (isset($result['success']) && $result['success']) { $all_available_exts = array(); foreach (MainWPExtensionsView::getAvailableExtensions() as $ext) { $all_available_exts[$ext['product_id']] = $ext; } self::loadExtensions(); $installed_softwares = array(); if (is_array(self::$extensions)) { foreach (self::$extensions as $extension) { if (isset($extension['product_id']) && !empty($extension['product_id'])) { $installed_softwares[$extension['product_id']] = $extension['product_id']; } } } $purchased_data = isset($result['purchased_data']) && is_array($result['purchased_data']) ? $result['purchased_data'] : array(); $not_purchased_exts = array_diff_key($all_available_exts, $purchased_data); $installing_exts = array_diff_key($purchased_data, $installed_softwares); $html = '<div class="inside">'; $html .= "<h2>" . __("Installing Purchased Extensions ...", "mainwp") . "</h2>"; $html .= '<div class="mainwp_extension_installing">'; if (empty($installing_exts)) { $html .= '<p>' . __("All purchased extensions are Installed", "mainwp") . '</p>'; } else { $html .= '<p><span class="description">' . __('Uncheck any Extension you do not want to install', 'mainwp') . '</span></p>'; foreach ($installing_exts as $product_id => $product_info) { $software_title = isset($all_available_exts[$product_id]) ? $all_available_exts[$product_id]['title'] : $product_id; if (isset($product_info['error']) && $product_info['error'] == 'download_revoked') { $html .= '<div><input type="checkbox" disabled="disabled"> <span class="name"><strong>' . $software_title . "</strong></span> <span style=\"color: red;\"><strong>Error</strong> " . MainWPApiManager::instance()->download_revoked_error_notice($software_title) . '</span></div>'; } else { if (isset($product_info['package']) && !empty($product_info['package'])) { $package_url = apply_filters('mainwp_api_manager_upgrade_url', $product_info['package']); $html .= '<div class="extension_to_install" download-link="' . $package_url . '" product-id="' . $product_id . '"><input type="checkbox" status="queue" checked="true"> <span class="name"><strong>' . $software_title . "</strong></span> " . '<span class="ext_installing" status="queue"><i class="fa fa-spinner fa-pulse hidden" style="display: none;"></i> <span class="status hidden"><i class="fa fa-clock-o"></i> ' . __('Queued', 'mainwp') . '</span></span></div>'; } } } } foreach ($not_purchased_exts as $product_id => $ext) { $html .= '<div class="extension_not_purchased" product-id="' . $product_id . '"><input type="checkbox" disabled="disabled"> <span class="name"><strong>' . $ext['title'] . '</strong></span> ' . __("Extension not purchased.") . ' <a href="' . $ext['link'] . '" target="_blank">' . __("Get it here!") . '</a></div>'; } $html .= '</div>'; $html .= '</div>'; if (!empty($installing_exts)) { $html .= '<p> <span class="extension_api_loading"> <input type="button" class="mainwp-upgrade-button button-primary" id="mainwp-extensions-installnow" value="' . __("Install Now", "mainwp") . '"> <i class="fa fa-spinner fa-pulse" style="display: none;"></i><span class="status hidden"></span> </span> </p> '; } $html .= '<p><div id="extBulkActivate"><i class="fa fa-spinner fa-pulse hidden" style="display: none"></i> <span class="status hidden"></span></div></p>'; $return = array('result' => 'SUCCESS', 'data' => $html); } else { if (isset($result['error'])) { $return = array('error' => $result['error']); } } } else { $apisslverify = get_option('mainwp_api_sslVerifyCertificate'); if ($apisslverify == 1) { MainWPUtility::update_option("mainwp_api_sslVerifyCertificate", 0); $return['retry_action'] = 1; } } die(json_encode($return)); }
public static function getPluginInformation($pSlug) { $extensions = MainWPExtensions::loadExtensions(); $rslt = null; if (is_array($extensions)) { foreach ($extensions as $ext) { if ($pSlug == $ext['api'] && isset($ext['apiManager']) && !empty($ext['apiManager'])) { $args = array(); $args['plugin_name'] = $ext['api']; $args['version'] = $ext['version']; $args['product_id'] = $ext['product_id']; $args['api_key'] = $ext['api_key']; $args['activation_email'] = $ext['activation_email']; $args['instance'] = $ext['instance_id']; $args['software_version'] = $ext['software_version']; $rslt = MainWPApiManager::instance()->request_plugin_information($args); break; } } } return $rslt; }