���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC rsssl_generated_by_rsssl(), 'download_url' => rsssl_le_url.'download.php?token='.wp_create_nonce('rsssl_download_cert'), 'key_content' => file_exists($key_file) ? file_get_contents($key_file) : 'no data found', 'certificate_content' => file_exists($cert_file) ? file_get_contents($cert_file) : 'no data found', 'ca_bundle_content' => file_exists($cabundle_file) ? file_get_contents($cabundle_file) : 'no data found', ]; return new RSSSL_RESPONSE( 'success', 'continue', '', $data ); } /** * Challenge directory request * * @return RSSSL_RESPONSE */ public function skip_challenge_directory_request(){ if ( !rsssl_user_can_manage() ) { return new RSSSL_RESPONSE( 'error', 'stop', '' ); } update_option('rsssl_skip_challenge_directory_request', true, false); return new RSSSL_RESPONSE( 'success', 'stop', '' ); } /** * Reset the LE wizard * @return bool[]|RSSSL_RESPONSE */ public function reset(){ if ( !rsssl_user_can_manage() ) { return new RSSSL_RESPONSE( 'success', 'stop', '' ); } RSSSL_LE()->letsencrypt_handler->clear_order(); rsssl_update_option('verification_type', 'dir' ); delete_option('rsssl_skip_dns_check' ); delete_option('rsssl_skip_challenge_directory_request' ); delete_option('rsssl_create_folders_in_root'); delete_option('rsssl_hosting_dashboard'); RSSSL_LE()->letsencrypt_handler->clear_keys_directory(); return new RSSSL_RESPONSE( 'success', 'stop', '' ); } public function clean_up(){ //clean up stored pw, if requested RSSSL_LE()->letsencrypt_handler->cleanup_on_ssl_activation(); } /** * Process a Let's Encrypt test request * * @param array $response * @param string $test * @param WP_REST_Request $request * * @return RSSSL_RESPONSE|array */ public function handle_lets_encrypt_request($response, $test, $data){ if ( ! current_user_can('manage_security') ) { return new RSSSL_RESPONSE( 'error', 'stop', __( "Permission denied.", 'really-simple-ssl' ) ); } switch( $test ){ case 'reset': return $this->reset(); case 'update_verification_type': return $this->update_verification_type($data); case 'skip_dns_check': return $this->skip_dns_check(); case 'skip_challenge_directory_request': return $this->skip_challenge_directory_request(); case 'installation_data': return $this->installation_data(); case 'is_subdomain_setup': case 'verify_dns': case 'certificate_status': case 'curl_exists': case 'server_software': case 'alias_domain_available': case 'check_domain': case 'check_host': case 'check_challenge_directory': case 'check_key_directory': case 'check_certs_directory': case 'check_writing_permissions': case 'challenge_directory_reachable': case 'get_account': case 'get_dns_token': case 'terms_accepted': case 'create_bundle_or_renew': case 'search_ssl_installation_url': case 'rsssl_install_cpanel_autossl': case 'rsssl_cpanel_set_txt_record': case 'rsssl_install_cpanel_default': case 'rsssl_cloudways_server_data': case 'rsssl_cloudways_install_ssl': case 'rsssl_cloudways_auto_renew': case 'rsssl_install_directadmin': case 'rsssl_plesk_install': case 'cleanup_on_ssl_activation': return $this->get_installation_progress($response, $test, $data); default: return $response; } } /** * Run a LE test * @param $response * @param $function * @param $data * * @return RSSSL_RESPONSE */ public function get_installation_progress( $response, $function, $data ){ $id = $data['id']; if ( ! current_user_can('manage_security') ) { return new RSSSL_RESPONSE( 'error', 'stop', __( "Permission denied.", 'really-simple-ssl' ) ); } if (!function_exists($function) && !method_exists(RSSSL_LE()->letsencrypt_handler, $function)) { return new RSSSL_RESPONSE( 'error', 'stop', __( "Test not found.", 'really-simple-ssl' ) ); } rsssl_progress_add($id); if ( function_exists($function) ){ $response = $function(); } else { $response = RSSSL_LE()->letsencrypt_handler->$function(); } return $response; } /** * Handle some custom options after saving the wizard options * @param string $field_id * @param mixed $field_value * @param mixed $prev_value * @param string $type */ public function after_save_field( $field_id, $field_value, $prev_value, $type ) { //only run when changes have been made if ( $field_value === $prev_value ) { return; } if ( $field_id==='other_host_type'){ if ( isset(RSSSL_LE()->hosts->hosts[$field_value]) ){ $dashboard = RSSSL_LE()->hosts->hosts[$field_value]['hosting_dashboard']; update_option('rsssl_hosting_dashboard', $dashboard, false); } else { update_option('rsssl_hosting_dashboard', false, false); } } if ( $field_id === 'email_address'&& is_email($field_value) ) { RSSSL_LE()->letsencrypt_handler->update_account($field_value); } } } } //class closure