Добрый день, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 CMS Koobi | Основная тема
         Рейтинг как Вконтакте

Похожие темы  |  Печать страницы

Рейтинг как Вконтакте


События Четверг, 01.09.2011, 00:51

RASH

Группа: Пользователь
Ранг: Новичок
Cообщений: 51
Регистрация: 05.11.2009
Город: Москва
PHP-код
<table width="100%" border="0" cellpadding="2" cellspacing="1" id="personaldata_open" class="container_body">
    <
tr>
    <
td width="180" class="row_first">{$lang.user_name}</td>
    <
td class="row_second">{$row->uname}</td>
  </
tr>
 <
tr>
    <
td width="180" class="row_first">{$lang.user_status}</td>
    <
td class="row_second">{getonlinestatus uname=$row->uname}</td>
  </
tr>
   {if 
$avatar
  <
tr>
    <
td width="180" class="row_first">{$lang.user_avatar}</td>
    <
td class="row_second">{$avatar}</td>
  </
tr>
  {/if}
  <
tr>
    <
td width="180" class="row_first">{$lang.user_rating}</td>
    <
td class="row_second">
    <
div class="statusbar1">
    <
div class="statusbar2" style="width:{$row->user_posts}%"><strong>{$row->user_posts}%</strong></div>
    </
div>
    </
td>
  </
tr>
  {if 
$row->name!=''}
  <
tr>
    <
td width="180" class="row_first">{$lang.user_firstname}</td>
    <
td class="row_second">{$row->name}</td>
  </
tr>
  {/if}

Сначала реализовал так. Работает. Но это вывод количества сообщений на форуме (программа минимум, так сказать)

Далее нужно добавить проверку полей на заполнение (скрипт, который привели Вы)

Вывожу в userdetail.tpl. Насколько я понимаю, код, приведенный вами, нужно было вставить в user.php. и подключить переменную $status
$tmpl->assign('status', $status);
Значения полей, которые необходимо считать (+1 к рейтингу) отсюда changedetail.tpl:

PHP-код
<tr>
      <
td width="200" nowrap="nowrap" class="row_first">{$lang.computer_cpu}</td>
      <
td nowrap="nowrap" class="row_second"><input name="computer_cpu" type="text" id="l_computer_cpu" value="{$user->computer_cpu|default:$smarty.post.computer_cpu|escape:html|sslash}size="40" /></td>
     </
tr>
    <
tr>
      <
td width="200" nowrap="nowrap" class="row_first">{$lang.computer_ram}</td>
      <
td nowrap="nowrap" class="row_second"><input name="computer_ram" type="text" id="l_computer_ram" value="{$user->computer_ram|default:$smarty.post.computer_ram|escape:html|sslash}size="40" /></td>
    </
tr>
    
    <
tr>
      <
td width="200" nowrap="nowrap" class="row_first">{$lang.computer_video}</td>
      <
td nowrap="nowrap" class="row_second"><input name="computer_video" type="text" id="l_computer_video" value="{$user->computer_video|default:$smarty.post.computer_video|escape:html|sslash}size="40" /></td>
    </
tr>
     <
tr>
      <
td width="200" nowrap="nowrap" class="row_first">{$lang.computer_motherboard}</td>
      <
td nowrap="nowrap" class="row_second"><input name="computer_motherboard" type="text" id="l_computer_motherboard" value="{$user->computer_motherboard|default:$smarty.post.computer_motherboard|escape:html|sslash}size="40" /></td>
    </
tr>


Т.е computer_cpu это название строки в базе *_user
Вывод переменной в userdetail.tpl:
{$row->computer_cpu}

Добавлено RASH: 01.09.2011, 00:51:57
user.php
PHP-код
if(!defined("BASEDIR")) exit;
if(!
checkactive('user')) include(dirname(__FILE__)."/lib/notactive.php" );

$sname simpletitle($lang['title_userdetails']);

if (!
permission('showuserpage')) 
{
    
$EOUT stderror("nopermission"$lang['nopermission_t'], str_replace("__URL__""/index.php"$lang['redirect']), "/index.php"1);
    
$error 1;
    
$NOOUT 1;
}

$sql $db->Query("SELECT * FROM ".PREFIX."_user WHERE uid = '".escs($_REQUEST['id'])."' AND user_regdate > 1");
$row $sql->fetchrow();

if(
$row->uid == ''){
 
$EOUT msg("error_once","error_usernotindb"str_replace("__URL__""/index.php?p=userlist&area=$_REQUEST[area]"$lang['redirect']), "/index.php?p=userlist&area=$_REQUEST[area]") ; 
 
$NOOUT 1;
}

if(
$row->show_public == 2){
 
$EOUT msg("error_once","shop_userprofile_notpublic"str_replace("__URL__""/index.php?p=userlist&area=$_REQUEST[area]"$lang['redirect']), "/index.php?p=userlist&area=$_REQUEST[area]") ; 
 
$NOOUT 1;
}

// 
if($row->user_viewemail=="yes"){$usermail '<a href="javascript:popex(\'index.php?p=misc&do=EMAIL&uid='.$row->uid.'\',\'\',\'450\',\'300\',\'1\',\'1\',\'0\',\'0\');"><img border="0" src="templates/'.$THEME.'/img/buttons/email.gif" alt=\"\" /></a>';}

$row->usergroup fetchgroupname($row->ugroup);
$row->ctime mygmt($row->user_regdate);

$status 0

if (!empty(
$_REQUEST['computer_cpu'])) { // если поле заполнено в базе выполяем добавление 
    
$status $status 1

if (!empty(
$_REQUEST['computer_ram'])) { // если поле заполнено в базе выполяем добавление 
    
$status $status 1

if (!empty(
$_REQUEST['computer_video'])) { // если поле заполнено в базе выполяем добавление 
    
$status $status 1

// делаешь нужно количество проверок полей, сколько прибавлять если заполнено сам устанавливаешь 


// далее например за каждые 100 сообщений даем процент, в переменной $count_posts содержится количество постов пользователя 
if ($count_posts 100) { 
    
$status $status round($count_posts 100); 


$status round($status); // округляем до целого числа 
$status $status <= 100 $status 100;  // проверяем что число не больше 100 
// переменную $status передаешь далее в шаблон, не помню как в шестерке выглядит 



// 
$signatur = (BBCODESITE==1) ? kcodes($row->user_sig) : nl2br($row->user_sig);
$signatur = (SMILIES == 1) ? dosmilies($signatur) : $signatur;

$interests = (BBCODESITE==1) ? kcodes($row->user_interests) : nl2br($row->user_interests);
$interests = (SMILIES == 1) ? dosmilies($interests) : $interests;

$tmpl->register_function('getonlinestatus''getonlinestatus');
$tmpl->assign('signatur'$signatur);
$tmpl->assign('posts'numposts(escs($_REQUEST['id'])));
$tmpl->assign('interests'$interests);
$tmpl->assign('avatar'getAvatar($row->ugroup,$row->user_avatar,$row->usedefault_avatar,$row->ugroup));
$tmpl->assign('pncode'urlencode($row->uname));
$tmpl->assign('row'$row);
$tmpl->assign('lang'$lang);
$tmpl->assign('status'$status);
$tmpl->assign('content'parsetrue('container/'.container('userlist'), $lang['title_userdetails'], $tmpl->fetch('user/userdetail.tpl')));


userdetail.tpl
PHP-код

<tr
    <
td width="180" class="row_first">{$lang.user_rating}</td
    <
td class="row_second"
    <
div class="statusbar1"
    <
div class="statusbar2" style="width:{$status}%"><strong>{$status}%</strong></div
    </
div
    </
td>  
</
tr>



Пользователь офлайн


Похожие темы  |  Печать страницы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте


Пользователей: 0, Гостей: 5

Поисковые боты: 11
Googlebot(4), Unknown Bot(3), Yandex, Inktomi Slurp, BingBot(2)

 Статистика форума


  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: somik

 Дни рождения


Игорь Вишневский (47), borovoy.in (30), alfa-kms (28), delserf (22)
Печать | Copyright © 2009 - 2016 Status-X All rights reserved | Powered by CMS Status-X 1.05 | Контакты