Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Цвета ников в темах
 
 автор: Санька   (30.10.2008 в 00:49)   письмо автору
1.2 Мб
 
 

Допустим в "Статистика" viewonline.php цвет ника админа желты у юзеров синий, имеет такое условие:
viewonline.php
$style_color = '';
if ( $row['user_level'] == ADMIN )
  {
     $username = '<b class="colorAdmin">' . $username . '</b>';
  }
else if ( $row['user_level'] == MOD )
  {
     $username = '<b class="colorMod">' . $username . '</b>';
  }

viewonline.tpl
<!-- BEGIN reg_user_row -->
<tr class="{reg_user_row.ROW_CLASS}">
     <td><a href="{reg_user_row.U_USER_PROFILE}" class="gen">{reg_user_row.USERNAME}</a></td>
     <td class="tCenter">{reg_user_row.LASTUPDATE}</td>
</tr>
<!-- END reg_user_row -->

Помогите сделать в темах аналогично, чтобы у админа был один цвет у остальных другой
Сдесь только один
viewtopic.tpl
<p class="nick" title="{L_INS_NAME_TIP}" onmouseout="bbcode.refreshSelection(false);" onmouseover="bbcode.refreshSelection(true);" onclick="bbcode.onclickPoster('{postrow.POSTER_NAME_JS}');">
<a href="#" onclick="return false;">{postrow.POSTER_NAME}</a>
</p>

  Ответить  
 
 автор: Санька   (30.10.2008 в 00:59)   письмо автору
45.2 Кб
 
   для: Санька   (30.10.2008 в 00:49)
 

Очень просим помогите пожалуйста!!!

  Ответить  
 
 автор: BinLaden   (30.10.2008 в 00:59)   письмо автору
 
   для: Санька   (30.10.2008 в 00:49)
 

Для POSTER_NAME нужно сделать тоже самое.

  Ответить  
 
 автор: Санька   (30.10.2008 в 01:04)   письмо автору
17 Кб
 
   для: BinLaden   (30.10.2008 в 00:59)
 

Можно по подробней, неделю уже роемся, не чего не получается, есть еще такой мод Colorized standart groups для phpbb2 но он не подходит

  Ответить  
 
 автор: BinLaden   (30.10.2008 в 01:22)   письмо автору
 
   для: Санька   (30.10.2008 в 01:04)
 

По-моему, как-то так (viewtopic.php):

<?php
# ~ 360 строка
# Добавил к выборке столбец user_level

$sql "
    SELECT
      u.username, u.user_id, u.user_posts, u.user_from, u.user_from_flag,
      u.user_regdate, u.user_rank, u.user_sig, u.user_sig_bbcode_uid,
      u.user_avatar, u.user_avatar_type, u.user_allowavatar,
        u.user_level,
      p.*,
      h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text,
      pt.post_subject, pt.bbcode_uid
    FROM      "
POSTS_TABLE      ." p
    LEFT JOIN "
USERS_TABLE      ." u  ON(u.user_id = p.poster_id)
    LEFT JOIN "
POSTS_TEXT_TABLE ." pt ON(pt.post_id = p.post_id)
    LEFT JOIN "
POSTS_HTML_TABLE ." h  ON(h.post_id = p.post_id)
    WHERE
        p.topic_id = 
$topic_id
      
$limit_posts_time
    GROUP BY
      p.post_id
    ORDER BY
      p.post_time
      
$post_order
    LIMIT
      
$start$posts_per_page
"
;

# Строка ~ 890

    
if( $postrow[$i]['user_level'] == ADMIN )
    {
        
$poster '<b class="colorAdmin">' $poster '</b>';
    }
    else if( 
$postrow[$i]['user_level'] == MOD )
    {
        
$poster '<b class="colorMod">' $poster '</b>';        
    }
?>


Правда там далее что-то вроде

<?php
        
'POSTER_NAME'        => wbr($poster),
?>

И что делает wbr() я не знаю -- у Вас в архиве определение этой функции не нашёл.

  Ответить  
 
 автор: Санька   (30.10.2008 в 01:57)   письмо автору
 
   для: BinLaden   (30.10.2008 в 01:22)
 

Есть то есть только вопрос где. Попробую узнать на torrentpier

  Ответить  
 
 автор: Санька   (30.10.2008 в 15:05)   письмо автору
 
   для: BinLaden   (30.10.2008 в 01:22)
 

Не кто не чего не знает, возможно даже и нет, как нам быть?

  Ответить  
 
 автор: BinLaden   (30.10.2008 в 17:08)   письмо автору
 
   для: Санька   (30.10.2008 в 15:05)
 

> возможно даже и нет

Тогда бы не работало. Можете добавить в код что-то вроде

<?php

function wbr()
{

}



При включенном отображении ошибок E_ERROR можно будет увидеть где определена другая функция (иного способа не знаю).

  Ответить  
 
 автор: Санька   (30.10.2008 в 20:00)   письмо автору
 
   для: BinLaden   (30.10.2008 в 01:22)
 

Нашли

forum\includes\functions.php

function wbr ($text, $max_word_length = HTML_WBR_LENGTH)
{
   return preg_replace("/([\w\->;:.,~!@#$%^*\/\\\\]{". $max_word_length ."})/", '$1'. HTML_WBR_TAG, $text);
}

  Ответить  
 
 автор: BinLaden   (30.10.2008 в 21:25)   письмо автору
 
   для: Санька   (30.10.2008 в 20:00)
 

Ну, в принципе, помешать не должно. В крайнем случае можно изменить:

<?php
    
if( $postrow[$i]['user_level'] == ADMIN 
    { 
        
$poster '<b class="colorAdmin">' wbr($poster) . '</b>'
    } 
    else if( 
$postrow[$i]['user_level'] == MOD 
    { 
        
$poster '<b class="colorMod">' wbr($poster) . '</b>';         
    }
?>


И, соотвественно, тогда убрать wbr() ниже:
<?php
       
'POSTER_NAME'        => $poster,
?>

  Ответить  
 
 автор: Санька   (31.10.2008 в 00:21)   письмо автору
33.3 Кб
 
   для: BinLaden   (30.10.2008 в 21:25)
 

Сделал вот только не знаю так или нет, посмотрите файл

И следом прикрепляю то что получилось, что то не то(( немного

  Ответить  
 
 автор: Санька   (31.10.2008 в 00:23)   письмо автору
7.3 Кб
 
   для: Санька   (31.10.2008 в 00:21)
 

Вот снимок

  Ответить  
 
 автор: Санька   (31.10.2008 в 00:34)   письмо автору
 
   для: BinLaden   (30.10.2008 в 21:25)
 

Если в строке
'POSTER_NAME'        => wbr($poster),

Убрать wbr()
Тобишь получается так
'POSTER_NAME'        => $poster,

Не чего не изменяется

  Ответить  
 
 автор: Санька   (31.10.2008 в 00:38)   письмо автору
4.1 Кб
 
   для: BinLaden   (30.10.2008 в 21:25)
 

Вот что заметил, когда пользователь зарегистрирован то показывает то что изображено на рисунке выше, а если не зарегистрирован то показывает как положено

  Ответить  
 
 автор: BinLaden   (31.10.2008 в 00:59)   письмо автору
 
   для: Санька   (31.10.2008 в 00:38)
 

<?php
    
if( $postrow[$i]['user_level'] == ADMIN )
    {
        
$poster_name '<b class="colorAdmin">' wbr($poster) . '</b>';
    }
    else if( 
$postrow[$i]['user_level'] == MOD )
    {
        
$poster_name '<b class="colorMod">' wbr($poster) . '</b>';
    }
    else
    {
        
$poster_name wbr($poster);
    }

    
# ...

    
'POSTER_NAME'        => $poster_name,
?>


P.S. Тут есть возможность редактировать свои сообщения.

  Ответить  
 
 автор: Санька   (31.10.2008 в 01:39)   письмо автору
 
   для: BinLaden   (31.10.2008 в 00:59)
 

Спасибо огромное все работает правильно, все COOL :)

  Ответить  
 
 автор: Санька   (31.10.2008 в 02:21)   письмо автору
8.4 Кб
 
   для: BinLaden   (31.10.2008 в 00:59)
 

Пока эта тема активна, подскажите как для viewforum.php еще сделать!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования