newbie 1722 12/06/17 05:52 Данные о картинке есть.Как выглядит ссылка на битое изображение? Поделиться сообщением Ссылка на сообщение
Trotor 27 12/06/17 18:32 (изменено) Как выглядит ссылка на битое изображение?Вот так:http://адрес форума/uploads/av-6b73be0038c1043bedc378200404013a.jpg При переходе на неё:К сожалению, не удалось найти запрашиваемую вами страницу. Пожалуйста вернитесь на главную страницу форума. Изменено 6 декабря 2017 пользователем Haktar Поделиться сообщением Ссылка на сообщение
newbie 1722 12/07/17 12:15 http://адрес форума/uploads/av-6b73be0038c1043bedc378200404013a.jpgУ Вас явно код отличается от того, что здесь.Я скачал архивСсылка на фото$this->settings['upload_dir']."/profile/" . md5($ident) . ".jpg"; Поделиться сообщением Ссылка на сообщение
Trotor 27 12/08/17 18:14 У Вас явно код отличается от того, что здесь.Это да. Я использую скрипт от самих разработчиков (малость его модифицировал под нужды своего форума), вот он: <?php /** * IPBoard plugin uloginplugin * * @package Auth * @subpackage uLlogin * @author uLogin * @link http://ulogin.ru * @contacts team@ulogin.ru * @license GPL3 */ if ( ! defined( 'IN_IPB' ) ) { print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'."; exit(); } class login_uloginplugin extends login_core implements interface_login { /** * Login method configuration * * @access protected * @var array */ protected $method_config = array(); /** * Constructor * * @access public * @param ipsRegistry referece * @param Configuration info for this method * @param Custom configuration infofor this method * @return void */ public function __construct( ipsRegistry $registry, $method, $conf=array() ) { $this->method_config = $method; parent::__construct( $registry ); } /** * Authenticate the request * * @access public * @param string Username * @param string Email Address * @param string Password * @return boolean Authentication successful */ public function authenticate( $username, $email_address, $password ) { if(!isset($_POST['token'])) { return 'WRONG_AUTH'; } $s = file_get_contents('http://ulogin.ru/token.php?token=' . $_POST['token'] . '&host=' . $_SERVER['HTTP_HOST']); $user = json_decode($s, true); if(isset($user['error'])) return 'ERROR'; $ident = $user['identity']; $photo = $user['photo']; if($photo!='') { $ride = "uploads/imperiall/".'av-'.md5($ident).".jpg"; file_put_contents($ride, file_get_contents($photo)); } $result = $this->DB->buildAndFetch( array( 'select' => 'id_user,seed', 'from' => 'ulogin', 'where' => "ident ='".$user['identity']."'" ) ); if($result) { $result1 = $this->DB->buildAndFetch( array( 'select' => 'member_id', 'from' => 'members', 'where' => "member_id ='".$result['id_user']."'" ) ); if(!$result1) { $this->DB->delete('ulogin','id_user='.$result['id_user']); $result=false; } $Passwd=md5($ident.$user['last_name'].$result['seed']); } if(!$result){ $Login21=$user['first_name']."_".$user['last_name']; $proof = $this->DB->buildAndFetch( array( 'select' => 'member_id', 'from' => 'members', 'where' => "name='" .$Login21. "'" ) ); if($proof) { $Login21=$Login21.$proof['member_id']; } $seed=mt_rand(); $Passwd=md5($ident.$user['last_name'].$seed); $Email=$user['email']; $salt= IPSMember::generatePasswordSalt( ); $hash= md5($salt).md5($Passwd); $this->DB->insert( 'members', array( 'name' => $Login21, 'member_group_id' => 3, 'email' => $Email, 'joined' => time(), 'members_pass_salt' => $salt, 'members_pass_hash' => md5($hash), 'members_l_username' => $Login21, 'members_display_name' => $Login21, 'members_l_display_name' => $Login21, ) ); $id_member = $this->DB->buildAndFetch( array( 'select' => 'member_id', 'from' => 'members', 'where' => "name='" .$Login21. "'" ) ); $this->DB->insert( 'ulogin', array( 'ident' => $ident, 'seed' => $seed, 'id_user' => $id_member['member_id'], ) ); $result = $this->DB->buildAndFetch( array( 'select' => 'id_user,seed', 'from' => 'ulogin', 'where' => "ident ='".$user['identity']."'" ) ); $Passwd=md5($ident.$user['last_name'].$result['seed']); $this->cache->rebuildCache('stats', 'global'); } $result1 = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'members', 'where' => "member_id ='".$result['id_user']."'" ) ); $result2 = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'profile_portal', 'where' => "pp_member_id ='".$result['id_user']."'" ) ); $result3 = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'pfields_content', 'where' => "member_id ='".$result['id_user']."'" ) ); if(!$result2) { $this->DB->insert( 'profile_portal', array( 'pp_member_id' => $result['id_user'], 'avatar_type' => 'upload', 'avatar_location' => ''.'av-'.md5($ident).'.jpg', 'pp_setting_count_comments' => '1', 'pp_setting_count_friends' => '1', 'pp_setting_count_visitors' => '10', ) ); } if(!$result3) { $this->DB->insert( 'pfields_content', array( 'member_id' => $result['id_user'], 'eco_points' => '0', 'eco_worth' => '0.00', 'eco_welfare' => '0.00', 'eco_on_welfare' => '0', ) ); } $username=$result1['name']; $email_address = $result1['email']; $password=$Passwd; return $this->authLocal( $username, $email_address, $password ); $this->auth_errors = array(); if ( $this->return_code == 'SUCCESS' ) { return true; } } } Поделиться сообщением Ссылка на сообщение
newbie 1722 12/09/17 08:21 $ride = "uploads/imperiall/".'av-'.md5($ident).".jpg";Вот путь до сохраненной картинкиА в БД Вы сохраняете 'avatar_location' => ''.'av-'.md5($ident).'.jpg', Не совпадают пути Поделиться сообщением Ссылка на сообщение
Trotor 27 12/09/17 17:17 Вот путь до сохраненной картинкиА в БД Вы сохраняетеИзменить $ride = "uploads/imperiall/" на $ride = "" ? Поделиться сообщением Ссылка на сообщение
newbie 1722 12/10/17 06:51 Аватары хранятся в папке uploadsМенять нужно на $ride = $this->settings['upload_dir'].'/'.'av-'.md5($ident).".jpg"; Плюс, если аватара нет, то 'avatar_location' => ''.'av-'.md5($ident).'.jpg', будет не верной записью.Нужно устанавливать какую-нибудь переменную $hasPhoto и проверять ее значение.Скачайте файл и посмотрите, как сделано. Поделиться сообщением Ссылка на сообщение
Trotor 27 02/07/24 10:23 md5($ident) А как поменять этот путь? Что бы адрес аватары был не набором цифр и букв, а набором из ида юзера? Пробовал менять в двух местах - не получается. Поделиться сообщением Ссылка на сообщение
siv1987 2627 02/09/24 12:08 Тема очень старая, наврядли кто то еще ответит. Поделиться сообщением Ссылка на сообщение
Trotor 27 02/09/24 12:33 25 минут назад, siv1987 сказал: Тема очень старая, наврядли кто то еще ответит. Пячалька Поделиться сообщением Ссылка на сообщение
siv1987 2627 02/10/24 00:37 12 часов назад, Trotor сказал: Пячалька Вы все еще на 3.x сидите? Сколько времени с тех пор прошло, такое ощущение что целая жизнь. Поделиться сообщением Ссылка на сообщение
Trotor 27 02/10/24 01:07 29 минут назад, siv1987 сказал: Вы все еще на 3.x сидите? Сколько времени с тех пор прошло, такое ощущение что целая жизнь. Да и вполне пока доволен. 1 Поделиться сообщением Ссылка на сообщение