

almaz.izguzhin
-
Публикации
34 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем almaz.izguzhin
-
-
Разобрался. Тему можно закрыть.
-
4 часа назад, TeraMoune сказал:
Он генерируется сайтом с использованием данных полученных от сети. Генерируется в файле social.class.php.
Подскажите. Может вы знаете, как в дополнительное поле email добавлять еще email пользователя? Я добавил его после uid
-
Спасибо большое!
-
Здравствуйте. Пытаюсь сделать авторизацию в приложении через соц сеть Яндекс. В приложении сделал, но когда заходишь на сайт с этим же аккаунтом, он связывает мне 2 аккаунта и получается 2 раза привязка. Не могу понять, откуда берется SID в dle_social_login в базе данных?
Я посмотрел. Ответ от яндекс приходит на подобии:
{"id": "1690117858", "login": "webStar12312", "client_id": "22dc74de02f645a1bc05b24324324f34", "display_name": "webStar101", "real_name": "Anton Danilov", "first_name": "Anton", "last_name": "Danilov", "sex": "male", "default_email": "webStar12312@yandex.ru", "emails": ["webStar12312@yandex.ru"], "birthday": "", "psuid": "1.AAkwhA.eU8cotcrewr342r4cr4FSD0VVa1ztiawcOxOToQGxeg"}
Вставляю "psuid": "1.AAkwhA.eU8cotcrewr342r4cr4FSD0VVa1ztiawcOxOToQGxeg" в SID в dle_social_login, но все равно при авторизации через сайт создается новый SID.
-
Тоже не могу найти информацию
Нашел пример $name = $this->db->safesql( $name );
-
1 час назад, MSK сказал:
Если на том сайте sql сервер поддерживает удаленное подключение, можно без дополнительных костылей подключиться.
Если только локальные подключения разрешены, тогда нужна прослойка...
Я хочу через мобильное приложение на Android подключиться вообще)
-
Подскажите, как подключиться к базе данных с другого сайта? по API нужно подключиться к базе? Может кто за оплату, например, написать скрипт подключения?
-
Сделали решение, может кому-то пригодится.
В profile.php найти строку:
Цитатаif (count($social_list)) $tpl->set( '{social-list}', implode(", </span>", $social_list)."</span>" ); else $tpl->set( '{social-list}', "" );
Заменить её на:
Цитатаif (count($social_list)) {
$tpl->set( '[sociallist]', "" );
$tpl->set( '[/sociallist]', "" );
$tpl->set( '{social-list}', implode(", </span>", $social_list)."</span>" );
$tpl->set_block( "'\\[attached-sociallist\\](.*?)\\[/attached-sociallist\\]'si", "" );
} else {
$tpl->set_block( "'\\[sociallist\\](.*?)\\[/sociallist\\]'si", "" );
$tpl->set( '[sociallist]', "" );
$tpl->set( '[/sociallist]', "" );
$tpl->set( '{social-list}', "" );
}В userinfo.tpl обернуть нужный текст:
Цитата[sociallist]<h2>Список привязанных сайтов к личному кабинету</h2>[/sociallist]
-
1
-
-
Здравствуйте. Размешаю на странице список привязанных соц сетей с текстом: "Список привязанных сайтов" и внизу {social-list}
Как можно сделать так, чтобы не выводить текст на странице пользователя перед {social-list}, если там нет привязанных аккаунтов?
-
5 минут назад, celsoft сказал:
Все указано в справке на скриншотах:
http:/вашсайт.ru/index.php?do=auth-social&provider=yandex
Сервисы постоянно меняют свои сайты. Актуальную инструкцию нужно смотреть в документации по сервису. Русской документации насколько я знаю у них нет.
Нашел хорошую инструкцию по Google - https://blog.ithillel.ua/ru/articles/oauth-2-0-autentifikatsiya-cherez-google-kak-realizovat-vhod-cherez-google-na-sayte
Теперь вопрос в том, как можно сделать так, чтобы не выводить текст на странице пользователя, если там нет привязанных аккаунтов?
-
Там все на англйском, не понятно куда тыкать:
-
Еще вопрос по поводу Google, тоже не могу правильно создать. Старая инструкция по ссылке в личном кабинете
-
6 часов назад, celsoft сказал:
Конечно. Обычная стандартная вожножность в скрипте. Размещаете в шаблоне необходимые ссылки на привязку аккаунта социальной сети https://dle-news.ru/extras/online/index.html?all23.html
Спасибо. Реализовал. Теперь вопрос в том, как можно сделать так, чтобы не выводить текст на странице пользователя, если там нет привязанных аккаунтов?
Подскажите еще какой Callback url для Яндекс указывать. В инструкции про это ничего не сказано. Мне выдает ошибку: "redirect_uri не совпадает с Callback URL, указанным при регистрации приложения"
-
Здравствуйте. Возникла такая необходимость, чтобы пользователь, который зарегистрирован обычным способом на сайте, мог привязывать социальные сети и авторизоваться любым удобным способом. Возможно ли как-то это сделать в личном кабинете пользователя?
-
Проблема решена. Прошу закрыть тему.
-
2 минуты назад, celsoft сказал:
У меня есть лицензии на множество сайтов. Я не хочу публиковать. Может кто поможет из проходящих.
-
Подскажите пожалуйста. Я автоматически регистрирую и авторизую на сайте пользователя с помощью php скрипта:
<?php define ( 'DOMAIN', 'site.ru' ); function set_cookie($name, $value, $expires) { global $config; if( $expires ) { $expires = time() + ($expires * 86400); } else { $expires = FALSE; } setcookie( $name, $value, $expires, "/", DOMAIN, TRUE, TRUE ); } define ( 'DATALIFEENGINE', true ); define ( 'ROOT_DIR', dirname ( __FILE__ ) ); define ( 'ENGINE_DIR', $_SERVER['DOCUMENT_ROOT'] . '/engine' ); require_once (ENGINE_DIR . '/classes/plugins.class.php'); require_once (ENGINE_DIR.'/data/dbconfig.php'); if(isset($_GET['email']) && trim($_GET['email']) !== ''){ $email = trim($_GET['email']); if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ $ret['error']=array('message'=>"Некоректный email: ".$email.""); die(json_encode($ret)); } $q="SELECT * FROM " . USERPREFIX . "_users WHERE email='$email'"; $sql = $db->query( $q ); while ($row = $db->get_row($sql)){ $ret['error']=array('message'=>"Аккаунт ".$email." уже существует!"); die(json_encode($ret)); } session_start(); $name = uniqid(); $count_letter_pwd = 8; $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $password =substr(str_shuffle($chars), 0, $count_letter_pwd);//"12345678"; $regpassword = $db->safesql( password_hash($password, PASSWORD_DEFAULT) ); if(function_exists('openssl_random_pseudo_bytes')) { $stronghash = md5(openssl_random_pseudo_bytes(15)); } else $stronghash = md5(uniqid( mt_rand(), TRUE )); $salt = sha1( str_shuffle("abcdefghjkmnpqrstuvwxyz0123456789") . $stronghash ); $hash = ''; for($i = 0; $i < 9; $i ++) { $hash .= $salt[mt_rand( 0, 39 )]; } $hash = md5( $hash ); $q="INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip, hash) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '4', '', '', '', '', '$_IP', '$hash')"; $db->query( $q ); $id = $db->insert_id(); set_cookie( "dle_user_id", $id, 365 ); set_cookie( "dle_password", md5($regpassword), 365 ); if( $config['log_hash'] ) { set_cookie( "dle_hash", $hash, 365 ); } $_SESSION['dle_user_id'] = $id; $_SESSION['dle_password'] = md5($regpassword); require_once 'vendor/autoload.php'; $mail_theme = "Регистрация на сайте site.ru"; $mail_body= "{date} - дата регистрации.<br>\n{time} - время регистрации.<br>\n{login} - ваш логин.<br>\n{email} - ваш email.<br>\n{password} - ваш пароль."; $mail_body= '<table border="0" cellpadding="0" cellspacing="0" style="background-color:#f6f6f6;width:100%"><tbody><tr><td align="center" style="padding:20px;width:600px"> <table border="0" cellpadding="0" cellspacing="0" style="background-color:#f6f6f6;margin:0 auto 0 auto;max-width:600px"><tbody><tr><td style="background:#fff;box-sizing:border-box;font-family:sans-serif;font-size:16px;max-width:600px;padding:20px;vertical-align:top"> <h1 style="margin-top:0">Здравствуйте!</h1> <p>Вы успешно зарегистрировались на сайте <b>site</b></p> <p>Ваш логин: <b>{login}</b></p> <p>Ваш пароль: <b>{password}</b></p> </td></tr><tr><td style="background:#f6f6f6;box-sizing:border-box;color:#939598;font-family:sans-serif;font-size:14px;max-width:600px;padding:20px;vertical-align:top;line-height: 20px;"> Вы получили данное письмо, так как создали на сайте site.ru. </td></tr></tbody></table> </td></tr></tbody></table>'; $mail_body = str_replace( [ "{login}", "{email}", "{password}", ], [ $name, $email, $password ], $mail_body ); $mail = new PHPMailer\PHPMailer\PHPMailer(); $mail->CharSet = 'UTF-8'; $yourEmail = 'noreply@site.ru'; // ваш email на яндексе $password = 'password'; // ваш пароль к яндексу или пароль приложения // настройки SMTP $mail->Mailer = 'smtp'; $mail->Host = 'ssl://smtp.yandex.ru'; $mail->Port = 465; $mail->SMTPAuth = true; $mail->Username = $yourEmail; // ваш email - тот же что и в поле From: $mail->Password = $password; // ваш пароль; /**/ $mail->setFrom( 'noreply@site.ru', 'site.ru' ); $mail->addAddress($email); $mail->Subject = $mail_theme; $mail->Body = $mail_body; $mail->isHTML( true ); $mail->send(); $ans=$name; $ret['result']=array('message'=>$ans); die(json_encode($ret)); } $ret['error']=array('message'=>"unknown error on site"); die(json_encode($ret));
Аккаунт создается, пользователь авторизуется, НО, почему-то нельзя перейти в учетную запись по прямой ссылке, например: https://site.ru/user/63cae066aab99/
Просто страница сразу не доступной становится. Без ошибок без ничего. Если поставить другой символ в логине по ссылке, то выходит сообщение, что пользователь не найден. В базе данных этот пользователь числится. Подскажите, что я не так делаю?
Готов заплатить тому, кто поможет.
-
Подскажите, хочу сделать крупный портал, где в будущем будет около миллиона новостей. Скажите DLE выдержит нагрузку и какие характеристики сервера лучше смотреть самые топовые для нагрузки?
-
11.11.2022 в 13:52, celsoft сказал:
В новой версии мы планируем добавить поддержку тега {related-ids} который будет выводить ID похожих публикаций соответственно вы сможете использовать вместо {related-news} тег {custom id="{related-ids}"} в полных новостях, который выведет похожие новости с поддержкой всех без исключения тегов для кратких публикаций и сможете использовать любое оформление
Будем ждать. Спасибо. В следующем обновлении ждать?
-
Здравствуйте. Есть решения для новых версий?
-
8 минут назад, redissx сказал:
Никак, нет такой возможности для relatednews.tpl
Рекомендую в теме пожеланий написать об этом . Там уже много раз писали, но почему-то не внедряют
Капец! Вроде такая мелочь, а сделать не могут
-
1
-
-
Так как сделать, чтобы работал {comments-num} в relatednews.tpl? Не работает.
-
7 минут назад, celsoft сказал:
Стандартная возможность DLE, включается в настройках скрипта в разделе настроек авторизации через соц. сети. Там есть поддержка авторизации через Яндекс.
Охох, класс. Спасибо)
-
Когда судебное письмо придет, вы быстро найдёте деньги на лицензию)
Привязка социальных сетей в профиле пользователя DLE 15.3
в DataLife Engine (Общие вопросы)
Опубликовано:
Здравствуйте. Как отобразить id vkontakte, через который пользователь авторизовался на сайте в личном кабинете?