ip автора комменатрия

Главные вкладки

Аватар пользователя Arturus Arturus 17 сентября 2012 в 13:17

Подскажите как узнать ip автора комментария (показать для админа).
Попробовал

<?php
if (user_access('administer comments'))
  print 
"<div class='ip'>" 
  
db_result(db_query("select hostname from comments where cid=%d"$comment->cid))
  . 
"</div>";
?>

не получилось, не выводит.

Комментарии

Аватар пользователя Arturus Arturus 17 сентября 2012 в 13:48

Попробовал еще так в template.php добавил
function phptemplate_preprocess_comment(&$vars) {

$vars['hostname'] = ''; //эта наша новая переменная
$result = db_query("SELECT c.hostname FROM {comments} c WHERE c.cid = %d LIMIT 1", $vars['comment']->cid); //получаем хост
$item = db_fetch_object($result);
$vars['hostname'] = $item->hostname; //задаем значение
return $vars;
}

а в comment.tpl.php
<?php if ($hostname): ?>[ip: <?php print $hostname; ?>]<?php endif; ?>
тоже ничего, переменная $hostname не появилась

Аватар пользователя Arturus Arturus 17 сентября 2012 в 14:11

Заработала вот такая конструкция в comment.tpl.php

<?php
if (user_access('administer comments')) {
if ($comment->uid == '0'){
$comment_host_query = "SELECT hostname FROM {comments} WHERE cid='" . $comment->cid . "' and uid='0'";
if ($comment_host_result = db_query($comment_host_query)){
print ' | IP: ' . db_result($comment_host_result);
}}} ?>

более красивые решения и комментарии приветствуются!