Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Расширенный профиль с поисковыми метками.
Продолжаю развивать поиск-в-один-клик. Дополнительные поля в персональном разделе профиля:
- пол. можно скрыть;
- дата рождения. можно засветить д/р, но скрыть возраст;
- интересы. поиск по совпадающим интересам;
- обо мне. напоминает подпись - доступны 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 требуются поправки в коде.
пожалуйста, прочитайте все сообщения в этой теме!
Приятный мод
Особенно радуют метки.
Будет ли продолжение в виде вывода дней рождений на главную форума?
Например:
Дни рождения в течение семи ближайших ней будут у юзеров: Антон (43), Марина (20), Анфиса (15)
Будет ли конвертанция дня рождения в одну цифру возраста?
Например:
Иван (32 года), Света (17 лет), Оля (35 лет)...
Будет ли продолжение в виде вывода дней рождений на главную форума?
будет с учетом галочки "скрыть возраст".
будет с учетом галочки "скрыть возраст".
Классно
Еще одно пожелание от моих юзверей:
Когда переходишь по меткам на юзер-лист хотелось бы видет что это такое.
Т.е:
Нажимаешь например на метку интереса: "зелёный чай" и на следующей странице бы выдавалась надпись типа:
Вы видите внизу список юзверей по запросу интересов: "зелёный чай"
Когда переходишь по меткам на юзер-лист хотелось бы видет что это такое.
ну к моду такая фигня не имееет отношения.
это во всех видах поисков такая ерунда! надо исправлять, согласен. сделаю - выложу workaround.
Неплохо, но ставить не буду), пока не появится возможность показывать дни рождения на главной.
для TEXist, spycam и всех остальных.
[size=16]Дни рождения на главной странице форума[/size]
если в профиле включена галочка "скрыть возраст", именинник появится в списке без указания возраста.
Для ускорения за основу взял код для 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'].': </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'] . ': </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... это потом, когда будет больше времени
Суппер!
Особенно классно что оно скрывается когда ни у кого нет Дня Рождения
У меня есть сомнения, прошу помочь советом:
Мой SQL запрос по поиску именинников выглядит довольно коряво. А как известно хорошо летают только красивые самолеты
Есть такая идея - добавить еще одно поле пользоватею. напрямую оно редактироваться не будет. Это будет часть дня рождения
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, красиво и при наличии индекса будет очень быстро работать.
Вопрос: стОит ли заморачиваться этим или день рождения не настолько важный элемент, чтобы тратить на него силы?
Вопрос: стОит ли заморачиваться этим или день рождения не настолько важный элемент, чтобы тратить на него силы?
Вообщето это самая любимая часть программы
Кому не приятно иметь дополнительные приятности в день своего рождения. И форум который сделает эти приятности будет в числе запомнившихся с приятной стороны...
Поэтому вещь полезная.
Ещё видел фишку на одном форуме:
Когда у юзера наступает Днюха - то ему по привату отправляется письмо с поздравлением типа: "Администрация форума поздравляет вас "Здес_Никнейм_Юзера" с Днюхой! Желаем типа счастья.... живите долго... и т.д."
А можно ещё чтобы автоматом открывалась новая тема в каком-нить форуме с поздравлением этому юзеру... И потом другие юзеры постят в эту тему... типа поздравляют (так обычно делается с известными юзерами: кто-то открывет тему и понеслись поздравления... а тут если бы она сама открывалась... былоб классно).
Плоховато работает с puntal - как я понял файл инстал_мод удаляет все файлы кеша - поэтому при обращении на главную сайта - белая страница...
файлы в кеше должны восстанавливаться автоматически! "чистый" punbb с этим справляется и все моды с которыми я сталкивался тоже. puntal - это какая-то мини cvs на базе punbb? ничего не могу про нее сказать, это ненормальная реакция. можете удалить из install_mod очистку кеша... на каком-нибудь другом моде все равно завалится.
Глючок:
Когда юзер постит в строке "О себе" болше разрешонного лимита, то на другой странице выводится пустая табличка и в ней ничего нет, только "вернуться назад"...
Должно же быть по идее что-нить вроде "Слишком много знаков, введите меньшее число знаков..."
Давно искал подобный мод Плюс ДР Календарь уж больно монструозный.
Вопрос - поиск по интересам - синтаксис какой будет?
Т.е. я полагаю, что надо бы так (все интересы - ссылки)
Интерес1, интерес2, еще один интерес3, интерес4.
Будут ли нормально работать такие ссылки при win1251 ?
TEXist, такое сообщение предусмотрено. проверю конечно, но и ты посмотри пропустил ли чего...
KCEOH, что значит "будет"? оно уже есть как ссылки. мод тестировался под 1251
TEXist, такое сообщение предусмотрено. проверю конечно, но и ты посмотри пропустил ли чего...
Ошибочка точно.
Я у себя исправил.
Ты просто дал файл ленгвиджа другой.
Ты дал сообщение об ошибке из регистрации, а надо из профайла, обрати внимание.
----
Мысль пришла классная по поводу Д.Рождения:
Вот например высвечиваются именниники сегодняшние.
И после каждого ника потавить кнопочку, на которую нажимаешь (как в моде "Репутация") и прибавляется одно значение, и пишется типа этого:
Анжелла (28) - 10 человек поздравили, Павел (19) - 12 человек поздравили .......
То есть дело не хитрое - нажать на кнопочку (типа счётчика) а челу приятно да и вообще интрересно было бы...
Добавлено спустя 2 минуты 29 секунд:
Но круче было бы через AJAX - чтобы без перезагрузки страницы.
Еще одно пожелание от моих юзверей:
Когда переходишь по меткам на юзер-лист хотелось бы видет что это такое.
Т.е:
Нажимаешь например на метку интереса: "зелёный чай" и на следующей странице бы выдавалась надпись типа:Вы видите внизу список юзверей по запросу интересов: "зелёный чай"
Имхо лучше сделать еще одно поле в поиске по юзерам для интересов. Но как сделать нормальный поиск сразу по 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).'\'';
}
Но если интересы идут не в той последовательности - не будет работать
2 artoodetoo
Потчитал на твоём форуме, что планируешь прикрутить фотографии.
На сколько скоро можно ожидать релиза и каким способом будет реализовано?
Интересны следующие моменты:
[li]Количество фоток для пользователя (одна, несколко или целые альбомы)[/li][li]Будет ли как-то связанна с твоей галереей[/li][li]Будет ли возможность коментировать фотографии[/li]
Редактировался Griffon (2007-02-20 06:29:01)
времени на серьезные доработки катастрофически не хватает.
личные фотки планирую через единый механизм с галереей. но прежде нужно добавить квоты на загрузку файлов. комментировать будет можно - моя галерея делается как разновидность форума. сроки боюсь называть, очень много реальной работы.
со сложным поиском по интересом я не хочу заморачиваться. imho, это не очень нужно. планирую такое развитие:
1. в userlist.php выводить текущие критерии поиска. это коснется не только интересов, но и любых выборок из списка
2. search.php - то же самое. будет видно что искали, к примеру, метку такую-то
3. в параметрах сессии сохранять последние варианты поисков. очень вероятно что пользователь сначала ищет какое-то слово, потом добавляет его в свой профиль или в свою тему из предложенного списка.
времени на серьезные доработки катастрофически не хватает.
личные фотки планирую через единый механизм с галереей. но прежде нужно добавить квоты на загрузку файлов. комментировать будет можно - моя галерея делается как разновидность форума. сроки боюсь называть, очень много реальной работы.
Ясно, придётся пока собрать свою версию на коленке и без излишеств
со сложным поиском по интересом я не хочу заморачиваться. imho, это не очень нужно. планирую такое развитие:
1. в userlist.php выводить текущие критерии поиска. это коснется не только интересов, но и любых выборок из списка
2. search.php - то же самое. будет видно что искали, к примеру, метку такую-то
3. в параметрах сессии сохранять последние варианты поисков. очень вероятно что пользователь сначала ищет какое-то слово, потом добавляет его в свой профиль или в свою тему из предложенного списка.
Т.е. я так понимаю планируется возможность поиска в пользователях только по 1 интересу за раз?
Покопался еще на твоем форуме на 3bb, нашёл интересную фишку
Выберите наиболее подходящий для Вас уровень безопасности.
Высокий (Привязать автоматическую авторизацию к IP адресу)
Средний (Привязать автоматическую авторизацию к подсети IP адреса)
Низкий (IP адрес при автоматической авторизации не проверяется)
Есть ли готовое решение такого плана?
Редактировался Griffon (2007-02-20 18:53:21)
Нашел небольшую ошибку. Поправить
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 Неплохо бы и тут о ней сообщить было.
И когда можно будет ожидать извещений о ДР за некоторый срок, за 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)
KCEOH, если форум под UTF-8, то должен присутствовать mb_internal_encoding() см. http://punbb.ru/viewtopic.php?id=1222. тогда mb_detect_encoding не нужен ни здесь, ни где-либо еще!
конечно на utf-ном форуме, все строковые функции надо менять на мультибайтные и здесь и во всех иных модах. я считал это само собой разумеющимся, но спасибо, что обратил на этом внимание!
про 'Aboutme too long' правильно написал. я как-то упустил эту тему.
бакфикс-релиз 1.0.1
http://www.punres.org/viewtopic.php?id=3561
исправлены некоторые стилевые накладки.
в планах добавить выбор ключевых слов из списка, но только в следующей версии...
artoodetoo
Идёт ли развитие мода?
Очень интересует вывод инфы о пользователе на странице форума, т.е под аваркой, ведётся ли работа в этом направлении?
Редактировался jeder (2007-10-20 08:54:40)
Кстати как насчёт добавить полноценное фото к моду, чтобы пользователи могли загружать фото, как аватар, а не просто писать ссылку и тэги. Многие и в помине не знают, что такое тэги.
на панресе посмотри мод gus