Получение ID пользователя просматриваемого профиля

S

Sarymian

Гость
#1
Здравствуйте.

Просматривая профиль пользователя profile.php -> usercp_viewprofile.php (usercp_viewprofile.tpl) выполняется некая функция из AJAX.PHP (того что в корне).

Как внутри этой функции получить ID пользователя профиль которого я просматриваю?

Допустим я зашел пользователем Test c ID=3, и просматриваю профиль Admin. Как мне получить id=2 ?
 

fly_indiz

Пользователь
#2
Sarymian, боюсь что вы сами не знаете чего хотите.
зачем вам чтото получать, если вы даже не знаете где и для чего хотите полученное применять?
цитируя ваши слова: "выполняется некая функция" - могу также ответить на ваш вопрос: Чтоб получить некий id нужно в некоем месте написать некую строчку кода.
Чтоб получить внятный ответ нужно как минимум иметь внятные оформленные желания о том что нужно сделать и на основе этого задать внятный вопрос.
 
S

Sarymian

Гость
#3
ммм... Ладно опишу полностью, но на самом деле не имеет значение какая функция и что с этими данными будет делать ;)

Попросили доработать чат (тот что есть в паблике), чтобы выглядел как доска в социалках (т.е. в профиле пользователя отображался свой собственный "чат").

Допиливал чат под себя (то как мне надо было), из него же допиливаю чат для каждого пользователя.

PHP:
function chat_message()
  {
        global $bb_cache, $userdata, $bb_cfg, $lang;
        $mode = (int) $this->request['mode'];
        $message = (string) @$this->request['message'];
 
        if($mode==1)
        {
            if(!$message) $this->ajax_die($lang['SHOUTBOX_ERR']);
            $bbcode_on = $bb_cfg['allow_bbcode'];
            $smilies_on = $bb_cfg['allow_smilies'];
 
            if(!IS_ADMIN)
            {
                $chk = DB()->fetch_row('SELECT MAX(shout_session_time) AS last_post_time
                                        FROM bb_shout
                                        WHERE shout_user_id = '.$userdata['user_id']);
                if ( $chk['last_post_time'] > 0 && ( time() - $chk['last_post_time'] ) < $bb_cfg['flood_interval'] ) $this->ajax_die($lang['FLOOD_ERROR']);
            }
            if (!empty($message))
            {
                DB()->query('INSERT INTO bb_shout (shout_text, shout_session_time, shout_user_id, shout_ip)
                            VALUES ("'.DB()->escape($message).'", '.time().', '.$userdata['user_id'].', "'.USER_IP.'")');
                CACHE('bb_cache')->rm('shout_data_adm***СюдаНадоВставитьID***', 60);
                CACHE('bb_cache')->rm('shout_data***СюдаНадоВставитьID***', 60);
            }
        }
 
////////////////////////////////////////////////////////////////////////////////
Вот мне и надо "внутри" этой функции получить переменную со значение ID пользователя профиль которого в данный момент просматривается, и вписать его в ***СюдаНадоВставитьID***, чтобы для каждого пользователя был свой КЕШ-файл стены.

Может Вам покажется это выполненым из попы, но простите я 1 неделю PHP занимаюсь, но уже доработал, как мог, чат чтобы убрать из него большинство "багов" и "фич".
 

fly_indiz

Пользователь
#4
но на самом деле не имеет значение какая функция и что с этими данными будет делать
ну это вы так думаете. значение имеет многое.
нда в общем, не буду комментировать происходящее, но помочь несложно.
в этой функции есть такие строки:
$this->request['mode'];
и подобные. они принимают переданные со страницы параметры.
на tpl странице профиля в описании вызова ajax-функции вы можете найти факт передачи этих параметров, а также добавить передачу того что тебе нужно:
profile_id : {PROFILE_USER_ID},
а в ajax.php уже принять то что передал:
$this->request['profile_id'];
вот и всех делов.
 
S

Sarymian

Гость
#5
СУПЕР! Большое спасибо!!!
нда в общем, не буду комментировать происходящее
а это относительно чего? :))) Кода? Или изысканий о важности места во вселенной? :)

З.Ы. с JS у меня еще хуже чем с PHP :) поэтому не знал про передачу параметров... сорри за крабизм.
 
S

Sarymian

Гость
#7
Окей :) Еще раз спасибо! Пол дня убил на попытки вытащить из какой нибудь глобальный переменной (массива) нужную мне информацию.
 
Сверху