Example #1
0
 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;
 }
Example #5
0
 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));
 }
Example #6
0
 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;
 }