Advanced Web Server Manager
Complete File Manager & Terminal - Standalone Version
By Sid Gifari | Gifari Industries
Current path:
/
/
home
/
qtdcvxyp
/
public_html
/
wp-content
/
plugins
/
formlayer-pro
/
main
/
settings
✏️
Editing: license.php
<?php /* * FormLayer Pro * https://formlayer.net * (c) FormLayer Team */ namespace FormlayerPro\Settings; // Are we being accessed directly ? if(!defined('ABSPATH')){ exit; } class License{ static function template(){ global $formlayer; // Add header if(isset($_REQUEST['save_formlayer_pro_license'])){ self::save(); } // Handle delete license if(isset($_REQUEST['delete_formlayer_pro_license'])){ self::delete(); } echo '<div class="formlayer-license-tab"> <div class="formlayer-license-card"> <!-- Version Row --> <div class="formlayer-license-row"> <div class="formlayer-license-label">' . esc_html__('FormLayer Version', 'formlayer-pro') . '</div> <div class="formlayer-license-value">' . (defined('FORMLAYER_PRO_VERSION') ? esc_html(FORMLAYER_PRO_VERSION) . ' (Pro Version)' : 'N/A') . '</div> </div> <!-- License Row --> <div class="formlayer-license-row"> <div class="formlayer-license-label">' . esc_html__('FormLayer License', 'formlayer-pro') . '</div> <div class="formlayer-license-value"> <form method="post" action="" class="formlayer-license-input-wrapper"> <input type="hidden" name="formlayer_pro_license_nonce" value="' . esc_attr( wp_create_nonce( 'formlayer_pro_license' ) ) . '" /> <div class="formlayer-license-input-row"> ' . (defined('FORMLAYER_PRO_VERSION') && empty($formlayer->license['active']) ? '<span class="formlayer-license-badge">Unlicensed</span>' : '') . ' <input type="text" name="formlayer_pro_license" class="formlayer-license-input" value="' . (empty($formlayer->license['license']) ? '' : esc_html($formlayer->license['license'])) . '" placeholder="FORML-11111-22222-33333-44444"> </div> <div class="formlayer-license-buttons"> <button name="save_formlayer_pro_license" class="formlayer-license-btn formlayer-license-btn-update" type="submit">' . esc_html__('Update License', 'formlayer-pro') . '</button>'; // Show delete button only if license exists if(!empty($formlayer->license['license'])) { echo '<button name="delete_formlayer_pro_license" class="formlayer-license-btn formlayer-license-btn-delete" type="submit" onclick="return confirm(\'' . esc_js(__('Are you sure you want to delete the license? This will deactivate your license on this site.', 'formlayer-pro')) . '\')">' . esc_html__('Delete License', 'formlayer-pro') . '</button>'; } echo '</div>'; if(!empty($formlayer->license)){ $expires = $formlayer->license['expires']; $expires = substr($expires, 0, 4) . '/' . substr($expires, 4, 2) . '/' . substr($expires, 6); echo '<div class="formlayer-license-info"> <span>License Status: <b>' . (empty($formlayer->license['status_txt']) ? 'N.A.' : wp_kses_post($formlayer->license['status_txt'])) . '</b></span> ' . ($formlayer->license['expires'] <= gmdate('Ymd') ? '<span>License Expires: <b class="formlayer-text-danger">' . esc_attr($expires) . '</b></span>' : (empty($formlayer->license['has_plid']) ? '<span>License Expires: <b>' . esc_html($expires) . '</b></span>' : '')) . ' </div>'; } echo ' </form> </div> </div> <!-- URL Row --> <div class="formlayer-license-row"> <div class="formlayer-license-label">' . esc_html__('URL', 'formlayer-pro') . '</div> <div class="formlayer-license-value mono">' . esc_url(get_site_url()) . '</div> </div> <!-- Path Row --> <div class="formlayer-license-row"> <div class="formlayer-license-label">' . esc_html__('Path', 'formlayer-pro') . '</div> <div class="formlayer-license-value mono">' . esc_html(ABSPATH) . '</div> </div> <!-- IP Row --> <div class="formlayer-license-row"> <div class="formlayer-license-label">' . esc_html__('Server\'s IP Address', 'formlayer-pro') . '</div> <div class="formlayer-license-value mono">' . esc_html($_SERVER['SERVER_ADDR']) . '</div> </div> <!-- Writable Row --> <div class="formlayer-license-row"> <div class="formlayer-license-label">' . esc_html__('.htaccess is writable', 'formlayer-pro') . '</div> <div class="formlayer-license-value"> ' . (is_writable(ABSPATH . '.htaccess') ? '<span class="formlayer-text-success">Yes</span>' : '<span class="formlayer-text-danger">No</span>') . ' </div> </div> </div> </div>'; } static function save(){ global $formlayer, $lic_resp; // Verify nonce if(!isset($_POST['formlayer_pro_license_nonce']) || !wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['formlayer_pro_license_nonce'])), 'formlayer_pro_license')){ echo '<div class="formlayer-license-notice formlayer-license-notice-error">'.esc_html__('Nonce verification failed', 'formlayer-pro').'</div>'; return; } $license = sanitize_text_field(wp_unslash($_POST['formlayer_pro_license'])); if(empty($license)){ echo '<div class="formlayer-license-notice formlayer-license-notice-error">'.esc_html__('Please enter a license key.', 'formlayer-pro').'</div>'; return; } formlayer_pro_load_license($license); if(is_wp_error($lic_resp) || 200 !== wp_remote_retrieve_response_code($lic_resp)){ if(is_wp_error($lic_resp)){ echo '<div class="formlayer-license-notice formlayer-license-notice-error">' . esc_html($lic_resp->get_error_message()) . '</div>'; return; } else{ echo '<div class="formlayer-license-notice formlayer-license-notice-error">'. esc_html__('An error occurred, please try again. Response code: ', 'formlayer-pro') . esc_attr(wp_remote_retrieve_response_code($lic_resp)) .'</div>'; return; } } else { $tmp = json_decode(wp_remote_retrieve_body($lic_resp), true); if(empty($tmp)){ echo '<div class="formlayer-license-notice formlayer-license-notice-error">'. esc_html__('Invalid license key', 'formlayer-pro').'</div>'; return; } echo '<div class="formlayer-license-notice formlayer-license-notice-success">'. esc_html__('License activated successfully', 'formlayer-pro').'</div>'; } } static function delete(){ global $formlayer; // Verify nonce if(!isset($_POST['formlayer_pro_license_nonce']) || !wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['formlayer_pro_license_nonce'])), 'formlayer_pro_license')){ echo '<div class="formlayer-license-notice formlayer-license-notice-error"> '.esc_html__('Nonce verification failed', 'formlayer-pro').'</div>'; return; } if(isset($_POST['delete_formlayer_pro_license'])){ // Delete the license option delete_option('formlayer_license'); // Clear the global license data if(isset($formlayer->license)) { $formlayer->license = array(); } echo '<div class="formlayer-license-notice formlayer-license-notice-success">'. esc_html__('License deleted successfully', 'formlayer-pro').'</div>'; } } }
💾 Save Changes
❌ Cancel