=' ) ) { return; } require_once ACCEDEME_DIR . 'includes/wp-accedeme-helpers.php'; $helpers = new wp_accedeme_helpers(); $helpers->accedemeInitTable(); update_option( 'accedeme_version', ACCEDEME_VERSION ); } function accedeme_options_menu_script(){ if ( !current_user_can('manage_options') ){ wp_die( __('No tiene suficientes permisos para acceder a esta página.','wp-accedeme') ); } if( !defined( 'ABSPATH' ) ) exit; require_once ACCEDEME_DIR . 'includes/wp-accedeme-helpers.php'; $helpers = new wp_accedeme_helpers(); $posted_values = $this->accedeme_handle_post( $helpers ); wp_enqueue_style( 'accedeme_wp.css', ACCEDEME_URL . '/assets/css/accedeme_wp.css' ); settings_errors( 'accedeme' ); if ( get_settings_errors( 'accedeme' ) ) { ?> accedemeGetRow(); if ( $row && ! empty( $row->domain_key ) ) { // Refresco de solo lectura (get_widget_license): nunca manda datos // de contacto locales, así que no hay riesgo de sobrescribir // accedeme.com con caché desactualizada. Cubre a la vez el // refresco en cada visita y la sincronización de instalaciones // antiguas la primera vez que se visita tras la actualización. $helpers->accedemeRefreshLicenseStatus( $row->domain_key ); $row = $helpers->accedemeGetRow(); $this->accedeme_render_license_form( $row, true, $posted_values ); } else { // Sin domain_key en la BD local (fila nueva o con datos parciales // de un intento anterior fallido): se muestra siempre el campo de // licencia junto con los datos de contacto, para cubrir tanto al // cliente nuevo (aun no tiene licencia) como al que ya la tiene // (de un registro previo en accedeme.com) pero cuya BD local se // perdió o nunca llegó a guardarla. $this->accedeme_render_license_form( $row, false, $posted_values ); } ?> isset( $_POST['accedeme_name'] ) ? sanitize_text_field( wp_unslash( $_POST['accedeme_name'] ) ) : '', 'email' => isset( $_POST['accedeme_email'] ) ? sanitize_email( wp_unslash( $_POST['accedeme_email'] ) ) : '', 'phone' => isset( $_POST['accedeme_phone'] ) ? sanitize_text_field( wp_unslash( $_POST['accedeme_phone'] ) ) : '', 'company' => isset( $_POST['accedeme_company'] ) ? sanitize_text_field( wp_unslash( $_POST['accedeme_company'] ) ) : '', 'vat' => isset( $_POST['accedeme_vat'] ) ? sanitize_text_field( wp_unslash( $_POST['accedeme_vat'] ) ) : '', // Se guarda también aquí (aunque los helpers de abajo solo leen // name/email/phone/company/vat) para poder repintar el campo de // licencia con lo tecleado si falla la validación de contacto o // la llamada a la API, en vez de vaciarlo. 'license' => isset( $_POST['accedeme_license'] ) ? sanitize_text_field( wp_unslash( $_POST['accedeme_license'] ) ) : '', ); if ( empty( $customer['name'] ) || empty( $customer['phone'] ) || empty( $customer['email'] ) || ! is_email( $customer['email'] ) ) { add_settings_error( 'accedeme', 'accedeme_invalid', __( 'Nombre, teléfono y un email válido son obligatorios.', 'wp-accedeme' ) ); return $customer; } if ( isset( $_POST['accedeme_save_license_submit'] ) ) { $license = isset( $_POST['accedeme_license'] ) ? sanitize_text_field( wp_unslash( $_POST['accedeme_license'] ) ) : ''; if ( empty( $license ) ) { add_settings_error( 'accedeme', 'accedeme_license_required', __( 'Introduce la licencia que has recibido por email.', 'wp-accedeme' ) ); return $customer; } $result = $helpers->accedemeSaveLicense( $license, $customer ); if ( is_wp_error( $result ) ) { add_settings_error( 'accedeme', 'accedeme_save_failed', $result->get_error_message() ); } else { add_settings_error( 'accedeme', 'accedeme_save_ok', __( 'Datos guardados correctamente.', 'wp-accedeme' ), 'success' ); } } elseif ( isset( $_POST['accedeme_request_license_submit'] ) ) { $result = $helpers->accedemeRequestLicense( $customer ); if ( is_wp_error( $result ) ) { add_settings_error( 'accedeme', 'accedeme_request_failed', $result->get_error_message() ); } else { add_settings_error( 'accedeme', 'accedeme_request_ok', __( 'Hemos recibido tus datos. Revisa tu email: te hemos enviado la licencia para activar el plugin.', 'wp-accedeme' ), 'success' ); } } return $customer; } private function accedeme_render_header() { $imageUrl = ACCEDEME_URL .'/assets/images/logo_accedeme.png'; ?>
'', 'email' => '', 'phone' => '', 'company' => '', 'vat' => '', 'license' => '' ); if ( $row ) { $defaults = array( 'name' => $row->name, 'email' => $row->email, 'phone' => $row->phone, 'company' => $row->company, 'vat' => $row->vat, 'license' => '', ); } $values = wp_parse_args( $values ? $values : array(), $defaults ); $license_value = $license_readonly ? $row->domain_key : $values['license']; $has_confirmed_data = $row && ! empty( $row->name ) && ! empty( $row->email ); $has_email_on_file = $row && ! empty( $row->email ); ?>

accedeme_render_header(); ?>

demo_start ) || ! empty( $row->demo_end ) ) : ?> license_start ) || ! empty( $row->license_end ) ) : ?>
customer_status ) { _e( 'Periodo de demo', 'wp-accedeme' ); } elseif ( 'licencia' === $row->customer_status ) { _e( 'Licencia contratada', 'wp-accedeme' ); } else { echo esc_html( $row->customer_status ); } ?>
demo_start ), esc_html( $row->demo_end ) ); ?>
license_start ), esc_html( $row->license_end ) ); ?>
active ? esc_html__( 'Sí', 'wp-accedeme' ) : esc_html__( 'No', 'wp-accedeme' ); ?>
accedeme_render_contact_fields( $values, true ); ?> accedeme_render_license_field( $license_value, $license_readonly, true, true ); ?> accedeme_render_contact_fields( $values ); ?> accedeme_render_contact_fields( $values, true ); ?> accedeme_render_license_field( $license_value, $license_readonly ); ?>

>
>