Changeset 1958953
- Timestamp:
- 10/19/2018 06:05:53 AM (7 years ago)
- Location:
- ose-lets-encrypt
- Files:
-
- 10 edited
- 1 copied
-
tags/1.1.6 (copied) (copied from ose-lets-encrypt/trunk)
-
tags/1.1.6/README.txt (modified) (2 diffs)
-
tags/1.1.6/api.php (modified) (1 diff)
-
tags/1.1.6/assets/css/admin.css (modified) (3 diffs)
-
tags/1.1.6/assets/js/admin.js (modified) (3 diffs)
-
tags/1.1.6/ose-letsencrypt.php (modified) (10 diffs)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/api.php (modified) (1 diff)
-
trunk/assets/css/admin.css (modified) (3 diffs)
-
trunk/assets/js/admin.js (modified) (3 diffs)
-
trunk/ose-letsencrypt.php (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ose-lets-encrypt/tags/1.1.6/README.txt
r1956663 r1958953 6 6 Tested up to: 4.9.8 7 7 Requires PHP: 5.3 8 Stable tag: 1.1. 58 Stable tag: 1.1.6 9 9 License: GNU General Public License v3 10 10 License URI: http://www.gnu.org/licenses/gpl-3.0.txt … … 48 48 49 49 == Changelog == 50 = 1.1.6 = 51 * Change to use native WordPress ftp function to run ftp mode 52 50 53 = 1.1.5 = 51 54 * Update plugin description -
ose-lets-encrypt/tags/1.1.6/api.php
r1954763 r1958953 3 3 * oseLetsencryptApi class 4 4 * 5 * @package OSE Let's Encrypt5 * @package OSE Free SSL 6 6 * @author Open Source Excellence <https://www.opensource-excellence.com/> 7 7 * @since 1.0.0 -
ose-lets-encrypt/tags/1.1.6/assets/css/admin.css
r1954763 r1958953 2 2 margin-top: 5px !important; 3 3 color: #46b450; 4 } 5 .error-message{ 6 color: #F00; 4 7 } 5 8 .terms{ … … 33 36 } 34 37 35 #oseletsencrypt-account-form input[type='checkbox']{ 38 #oseletsencrypt-account-form input[type='checkbox'] 39 { 36 40 -webkit-appearance: checkbox !important; 37 41 } 38 42 39 #oseletsencrypt-account-form input[type="radio"] { 40 -webkit-appearance: radio !important; 41 margin-right: 10px; 43 input[type='checkbox'], input[type='radio'] { 44 display: inline-block !important; 42 45 } 43 46 … … 79 82 display: none; 80 83 } 84 #upgrade{ 85 display: none; 86 } 87 88 .modal-footer, .modal-header { 89 padding: 5px 15px !important; 90 } -
ose-lets-encrypt/tags/1.1.6/assets/js/admin.js
r1954774 r1958953 11 11 jQuery(this).append('<input type="hidden" name="action" value="store_account_data" />'); 12 12 jQuery(this).append('<input type="hidden" name="security" value="'+ oseletsencrypt_exchanger._nonce +'" />'); 13 13 jQuery('#error-message').text(''); 14 14 // We make our call 15 15 jQuery.ajax( { … … 19 19 success: function (response) { 20 20 // alert(response); 21 jQuery('#response-message').text(response); 22 jQuery('#oseletsencrypt-ssl-request').attr("disabled",false); 21 data = jQuery.parseJSON(response); 22 if(data.status == true){ 23 jQuery('#response-message').text(data.message); 24 }else{ 25 jQuery('#ftpModal').modal(); 26 } 23 27 } 24 28 } ); … … 75 79 } 76 80 showHideMode(); 81 82 jQuery('#oseletsencrypt-process').click(function () { 83 var password = encodeURIComponent(jQuery( '#password').val()); 84 jQuery.ajax( { 85 url: oseletsencrypt_exchanger.ajax_url, 86 type: 'post', 87 data: "action=create_folders&hostname="+jQuery( '#hostname').val()+"&username="+jQuery( '#username').val()+"&password="+password+"&connection_type="+jQuery("input[name='connection_type']:checked").val()+"&security="+oseletsencrypt_exchanger._nonce, 88 success: function (response) { 89 data = jQuery.parseJSON(response); 90 if(data.success == true){ 91 jQuery('#ftpModal').modal('hide'); 92 jQuery('#response-message').text(data.message); 93 }else{ 94 jQuery('#error-message').text(data.message); 95 } 96 } 97 } ); 98 }); 77 99 /* 78 100 jQuery("#view-terms").click(function () { -
ose-lets-encrypt/tags/1.1.6/ose-letsencrypt.php
r1956664 r1958953 16 16 * Plugin URI: https://www.opensource-excellence.com/ 17 17 * Description: OSE Free SSL is an easy-to-use plugin to create SSL certificates from Let’s Encrypt (https://letsencrypt.org) platform which provides free SSL certificates for everyone. 18 * Version: 1.1. 518 * Version: 1.1.6 19 19 * Author: Open Source Excellence 20 20 * Author URI: https://www.opensource-excellence.com/ … … 79 79 add_action('wp_ajax_check_account_data', array($this,'checkAccountData')); 80 80 add_action('wp_ajax_send_ssl_request', array($this,'sendSslRequest')); 81 add_action('wp_ajax_create_folders', array($this,'createFolders')); 81 82 //add_action('wp_ajax_get_terms', array($this,'getTerms')); 82 83 add_action( 'rest_api_init', array($this,'letsencrypt_rest_register_route')); … … 99 100 $content = $request["filecontent"]; 100 101 $filename = OSELETSENCRYPT_ACME_CHALLENGE_PATH.$request["filename"]; 101 if($request['action']== 'acme-challenge-delete'){ 102 if(file_exists($filename)){ 103 unlink($filename); 102 $data = $this->getData(); 103 if(isset($data['hostname']) && !empty($data['hostname']) && isset($data['username']) && !empty($data['username']) 104 && isset($data['password']) && !empty($data['password']) && isset($data['connection_type']) && !empty($data['connection_type'])){ 105 return $this->acmeChallengeActionsWithFtp($data,$request['action'] ,$request["filename"],$content); 106 }else{ 107 if($request['action'] == 'acme-challenge-delete'){ 108 if(file_exists($filename)){ 109 unlink($filename); 110 } 111 }else{ 112 file_put_contents($filename,$content); 104 113 } 114 } 115 return true; 116 } 117 protected function acmeChallengeActionsWithFtp($data,$action,$filename,$conetent){ 118 require_once(ABSPATH . 'wp-admin/includes/file.php'); 119 $creds = array(); 120 $creds['hostname'] = base64_decode($data['hostname']); 121 $creds['username'] = base64_decode($data['username']); 122 $creds['password'] = base64_decode($data['password']); 123 $creds['connection_type'] = $data['connection_type']; 124 if(!WP_Filesystem($creds)){ 125 echo 'Incorrect credentials';exit; 126 return false; 127 } 128 global $wp_filesystem; 129 $dir = $wp_filesystem->find_folder(OSELETSENCRYPT_ACME_CHALLENGE_PATH); 130 $file = trailingslashit($dir) .$filename; 131 if($action == 'acme-challenge-delete'){ 132 return $wp_filesystem->delete($file); 105 133 }else{ 106 file_put_contents($filename,$content); 107 } 108 return true; 134 return $wp_filesystem->put_contents($file, $conetent, 0755); 135 } 109 136 } 110 137 public function storeAccountData() … … 119 146 $_POST['oseletsencrypt_web_address'] = $site_url; 120 147 121 $mode = isset($_POST['oseletsencrypt_mode'])?$_POST['oseletsencrypt_mode']:''; 148 //$mode = isset($_POST['oseletsencrypt_mode'])?$_POST['oseletsencrypt_mode']:''; 149 $_POST['oseletsencrypt_mode'] = $mode = 'http'; 122 150 if($mode == 'http'){ 123 $data['web_token'] = $token = $this->generateToken(16);124 151 $result = $this->checkPermission(); 125 152 if(!$result['status']){ 126 echo __($result['message'], 'oseletsencrypt'); 127 die(); 153 $data['web_address'] = $site_url; 154 $data['email'] = sanitize_email($_POST['oseletsencrypt_email']); 155 update_option($this->option_name, $data); 156 print_r(json_encode($result));exit; 157 }else{ 158 $data['web_token'] = $token = $this->generateToken(16); 159 foreach ($_POST as $field=>$value) { 160 161 if (substr($field, 0, 15) !== "oseletsencrypt_") 162 continue; 163 164 if (empty($value)) 165 unset($data[$field]); 166 167 // We remove the oseletsencrypt_ prefix to clean things up 168 $field = substr($field, 15); 169 170 $data[$field] = esc_attr__($value); 171 172 } 173 $data = $this->sanitizeData($data); 174 update_option($this->option_name, $data); 128 175 } 129 176 } 130 131 foreach ($_POST as $field=>$value) { 132 133 if (substr($field, 0, 15) !== "oseletsencrypt_") 134 continue; 135 136 if (empty($value)) 137 unset($data[$field]); 138 139 // We remove the oseletsencrypt_ prefix to clean things up 140 $field = substr($field, 15); 141 142 $data[$field] = esc_attr__($value); 143 144 } 145 $data = $this->sanitizeData($data); 146 update_option($this->option_name, $data); 147 echo __('Saved!', 'oseletsencrypt'); 148 die(); 177 $return = array(); 178 $return['status'] = true; 179 $return['message'] = __( 'Saved!', 'oseletsencrypt' ); 180 print_r(json_encode($return));exit; 181 //echo __('Saved!', 'oseletsencrypt'); 182 //die(); 149 183 150 184 } … … 214 248 { 215 249 add_menu_page( 216 __( 'OSE Let\'s Encrypt', 'oseletsencrypt' ),217 __( 'OSE Let\'s Encrypt', 'oseletsencrypt' ),250 __( 'OSE Free SSL', 'oseletsencrypt' ), 251 __( 'OSE Free SSL', 'oseletsencrypt' ), 218 252 'manage_options', 219 253 'oseletsencrypt', … … 247 281 <div class="column column-50"> 248 282 <h1><?php _e('OSE Free SSL Settings', 'oseletsencrypt'); ?></h1> 283 <!-- 249 284 <div> 250 285 <label for="mode"><?php _e( 'Mode', 'oseletsencrypt' ); ?></label> … … 252 287 <input type="radio" name="oseletsencrypt_mode" value="ftp">FTP 253 288 </div> 289 --> 254 290 <div class="ftp-form-fields"> 255 291 <label for="ftp-server"><?php _e( 'FTP Server', 'oseletsencrypt' ); ?></label> … … 316 352 </form> 317 353 354 <div class="modal fade" id="ftpModal" tabindex="-1" role="dialog" aria-labelledby="ftpModalLabel" aria-hidden="true"> 355 <div class="modal-dialog"> 356 <div class="modal-content"> 357 <div class="modal-header"> 358 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">× 359 </button> 360 </div> 361 <div id="ftp-modal-body" class="modal-body"> 362 <?php request_filesystem_credentials( site_url() );?> 363 <div id="error-message" class="error-message"></div> 364 </div> 365 <div class="modal-footer"> 366 <button type="button" class="btn btn-default" id="oseletsencrypt-process"> 367 <?php _e( 'Process', 'oseletsencrypt' ); ?> 368 </button> 369 <button type="button" class="btn btn-default" data-dismiss="modal"> 370 <?php _e( 'Close', 'oseletsencrypt' ); ?> 371 </button> 372 </div> 373 </div> 374 </div> 375 </div> 376 318 377 </div> 319 378 <?php … … 378 437 return $return; 379 438 } 439 return $return; 380 440 } 381 441 protected function checkToken($web_token){ … … 385 445 } 386 446 return false; 447 } 448 public function createFolders(){ 449 if (wp_verify_nonce($_POST['security'], $this->_nonce ) === false) 450 die('Invalid Request! Reload your page please.'); 451 452 $return = array(); 453 $return['success'] = true; 454 $creds = array(); 455 $data = $this->sanitizeData($_POST); 456 $creds['hostname'] = $data['hostname']; 457 $creds['username'] = $data['username']; 458 $creds['password'] = $data['password']; 459 $creds['connection_type'] = $data['connection_type']; 460 if(!WP_Filesystem($creds)){ 461 $error_string = __('ERROR: There was an error connecting to the server, Please verify the settings are correct.'); 462 $return['success'] = false; 463 $return['message'] = $error_string; 464 print_r(json_encode($return));exit; 465 } 466 global $wp_filesystem; 467 if(!file_exists(OSELETSENCRYPT_WELL_KNOWN_PATH)){ 468 $dest = $wp_filesystem->abspath(); 469 $created = $wp_filesystem->mkdir($dest.'.well-known/',0755); 470 if(!$created){ 471 $error_string = __('ERROR: There was an error creating folder').' '.OSELETSENCRYPT_WELL_KNOWN_PATH; 472 $return['success'] = false; 473 $return['message'] = $error_string; 474 print_r(json_encode($return));exit; 475 } 476 } 477 if(!file_exists(OSELETSENCRYPT_ACME_CHALLENGE_PATH)){ 478 $dest = $wp_filesystem->find_folder(OSELETSENCRYPT_WELL_KNOWN_PATH); 479 $created = $wp_filesystem->mkdir($dest.'acme-challenge/',0755); 480 if(!$created){ 481 $error_string = __('ERROR: There was an error creating folder').' '.OSELETSENCRYPT_ACME_CHALLENGE_PATH; 482 $return['success'] = false; 483 $return['message'] = $error_string; 484 print_r(json_encode($return));exit; 485 } 486 } 487 $dir = $wp_filesystem->find_folder(OSELETSENCRYPT_ACME_CHALLENGE_PATH); 488 $file = trailingslashit($dir) . "test.txt"; 489 $created = $wp_filesystem->put_contents($file, 'test', 0755); 490 if(!$created){ 491 $error_string = __('ERROR: There was an error creating test file in').' '.OSELETSENCRYPT_ACME_CHALLENGE_PATH; 492 $return['success'] = false; 493 $return['message'] = $error_string; 494 print_r(json_encode($return));exit; 495 } 496 /* 497 $deleted = $wp_filesystem->delete($file); 498 if(!$created){ 499 $error_string = __('ERROR: There was an error deleting test file in').' '.OSELETSENCRYPT_ACME_CHALLENGE_PATH; 500 $return['success'] = false; 501 $return['message'] = $error_string; 502 print_r(json_encode($return));exit; 503 } 504 */ 505 $this->saveFtpInfo($creds); 506 $return['message'] = __( 'Saved!', 'oseletsencrypt' ); 507 print_r(json_encode($return));exit; 508 } 509 protected function saveFtpInfo($creds){ 510 $data = $this->getData(); 511 if(!isset($data['web_token']) || empty($data['web_token'])){ 512 $data['web_token'] = $this->generateToken(16); 513 } 514 $data['hostname'] = base64_encode($creds['hostname']); 515 $data['username'] = base64_encode($creds['username']); 516 $data['password'] = base64_encode($creds['password']); 517 $data['connection_type'] = $creds['connection_type']; 518 return update_option($this->option_name, $data); 387 519 } 388 520 } -
ose-lets-encrypt/trunk/README.txt
r1956663 r1958953 6 6 Tested up to: 4.9.8 7 7 Requires PHP: 5.3 8 Stable tag: 1.1. 58 Stable tag: 1.1.6 9 9 License: GNU General Public License v3 10 10 License URI: http://www.gnu.org/licenses/gpl-3.0.txt … … 48 48 49 49 == Changelog == 50 = 1.1.6 = 51 * Change to use native WordPress ftp function to run ftp mode 52 50 53 = 1.1.5 = 51 54 * Update plugin description -
ose-lets-encrypt/trunk/api.php
r1954763 r1958953 3 3 * oseLetsencryptApi class 4 4 * 5 * @package OSE Let's Encrypt5 * @package OSE Free SSL 6 6 * @author Open Source Excellence <https://www.opensource-excellence.com/> 7 7 * @since 1.0.0 -
ose-lets-encrypt/trunk/assets/css/admin.css
r1954763 r1958953 2 2 margin-top: 5px !important; 3 3 color: #46b450; 4 } 5 .error-message{ 6 color: #F00; 4 7 } 5 8 .terms{ … … 33 36 } 34 37 35 #oseletsencrypt-account-form input[type='checkbox']{ 38 #oseletsencrypt-account-form input[type='checkbox'] 39 { 36 40 -webkit-appearance: checkbox !important; 37 41 } 38 42 39 #oseletsencrypt-account-form input[type="radio"] { 40 -webkit-appearance: radio !important; 41 margin-right: 10px; 43 input[type='checkbox'], input[type='radio'] { 44 display: inline-block !important; 42 45 } 43 46 … … 79 82 display: none; 80 83 } 84 #upgrade{ 85 display: none; 86 } 87 88 .modal-footer, .modal-header { 89 padding: 5px 15px !important; 90 } -
ose-lets-encrypt/trunk/assets/js/admin.js
r1954774 r1958953 11 11 jQuery(this).append('<input type="hidden" name="action" value="store_account_data" />'); 12 12 jQuery(this).append('<input type="hidden" name="security" value="'+ oseletsencrypt_exchanger._nonce +'" />'); 13 13 jQuery('#error-message').text(''); 14 14 // We make our call 15 15 jQuery.ajax( { … … 19 19 success: function (response) { 20 20 // alert(response); 21 jQuery('#response-message').text(response); 22 jQuery('#oseletsencrypt-ssl-request').attr("disabled",false); 21 data = jQuery.parseJSON(response); 22 if(data.status == true){ 23 jQuery('#response-message').text(data.message); 24 }else{ 25 jQuery('#ftpModal').modal(); 26 } 23 27 } 24 28 } ); … … 75 79 } 76 80 showHideMode(); 81 82 jQuery('#oseletsencrypt-process').click(function () { 83 var password = encodeURIComponent(jQuery( '#password').val()); 84 jQuery.ajax( { 85 url: oseletsencrypt_exchanger.ajax_url, 86 type: 'post', 87 data: "action=create_folders&hostname="+jQuery( '#hostname').val()+"&username="+jQuery( '#username').val()+"&password="+password+"&connection_type="+jQuery("input[name='connection_type']:checked").val()+"&security="+oseletsencrypt_exchanger._nonce, 88 success: function (response) { 89 data = jQuery.parseJSON(response); 90 if(data.success == true){ 91 jQuery('#ftpModal').modal('hide'); 92 jQuery('#response-message').text(data.message); 93 }else{ 94 jQuery('#error-message').text(data.message); 95 } 96 } 97 } ); 98 }); 77 99 /* 78 100 jQuery("#view-terms").click(function () { -
ose-lets-encrypt/trunk/ose-letsencrypt.php
r1956664 r1958953 16 16 * Plugin URI: https://www.opensource-excellence.com/ 17 17 * Description: OSE Free SSL is an easy-to-use plugin to create SSL certificates from Let’s Encrypt (https://letsencrypt.org) platform which provides free SSL certificates for everyone. 18 * Version: 1.1. 518 * Version: 1.1.6 19 19 * Author: Open Source Excellence 20 20 * Author URI: https://www.opensource-excellence.com/ … … 79 79 add_action('wp_ajax_check_account_data', array($this,'checkAccountData')); 80 80 add_action('wp_ajax_send_ssl_request', array($this,'sendSslRequest')); 81 add_action('wp_ajax_create_folders', array($this,'createFolders')); 81 82 //add_action('wp_ajax_get_terms', array($this,'getTerms')); 82 83 add_action( 'rest_api_init', array($this,'letsencrypt_rest_register_route')); … … 99 100 $content = $request["filecontent"]; 100 101 $filename = OSELETSENCRYPT_ACME_CHALLENGE_PATH.$request["filename"]; 101 if($request['action']== 'acme-challenge-delete'){ 102 if(file_exists($filename)){ 103 unlink($filename); 102 $data = $this->getData(); 103 if(isset($data['hostname']) && !empty($data['hostname']) && isset($data['username']) && !empty($data['username']) 104 && isset($data['password']) && !empty($data['password']) && isset($data['connection_type']) && !empty($data['connection_type'])){ 105 return $this->acmeChallengeActionsWithFtp($data,$request['action'] ,$request["filename"],$content); 106 }else{ 107 if($request['action'] == 'acme-challenge-delete'){ 108 if(file_exists($filename)){ 109 unlink($filename); 110 } 111 }else{ 112 file_put_contents($filename,$content); 104 113 } 114 } 115 return true; 116 } 117 protected function acmeChallengeActionsWithFtp($data,$action,$filename,$conetent){ 118 require_once(ABSPATH . 'wp-admin/includes/file.php'); 119 $creds = array(); 120 $creds['hostname'] = base64_decode($data['hostname']); 121 $creds['username'] = base64_decode($data['username']); 122 $creds['password'] = base64_decode($data['password']); 123 $creds['connection_type'] = $data['connection_type']; 124 if(!WP_Filesystem($creds)){ 125 echo 'Incorrect credentials';exit; 126 return false; 127 } 128 global $wp_filesystem; 129 $dir = $wp_filesystem->find_folder(OSELETSENCRYPT_ACME_CHALLENGE_PATH); 130 $file = trailingslashit($dir) .$filename; 131 if($action == 'acme-challenge-delete'){ 132 return $wp_filesystem->delete($file); 105 133 }else{ 106 file_put_contents($filename,$content); 107 } 108 return true; 134 return $wp_filesystem->put_contents($file, $conetent, 0755); 135 } 109 136 } 110 137 public function storeAccountData() … … 119 146 $_POST['oseletsencrypt_web_address'] = $site_url; 120 147 121 $mode = isset($_POST['oseletsencrypt_mode'])?$_POST['oseletsencrypt_mode']:''; 148 //$mode = isset($_POST['oseletsencrypt_mode'])?$_POST['oseletsencrypt_mode']:''; 149 $_POST['oseletsencrypt_mode'] = $mode = 'http'; 122 150 if($mode == 'http'){ 123 $data['web_token'] = $token = $this->generateToken(16);124 151 $result = $this->checkPermission(); 125 152 if(!$result['status']){ 126 echo __($result['message'], 'oseletsencrypt'); 127 die(); 153 $data['web_address'] = $site_url; 154 $data['email'] = sanitize_email($_POST['oseletsencrypt_email']); 155 update_option($this->option_name, $data); 156 print_r(json_encode($result));exit; 157 }else{ 158 $data['web_token'] = $token = $this->generateToken(16); 159 foreach ($_POST as $field=>$value) { 160 161 if (substr($field, 0, 15) !== "oseletsencrypt_") 162 continue; 163 164 if (empty($value)) 165 unset($data[$field]); 166 167 // We remove the oseletsencrypt_ prefix to clean things up 168 $field = substr($field, 15); 169 170 $data[$field] = esc_attr__($value); 171 172 } 173 $data = $this->sanitizeData($data); 174 update_option($this->option_name, $data); 128 175 } 129 176 } 130 131 foreach ($_POST as $field=>$value) { 132 133 if (substr($field, 0, 15) !== "oseletsencrypt_") 134 continue; 135 136 if (empty($value)) 137 unset($data[$field]); 138 139 // We remove the oseletsencrypt_ prefix to clean things up 140 $field = substr($field, 15); 141 142 $data[$field] = esc_attr__($value); 143 144 } 145 $data = $this->sanitizeData($data); 146 update_option($this->option_name, $data); 147 echo __('Saved!', 'oseletsencrypt'); 148 die(); 177 $return = array(); 178 $return['status'] = true; 179 $return['message'] = __( 'Saved!', 'oseletsencrypt' ); 180 print_r(json_encode($return));exit; 181 //echo __('Saved!', 'oseletsencrypt'); 182 //die(); 149 183 150 184 } … … 214 248 { 215 249 add_menu_page( 216 __( 'OSE Let\'s Encrypt', 'oseletsencrypt' ),217 __( 'OSE Let\'s Encrypt', 'oseletsencrypt' ),250 __( 'OSE Free SSL', 'oseletsencrypt' ), 251 __( 'OSE Free SSL', 'oseletsencrypt' ), 218 252 'manage_options', 219 253 'oseletsencrypt', … … 247 281 <div class="column column-50"> 248 282 <h1><?php _e('OSE Free SSL Settings', 'oseletsencrypt'); ?></h1> 283 <!-- 249 284 <div> 250 285 <label for="mode"><?php _e( 'Mode', 'oseletsencrypt' ); ?></label> … … 252 287 <input type="radio" name="oseletsencrypt_mode" value="ftp">FTP 253 288 </div> 289 --> 254 290 <div class="ftp-form-fields"> 255 291 <label for="ftp-server"><?php _e( 'FTP Server', 'oseletsencrypt' ); ?></label> … … 316 352 </form> 317 353 354 <div class="modal fade" id="ftpModal" tabindex="-1" role="dialog" aria-labelledby="ftpModalLabel" aria-hidden="true"> 355 <div class="modal-dialog"> 356 <div class="modal-content"> 357 <div class="modal-header"> 358 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">× 359 </button> 360 </div> 361 <div id="ftp-modal-body" class="modal-body"> 362 <?php request_filesystem_credentials( site_url() );?> 363 <div id="error-message" class="error-message"></div> 364 </div> 365 <div class="modal-footer"> 366 <button type="button" class="btn btn-default" id="oseletsencrypt-process"> 367 <?php _e( 'Process', 'oseletsencrypt' ); ?> 368 </button> 369 <button type="button" class="btn btn-default" data-dismiss="modal"> 370 <?php _e( 'Close', 'oseletsencrypt' ); ?> 371 </button> 372 </div> 373 </div> 374 </div> 375 </div> 376 318 377 </div> 319 378 <?php … … 378 437 return $return; 379 438 } 439 return $return; 380 440 } 381 441 protected function checkToken($web_token){ … … 385 445 } 386 446 return false; 447 } 448 public function createFolders(){ 449 if (wp_verify_nonce($_POST['security'], $this->_nonce ) === false) 450 die('Invalid Request! Reload your page please.'); 451 452 $return = array(); 453 $return['success'] = true; 454 $creds = array(); 455 $data = $this->sanitizeData($_POST); 456 $creds['hostname'] = $data['hostname']; 457 $creds['username'] = $data['username']; 458 $creds['password'] = $data['password']; 459 $creds['connection_type'] = $data['connection_type']; 460 if(!WP_Filesystem($creds)){ 461 $error_string = __('ERROR: There was an error connecting to the server, Please verify the settings are correct.'); 462 $return['success'] = false; 463 $return['message'] = $error_string; 464 print_r(json_encode($return));exit; 465 } 466 global $wp_filesystem; 467 if(!file_exists(OSELETSENCRYPT_WELL_KNOWN_PATH)){ 468 $dest = $wp_filesystem->abspath(); 469 $created = $wp_filesystem->mkdir($dest.'.well-known/',0755); 470 if(!$created){ 471 $error_string = __('ERROR: There was an error creating folder').' '.OSELETSENCRYPT_WELL_KNOWN_PATH; 472 $return['success'] = false; 473 $return['message'] = $error_string; 474 print_r(json_encode($return));exit; 475 } 476 } 477 if(!file_exists(OSELETSENCRYPT_ACME_CHALLENGE_PATH)){ 478 $dest = $wp_filesystem->find_folder(OSELETSENCRYPT_WELL_KNOWN_PATH); 479 $created = $wp_filesystem->mkdir($dest.'acme-challenge/',0755); 480 if(!$created){ 481 $error_string = __('ERROR: There was an error creating folder').' '.OSELETSENCRYPT_ACME_CHALLENGE_PATH; 482 $return['success'] = false; 483 $return['message'] = $error_string; 484 print_r(json_encode($return));exit; 485 } 486 } 487 $dir = $wp_filesystem->find_folder(OSELETSENCRYPT_ACME_CHALLENGE_PATH); 488 $file = trailingslashit($dir) . "test.txt"; 489 $created = $wp_filesystem->put_contents($file, 'test', 0755); 490 if(!$created){ 491 $error_string = __('ERROR: There was an error creating test file in').' '.OSELETSENCRYPT_ACME_CHALLENGE_PATH; 492 $return['success'] = false; 493 $return['message'] = $error_string; 494 print_r(json_encode($return));exit; 495 } 496 /* 497 $deleted = $wp_filesystem->delete($file); 498 if(!$created){ 499 $error_string = __('ERROR: There was an error deleting test file in').' '.OSELETSENCRYPT_ACME_CHALLENGE_PATH; 500 $return['success'] = false; 501 $return['message'] = $error_string; 502 print_r(json_encode($return));exit; 503 } 504 */ 505 $this->saveFtpInfo($creds); 506 $return['message'] = __( 'Saved!', 'oseletsencrypt' ); 507 print_r(json_encode($return));exit; 508 } 509 protected function saveFtpInfo($creds){ 510 $data = $this->getData(); 511 if(!isset($data['web_token']) || empty($data['web_token'])){ 512 $data['web_token'] = $this->generateToken(16); 513 } 514 $data['hostname'] = base64_encode($creds['hostname']); 515 $data['username'] = base64_encode($creds['username']); 516 $data['password'] = base64_encode($creds['password']); 517 $data['connection_type'] = $creds['connection_type']; 518 return update_option($this->option_name, $data); 387 519 } 388 520 }
Note: See TracChangeset
for help on using the changeset viewer.