smash_TeAm Опубликовано 31 Октября 2006 Жалоба Поделиться Опубликовано 31 Октября 2006 Название: Возраст пользователя в топикеДобавил: smash_TeAmДобавлен: 31 Окт 2006Обновлен: 09 Ноя 2007Категория: IP.Board 2.3.x Отображение возраста в топике для 2.1.х, 2.2.x, 2.3.xВыводит полный возраст в краткой информации о пользователе при просмотре темы Нажмите здесь, чтобы скачать файл Ссылка на комментарий Поделиться на других сайтах Прочее
Master Опубликовано 31 Октября 2006 Жалоба Поделиться Опубликовано 31 Октября 2006 И ради этого нужно было создавать мод? Мдяя. Ссылка на комментарий Поделиться на других сайтах Прочее
smash_TeAm Опубликовано 31 Октября 2006 Автор Жалоба Поделиться Опубликовано 31 Октября 2006 Для отображения в профиле же сделали почему бы и нет, если народ просит? Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 31 Октября 2006 Жалоба Поделиться Опубликовано 31 Октября 2006 (изменено) Ну, если добавлять столько кода - то можно конечно и мод. if ($member['bday_year'] && $member['bday_month'] && $member['bday_day']) { $year_today = date("Y"); $month_today = date("m"); $day_today = date("d"); $year_born = $member['bday_year']; $month_born = $member['bday_month']; $day_born = $member['bday_day']; if ($month_born == $month_today && $day_born == $day_today) { $birtday = $year_today - $year_born; $member['old'] = "$birtday <br><b>{{ipb.lang['birtday']}</b>"; } elseif ($month_born <= $month_today && $day_born <= $day_today) { $member['old'] = $year_today - $year_born; } else { $member['old'] = $year_today - $year_born -1; }Зачем такие извращения ? Вся эта штука делается в 2 строчки.http://php.net/time http://php.net/strtotime http://php.net/date Изменено 31 Октября 2006 пользователем Destruction Ссылка на комментарий Поделиться на других сайтах Прочее
smash_TeAm Опубликовано 31 Октября 2006 Автор Жалоба Поделиться Опубликовано 31 Октября 2006 А чем тут много кода? Дату записаную в бд в виде "31 5 2006" сравнил с текущей датой в таком же формате - так мне показалось проще.... И условий вроде немного... Если кто подскажет как лучше сделать - буду только рад, я же ещё только учусь Ссылка на комментарий Поделиться на других сайтах Прочее
Nightmare Опубликовано 31 Октября 2006 Жалоба Поделиться Опубликовано 31 Октября 2006 Заметил непонятное явление.... После 12 часов ПМ, возраст у всех почему-то убавился на год.... Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 31 Октября 2006 Жалоба Поделиться Опубликовано 31 Октября 2006 Заметил непонятное явление.... После 12 часов ПМ, возраст у всех почему-то убавился на год....г ыг ыгы гыгыпомолодели они Ссылка на комментарий Поделиться на других сайтах Прочее
Nightmare Опубликовано 1 Ноября 2006 Жалоба Поделиться Опубликовано 1 Ноября 2006 Смех смехом, но вот понять не могу в чем тут прикол. Изменений не вносил никаких. Работало нормально. Но вот с 1 ноября все помолодели на год )) Как поправить? Ссылка на комментарий Поделиться на других сайтах Прочее
smash_TeAm Опубликовано 1 Ноября 2006 Автор Жалоба Поделиться Опубликовано 1 Ноября 2006 Мужики, на 12 часовом режиме трабл быть в принципе не должно, стукните в 455891032 Ссылка на комментарий Поделиться на других сайтах Прочее
Zeratull Опубликовано 1 Ноября 2006 Жалоба Поделиться Опубликовано 1 Ноября 2006 Внёс изменения как надо.Где что должно измениться? не вижу изменений :dont_know: Ссылка на комментарий Поделиться на других сайтах Прочее
smash_TeAm Опубликовано 1 Ноября 2006 Автор Жалоба Поделиться Опубликовано 1 Ноября 2006 Zeratull,Должно отображаться, если строго по инструкции, то прямо в топике, под полем "Регистрация: х.х.хххх" появится поле "Возраст: хх" (только при условии что дата рождения указана полностью). Nightmare,Не понял, вы наверное меняли формат даты регистрации? или у Вас на локальной машине стоит дата в 12 часовом формате? Ссылка на комментарий Поделиться на других сайтах Прочее
Nightmare Опубликовано 1 Ноября 2006 Жалоба Поделиться Опубликовано 1 Ноября 2006 Вроде разобрался... Вот в этом коде мода, по идее и минусуется год: $member['old'] = $year_today - $year_born -1; Поставил значение -0, теперь нормально отображается. Вот только вопрос... Почему тогда возраст сразу нормально отображался при значении -1? Ссылка на комментарий Поделиться на других сайтах Прочее
smash_TeAm Опубликовано 1 Ноября 2006 Автор Жалоба Поделиться Опубликовано 1 Ноября 2006 хмм, если этот минус убрать, то возраст будет меняться с нового года.... а годик та 2006 ? или 2005? Ссылка на комментарий Поделиться на других сайтах Прочее
Nightmare Опубликовано 2 Ноября 2006 Жалоба Поделиться Опубликовано 2 Ноября 2006 хмм, если этот минус убрать, то возраст будет меняться с нового года.... а годик та 2006 ? или 2005?2006.... Ссылка на комментарий Поделиться на других сайтах Прочее
smash_TeAm Опубликовано 2 Ноября 2006 Автор Жалоба Поделиться Опубликовано 2 Ноября 2006 мой косяк с условиями, исправлюсь. Ссылка на комментарий Поделиться на других сайтах Прочее
smash_TeAm Опубликовано 2 Ноября 2006 Автор Жалоба Поделиться Опубликовано 2 Ноября 2006 Nightmare,Исправляюсь:В файле /sources/action_public/topics.php вместо предыдущего кода вписать следующий: if ($member['bday_year'] && $member['bday_month'] && $member['bday_day']) { $year_today = date("Y"); $month_today = date("m"); $day_today = date("d"); $year_born = $member['bday_year']; $month_born = $member['bday_month']; $day_born = $member['bday_day']; if ($month_born == $month_today && $day_born == $day_today) { $birtday = $year_today - $year_born; $member['old'] = "$birtday <br><b>{$this->ipsclass->lang['birtday']}</b>"; } elseif ($month_born == $month_today && $day_born < $day_today) { $member['old'] = $year_today - $year_born; } elseif ($month_born === $month_today && $day_born > $day_today) { $member['old'] = $year_today - $year_born -1; } elseif ($month_born < $month_today) { $member['old'] = $year_today - $year_born; } else { $member['old'] = $year_today - $year_born -1; } $member['member_old'] = $this->ipsclass->compiled_templates['skin_topic']->member_old( $member['old']); } Архив обновлён. Ссылка на комментарий Поделиться на других сайтах Прочее
Nightmare Опубликовано 2 Ноября 2006 Жалоба Поделиться Опубликовано 2 Ноября 2006 smash_TeAmТеперь все впорядке Ссылка на комментарий Поделиться на других сайтах Прочее
PAIN2 Опубликовано 5 Ноября 2006 Жалоба Поделиться Опубликовано 5 Ноября 2006 smash_TeAm респект Ссылка на комментарий Поделиться на других сайтах Прочее
OverHerz Опубликовано 7 Ноября 2006 Жалоба Поделиться Опубликовано 7 Ноября 2006 а нафиг добавлять новый темплэйт??? не проще сразу вывести в Renderrow? Ссылка на комментарий Поделиться на других сайтах Прочее
smash_TeAm Опубликовано 8 Ноября 2006 Автор Жалоба Поделиться Опубликовано 8 Ноября 2006 OverHerz,Ожидаю конструктивных предложений. Ссылка на комментарий Поделиться на других сайтах Прочее
titanik Опубликовано 8 Ноября 2006 Жалоба Поделиться Опубликовано 8 Ноября 2006 У меня такая проблема: ИПБ 2.1.7 поставил мод, расчитывает возраст правильно, но только видны цифры возратса тупо, и проблема сама в том что перед цифрами нету слов: Возраст... Что делать? я этот мод 2 раза ставил, и не могу понять в чем проблема, в lan файле прописал перевод, в хтмл редакторе вписал member_old, все делал по инструкциии.... на разных даже скинах для форума провбовал... всервно видны только цифры возраста... =\ Ссылка на комментарий Поделиться на других сайтах Прочее
PAIN2 Опубликовано 8 Ноября 2006 Жалоба Поделиться Опубликовано 8 Ноября 2006 значит что то неправильно. у меня все с 1 раза пошло. Ссылка на комментарий Поделиться на других сайтах Прочее
~Aqua~ Опубликовано 11 Ноября 2006 Жалоба Поделиться Опубликовано 11 Ноября 2006 А можно сделать так чтоб вместо 6,11,1981 показывал сколько лет ему (напр: 25)... И как можно его добавить в обьязательное поле при регистрации? Ссылка на комментарий Поделиться на других сайтах Прочее
~Aqua~ Опубликовано 11 Ноября 2006 Жалоба Поделиться Опубликовано 11 Ноября 2006 и вот что за ошибка выходит после того как все делаю... mySQL query error: SELECT p.*, m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn, me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name, m.bday_day, m.bday_month, m.bday_year pc.* FROM ibf_posts p LEFT JOIN ibf_members m ON (p.author_id=m.id) LEFT JOIN ibf_member_extra me ON (me.id=m.id) LEFT JOIN ibf_pfields_content pc ON (pc.member_id=p.author_id) WHERE p.pid IN(57640,58697,61022,62581,62968,65822) ORDER BY pid asc SQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.* FROM ibf_posts p LEFT JOIN ibf_members m ON (p.author_id=m.id) ' at line 4 SQL error code: Date: 11.11.2006, 17:39 Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 11 Ноября 2006 Жалоба Поделиться Опубликовано 11 Ноября 2006 Это вызвано, что вы лицензией не пользуетесь. Откройте mysql_queries.php найдите там FROM .SQL_PREFIX."posts p LEFT JOIN ".SQL_PREFIX."members m ON (p.author_id=m.id) LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id) WHERE p.pid IN(".implode(',', $a['pids']).") ORDER BY {$a['scol']} {$a['sord']};и замените на FROM ".SQL_PREFIX."posts p LEFT JOIN ".SQL_PREFIX."members m ON (p.author_id=m.id) LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id) WHERE p.pid IN(".implode(',', $a['pids']).") ORDER BY {$a['scol']} {$a['sord']}"; Вроде так правильно должно быть. Короче, должно быть так, как приведено во втором КОДе. меняй Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения