PunBB + PE

это не просто форум

27.03.2007 06:37:26 #1: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

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 символа.',

предвижу, что не уживется с Calendar - с полем users.birthday

Неактивен

 

27.03.2007 06:48:20 #2: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Elektra Profile with Labels

Дни рождения на главной странице форума
если в профиле включена галочка "скрыть возраст", именинник появится в списке без указания возраста.
http://punbb-pe.org.ru/download/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... это потом, когда будет больше времени

Неактивен

 

27.03.2007 06:49:53 #3: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Elektra Profile with Labels

еще скриншот
http://punbb-pe.org.ru/download/labels_4.gif

Неактивен

 

04.06.2007 15:16:43 #4: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Elektra Profile with Labels

Было бы круто добавить поле, которое было бы видно, рядом с информацией об авторе сообщения. Например, мне надо поле с процессором (CPU) пользователя.
Видел такое на motofan.ru там и модель телефона, и его прошивка, но там другой движок форума. Есть что-то подобное на http://forum.mozilla-russia.org/ там версия браузера, но она определяется сама, т.е. сам пользователь в профиле это не указывает.


никогда не жалей о том чего не можешь изменить

Неактивен

 

05.06.2007 06:17:56 #5: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Elektra Profile with Labels

первое что нужно сделать - решить какого типа должно быть поле. int, varchar или text
подозреваю, что однострочного поля для описания системы окажется мало. понадобится что-то вроде "Обо мне" smile то есть text

план А: решить, что "Обо мне" не нужен, вместо него использовать "Система". тогда достаточно отредактировать файлы
lang/*/profile.php чтобы на страницу выводились другие слова про то же самое поле!!! очень просто smile

план Б: все-таки добавить новое поле. пусть в таблице в БД оно называется my_sys.
если Elektra Profile mod уже установлен, надо запустить install_mod, деинсталировать (удалятся поля), отредактировать install_mod.php чтобы создавалось новое поле и заново установить мод

1. добавляем поле в install_mod.php
находим

Код:

      "ADD `aboutme` text NOT NULL") or

ПЕРЕД этим вставляем

Код:

      "ADD `my_sys` text NOT NULL, ".

находим

Код:

      "DROP `aboutme`") or

добавляем ПЕРЕД

Код:

      "DROP `my_sys`, ".

2. нам нужны языковые расшифровки для страниц
в файлах lang/English/profile.php и lang/Russian/profile.php дублируем все строчки про Aboutme и заменяем слово aboutme на system:
для русского языка это будет выглядеть так:

Код:

'System'                =>    'Моя система',
'System max length'            =>    'Макс. символов: 1024',
'System legend'            =>    'Опишите коротко',
'System info'                =>    'Например, CPU, RAM и видеокарту. В тексте можно использовать встроенные теги BBCode и/или HTML, если это разрешено администратором. Что разрешено, можно увидеть внизу, при редактировании описания.',
'No system'                =>    'Нет описания.',
'System too long'            =>    'Описание не должно превышать 1024 символа.',

3. правим самый главный файл /profile.php.  общий подход такой - отслеживаем поле aboutme, везде где оно упоминается через запятую с другими полями, добавляем через запятую my_sys. где упоминается в отдельных выражениях - копируем блок строк и заменяем "aboutme" на "my_sys", а расшифровки $lang_profile['Aboutme...'] на $lang_profile['System...']
описывать каждое движение мне лениво - чуть позже приведу hdiff-файл. можете сделать это самоcтоятельно, это нетрудно если быть внимательным

Неактивен

 

05.06.2007 08:03:36 #6: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Elektra Profile with Labels

artoodetoo, спасибо. Мод еще не установлен, пока склоняюсь ко второму варианту если не получится сделаю как ты описал в плане А.


никогда не жалей о том чего не можешь изменить

Неактивен

 

24.08.2007 19:49:29 #7: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Elektra Profile with Labels

У меня выдает вот такую ошибку:

Код:

Fatal error: Maximum execution time of 10 seconds exceeded in /usr/home/vshosts/hosts/u1228/amdfan.org/www/forums/profile.php on line 679

Что это значит?
---
Теперь не выдает, но после указания возраста и пола загружает пустую страницу, а профиль не обновляется


никогда не жалей о том чего не можешь изменить

Неактивен

 

26.08.2007 07:28:27 #8: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Elektra Profile with Labels

Проблемы только в профиле и я кажется знаю почему: я вставлял код в установочные файлы, а не в файлы уже действующего форума, видимо из-за этого и выдает:
Notice: Undefined index: num_files in /usr/home/vshosts/hosts/u1228/amdfan.org/www/forums/profile.php on line 1192

Notice: Undefined index: file_bonus in /usr/home/vshosts/hosts/u1228/amdfan.org/www/forums/profile.php on line 1193


никогда не жалей о том чего не можешь изменить

Неактивен

 

26.08.2007 07:37:00 #9: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Elektra Profile with Labels

Еще сейчас обратил внимание на такой момент: при цитировании сообщения другого собеседника пишет "ХХХ написал" если в профиле указать пол, то будет писать "ХХХ написала" если пол женский?


никогда не жалей о том чего не можешь изменить

Неактивен

 

26.08.2007 20:00:27 #10: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Elektra Profile with Labels

ты пропустил какой-то этап установки. undefined index значит что из таблицы нужные поля не извлечены. в SELECT не упоминаются, а должны!

написал/написала — пол автоматом не будет учитываться. это отдельная большая тема, я ее решать не берусь.

Неактивен

 

27.08.2007 06:58:37 #11: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Elektra Profile with Labels

опытным путем выяснил, что notice в профиле появляются только у тех пользователей, которые загружали файлы на форум.
А fatal error у всех.
Мне почему то кажется, что это из-за того что я код вставлял в файлы с дистрибутива, а не с форума.
Если я теперь снова залью новый файл profile.php ,без твоего мода это исправит ситуацию?


никогда не жалей о том чего не можешь изменить

Неактивен

 

27.08.2007 09:12:28 #12: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Elektra Profile with Labels

Если я теперь снова залью новый файл profile.php ,без твоего мода это исправит ситуацию?

не знаю smile не факт. у тебя теперь бардак на форуме.

Неактивен

 

27.08.2007 10:23:47 #13: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Elektra Profile with Labels

попробовал на тестовом нифига ( выдает ошибку

An error was encountered
File: /usr/home/vshosts/hosts/u1228/amdfan.org/www/testforum/profile.php
Line: 934

PunBB reported: Unable to fetch user info

Database reported: Unknown column 'u.num_files' in 'field list' (Errno: 1054)


никогда не жалей о том чего не можешь изменить

Неактивен

 

27.08.2007 10:25:16 #14: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Elektra Profile with Labels

Я думаю этот profile.php надо вручную править, только не знаю что именно надо править (


никогда не жалей о том чего не можешь изменить

Неактивен

 

27.08.2007 12:47:45 #15: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Elektra Profile with Labels

замени все скрипты на "правильные", удали файлы кеша и все!
если ошибки таки останутся - значит база не изменена (не выполнен install_mod)

Database reported: Unknown column 'u.num_files' in 'field list'

так и есть! либо запускай install_mod от EFU, либо ручками в myphpadmin добавь.

Неактивен

 

02.09.2007 06:48:44 #16: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Elektra Profile with Labels

Немного не по теме, но после установки данного мода возникла мысль:
отправлять сообщения с поздравлением когда у пользователя д.р. Есть ли такой мод?


никогда не жалей о том чего не можешь изменить

Неактивен

 

03.09.2007 07:07:26 #17: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Elektra Profile with Labels

Самый свежий релиз Elektra profile http://www.punres.org/viewtopic.php?id=3561
Добавление "Дни рождения на главной странице форума" http://punbb.ru/viewtopic.php?pid=8191#p8191 оно же здесь: http://punbb-pe.org.ru/viewtopic.php?pid=35#p35

"Отправлять сообщения" это чтобы бот писал письма пользователю? Нафига? Какая радость, что компьютер поздравил! Пусть товарищт увидят про д/р и сами поздравляют.

Неактивен

 

04.09.2007 18:00:08 #18: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Elektra Profile with Labels

"Отправлять сообщения" это чтобы бот писал письма пользователю? Нафига? Какая радость, что компьютер поздравил! Пусть товарищт увидят про д/р и сами поздравляют.

) возможно ты и прав


никогда не жалей о том чего не можешь изменить

Неактивен

 

06.09.2007 14:30:18 #19: niikto ↓ 

Administrator
MArt Keepers
bmw-club
jaga-jaga
Откуда: Омск
Здесь с: 25.03.2007
Сообщений: 177
Вебсайт

Re: Elektra Profile with Labels

он 100% прав )

Неактивен

 

Board footer

Powered by PunBB + PE

Valid XHTML Valid CSS

[ Generated in 0.026 seconds, 7 queries executed ]