[Profile User Action] - показывает в профиле, что пользователь делает на форуме

Автор Fizmatik, 07 июля 2007, 13:04:04

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Fizmatik

Profile User Action
http://custom.simplemachines.org/mods/index.php?mod=540
Мод добавляет в основную страницу профиля строку, которая показывает в профиле, что пользователь делает на форуме в данный момент, как бы персонализированная система Кто Online.
Как в Vbulletin.

Так вот, такая проблема, при установке, второй файл изменяется, а первый нет, пробовал руками, но такую строку найти не могу, возможно это из-за моих модов или версии 1.1.3
Помогите плз.
Кстати, мод в руссификации не нуждается.
Создание сайтов под-ключ, программирование.
Срок, цена, качество - выберите 2 из 3х.

Fizmatik

Ну что, полный игнор???
Просто в моём файле Profile.php нет такой строки, которую мод ищет при установке.
<search position="after"><![CDATA[   // They haven't even been registered for a full day!?]]></search>
Создание сайтов под-ключ, программирование.
Срок, цена, качество - выберите 2 из 3х.

Mavn

в стандарте это строка 1193
Если взять чуть выше то код получится следующий
Код ( строки : 1175-1246) Выделить

// View a summary.
function summary($memID)
{
global $context, $memberContext, $txt, $modSettings, $user_info, $user_profile, $sourcedir, $db_prefix, $scripturl;

// Attempt to load the member's profile data.
if (!loadMemberContext($memID) || !isset($memberContext[$memID]))
fatal_error($txt[453] . ' - ' . $memID, false);

// Set up the stuff and load the user.
$context += array(
'allow_hide_email' => !empty($modSettings['allow_hideEmail']),
'page_title' => $txt[92] . ' ' . $memberContext[$memID]['name'],
'can_send_pm' => allowedTo('pm_send'),
'can_have_buddy' => allowedTo('profile_identity_own') && !empty($modSettings['enable_buddylist']),
);
$context['member'] = &$memberContext[$memID];

// They haven't even been registered for a full day!?
$days_registered = (int) ((time() - $user_profile[$memID]['dateRegistered']) / (3600 * 24));
if (empty($user_profile[$memID]['dateRegistered']) || $days_registered < 1)
$context['member']['posts_per_day'] = $txt[470];
else
$context['member']['posts_per_day'] = comma_format($context['member']['real_posts'] / $days_registered, 3);

// Set the age...
if (empty($context['member']['birth_date']))
{
$context['member'] +=  array(
'age' => &$txt[470],
'today_is_birthday' => false
);
}
else
{
list ($birth_year, $birth_month, $birth_day) = sscanf($context['member']['birth_date'], '%d-%d-%d');
$datearray = getdate(forum_time());
$context['member'] += array(
'age' => $birth_year <= 4 ? $txt[470] : $datearray['year'] - $birth_year - (($datearray['mon'] > $birth_month || ($datearray['mon'] == $birth_month && $datearray['mday'] >= $birth_day)) ? 0 : 1),
'today_is_birthday' => $datearray['mon'] == $birth_month && $datearray['mday'] == $birth_day
);
}

if (allowedTo('moderate_forum'))
{
// Make sure it's a valid ip address; otherwise, don't bother...
if (preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $memberContext[$memID]['ip']) == 1 && empty($modSettings['disableHostnameLookup']))
$context['member']['hostname'] = host_from_ip($memberContext[$memID]['ip']);
else
$context['member']['hostname'] = '';

$context['can_see_ip'] = true;
}
else
$context['can_see_ip'] = false;

if (!empty($modSettings['who_enabled']))
{
include_once($sourcedir . '/Who.php');
$action = determineActions($user_profile[$memID]['url']);

if ($action !== false)
$context['member']['action'] = $action;
}

// If the user is awaiting activation, and the viewer has permission - setup some activation context messages.
if ($context['member']['is_activated'] % 10 != 1 && allowedTo('moderate_forum'))
{
$context['activate_type'] = $context['member']['is_activated'];
// What should the link text be?
$context['activate_link_text'] = in_array($context['member']['is_activated'], array(3, 4, 5, 13, 14, 15)) ? $txt['account_approve'] : $txt['account_activate'];



а дальше как говорится смотрите что у вас в этом куске кода не так и адаптируйте под себя
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Fizmatik

Всё нашёл, вписал, во второй файл всё установилось через инсталл....изменений не вижу...что это может быть????
Создание сайтов под-ключ, программирование.
Срок, цена, качество - выберите 2 из 3х.

Fizmatik

Всё, спасибо, всё заработало. Работает прекрасно.
Пользуемся!
Создание сайтов под-ключ, программирование.
Срок, цена, качество - выберите 2 из 3х.

A.N.R.I

Цитата: Fizmatik от 07 июля 2007, 19:21:58
Всё, спасибо, всё заработало. Работает прекрасно.
Пользуемся!
Ссылка, котороя в первом посту - будет совмстима с 1,1,5 или 1,1,6 ?
Моя мова - УКРАЇНСЬКА!!!


Dr_Zhalnin

А у меня чегото этот мод не показывает.....
И вопрос.....
В файле Profile.php // They haven't even been registered for a full day!? код изменения после или перед этой строкой  ставить?Так как на Офф сайте нужно ставить ДО http://custom.simplemachines.org/mods/index.php?action=parse
А я гдето прочитал что после...

Find: [Select]
   
Цитировать// They haven't even been registered for a full day!?

Add Before: [Select]
   
Цитировать//-Profile User Action MOD- Start
   if (allowedTo('who_view'))
   {
      // Look for people online, provided they don't mind if you see they are.
      $request = db_query("
         SELECT (UNIX_TIMESTAMP(lo.logTime) - UNIX_TIMESTAMP() + " . time() . ") AS logTime, lo.url,
         IFNULL(mem.showOnline, 1) AS showOnline, lo.session
         FROM {$db_prefix}log_online AS lo LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = lo.ID_MEMBER)
         WHERE lo.ID_MEMBER = $memID " . (!allowedTo('moderate_forum') && $memID != $context['user']['id'] ? " AND IFNULL(mem.showOnline, 1) = 1" : '') . "
         LIMIT 1", __FILE__, __LINE__);
      $url_data = '';
      while ($row = mysql_fetch_assoc($request))
      {
         $actions = @unserialize($row['url']);
         if ($actions === false)
            continue;

         $context['user_action'] = array(
            'showOnline' => $row['showOnline'],
            'time' => strtr(timeformat($row['logTime']), array($txt['smf10'] => '', $txt['smf10b'] => '')),
            'timestamp' => forum_time(true, $row['logTime']),
            'is_hidden' => $row['showOnline'] == 0,
            'action' => ''
            );
         $url_data[0] = array($row['url'],$memID);
      }

      if (!empty($url_data))
      {
         require_once($sourcedir.'/Who.php');
      list($context['user_action']['action']) = determineActions($url_data);
      }
   }
  //-Profile User Action MOD- End

SsangYong Club Украина http://ssangyong-club.org<br />SsangYong club Ukrainian