Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Одна база 2 сайта

Одна база 2 сайта


     02.09.2011    MySQL, php, общая база    Все вопросы » Общие вопросы    4087

вопрос
Вопрос:
Как реализовать грамотно хотя-бы аватарки (я даже боюсь затрагивать темы про авторизацию, общие поля в профиле и тд) на DLE 9+ если имеется 2 или более сайтов которые работают с одной базой за счёт известной функции userprefix...

Есть сайты типа:
сайт.ru
допсайт.сайт.ru

но при загрузке аватарки на любой из сайтов на другом пустота с ошибкой, т.к. они обращаются в одну таблицу и получают название картинки, но один сайт где загружалась картинка находит эту картинку в своей папке, а у другого само собой её нет...

Меня-бы это не так напрягало если-бы например при смене аватарки на одном сайте, на другом оставалось noavatar... Но там же, как говорилось выше пустота)

P.S. Если кто подскажет что-то ещё и по теме (про авторизацию, общие поля в профиле) опять же при работе с 2 и более сайтами буду благодарен...

Ответа пока нет


3 комментария

nowheremany
Эксперт

nowheremany - 2 сентября 2011 07:25 -


Благодарность принимаю тут Связь

Kolya groza morey
Юзер

Kolya groza morey - 2 сентября 2011 11:21 -

Как вариант заменить строчку в profile.php
if( $row['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $row['foto'] )) ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
    else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );

на
if( $row['foto'] and (file_exists( ROOT_DIR . "http://ваш_сайт/uploads/fotos/" . $row['foto'] )) ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
    else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );

і в comments.class.php замнить строчку
if( $row['foto'] ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
            else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );

на
if( $row['foto'] ) $tpl->set( '{foto}', "http://ваш_сайт/uploads/fotos/" . $row['foto'] );
            else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );

где ваш_сайт - сайт на котором загружены аватары.
Но если так реализувать то нужно розрешить загрузку аватаров только на один з сайтов. Можна написать небольшой хак чтобы http://ваш_сайт/ можна было установить с админки

nowheremany
Эксперт

nowheremany - 2 сентября 2011 11:38 -

Надо дописать не "http://ваш_сайт/" а сайт где загружены аватары.

ROOT_DIR . "http://ваш_сайт/"

Вы хоть думаете что пишите? Первую часть убрать.

При этом будет работать, если только на 1 сайте менять аватарки.

Благодарность принимаю тут Связь

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх