Профиль только админу и владельцу...

Уважаемые знатоки кода, прошу помощи!

Как нужно обернуть код в whois.tpl чтобы профиль был доступен только админу и владельцу профиля?

Знаю только такой код, который позволяет видеть страницу только админу:
{if $oUserCurrent and $oUserCurrent->isAdministrator()}
{/if}

Плагин "My Login"


Основной функционал плагина:
  • Позволяет пользователям менять логин;
  • Поддержка коротких ссылок для профилей пользователей (site.com/user1);
  • Поддержка поддоменов для профилей пользователей (user1.site.com);

То есть, плагин позволяет пользователю изменять свой логин. Эта функция доступна в настройках аккаунта. В совокупности с остальным функционалом плагина, мы получаем полезный инструмент для поднятия мини соц. сетей. Ведь, мы все этим занимаемся! ;D

Так же тут учтено то, чего нет в shortprofile: при регистрации или изменении логина не возможно выбрать такой логин, какой бы вёл на существующие разделы сайта, например, не можно зарегистрировать пользователя с логином blogs.

С ссылками на профиль дело обстоит так: мы можем включить одну из функций, или короткие URLs, или поддомены, или оставить как есть, используя при этом только функцию изменения логина. А можно и наоборот: включать только ссылки.

При этом, для работы поддоменов вы должны настроить сервер так, чтобы все запросы с поддоменов передавались на основной домен. То есть, нужно прописать alias вида *.site.com. Дальше скрипт всё сделает сам.

При всём этом, я постарался сделать плагин совместимым с NiceURL. Тут основным условием является, то что надо обязательно указывать в NiceURL постфикс для ссылок (.html, .htm или .php). А также, добавил фикс для того, чтобы подружить NiceURL и RusURLs, но для этого плагин «My Login» должен всегда быть выше в списке plugins.dat, чем NiceURL

Установка:
После активации плагина, получаем ошибку 404, и это нормально. Так происходит потому, что в плагине меняется адрес админки: site.com/admin на site.com/ls_admin. Это нужно для того, чтобы не было конфликта между коротким адресом профиля админа и админкой. То же самое происходит и при дезактивации.

При активации все сессии пользователей удаляются, то есть все пользователи будут разлогинены. Это надо для того, чтобы записать правильную сессию для поддоменов.

Для правильной работы плагина нужно в config.local.php указать вручную `path.root.web` (настоящий адрес сайта, например: «site.com.ua»).

Настройка:
Плагин настраивается в config/config.php.
$config['functions'] = array(
    'change_login' => true, // изменение логина
    // тип ссылки на профиль
    'profile_type' => 'subdomain',   // 'default' - site.com/profile/admin/
                            // 'subdomain' - admin.site.com/
                            // 'short' - site.com/admin/
);

// не допустимые логины
$config['banned_logins'] = array(
    'www',
    'error',
);

Ссылки на соцсети и сайты в профиле пользователей - в новом окне (Решено)

Что куда прописать чтобы ссылки на сайты и страницы пользователя в соцсетях открывались в новом окне?
Сейчас получается что просматривая профиль другого пользвателя, посетитель уходит с сайта.

Создать каталог товаров и привязать их к пользователям в виде доп.поля в профиле, по которому можно искать других участников сообщества. Как?

Приветсвую всех!
В общем идея такая как в названии. Необходимо создать каталог товаров с описанием и картинками, и чтобы пользователь во время регистрации или любой другой момент мог выбрать у себя в профиле привязку к определенному товару, которым он обладает. Оформить это все в виде выпадающих списков: фирма, модель и тд. И все это должно быть кликабельно, чтоб выводил инфу по товару и список владельцев снизу.Так же чтобы была возможность прицеплять товары к топику при его написании. Скажите есть ли готовые решения? Если нет, то насколько это реализуемо и примерно за какой гонорар?

Ошибки при попытке зайти в настройки профиля

Добрый день. Внезапно образовалась следующая ошибка при попытке зайти в настройки профиля (мойсайт.ру/settings/profile/):

Fatal error: Uncaught exception 'Exception' with message 'Undefined method module: MenuSettingsTpl' in /var/www/webroot/ROOT/engine/classes/Engine.class.php:604 Stack trace: #0 /var/www/webroot/ROOT/engine/classes/Engine.class.php(531): Engine->GetModule('MenuSettingsTpl') #1 /var/www/webroot/ROOT/engine/classes/Hook.class.php(71): Engine->_CallModule('MenuSettingsTpl', Array) #2 [internal function]: Hook->__call('MenuSettingsTpl', Array) #3 [internal function]: PluginPostingingroups_HookMain->MenuSettingsTpl(Array) #4 /var/www/webroot/ROOT/engine/modules/hook/Hook.class.php(292): call_user_func_array(Array, Array) #5 /var/www/webroot/ROOT/engine/modules/hook/Hook.class.php(244): ModuleHook->RunType(Array, Array) #6 [internal function]: ModuleHook->Run('template_menu_s...', Array) #7 /var/www/webroot/ROOT/engine/classes/Engine.class.php(558): call_user_func_array(Array, Array) #8 /var/www/webroot/ROOT/engine/classes/Engine.class.php(667): Engine->_CallModule('Hook_Run', Array) #9 /var/www/webroot/ROOT/engine/modules/viewe in /var/www/webroot/ROOT/engine/classes/Engine.class.php on line 604


Подскажите пожалуйста что это может быть и как это поправить. Заранее весьма благодарен!

UPD

Отключение плагина «Публикация топиков в группы» решило задачу. Сейчас буду пробовать обновленную его версию.

Поиск по полям профиля пользователя

Всем привет!
Такой вопрос, как организовать поиск-фильтр сразу по нескольким полям пользовательского профиля? Например отфильтровать только женщин 1917-го года рождения проживающих в Сыктывкаре и имеющих номер телефона 123456? Ну или любые другие произвольные поля, включая дополнительные.
Может есть уже готовый плагин который можно взять за основу?
Если нет, то хотя бы примерно куда копать?

Верстка профиля

Пытаюсь выровнять по высоте блоки «Личное» и «Контакты».
Условия показа блоков:
Для "Личного"
if $oUserProfile->getProfileName() || $oUserProfile->getProfileSex()!='other' || $oUserProfile->getProfileBirthday() || $oGeoTarget

и
Для "Контактов"
$oUserProfile->getUserFieldValues(true,array('contact'))

Планирую задать min-height в зависимости от макс. кол-ва заполненных полей в двух этих блоках.
Можно ли «вытащить» цифрой сколько именно полей заполнено — 1, 2, 3...?

P.S.: в дефолтном шаблоне верстка немного странная: все делится на левый и правый блоки, причем в правом «Контакты», а в левом все остальное и смотрится узко

Свой каталог аватаров в профиле

Добрый день!
Подскажите пожалуйста, как в профиле пользователя при клике на ссылке создать свое модальное окно (с iframe) для выбора аватаров из собственной базы?

Единственное, до чего дошел — так это до размещения ссылки в шаблоне actions\ActionSettings\profile.tpl, куда можно вставить свой код:

Читать дальше →

Ошибка профиля

Прошу прощения! Возможно пишу не сюда. Обновил ЛС с 0.4.2 до 1.0.3. При нажатии на профиль участника выдает ошибку (www.gora42.ru):

SQL Error: Table 'b80678_gora.gr_user_field' doesn't exist at /home/u80678/gora42ru/www/classes/modules/user/mapper/User.mapper.class.php line 859
Array ( [code] => 1146 [message] => Table 'b80678_gora.gr_user_field' doesn't exist [query] => SELECT f.*, v.value FROM gr_user_field as f LEFT JOIN gr_user_field_value as v ON f.id = v.field_id WHERE v.user_id = 49 and f.type IN ('') [context] => /home/u80678/gora42ru/www/classes/modules/user/mapper/User.mapper.class.php line 859 )


Что не так? Я так понимаю в БД нет такой таблицы… Если так, то подскажите, как она должна быть создана? Или может наткнете на нужный юрл? Может у кого то была такая же проблема?

зы Прошу не ругаться сразу, не продвинутый…