parent
7a78ffbbff
commit
79aea38c69
@ -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'); |
||||||
} |
} |
||||||
|
} |
||||||
|
|
||||||
?> |
?> |
Loading…
Reference in new issue