Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2007-02-11 20:51:42

artoodetoo
Гость

Elektra Profile with Labels

Расширенный профиль с поисковыми метками.

Продолжаю развивать поиск-в-один-клик. Дополнительные поля в персональном разделе профиля:
- пол. можно скрыть;
- дата рождения. можно засветить д/р, но скрыть возраст;
- интересы. поиск по совпадающим интересам;
- обо мне. напоминает подпись - доступны BBcodes. удачное место для включения фотографии через [ img]

Дополнительно, в меню профиля появляется пункт "Просмотр" - пользователь или админ может взглянуть на профиль в режиме просмотра, а не редактирования, то есть как его видят все остальные пользователи.

Проект на PunRes: тыц
Скриншоты: тыц, тыц, тыц

в реадме мода приводится фрагмент для lang/English/profile.php

вот для lang/Russian/profile.php:

// Extra personal detail stuff
'Preview'                =>    'Просмотр',
'Gender'                =>    'Пол',
'Gender male'                =>    'Мужской',
'Gender female'                =>    'Женский',
'Gender hidden'                =>    'Не показывать',
'Birthday'                =>    'Дата рождения',
'Birthday months'            =>    array(1=>'Января', 2=>'Февраля', 3=>'Марта', 4=>'Апреля', 5=>'Мая', 6=>'Июня', 7=>'Июля', 8=>'Августа', 9=>'Сентября', 10=>'Октября', 11=>'Ноября', 12=>'Декабря'),
'Birthday hide age'            =>    'Не показывать мой возраст',
'Interests'                =>    'Интересы',
'Interests hint'            =>    'через запятую, например "хоккей, зелёный чай, php"',
'Aboutme'                =>    'Обо мне',
'Aboutme max length'            =>    'Макс. символов: 1024',
'Aboutme legend'            =>    'Представьтесь в нескольких словах',
'Aboutme info'                =>    'Этот текст будет виден другим пользователям в Вашем профиле. Опишите, например, ваше хобби. В тексте можно использовать встроенные теги BBCode и/или HTML, если это разрешено администратором. Что разрешено, можно увидеть внизу, при редактировании описания.',
'No aboutme'                =>    'Нет описания.',
'Aboutme too long'            =>    'Описание не должно превышать 1024 символа.',

Добавлено  02.12.2007 00:02:01:
предвижу, что не уживется с Calendar - с полем users.birthday

updated:
присутствует ошибка с языковой константой "Aboutme too long", для utf-8 требуются поправки в коде.
пожалуйста, прочитайте все сообщения в этой теме!

#2 2007-02-13 09:58:16

TEXist
Гость

Re: Elektra Profile with Labels

Приятный мод smile
Особенно радуют метки.

Будет ли продолжение в виде вывода дней рождений на главную форума?
Например:
Дни рождения в течение семи ближайших ней будут у юзеров: Антон (43), Марина (20), Анфиса  (15)

Будет ли конвертанция дня рождения в одну цифру возраста?
Например:
Иван (32 года), Света (17 лет), Оля (35 лет)...

#3 2007-02-13 11:18:38

artoodetoo
Гость

Re: Elektra Profile with Labels

TEXist пишет:

Будет ли продолжение в виде вывода дней рождений на главную форума?

будет с учетом галочки "скрыть возраст".

#4 2007-02-13 11:31:05

TEXist
Гость

Re: Elektra Profile with Labels

artoodetoo пишет:

будет с учетом галочки "скрыть возраст".

Классно smile

Еще одно пожелание от моих юзверей:
Когда переходишь по меткам на юзер-лист хотелось бы видет что это такое.
Т.е:
Нажимаешь например на метку интереса: "зелёный чай" и на следующей странице бы выдавалась надпись типа:

Вы видите внизу список юзверей по запросу интересов: "зелёный чай"

#5 2007-02-13 11:53:12

artoodetoo
Гость

Re: Elektra Profile with Labels

TEXist пишет:

Когда переходишь по меткам на юзер-лист хотелось бы видет что это такое.

ну к моду такая фигня не имееет отношения.
это во всех видах поисков такая ерунда! надо исправлять, согласен. сделаю - выложу workaround.

#6 2007-02-15 11:57:51

spycam
Гость

Re: Elektra Profile with Labels

Неплохо, но ставить не буду), пока не появится возможность показывать дни рождения на главной.

#7 2007-02-15 14:30:18

artoodetoo
Гость

Re: Elektra Profile with Labels

для TEXist, spycam и всех остальных.
[size=16]Дни рождения на главной странице форума[/size]
если в профиле включена галочка "скрыть возраст", именинник появится в списке без указания возраста.
profile-4.gif

Для ускорения за основу взял код для Calendar от Zevs
вот здесь http://punbb.ru/viewtopic.php?pid=3085#p3085 . Чуть-чуть переделал:

Index.php

Найти

    if ($num_users > 0)
        echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].':&nbsp;</strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>'."\n\t\t\t".'</dl>'."\n";
    else
        echo "\t\t\t".'<div class="clearer"></div>'."\n";

После него добавить:

    //--- birthday begin ---/
    $today = getdate();
    $result = $db->query('SELECT username, id, YEAR(FROM_UNIXTIME(birthday)) AS year, hide_age from '.$db->prefix.'users WHERE DAYOFMONTH(FROM_UNIXTIME(birthday))=\''.$today['mday'].'\' AND MONTH(FROM_UNIXTIME(birthday))=\''.$today['mon'].'\' ORDER by username ASC') or error('Cannot retreive birthdays', __FILE__, __LINE__, $db->error());

    $birthdays_today = array();
    while ($row = $db->fetch_assoc($result))
        $birthdays_today[] .=  "\n\t\t\t\t".'<dd><a href="profile.php?id='.$row['id'].'">'.$row['username'].'</a>'.
        ((!$row['hide_age'])?'('.($today['year']-$row['year']).')':'');

    if (count($birthdays_today) > 0) {
        echo "\t\t\t".'<dl id="birthdayslist">'."\n\t\t\t\t".'<dt><strong>' . $lang_index['Birthday Today'] . ':&nbsp;</strong></dt>';
        echo implode(',</dd> ', $birthdays_today) . '</dd>' . "\n\t\t\t" . '</dl>' . "\n";
    }
    //--- birthday end ---/

В lang/Russian/index.php

добавить

'Birthday Today'               =>      'Именинники сегодня'

В base.css секция 8.1 должна выглядеть так

/* 8.1 Horizontal display of online list, main navigation menu and breadcrumbs */

#birthdayslist DD, #birthdayslist DT, #onlinelist DD, #onlinelist DT, #onlinetodaylist DD, #onlinetodaylist DT,
#brdmenu LI, DIV.linkst LI, DIV.linksb LI, DIV.postlinksb LI,
DIV.postfootright LI, UL.bblinks LI {
    DISPLAY: inline;
    HEIGHT: 0
}

По-хорошему, надо использовать cache... это потом, когда будет больше времени

#8 2007-02-15 16:21:08

TEXist
Гость

Re: Elektra Profile with Labels

Суппер!
Особенно классно что оно скрывается когда ни у кого нет Дня Рождения smile

#9 2007-02-16 11:41:01

artoodetoo
Гость

Re: Elektra Profile with Labels

У меня есть сомнения, прошу помочь советом:
Мой SQL запрос по поиску именинников выглядит довольно коряво. А как известно хорошо летают только красивые самолеты smile

Есть такая идея - добавить еще одно поле пользоватею. напрямую оно редактироваться не будет. Это будет часть дня рождения
birt_mmdd varchar(4) - хранит только месяц и день рождения в текстовом формате.
Изменяться будет одновременно с изменением настоящего birthday. По этому полю очень удобно делать выборки по условию "=" или "BETWEEN", или засунуть его в GROUP BY.

Запрос "кто родился 16 февраля":

select id, username, birthday
from users
where birth_mmdd = '0216'

Запрос кто родился за неделю "12-18 февраля":

select id, username, birthday
from users
where birth_mmdd between '0212' and '0218'

Запрос для календарика на февраль "сколько именинников каждый день" может выглядеть так:

select birth_mmdd, count(*)
from users
group by birth_mmdd
where birth_mmdd between '0201' and '0228'

imho, красиво и при наличии индекса будет очень быстро работать.
Вопрос: стОит ли заморачиваться этим или день рождения не настолько важный элемент, чтобы тратить на него силы?

#10 2007-02-16 15:01:43

TEXist
Гость

Re: Elektra Profile with Labels

artoodetoo пишет:

Вопрос: стОит ли заморачиваться этим или день рождения не настолько важный элемент, чтобы тратить на него силы?

Вообщето это самая любимая часть программы smile
Кому не приятно иметь дополнительные приятности в день своего рождения. И форум который сделает эти приятности будет в числе запомнившихся с приятной стороны...
Поэтому вещь полезная.
Ещё видел фишку на одном форуме:
Когда у юзера наступает Днюха - то ему по привату отправляется письмо с поздравлением типа: "Администрация форума поздравляет вас "Здес_Никнейм_Юзера" с Днюхой! Желаем типа счастья.... живите долго...  и т.д."
А можно ещё чтобы автоматом открывалась новая тема в каком-нить форуме с поздравлением этому юзеру... И потом другие юзеры постят в эту тему... типа поздравляют (так обычно делается с известными юзерами: кто-то открывет тему и понеслись поздравления... а тут если бы она сама открывалась... былоб классно).

#11 2007-02-16 15:17:30

spycam
Гость

Re: Elektra Profile with Labels

Плоховато работает с puntal - как я понял файл инстал_мод удаляет все файлы кеша - поэтому при обращении на главную сайта - белая страница...

#12 2007-02-17 21:29:31

artoodetoo
Гость

Re: Elektra Profile with Labels

файлы в кеше должны восстанавливаться автоматически! "чистый" punbb с этим справляется и все моды с которыми я сталкивался тоже. puntal - это какая-то мини cvs на базе punbb? ничего не могу про нее сказать, это ненормальная реакция. можете удалить из install_mod очистку кеша... на каком-нибудь другом моде все равно завалится.

#13 2007-02-18 13:40:06

TEXist
Гость

Re: Elektra Profile with Labels

Глючок:

Когда юзер постит в строке "О себе" болше разрешонного лимита, то на другой странице выводится пустая табличка и в ней ничего нет, только "вернуться назад"...
Должно же быть по идее что-нить вроде "Слишком много знаков, введите меньшее число знаков..."

#14 2007-02-19 04:07:20

KCEOH
Гость

Re: Elektra Profile with Labels

Давно искал подобный мод smile Плюс ДР smile Календарь уж больно монструозный.

Вопрос - поиск по интересам - синтаксис какой будет?
Т.е. я полагаю, что надо бы так (все интересы - ссылки)
Интерес1, интерес2, еще один интерес3, интерес4.

Будут ли нормально работать такие ссылки при win1251 ?

#15 2007-02-19 06:27:59

artoodetoo
Гость

Re: Elektra Profile with Labels

TEXist, такое сообщение предусмотрено. проверю конечно, но и ты посмотри пропустил ли чего...

KCEOH, что значит "будет"? оно уже есть как ссылки. мод тестировался под 1251

#16 2007-02-19 20:43:28

TEXist
Гость

Re: Elektra Profile with Labels

artoodetoo пишет:

TEXist, такое сообщение предусмотрено. проверю конечно, но и ты посмотри пропустил ли чего...

Ошибочка точно.
Я у себя исправил.
Ты просто дал файл ленгвиджа другой.
Ты дал сообщение об ошибке из регистрации, а надо из профайла, обрати внимание.

----
Мысль пришла классная по поводу Д.Рождения:
Вот например высвечиваются именниники сегодняшние.
И после каждого ника потавить кнопочку, на которую нажимаешь (как в моде "Репутация") и прибавляется одно значение, и пишется типа этого:

Анжелла (28) - 10 человек поздравили, Павел (19) - 12 человек поздравили .......

То есть дело не хитрое - нажать на кнопочку (типа счётчика) а челу приятно smile да и вообще интрересно было бы...

Добавлено спустя     2 минуты   29 секунд:
Но круче было бы через AJAX - чтобы без перезагрузки страницы.

#17 2007-02-20 06:16:33

Griffon
Гость

Re: Elektra Profile with Labels

TEXist пишет:

Еще одно пожелание от моих юзверей:
Когда переходишь по меткам на юзер-лист хотелось бы видет что это такое.
Т.е:
Нажимаешь например на метку интереса: "зелёный чай" и на следующей странице бы выдавалась надпись типа:

Вы видите внизу список юзверей по запросу интересов: "зелёный чай"

Имхо лучше сделать еще одно поле в поиске по юзерам для интересов. Но как сделать нормальный поиск сразу по 2 и более интересам(через запятую) я себе вообще не представляю. Можно как-нибудь так:

if ($pun_user['g_search_users'] == '1' && $interest != '')
    {
    $interest = str_replace('*', '%', $interest);
    $interest = str_replace(' ,', ',', $interest);
    $interest = str_replace(', ', ',', $interest);
    $interest = str_replace(',', '%', $interest);
    if(substr($interest, 0, 1) != '%') $interest = '%'.$interest;
    if(substr($interest, -1, 1) != '%') $interest = $interest.'%';
    $where_sql[] = 'u.interests '.$like_command.' \''.$db->escape($interest).'\'';
    }

Но если интересы идут не в той последовательности - не будет работать sad

2 artoodetoo
Потчитал на твоём форуме, что планируешь прикрутить фотографии.
На сколько скоро можно ожидать релиза и каким способом будет реализовано?
Интересны следующие моменты:

  • [li]Количество фоток для пользователя (одна, несколко или целые альбомы)[/li][li]Будет ли как-то связанна с твоей галереей[/li][li]Будет ли возможность коментировать фотографии[/li]

Редактировался Griffon (2007-02-20 06:29:01)

#18 2007-02-20 09:22:33

artoodetoo
Гость

Re: Elektra Profile with Labels

времени на серьезные доработки катастрофически не хватает.
личные фотки планирую через единый механизм с галереей. но прежде нужно добавить квоты на загрузку файлов. комментировать будет можно - моя галерея делается как разновидность форума. сроки боюсь называть, очень много реальной работы.

со сложным поиском по интересом я не хочу заморачиваться. imho, это не очень нужно. планирую такое развитие:
1. в userlist.php выводить текущие критерии поиска. это коснется не только интересов, но и любых выборок из списка
2. search.php - то же самое. будет видно что искали, к примеру, метку такую-то
3. в параметрах сессии сохранять последние варианты поисков. очень вероятно что пользователь сначала ищет какое-то слово, потом добавляет его в свой профиль или в свою тему из предложенного списка.

#19 2007-02-20 18:08:54

Griffon
Гость

Re: Elektra Profile with Labels

artoodetoo пишет:

времени на серьезные доработки катастрофически не хватает.
личные фотки планирую через единый механизм с галереей. но прежде нужно добавить квоты на загрузку файлов. комментировать будет можно - моя галерея делается как разновидность форума. сроки боюсь называть, очень много реальной работы.

Ясно, придётся пока собрать свою версию на коленке и без излишеств sad

artoodetoo пишет:

со сложным поиском по интересом я не хочу заморачиваться. imho, это не очень нужно. планирую такое развитие:
1. в userlist.php выводить текущие критерии поиска. это коснется не только интересов, но и любых выборок из списка
2. search.php - то же самое. будет видно что искали, к примеру, метку такую-то
3. в параметрах сессии сохранять последние варианты поисков. очень вероятно что пользователь сначала ищет какое-то слово, потом добавляет его в свой профиль или в свою тему из предложенного списка.

Т.е. я так понимаю планируется возможность поиска в пользователях только по 1 интересу за раз?

Покопался еще на твоем форуме на 3bb, нашёл интересную фишку

Выберите наиболее подходящий для Вас уровень безопасности.
Высокий (Привязать автоматическую авторизацию к IP адресу)
Средний (Привязать автоматическую авторизацию к подсети IP адреса)
Низкий (IP адрес при автоматической авторизации не проверяется)

Есть ли готовое решение такого плана?

Редактировался Griffon (2007-02-20 18:53:21)

#20 2007-04-07 05:34:20

KCEOH
Гость

Re: Elektra Profile with Labels

Нашел небольшую ошибку. Поправить

            if (pun_strlen($form['aboutme']) > 1024)
                message($lang_prof_reg['Aboutme too long']);

На

            if (pun_strlen($form['aboutme']) > 1024)
                message($lang_profile['Aboutme too long']);

UPD: Ща прочитал о ней на punres smile Неплохо бы и тут о ней сообщить было.

И когда можно будет ожидать извещений о ДР за некоторый срок, за 3-7 дней, допустим?

Добавлено спустя   1 час   24 минуты   24 секунды:
Еще небольшой фикс...
Если форум на utf-8, то интересы сохраняются только в виде англицких букаф и цифирок.

Изменяем

function purge_label($dirty)
{
    $lab = strtolower(str_replace(',', ' ', $dirty));
    $lab = eregi_replace("[[:space:]]+", " ", $lab);
    return trim($lab);
}

На

function purge_label($dirty)
{
    $lab = mb_strtolower(str_replace(',', ' ', $dirty), mb_detect_encoding($dirty));
    $lab = eregi_replace("[[:space:]]+", " ", $lab);
    return trim($lab);
}

Редактировался KCEOH (2007-04-07 05:48:13)

#21 2007-04-07 17:31:10

artoodetoo
Гость

Re: Elektra Profile with Labels

KCEOH, если форум под UTF-8, то должен присутствовать mb_internal_encoding() см. http://punbb.ru/viewtopic.php?id=1222. тогда mb_detect_encoding не нужен ни здесь, ни где-либо еще!

конечно на utf-ном форуме, все строковые функции надо менять на мультибайтные и здесь и во всех иных модах. я считал это само собой разумеющимся, но спасибо, что обратил на этом внимание!

про 'Aboutme too long' правильно написал. я как-то упустил эту тему.

#22 2007-06-24 13:34:17

artoodetoo
Гость

Re: Elektra Profile with Labels

бакфикс-релиз 1.0.1
http://www.punres.org/viewtopic.php?id=3561
исправлены некоторые стилевые накладки.
в планах добавить выбор ключевых слов из списка, но только в следующей версии...

#23 2007-10-20 08:54:10

jeder
Гость

Re: Elektra Profile with Labels

artoodetoo
Идёт ли развитие мода?
Очень интересует вывод инфы о пользователе на странице форума, т.е под аваркой, ведётся ли работа в этом направлении?

Редактировался jeder (2007-10-20 08:54:40)

#24 2007-10-21 03:19:52

Andy
Гость

Re: Elektra Profile with Labels

Кстати как насчёт добавить полноценное фото к моду, чтобы пользователи могли загружать фото, как аватар, а не просто писать ссылку и тэги. Многие и в помине не знают, что такое тэги.

#25 2007-10-21 07:10:36

spycam
Гость

Re: Elektra Profile with Labels

на панресе посмотри мод gus

Подвал доски

Под управлением FluxBB. Хостинг Hostens