pull/28/head
„Andrei 3 months ago
parent 7a78ffbbff
commit 79aea38c69
  1. 375
      wp-content/themes/cosmopet/modules/footer/module-controller.php
  2. 1
      wp-content/themes/cosmopet/templates/front-page/front-page.twig
  3. 296
      wp-content/themes/cosmopet/templates/pet-card.twig
  4. 308
      wp-content/themes/cosmopet/templates/profile/profile.twig

@ -1,188 +1,189 @@
<?php <<<<<<< Updated upstream
<?php
add_filter('timber/context', function($context) {
$context['email_list'] = get_field('email_list', 'options'); add_filter('timber/context', function($context) {
$context['adres'] = get_field('adres', 'options'); $context['email_list'] = get_field('email_list', 'options');
$context['social'] = get_field('social', 'options'); $context['adres'] = get_field('adres', 'options');
$context['links'] = get_field('links', 'options'); $context['social'] = get_field('social', 'options');
return $context; $context['links'] = get_field('links', 'options');
}); return $context;
});
define('BOT_USERNAME', 'cosmopet_test_AE_bot');
define('BOT_USERNAME', 'cosmopet_test_AE_bot');
function getTelegramUserData() {
if (isset($_COOKIE['tg_user'])) { function getTelegramUserData() {
$auth_data_json = urldecode($_COOKIE['tg_user']); if (isset($_COOKIE['tg_user'])) {
$auth_data = json_decode($auth_data_json, true); $auth_data_json = urldecode($_COOKIE['tg_user']);
return $auth_data; $auth_data = json_decode($auth_data_json, true);
} return $auth_data;
return false; }
} return false;
/* }
if ($_GET['logout']) { /*
setcookie('tg_user', ''); if ($_GET['logout']) {
header('Location: login.php'); setcookie('tg_user', '');
} header('Location: login.php');
*/ }
function tgWidget() { */
$tg_user = getTelegramUserData(); function tgWidget() {
if ($tg_user !== false) { $tg_user = getTelegramUserData();
$first_name = htmlspecialchars($tg_user['first_name']); if ($tg_user !== false) {
$last_name = htmlspecialchars($tg_user['last_name']); $first_name = htmlspecialchars($tg_user['first_name']);
if (isset($tg_user['username'])) { $last_name = htmlspecialchars($tg_user['last_name']);
$username = htmlspecialchars($tg_user['username']); if (isset($tg_user['username'])) {
$html = "<h1>Hello, <a href=\"https://t.me/{$username}\">{$first_name} {$last_name}</a>!</h1>"; $username = htmlspecialchars($tg_user['username']);
} else { $html = "<h1>Hello, <a href=\"https://t.me/{$username}\">{$first_name} {$last_name}</a>!</h1>";
$html = "<h1>Hello, {$first_name} {$last_name}!</h1>"; } else {
} $html = "<h1>Hello, {$first_name} {$last_name}!</h1>";
if (isset($tg_user['photo_url'])) { }
$photo_url = htmlspecialchars($tg_user['photo_url']); if (isset($tg_user['photo_url'])) {
$html .= "<img src=\"{$photo_url}\">"; $photo_url = htmlspecialchars($tg_user['photo_url']);
} $html .= "<img src=\"{$photo_url}\">";
$html .= "<p><a href=\"?logout=1\">Log out</a></p>"; }
} else { $html .= "<p><a href=\"?logout=1\">Log out</a></p>";
$bot_username = BOT_USERNAME; } else {
$html = '<script async src="https://telegram.org/js/telegram-widget.js?2" data-telegram-login="'.$bot_username.'" data-size="large" data-onauth="onTelegramAuth(user)"></script>'; $bot_username = BOT_USERNAME;
} $html = '<script async src="https://telegram.org/js/telegram-widget.js?2" data-telegram-login="'.$bot_username.'" data-size="large" data-onauth="onTelegramAuth(user)"></script>';
if(!is_user_logged_in()) { }
echo $html; if(!is_user_logged_in()) {
} echo $html;
} }
}
add_action( 'wp_ajax_ontelegramauth', 'onTelegramAuth' );
add_action( 'wp_ajax_nopriv_ontelegramauth', 'onTelegramAuth' ); add_action( 'wp_ajax_ontelegramauth', 'onTelegramAuth' );
add_action( 'wp_ajax_nopriv_ontelegramauth', 'onTelegramAuth' );
function onTelegramAuth(){
$tg_id = $_POST['userid']; function onTelegramAuth(){
$tg_username = $_POST['username']; $tg_id = $_POST['userid'];
$user = get_users( $tg_username = $_POST['username'];
array( $user = get_users(
'meta_key' => 'tg_account', array(
'meta_value' => $tg_id 'meta_key' => 'tg_account',
) 'meta_value' => $tg_id
); )
// $user = get_users( );
// array( // $user = get_users(
// 'meta_key' => 'tg_username', // array(
// 'meta_value' => $tg_username // 'meta_key' => 'tg_username',
// ) // 'meta_value' => $tg_username
// ); // )
// );
// Генерация пароля
$alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890@#!()'; // Генерация пароля
$pass = array(); $alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890@#!()';
$alphaLength = strlen($alphabet) - 1; $pass = array();
for ($i = 0; $i < 12; $i++) { $alphaLength = strlen($alphabet) - 1;
$n = rand(0, $alphaLength); for ($i = 0; $i < 12; $i++) {
$pass[] = $alphabet[$n]; $n = rand(0, $alphaLength);
} $pass[] = $alphabet[$n];
$pass = implode($pass); }
$pass = implode($pass);
if($user) {
$user_login = $user[0]->data->user_login; if($user) {
$user_id = get_user_by( 'login', $user_login )->ID; $user_login = $user[0]->data->user_login;
wp_set_password( $pass, get_user_by( 'login', $user_login )->ID ); $user_id = get_user_by( 'login', $user_login )->ID;
wp_signon( wp_set_password( $pass, get_user_by( 'login', $user_login )->ID );
array( wp_signon(
'user_login' => $user_login, array(
'user_password' => $pass, 'user_login' => $user_login,
'remember' => 'on', 'user_password' => $pass,
) 'remember' => 'on',
); )
} else { );
$user_id = wp_create_user( $tg_username, $pass, ''); } else {
add_user_meta( $user_id, 'tg_account', $tg_id); $user_id = wp_create_user( $tg_username, $pass, '');
add_user_meta( $user_id, 'tg_username', $tg_username); add_user_meta( $user_id, 'tg_account', $tg_id);
wp_update_user( [ add_user_meta( $user_id, 'tg_username', $tg_username);
'ID' => $user_id, wp_update_user( [
'first_name' => $_POST['fname'], 'ID' => $user_id,
'last_name' => $_POST['lname'] 'first_name' => $_POST['fname'],
] ); 'last_name' => $_POST['lname']
wp_set_auth_cookie( $user_id, true ); ] );
} wp_set_auth_cookie( $user_id, true );
}
}
}
add_action( 'wp_ajax_linktelegram', 'linkTelegram' );
add_action( 'wp_ajax_nopriv_linktelegram', 'linkTelegram' ); add_action( 'wp_ajax_linktelegram', 'linkTelegram' );
add_action( 'wp_ajax_nopriv_linktelegram', 'linkTelegram' );
function linkTelegram(){
$tg_id = $_POST['userid']; function linkTelegram(){
$user_id = get_current_user_id(); $tg_id = $_POST['userid'];
$user_id = get_current_user_id();
add_user_meta( $user_id, 'tg_account', $tg_id);
wp_update_user( [ add_user_meta( $user_id, 'tg_account', $tg_id);
'ID' => $user_id, wp_update_user( [
'first_name' => $_POST['fname'], 'ID' => $user_id,
'last_name' => $_POST['lname'] 'first_name' => $_POST['fname'],
] ); 'last_name' => $_POST['lname']
} ] );
}
add_action( 'wp_ajax_email_link', 'emailLink' );
add_action( 'wp_ajax_nopriv_email_link', 'emailLink' ); add_action( 'wp_ajax_email_link', 'emailLink' );
function emailLink(){ add_action( 'wp_ajax_nopriv_email_link', 'emailLink' );
function emailLink(){
$email = $_POST['email'];
$user_id = get_current_user_id(); $email = $_POST['email'];
$user_id = get_current_user_id();
if(email_exists($email)){
header("Content-Type: application/json"); if(email_exists($email)){
echo json_encode(array( header("Content-Type: application/json");
'error' => esc_html__( 'Email is already registered', 'woodmart' ) echo json_encode(array(
)); 'error' => esc_html__( 'Email is already registered', 'woodmart' )
exit(); ));
} else { exit();
wp_update_user( [ } else {
'ID' => $user_id, wp_update_user( [
'user_email' => $email 'ID' => $user_id,
] ); 'user_email' => $email
} ] );
}
}
}
// Добавляем колонку Telegram в список пользователей
add_filter('manage_users_columns', 'add_tg_account_column'); // Добавляем колонку Telegram в список пользователей
function add_tg_account_column($columns) { add_filter('manage_users_columns', 'add_tg_account_column');
$columns['tg_username'] = 'Telegram'; function add_tg_account_column($columns) {
return $columns; $columns['tg_username'] = 'Telegram';
} return $columns;
}
// Заполняем колонку данными
add_filter('manage_users_custom_column', 'add_tg_account_column_content', 10, 3); // Заполняем колонку данными
function add_tg_account_column_content($value, $column_name, $user_id) { add_filter('manage_users_custom_column', 'add_tg_account_column_content', 10, 3);
if ('tg_username' == $column_name) { function add_tg_account_column_content($value, $column_name, $user_id) {
$tg_account = get_user_meta($user_id, 'tg_username', true); if ('tg_username' == $column_name) {
if ($tg_account) { $tg_account = get_user_meta($user_id, 'tg_username', true);
return '<a href="https://t.me/"' . esc_attr($tg_account) . '" target="_blank">@' . esc_html($tg_account) . '</a>'; if ($tg_account) {
} return '<a href="https://t.me/"' . esc_attr($tg_account) . '" target="_blank">@' . esc_html($tg_account) . '</a>';
return '<span style="color:#ccc;">не указан</span>'; }
} return '<span style="color:#ccc;">не указан</span>';
return $value; }
} return $value;
}
// Делаем колонку сортируемой
add_filter('manage_users_sortable_columns', 'make_tg_account_column_sortable'); // Делаем колонку сортируемой
function make_tg_account_column_sortable($columns) { add_filter('manage_users_sortable_columns', 'make_tg_account_column_sortable');
$columns['tg_username'] = 'tg_username'; function make_tg_account_column_sortable($columns) {
return $columns; $columns['tg_username'] = 'tg_username';
} return $columns;
}
// Обрабатываем сортировку
add_action('pre_get_users', 'handle_tg_account_sorting'); // Обрабатываем сортировку
function handle_tg_account_sorting($query) { add_action('pre_get_users', 'handle_tg_account_sorting');
if (!is_admin() || !$query->is_main_query()) { function handle_tg_account_sorting($query) {
return; if (!is_admin() || !$query->is_main_query()) {
} return;
}
if ('tg_username' === $query->get('orderby')) {
$query->set('meta_key', 'tg_username'); if ('tg_username' === $query->get('orderby')) {
$query->set('orderby', 'meta_value'); $query->set('meta_key', 'tg_username');
} $query->set('orderby', 'meta_value');
} }
}
?> ?>

@ -6,7 +6,6 @@
{% block content %} {% block content %}
<section class="home"> <section class="home">
<h1 class="home__title invisible">FOOD OF THE FUTURE FOR YOUR PET</h1>
<div class="container"> <div class="container">
<div class="home__swiper"> <div class="home__swiper">
<div class="swiper-wrapper"> <div class="swiper-wrapper">

@ -1,34 +1,3 @@
{% set weight_translations = {
'below_1_5': __('from 0,5 kg to 1,5 kg', 'woodmart'),
'1_5-3': __('from 1.5 to 3 kg', 'woodmart'),
'3-5': __('from 3 to 5 kg', 'woodmart'),
'5-8': __('from 5 to 8 kg', 'woodmart'),
'8-11': __('from 8 to 11 kg', 'woodmart'),
'11-15': __('from 11 to 15 kg', 'woodmart'),
'15-20': __('from 15 to 20 kg', 'woodmart'),
'20-25': __('from 20 to 25 kg', 'woodmart'),
'25-35': __('from 25 to 35 kg', 'woodmart'),
'more_35': __('More than 35 kg', 'woodmart')
} %}
{% set old_translations = {
'normal': __('Adult (from 1 year to 7 years)', 'woodmart'),
'old': __('Elderly (from 7 to 12 years)', 'woodmart'),
'very_old': __('Aging (12 years and older)', 'woodmart'),
'baby': __('Baby (from 0 to 1 year)', 'woodmart')
} %}
{% set activity_translations = {
'low': __('Low', 'woodmart'),
'moderate': __('Moderate', 'woodmart'),
'high': __('High', 'woodmart')
} %}
{% set pet_id = item.ID %}
{% set w = weight_translations[function('get_field', 'weight', pet_id)] ?? '' %}
{% set old = old_translations[function('get_field', 'old', pet_id)] ?? '' %}
{% set act = activity_translations[function('get_field', 'activity', pet_id)] ?? '' %}
<div class="cabinet-card cabinet-card--green"> <div class="cabinet-card cabinet-card--green">
<div class="cabinet-card__content"> <div class="cabinet-card__content">
<div class="cabinet-card__pet"> <div class="cabinet-card__pet">
@ -41,25 +10,45 @@
</div> </div>
<div class="cabinet-card__element"> <div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Breed', 'woodmart') }}:</p> <p class="cabinet-card__label">{{ pll_e('Breed') }}:</p>
<p class="cabinet-card__text">{{ function('get_field', 'breed', pet_id) }}</p> <p class="cabinet-card__text">{{ function('get_field', 'breed', pet_id) }}</p>
</div> </div>
<div class="cabinet-card__element"> <div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Weight', 'woodmart') }}:</p> <p class="cabinet-card__label">{{ pll_e('Weight') }}:</p>
<p class="cabinet-card__text">{{ w }}</p> <p class="cabinet-card__text">
{% set weight_key = function('get_field', 'weight', pet_id) %}
{% if weight_key == 'below_1_5' %}{{ pll_e('from 0,5 kg to 1,5 kg') }}
{% elseif weight_key == '1_5-3' %}{{ pll_e('from 1.5 to 3 kg') }}
{% elseif weight_key == '3-5' %}{{ pll_e('from 3 to 5 kg') }}
{% elseif weight_key == '5-8' %}{{ pll_e('from 5 to 8 kg') }}
{% elseif weight_key == '8-11' %}{{ pll_e('from 8 to 11 kg') }}
{% elseif weight_key == '11-15' %}{{ pll_e('from 11 to 15 kg') }}
{% elseif weight_key == '15-20' %}{{ pll_e('from 15 to 20 kg') }}
{% elseif weight_key == '20-25' %}{{ pll_e('from 20 to 25 kg') }}
{% elseif weight_key == '25-35' %}{{ pll_e('from 25 to 35 kg') }}
{% elseif weight_key == 'more_35' %}{{ pll_e('More than 35 kg') }}
{% endif %}
</p>
</div> </div>
{% if old %} {% if function('get_field', 'old', pet_id) %}
<div class="cabinet-card__element"> <div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Age', 'woodmart') }}:</p> <p class="cabinet-card__label">{{ pll_e('Age') }}:</p>
<p class="cabinet-card__text">{{ old }}</p> <p class="cabinet-card__text">
{% set age_key = function('get_field', 'old', pet_id) %}
{% if age_key == 'normal' %}{{ pll_e('Adult (from 1 year to 7 years)') }}
{% elseif age_key == 'old' %}{{ pll_e('Elderly (from 7 to 12 years)') }}
{% elseif age_key == 'very_old' %}{{ pll_e('Aging (12 years and older)') }}
{% elseif age_key == 'baby' %}{{ pll_e('Baby (from 0 to 1 year)') }}
{% endif %}
</p>
</div> </div>
{% else %} {% else %}
{% set month = function('get_field', 'month', pet_id) %} {% set month = function('get_field', 'month', pet_id) %}
{% set zero = month < 10 ? '0' : '' %} {% set zero = month < 10 ? '0' : '' %}
<div class="cabinet-card__element"> <div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Birhtday', 'woodmart') }}:</p> <p class="cabinet-card__label">{{ pll_e('Birthday') }}:</p>
<p class="cabinet-card__text"> <p class="cabinet-card__text">
{{ function('get_field', 'day', pet_id) }}.{{ zero }}{{ month }}.{{ function('get_field', 'year', pet_id) }} {{ function('get_field', 'day', pet_id) }}.{{ zero }}{{ month }}.{{ function('get_field', 'year', pet_id) }}
</p> </p>
@ -67,237 +56,26 @@
{% endif %} {% endif %}
<div class="cabinet-card__element"> <div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Activity', 'woodmart') }}:</p> <p class="cabinet-card__label">{{ pll_e('Activity') }}:</p>
<p class="cabinet-card__text">{{ act }}</p> <p class="cabinet-card__text">
{% set activity_key = function('get_field', 'activity', pet_id) %}
{% if activity_key == 'low' %}{{ pll_e('Low') }}
{% elseif activity_key == 'moderate' %}{{ pll_e('Moderate') }}
{% elseif activity_key == 'high' %}{{ pll_e('High') }}
{% endif %}
</p>
</div> </div>
{% if function('get_field', 'type', pet_id) == 'cat' and function('get_field', 'sterilized', pet_id) %} {% if function('get_field', 'type', pet_id) == 'cat' and function('get_field', 'sterilized', pet_id) %}
<div class="cabinet-card__element"> <div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Sterilized', 'woodmart') }}</p> <p class="cabinet-card__label">{{ pll_e('Sterilized') }}</p>
</div> </div>
{% endif %} {% endif %}
<div class="cabinet-card__element"> <div class="cabinet-card__element">
<button class="cabinet-card__button" data-edit="{{ pet_id }}"> <button class="cabinet-card__button" data-edit="{{ pet_id }}">
{{ __('Edit', 'woodmart') }} {{ pll_e('Edit') }}
</button> </button>
</div> </div>
</div> </div>
</div>
{% set months = [
__('january', 'woodmart'),
__('february', 'woodmart'),
__('march', 'woodmart'),
__('april', 'woodmart'),
__('mail', 'woodmart'),
__('june', 'woodmart'),
__('july', 'woodmart'),
__('august', 'woodmart'),
__('september', 'woodmart'),
__('october', 'woodmart'),
__('november', 'woodmart'),
__('december', 'woodmart')
] %}
<div class="modalProfile" id="pet_edit_{{ pet_id }}">
<div class="popup-wrap">
<div class="modal-form form__full-mobile modal-form--white modal-form--height-100-phone form-pet active">
<button class="modal-form__close"></button>
<p class="modal-form__title">{{ __('Edit pet', 'woodmart') }} {{ post.post_title }}</p>
<form class="modal-form__content edit-pet-form" method="post" action="">
<input type="hidden" name="action" value="edit_pet">
<div class="modal-form-content__line">
<label class="label-name">{{ __('Pet type', 'woodmart') }}</label>
<div class="form-input__tabs">
<label class="form-input-tabs__button {{ function('get_field', 'type', post.ID) == 'cat' ? 'active' : '' }}">
{{ __('Dog', 'woodmart') }}
<input type="radio" value="cat" {{ function('get_field', 'type', post.ID) == 'cat' ? 'checked' : '' }} name="pet" class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button {{ function('get_field', 'type', post.ID) == 'dog' ? 'active' : '' }}">
{{ __('Cat', 'woodmart') }}
<input type="radio" value="dog" {{ function('get_field', 'type', post.ID) == 'dog' ? 'checked' : '' }} name="pet" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line sterilized" {{ function('get_field', 'type', post.ID) == 'dog' ? 'style="display: none;"' : '' }}>
<label class="label-name">{{ __('Sterilized', 'woodmart') }}</label>
<div class="form-input__tabs">
<label class="form-input-tabs__button {{ function('get_field', 'sterilized', post.ID) ? 'active' : '' }}">
{{ __('Yes', 'woodmart') }}
<input type="radio" value="1" {{ function('get_field', 'sterilized', post.ID) ? 'checked' : '' }} name="sterilized" class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button {{ not function('get_field', 'sterilized', post.ID) ? 'active' : '' }}">
{{ __('No', 'woodmart') }}
<input type="radio" value="0" {{ not function('get_field', 'sterilized', post.ID) ? 'checked' : '' }} name="sterilized" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line">
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">{{ __('Breed', 'woodmart') }}</label>
<input id="firstname" class="form__input" type="text" value="{{ function('get_field', 'breed', post.ID) }}" name="breed" placeholder="{{ __('Breed of your pet', 'woodmart') }}" required>
</div>
</div>
<div class="modal-form-content__line">
<label class="label-name">{{ __('Gender of your pet', 'woodmart') }}</label>
<div class="form-input__tabs">
<label class="form-input-tabs__button {{ function('get_field', 'sex', post.ID) == 'male' ? 'active' : '' }}">
{{ __('Boy', 'woodmart') }}
<input type="radio" value="male" {{ function('get_field', 'sex', post.ID) == 'male' ? 'checked' : '' }} name="sex" class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button {{ function('get_field', 'sex', post.ID) != 'male' ? 'active' : '' }}">
{{ __('Girl', 'woodmart') }}
<input type="radio" value="female" {{ function('get_field', 'sex', post.ID) != 'male' ? 'checked' : '' }} name="sex" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line modal-form-content__line--two">
<div class="modal-form-content-line__element">
<label class="label-name">{{ __('Type of activity', 'woodmart') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ act }}</div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
<label class="form-input-list__item {{ function('get_field', 'activity', post.ID) == 'low' ? 'active' : '' }}">
<p class="form-input-list-item__text">{{ __('Low', 'woodmart') }}</p>
<input type="radio" required name="activity" {{ function('get_field', 'activity', post.ID) == 'low' ? 'checked' : '' }} value="low" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ function('get_template_directory_uri') }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {{ function('get_field', 'activity', post.ID) == 'moderate' ? 'active' : '' }}">
<p class="form-input-list-item__text">{{ __('Moderate', 'woodmart') }}</p>
<input type="radio" required name="activity" {{ function('get_field', 'activity', post.ID) == 'moderate' ? 'checked' : '' }} value="moderate" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ function('get_template_directory_uri') }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {{ function('get_field', 'activity', post.ID) == 'high' ? 'active' : '' }}">
<p class="form-input-list-item__text">{{ __('High', 'woodmart') }}</p>
<input type="radio" required name="activity" value="high" {{ function('get_field', 'activity', post.ID) == 'high' ? 'checked' : '' }} class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ function('get_template_directory_uri') }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label class="label-name">{{ __('Weight', 'woodmart') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ w }}</div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
{% for weight, label in weight_translations %}
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ label }}</p>
<input type="radio" required name="weight" value="{{ weight }}" {{ function('get_field', 'weight', post.ID) == weight ? 'checked' : '' }} class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ function('get_template_directory_uri') }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
{% endfor %}
</div>
</div>
</div>
</div>
</div>
<div class="rm">
<div class="modal-form-content__line">
<label class="label-name">{{ __("Pet's age", 'woodmart') }}</label>
<div class="form-input__tabs form-input__remote-control" data-content="modal__age">
<label class="form-input-tabs__button active" data-rm="0">
{{ __('Exemplary', 'woodmart') }}
<input type="radio" checked value="ex" name="old_type" required class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button" data-rm="1">
{{ __('Exact', 'woodmart') }}
<input type="radio" value="acc" name="old_type" required class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal__age">
<div class="form-input__radio remote-control__item active" data-rmcont="0">
{% for age, label in old_translations %}
<label class="form-input-radio__item {{ function('get_field', 'old', post.ID) == age ? 'active' : '' }}">
<input type="radio" name="old" value="{{ age }}" {{ function('get_field', 'old', post.ID) == age ? 'checked' : '' }} class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ label }}</p>
</label>
{% endfor %}
</div>
<div data-rmcont="1" class="modal-form-content__line remote-control__item modal-form-content__line--three modal-form-content__line--margin-top-16">
<div class="modal-form-content-line__element">
<label for="day" class="label-name">{{ __('Day', 'woodmart') }}</label>
<input id="day" class="form__input form__input--center" maxlength="2" type="text" name="day" placeholder="{{ __('DD', 'woodmart') }}" value="{{ function('get_field', 'day', post.ID) }}">
</div>
<div class="modal-form-content-line__element">
<label class="label-name">{{ __('Month', 'woodmart') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">
{% if function('get_field', 'month', post.ID) %}
{{ months[function('get_field', 'month', post.ID) - 1] }}
{% else %}
{{ __('Month', 'woodmart') }}
{% endif %}
</div>
<div class="form-input-list__block-content">
<div class="form-input-list__content">
{% for month_num, month_name in months %}
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ month_name }}</p>
<input type="radio" name="month" value="{{ month_num + 1 }}" {{ function('get_field', 'month', post.ID) == (month_num + 1) ? 'checked' : '' }} class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ function('get_template_directory_uri') }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
{% endfor %}
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label for="year" class="label-name">{{ __('Year', 'woodmart') }}</label>
<input id="year" class="form__input form__input--center" maxlength="4" type="text" name="year" placeholder="{{ __('YYYY', 'woodmart') }}" value="{{ function('get_field', 'year', post.ID) }}">
</div>
</div>
</div>
</div>
<input type="hidden" name="pet_id" value="{{ post.ID }}">
<div class="modal-form__buttons">
<button class="button button--gradient button--high button--100-perc" type="submit">{{ __('Save', 'woodmart') }}</button>
</div>
</form>
</div>
</div>
</div> </div>

@ -105,4 +105,310 @@
{% endif %} {% endif %}
</div> </div>
</div> </div>
{% endblock %}
{% endblock %}
</main>
<div class="modalProfile" id="pet_add_form">
<div class="popup-wrap">
<div class="modal-form form__full-mobile modal-form--white modal-form--height-100-phone form-pet active">
<button class="modal-form__close"></button>
<p class="modal-form__title">{{ fn('pll_e', 'Добавить питомца') }}</p>
<form class="modal-form__content" id="add-pet-form" method="post" action="">
<input type="hidden" name="action" value="add_pet">
<div class="modal-form-content__line">
<label for="" class="label-name">{{ fn('pll_e', 'Вид животного') }}</label>
<div class="form-input__tabs">
<label for="cat" class="form-input-tabs__button active">
{{ fn('pll_e', 'Кошка') }}
<input type="radio" value="cat" checked name="pet" id="cat" class="form-input-tabs__input">
</label>
<label for="dog" class="form-input-tabs__button">
{{ fn('pll_e', 'Собака') }}
<input type="radio" value="dog" name="pet" id="dog" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line sterilized">
<label for="" class="label-name">{{ fn('pll_e', 'Стерелизован') }}</label>
<div class="form-input__tabs">
<label class="form-input-tabs__button active">
{{ fn('pll_e', 'Да') }}
<input type="radio" value="1" checked name="sterilized" class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button">
{{ fn('pll_e', 'Нет') }}
<input type="radio" value="0" name="sterilized" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line">
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">{{ fn('pll_e', 'Имя') }}</label>
<input id="firstname" class="form__input" type="text" name="name" placeholder="{{ fn('pll_e', 'Имя питомца') }}" required>
</div>
</div>
<div class="modal-form-content__line">
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">{{ fn('pll_e', 'Порода') }}</label>
<input id="firstname" class="form__input" type="text" name="breed" placeholder="{{ fn('pll_e', 'Порода вашего питомца') }}" required>
</div>
</div>
<div class="modal-form-content__line">
<label for="" class="label-name">{{ fn('pll_e', 'Пол вашего питомца') }}</label>
<div class="form-input__tabs">
<label for="boy" class="form-input-tabs__button active">
{{ fn('pll_e', 'Мальчик') }}
<input type="radio" value="male" checked name="sex" id="boy" class="form-input-tabs__input">
</label>
<label for="girl" class="form-input-tabs__button">
{{ fn('pll_e', 'Девочка') }}
<input type="radio" value="female" name="sex" id="girl" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line modal-form-content__line--two">
<div class="modal-form-content-line__element">
<label class="label-name">{{ fn('pll_e', 'Вид активности') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ fn('pll_e', 'Выберите из списка') }}</div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Низкая') }}</p>
<input type="radio" required name="activity" value="low" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Средняя') }}</p>
<input type="radio" required name="activity" value="moderate" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Высокая') }}</p>
<input type="radio" required name="activity" value="high" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">{{ fn('pll_e', 'Вес') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ fn('pll_e', 'Выберите из списка') }}</div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
{% for weight in [
{value: 'below_1_5', text: fn('pll_e', '1-1.5 кг')},
{value: '1_5-3', text: fn('pll_e', '1.5-3 кг')},
{value: '3-5', text: fn('pll_e', '3-5 кг')},
{value: '5-8', text: fn('pll_e', '5-8 кг')},
{value: '8-11', text: fn('pll_e', '8-11 кг')},
{value: '11-15', text: fn('pll_e', '11-15 кг')},
{value: '15-20', text: fn('pll_e', '10-20кг')},
{value: '20-25', text: fn('pll_e', '20-25кг')},
{value: '25-35', text: fn('pll_e', '25-35 кг')},
{value: 'more_35', text: fn('pll_e', 'Более 35 кг')}
] %}
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ weight.text }}</p>
<input type="radio" required name="weight" value="{{ weight.value }}" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
{% endfor %}
</div>
</div>
</div>
</div>
</div>
<div class="rm">
<div class="modal-form-content__line">
<label class="label-name">{{ fn('pll_e', 'Возраст питомца') }}</label>
<div class="form-input__tabs form-input__remote-control" data-content="modal__age">
<label for="exemplary" class="form-input-tabs__button active" data-rm="0">
{{ fn('pll_e', 'Примерный') }}
<input type="radio" checked value="ex" name="old_type" required id="exemplary" class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button" data-rm="1">
{{ fn('pll_e', 'Точный') }}
<input type="radio" value="acc" name="old_type" required id="accurate" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal__age">
<div class="form-input__radio remote-control__item active" data-rmcont="0">
{% for age in [
{value: 'baby', title: fn('pll_e', 'Малыш'), desc: fn('pll_e', '(от 0 до 1 года)')},
{value: 'normal', title: fn('pll_e', 'Взрослый'), desc: fn('pll_e', '(от 1 года до 7 лет)')},
{value: 'old', title: fn('pll_e', 'Пожилой'), desc: fn('pll_e', '(от 7 до 12 лет)')},
{value: 'very_old', title: fn('pll_e', 'Стареющий'), desc: fn('pll_e', '(от 12 лет и старше)')}
] %}
<label class="form-input-radio__item {{ loop.first ? 'active' : '' }}">
<input type="radio" name="old" value="{{ age.value }}" {{ loop.first ? 'checked' : '' }} class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ age.title }} <span>{{ age.desc }}</span></p>
</label>
{% endfor %}
</div>
<div data-rmcont="1" class="modal-form-content__line remote-control__item modal-form-content__line--three modal-form-content__line--margin-top-16">
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">{{ fn('pll_e', 'День') }}</label>
<input id="firstname" class="form__input form__input--center" maxlength="2" type="text" name="day" placeholder="{{ fn('pll_e', 'ДД') }}">
</div>
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">{{ fn('pll_e', 'Месяц') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ fn('pll_e', 'Месяц') }}</div>
<div class="form-input-list__block-content">
<div class="form-input-list__content">
{% for month in [
{value: 1, text: fn('pll_e', 'Январь')},
{value: 2, text: fn('pll_e', 'Февраль')},
{value: 3, text: fn('pll_e', 'Март')},
{value: 4, text: fn('pll_e', 'Апрель')},
{value: 5, text: fn('pll_e', 'Май')},
{value: 6, text: fn('pll_e', 'Июнь')},
{value: 7, text: fn('pll_e', 'Июль')},
{value: 8, text: fn('pll_e', 'Август')},
{value: 9, text: fn('pll_e', 'Сентябрь')},
{value: 10, text: fn('pll_e', 'Октябрь')},
{value: 11, text: fn('pll_e', 'Ноябрь')},
{value: 12, text: fn('pll_e', 'Декабрь')}
] %}
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ month.text }}</p>
<input type="radio" name="month" value="{{ month.value }}" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
{% endfor %}
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">{{ fn('pll_e', 'Год') }}</label>
<input id="firstname" class="form__input form__input--center" maxlength="4" type="text" name="year" placeholder="{{ fn('pll_e', 'ГГГГ') }}">
</div>
</div>
</div>
</div>
<div class="modal-form__buttons">
<button class="button button--gradient button--high button--100-perc" type="submit">{{ fn('pll_e', 'Добавить') }}</button>
</div>
</form>
</div>
</div>
</div>
<div class="modalProfile" id="subForm">
<div class="popup-wrap">
<div class="modal-form modal__notification modal-form--green-gradient modal-form--width-584 form-sub active">
<button class="modal-form__close modal-form__close--white"></button>
<p class="modal-form__title modal-form__title--white">Подписка на корм</p>
<div class="modal-form__element modal-form__element--top-40">
<p class="modal-form__text modal-form__text--white">
Спасибо за интерес к нашему новому виду услуг, данная функция находится в разработке, если вы хотите узнать первыми о запуске подпишитесь на рассылку.
</p>
</div>
<form class="modal-form__element modal-form__element--top-40 foodSub">
<input type="hidden" name="email" value="{{ user.user_email }}">
<input type="hidden" name="action" value="subscription_sub__profile">
<button class="button form__button-pc button--white button--100-perc open-overlay button--high">
Хочу попробовать первым!
</button>
<button class="button form__button-mobile button--white button--100-perc open-overlay button--high">
Хочу быть первым!
</button>
</form>
</div>
</div>
</div>
<div class="modalProfile" id="user_edit">
<div class="popup-wrap">
<div class="modal-form form__full-mobile modal-form--white modal-form--height-100-phone form-data active">
<button class="modal-form__close"></button>
<p class="modal-form__title">Изменить мои данные</p>
<form class="modal-form__content user-edit-form" method="post">
<input type="hidden" name="action" value="edit_user">
<div class="modal-form-content__line modal-form-content__line--two">
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">Имя</label>
<input id="firstname" class="form__input" type="text" value="{{ user.user_firstname }}" name="name" placeholder="Ваше имя" required>
<span class="form-input__error form-input__error--absolute">Имя введено неверно</span>
</div>
<div class="modal-form-content-line__element">
<label for="lastname" class="label-name">Фамилия</label>
<input id="lastname" class="form__input" type="text" value="{{ user.user_lastname }}" name="l_name" placeholder="Ваша фамилия" required>
<span class="form-input__error form-input__error--absolute">Фамилия введена неверно</span>
</div>
</div>
<div class="modal-form-content__line">
<label class="label-name">Телефон</label>
<div class="form-input__phone">
<input type="text" placeholder="___ ___ ____" id="tel-phone" value="{{ fn('get_user_meta', user.ID, 'billing_phone', true) }}" name="phone" class="form-input-phone__input" required>
<div class="form-input__error form-input__error--absolute">Номер введён неверно</div>
</div>
</div>
<div class="modal-form__buttons modal-form__buttons--two">
<button class="button button--gradient button--high" type="submit">Сохранить</button>
<input type="reset" class="button button--white open-overlay button--high modal-form__button-close" value="Отмена">
</div>
</form>
</div>
</div>
</div>

Loading…
Cancel
Save