=' ) ) {
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(); ?>
|
|
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 ) || ! empty( $row->demo_end ) ) : ?>
|
demo_start ),
esc_html( $row->demo_end )
);
?>
|
license_start ) || ! empty( $row->license_end ) ) : ?>
|
license_start ),
esc_html( $row->license_end )
);
?>
|
|
active ? esc_html__( 'Sí', 'wp-accedeme' ) : esc_html__( 'No', 'wp-accedeme' ); ?> |