Фишка с статусом

548
.
JavaMan
Тоже хотел бы такие цветные ники замутить
.
JavaMan
Vert1go, у меня и так,сделано,наподобий))
.
Dagestan_ец (24.10.2010/00:11)
статус чтобы получился цветным нужно писать через базу иначе через редактирование анкеты тэги воспринимаются как текст
Убери в коде анкеты ф-ию htmlspecialchars(). Так появится уязвимость, но я думаю, что администрация свой сайт ломать не станет.
.
ЁжиГ В СтрингАх
скрин то покажи
.
Ps - наше всё
LeoMc, В примере и так видно, ну раз так просите
Прикрепленные файлы:
.
Нормально делай - Нормально будет
спасибо за идеи и замечечания))
.
Проще обработать как обрабатывается другие данные в анкете таким образом.
/////
if (!empty($user['status']))
echo '<span class="gray">статус: </span><span class="status">[/red]' . smileys(tags([/red]$user['status'])) . '</span><br/>';
.
Нормально делай - Нормально будет
ACTION (24.10.2010/23:30)
Проще обработать как обрабатывается другие данные в анкете таким образом.
/////
if (!empty($user['status']))
echo '<span class="gray">статус: </span><span class="status">' . smileys(tags($user[
можешь объяснить че после этого изменится?
.
Dagestan_ец (25.10.2010/01:00)
можешь объяснить че после этого изменится?
Меняеш статус любому юзверю добавляя смайлы и тэги [/red] [/green] и т.д. И они будут обрабатываться в анкете. Еще если в func.php так же замениш статус так как тут
/////

function show_user($user = array (), $status = 0, $ip = 0, $str = '', $text = '', $sub = '') {
////////////////////////////////////////////////////////////
// Отображение пользователей //
////////////////////////////////////////////////////////////
// $user (array) - массив запроса в таблицу `users` //
// $status (boolean) - показать статус //
// $ip (int) - отображение IP и UserAgent //
// 0 - не показывать //
// 1 - показать //
// 2 - показать ссылку на IP поиск //
// $str (string) - строка выводится после Ника юзера //
// $text (string) - выводится после строки со статусом //
// $sub (string) - строка выводится в области "sub" //
////////////////////////////////////////////////////////////
global $set_user, $realtime, $user_id, $admp, $home;
$out = false;
if (!$user['id']) {
$out = '<b>Гость</b>';
if (!empty($user['name']))
$out .= ': ' . $user['name'];
if (!empty($str))
$out .= ' ' . $str;
} else {
if ($set_user['avatar']) {
$out .= '<table cellpadding="0" cellspacing="0"><tr><td>';
if (file_exists(('../files/avatar/' . $user['id'] . '.png')))
$out .= '<img src="../files/avatar/' . $user['id'] . '.png" width="32" height="32" alt="' . $user['name'] . '" /> ';
else
$out .= '<img src="../images/empty.png" width="32" height="32" alt="' . $user['name'] . '" /> ';
$out .= '</td><td>';
}
if ($user['sex'])
$out .= '<img src="../theme/' . $set_user['skin'] . '/images/' . ($user['sex'] == 'm' ? 'm' : 'w') . ($user['datereg'] > $realtime - 86400 ? '_new' : '') . '.png" width="16" height="16" align="middle" />';
else
$out .= '<img src="../images/del.png" width="12" height="12" align="middle" /> ';
$out .= !$user_id || $user_id == $user['id'] ? '<b>' . $user['name'] . '</b>' : '<a href="../str/anketa.php?id=' . $user['id'] . '"><b>' . $user['name'] . '</b></a>';
$rights = array (
0 => '',
1 => '[Мг]',
2 => '[Мч]',
3 => '[Мф]',
4 => '[Мз]',
5 => '[Мб]',
6 => '[СМ]',
7 => '[Адм]',
9 => '[!SV!]'
);
$out .= ' ' . $rights[$user['rights']];
$out .= ($realtime > $user['lastdate'] + 300 ? '<span class="red"> [of]</span>' : '<span class="green"> [on]</span>');
if (!empty($str))
$out .= ' ' . $str;
if ($status && !empty($user['status']))
$out .= '<div class="status"><img src="../theme/' . $set_user['skin'] . '/images/label.png" alt="" align="middle" /> ' . $user['status'] . ' //>>>// ' . smileys(tags($user['status'])) . '</div>';
if ($set_user['avatar'])
$out .= '</td></tr></table>';
}
if ($text)
$out .= '<div>' . $text . '</div>';
if ($sub || $ip) {
$out .= '<div class="sub">';
if (!empty($sub))
$out .= $sub;
if ($ip) {
$out .= '<div class="gray"> '.strtok($user['browser'], ' ').'<br />';
if ($ip == 2)
$out .= 'IP <a href="../' . $admp . '/index.php?act=usr_search_ip&amp;ip=' . $user['ip'] . '">' . long2ip($user['ip']) . '</a></div>';
else
$out .= '<u>IP ' . long2ip($user['ip']) . '</div>';
}
$out .= '</div>';
}
return $out;
}
///// тогда у вас и в форуме и в гостивой будет выводиться цветной статус и смайлы тоже будут обрабатываться.
.
Dagestan_ец (25.10.2010/01:00)
можешь объяснить че после этого изменится?
Меняеш статус любому юзверю добавляя смайлы и тэги [/red] [/green] и т.д. И они будут обрабатываться в анкете. Еще если в func.php так же замениш статус так как тут
/////

function show_user($user = array (), $status = 0, $ip = 0, $str = '', $text = '', $sub = '') {
////////////////////////////////////////////////////////////
// Отображение пользователей //
////////////////////////////////////////////////////////////
// $user (array) - массив запроса в таблицу `users` //
// $status (boolean) - показать статус //
// $ip (int) - отображение IP и UserAgent //
// 0 - не показывать //
// 1 - показать //
// 2 - показать ссылку на IP поиск //
// $str (string) - строка выводится после Ника юзера //
// $text (string) - выводится после строки со статусом //
// $sub (string) - строка выводится в области "sub" //
////////////////////////////////////////////////////////////
global $set_user, $realtime, $user_id, $admp, $home;
$out = false;
if (!$user['id']) {
$out = '<b>Гость</b>';
if (!empty($user['name']))
$out .= ': ' . $user['name'];
if (!empty($str))
$out .= ' ' . $str;
} else {
if ($set_user['avatar']) {
$out .= '<table cellpadding="0" cellspacing="0"><tr><td>';
if (file_exists(('../files/avatar/' . $user['id'] . '.png')))
$out .= '<img src="../files/avatar/' . $user['id'] . '.png" width="32" height="32" alt="' . $user['name'] . '" /> ';
else
$out .= '<img src="../images/empty.png" width="32" height="32" alt="' . $user['name'] . '" /> ';
$out .= '</td><td>';
}
if ($user['sex'])
$out .= '<img src="../theme/' . $set_user['skin'] . '/images/' . ($user['sex'] == 'm' ? 'm' : 'w') . ($user['datereg'] > $realtime - 86400 ? '_new' : '') . '.png" width="16" height="16" align="middle" />';
else
$out .= '<img src="../images/del.png" width="12" height="12" align="middle" /> ';
$out .= !$user_id || $user_id == $user['id'] ? '<b>' . $user['name'] . '</b>' : '<a href="../str/anketa.php?id=' . $user['id'] . '"><b>' . $user['name'] . '</b></a>';
$rights = array (
0 => '',
1 => '[Мг]',
2 => '[Мч]',
3 => '[Мф]',
4 => '[Мз]',
5 => '[Мб]',
6 => '[СМ]',
7 => '[Адм]',
9 => '[!SV!]'
);
$out .= ' ' . $rights[$user['rights']];
$out .= ($realtime > $user['lastdate'] 300 ? '<span class="red"> [of]</span>' : '<span class="green"> [on]</span>');
if (!empty($str))
$out .= ' ' . $str;
if ($status && !empty($user['status']))
$out .= '<div class="status"><img src="../theme/' . $set_user['skin'] . '/images/label.png" alt="" align="middle" /> ' . $user['status'] . ' //>>>// ' . smileys(tags($user['status'])) . '</div>';
if ($set_user['avatar'])
$out .= '</td></tr></table>';
}
if ($text)
$out .= '<div>' . $text . '</div>';
if ($sub || $ip) {
$out .= '<div class="sub">';
if (!empty($sub))
$out .= $sub;
if ($ip) {
$out .= '<div class="gray"> '.strtok($user['browser'], ' ').'<br />';
if ($ip == 2)
$out .= 'IP <a href="../' . $admp . '/index.php?act=usr_search_ip&amp;ip=' . $user['ip'] . '">' . long2ip($user['ip']) . '</a></div>';
else
$out .= '<u>IP ' . long2ip($user['ip']) . '</div>';
}
$out .= '</div>';
}
return $out;
}
///// тогда у вас и в форуме и в гостивой будет выводиться цветной статус и смайлы тоже будут обрабатываться.
Всего: 21