Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Invision Board » Надо- $MID впихнуть в UCP

Модерирует : Antuan, Dekker

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

tot ra



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
вобщем я решил написать хак чтоб выводился процент сообщений юзера в разделах и тп. вобщем как на руборде... уже считайте все сделал.. только вот оное работает в отдельном php файлике, инклудит неполучается, а просто ссылку кидать нехочется.. вот решил iframe-мом сделать, а туды надо вписать ID мембера.. (хмм.. даже для ссылки понадобилось бы).. а поскольку в теории я устройство IPB незнаю то вот нужен хэлп.. как эту переменную достать то.. пробовал и {$member['ID']} и {$info['member_id']}
но вот както пробным путем неполучается..

Всего записей: 355 | Зарегистр. 18-06-2002 | Отправлено: 23:39 15-04-2003
theIggs



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tot ra
ID текущего мембера из любого места кода:

Код:
$ibforums->member['id']

Но это только для текущего мембера... если хочешь всех перебирать, придётся делать запросы к mySQL.


----------
Русская поддержка по IP.Board на IBResource.ru.
Для счастья нужно: национальный трекер и поисковик!

Всего записей: 1114 | Зарегистр. 13-11-2002 | Отправлено: 05:23 16-04-2003
tot ra



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
theIggs
хм.. да, если вставить {$ibforums->member['id']} в темплейт профиля то он будет отображать мой ИД, а мне надо чтобы при входе в профиль любого юзера отображался их ИД..
..........
во.. сделал наконец то.. хе.. всеже методом проб и ошибок нашел - {$info['mid']}

Всего записей: 355 | Зарегистр. 18-06-2002 | Отправлено: 18:02 16-04-2003
theIggs



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tot ra
А я тебе что сказал? ID текущего мембера.
А это $info['mid'] - не эталон. Попробуй его из какого-нить другого места форума вызвать. Спорим, нифига не получится?
Просто для того, чтоб узнать ID любого пользователя, неизбежен запрос к mySQL базе. Ты можешь создать его сам, но это обычно не требуется, потому что запросы к ibf_members идут из многих мест кода... Только вот у хитрюги Мэтта 1) разные имена полей в базе, в которых хранится ID мемберов (id, mid, author_id и т.п.); 2) разные названия переменных, когда он делает $DB->fetch_row() ($info, $i, $row, $r и т.д.)
Так что обычно ищешь выше по тексту, где делается запрос SELECT из ibf_members и потом ищешь что-то вроде $row = $DB->fetch_row(), или $info = $DB->fetch_row()... Короче, ладно... код надо читать!


----------
Русская поддержка по IP.Board на IBResource.ru.
Для счастья нужно: национальный трекер и поисковик!

Всего записей: 1114 | Зарегистр. 13-11-2002 | Отправлено: 18:59 16-04-2003
tot ra



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
вобщем кому интересно что получилось -
это чтото типа
http://hm.wp-club.net/index.php?act=Profile&CODE=03&MID=1
там ище правда кучу делать ище надо, ошибка на ошибке, сортировку ставить надо и тп. но чтото уже делает
 
Добавлено
theIggs
ты меня непонял немного.. мне надо было не ID данного пользователя (меня), а именно того, в чей профиль я захожу.. значение MID в урле профиля...

Всего записей: 355 | Зарегистр. 18-06-2002 | Отправлено: 00:15 17-04-2003
tot ra



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
тяк.. сделал я уже более менее нормально его (помойму) - есть сортировка, выводит нормальненько последние темы в статистике разделов.. НО такой вот вопросик возник по ходу дела..
как сделать чтоб он соединял два символа - &# вместе, т.к. когда мне надо перейти к определенному ответу он эти символы переводит в уникод - с процентами и все такое.. а надо чтоб нормально было..
пробовал уже и urldecode/urlencode функции... и странно так.. если без символа & писать, то решетка не конвертируется... хелп?

Всего записей: 355 | Зарегистр. 18-06-2002 | Отправлено: 18:50 19-04-2003
theIggs



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tot ra
Код этого места дай.


----------
Русская поддержка по IP.Board на IBResource.ru.
Для счастья нужно: национальный трекер и поисковик!

Всего записей: 1114 | Зарегистр. 13-11-2002 | Отправлено: 19:10 19-04-2003
tot ra



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
theIggs
 
$tempLastPost='<a target=_blank href=\'index.php?act=ST&f='.$name[13].'&t='.$name[12].urldecode('&#entry').$name[2].'\'>';

Всего записей: 355 | Зарегистр. 18-06-2002 | Отправлено: 19:23 19-04-2003
theIggs



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tot ra
Кхе... Короче, у меня и так отображается. :\
Знаешь только что... Чтобы на конкретный пост перейти, нужно в ссылке обязательно учитывать номер страницы. Т.е. не f=2&t=3&#entry41, а f=2&t=3&st=10#entry41, например. Иначе ссылка такого вида перебрасывает на начало темы. Может, у тебя из-за этого не работает? Поправь; тогда и с &# мучиться не придётся.

----------
Русская поддержка по IP.Board на IBResource.ru.
Для счастья нужно: национальный трекер и поисковик!

Всего записей: 1114 | Зарегистр. 13-11-2002 | Отправлено: 20:44 19-04-2003
tot ra



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
theIggs
поставил этот st=0 но все равно непереносит.. стрянно

Всего записей: 355 | Зарегистр. 18-06-2002 | Отправлено: 21:04 19-04-2003
theIggs



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tot ra
Да там не обязательно должно стоять st=0... если пост попадает на вторую страницу при разбивке, скажем, по 15 постов, то &st=15#entry41... Ты же на ibresource.ru зареген, видел там над каждым сообщением надпись "Сообщение №xxxx"? И работает. Вот и тебе нужно ссылку такого же вида сделать. Покопался бы в хаке, который они себе ставили...
Вот. А бету твоего хака я поставить не смог

Цитата:
Warning: Undefined variable: tPostDate in z:\home\localhost\www\forum\profstat.php on line 23
 
Warning: Undefined variable: i in z:\home\localhost\www\forum\profstat.php on line 30
 
Warning: Undefined variable: fid in z:\home\localhost\www\forum\profstat.php on line 30
 
Warning: Undefined variable: bigpost in z:\home\localhost\www\forum\profstat.php on line 38
 
Warning: Undefined variable: i in z:\home\localhost\www\forum\profstat.php on line 49

Вот такая фигня вылетает.
Так что я вообще в тотальном шоке...

----------
Русская поддержка по IP.Board на IBResource.ru.
Для счастья нужно: национальный трекер и поисковик!

Всего записей: 1114 | Зарегистр. 13-11-2002 | Отправлено: 22:36 19-04-2003 | Исправлено: theIggs, 22:37 19-04-2003
H_e_r_m_i_t



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tot ra
Приятный хак. Но вот со временем последнего сообщения чего то не в порядке:  4-18-2003 17:9, хотя сообщение в 17.09 + вывод времени последнего сообщения  осуществляется с учетом времененной зоны сервера?

Всего записей: 950 | Зарегистр. 26-04-2002 | Отправлено: 23:41 19-04-2003
tot ra



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
H_e_r_m_i_t
время он берет из базы.. думаю там GMT=0 время.. хотя может и серверное... а нолик подписать не проблема.. там дописать надо что если минут>9 то нулик добавить...
theIggs
ммдя..  ты уже второй кто не смог поставить.. то у чела чтото с базой не получается.. теперь ище переменные.. может php версия другая и там синтаксис другой?
просто в моей объявлять переменную необязательно.. она как и в си автоматом при использовании инициализуется и в нее 0 записывается... попробуйте в начало кода дописать
 
$tPostDate=0;
$i=0;
$fid=0;
$bigpost=0;

Всего записей: 355 | Зарегистр. 18-06-2002 | Отправлено: 00:44 21-04-2003
H_e_r_m_i_t



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tot ra
Время серверное.

Цитата:
ам дописать надо что если минут>9 то нулик добавить...  

if ($LPostDate['minutes'] <=9)
{
$LPostDate['minutes'] ='0'.$LPostDate['minutes'];
}
 
if ($tbigDate['minutes'] <=9)
{
$tbigDate['minutes']='0'.$tbigDate['minutes'];
}
 
- кажись помогло.
 
Добавлено
Если в profstat.php есть include('conf_global.php'); , то, насколько я понимаю, можно использовать $INFO['time_adjust'] и $INFO['time_offset']... Наверное...
 
Добавлено
Ага, $tempPDate=$tempPDate+3600*$INFO['time_offset']; работает, что есть гут

Всего записей: 950 | Зарегистр. 26-04-2002 | Отправлено: 00:53 21-04-2003 | Исправлено: H_e_r_m_i_t, 01:07 21-04-2003
tot ra



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
упс.. забыл.. там где

Код:
 
$sql = "SELECT * FROM ibf_posts WHERE author_id=$MID ORDER BY forum_id,pid DESC";
 

надо бы везде вместо ibf_ поставить $INFO['sql_tbl_prefix']
 

Код:
 
$sql = "SELECT * FROM ".$INFO['sql_tbl_prefix']."posts WHERE author_id=$MID ORDER BY forum_id,pid DESC";
 

 
это на тот случай если префикс другой ктонить поставил
 
Добавлено
theIggs
ище новость..  
поставил я последнюю версию php на локалку себе.. запустил - стока ошибок вывел.. ужас.. вобщем я уже всё исправил, походу у меня старенькая версия была.. скоро обновлю, в том числе и с тем что H_e_r_m_i_t предлагал и менял

Всего записей: 355 | Зарегистр. 18-06-2002 | Отправлено: 18:21 21-04-2003
H_e_r_m_i_t



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tot ra
Еще вспомнил: надо бы как нибудь сделать, чтобы время не только с поправкой на часовой пояс сервера выводилось, но и на часовой пояс пользователя, который просматривает статистику.

Всего записей: 950 | Зарегистр. 26-04-2002 | Отправлено: 01:03 22-04-2003
H_e_r_m_i_t



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кажись удалось добавить поправку на часововой пояс пользователя и Server Time Adjustment:
1. Profile.php
после

Код:
 
$info['msn_name']  

добавил

Код:
if($ibforums->member)
{
$info['user_offset']=$ibforums->member['time_offset'];
}
else
{
$info['user_offset'] =0;
}

2.Manage Template Sets >> Profile View Sections >> Member Profile Page

Код:
<iframe src="profstat.php?MID={$info['mid']}"  frameborder=0 width=100% height=201 ></iframe>

заменил на

Код:
 
<iframe src="profstat.php?MID={$info['mid']}&USEROFFSET={$info['user_offset']}"  frameborder=0 width=100% height=201 ></iframe>

3. profstat.php

Код:
 
$name[8]=$name[8]-3600*$INFO['time_offset']+60*$INFO['time_adjust']+3600*$USEROFFSET;
 
[code]$tempPDate=$tempPDate-3600*$INFO['time_offset']+60*$INFO['time_adjust']+3600*$USEROFFSET;

 
Кажись работает
 
 
Добавлено
Мде...Что-то все равно не так...

Всего записей: 950 | Зарегистр. 26-04-2002 | Отправлено: 19:53 09-05-2003 | Исправлено: H_e_r_m_i_t, 20:29 09-05-2003
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Invision Board » Надо- $MID впихнуть в UCP


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru