FORMAT
Профессор
- Регистрация
- 9 Май 2008
- Сообщения
- 210
- Реакции
- 45
- Автор темы
- #1
Привет. Есть модуль последних комментариев 2.1 by ko1yan
Необходимо выводить в этом блоке ещё и аватар автора комментария, например через $avatar, а если аватара нет, то вывод картинки noavatar.
В таблице с комментариями для автора нашёл, на мой взгляд, только ключи user_id и autor
Известно, что в DLE аватарам в дирректории присваивается название foto_(id пользователя), но расширение всё равно разное, и не у всех стоит аватар
Ну или в крайнем случае, помогите сделать с дополнительным запросом в users.
Было бы просто шикарно если ещё добавть кеширование к модулю в одну минуту.
Я в PHP 0,01))
Спасибо за помощь, ниже привёл сам код модуля.
Необходимо выводить в этом блоке ещё и аватар автора комментария, например через $avatar, а если аватара нет, то вывод картинки noavatar.
В таблице с комментариями для автора нашёл, на мой взгляд, только ключи user_id и autor
Известно, что в DLE аватарам в дирректории присваивается название foto_(id пользователя), но расширение всё равно разное, и не у всех стоит аватар
Ну или в крайнем случае, помогите сделать с дополнительным запросом в users.
Было бы просто шикарно если ещё добавть кеширование к модулю в одну минуту.
Я в PHP 0,01))
Спасибо за помощь, ниже привёл сам код модуля.
PHP:
<?php
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}
//------------------------------------
// Настройки модуля
//------------------------------------
/* Количество выводимых комментарий */
define ("LIMITCOMM", "10");
/* Количество символов в названии новости */
define ("LIMITTITL", "55");
/* Показывать всплывающее окно в тексом комментария - (yes / no) */
define ("SHOWHITHB", "yes");
//------------------------------------
// /Настройки модуля
//------------------------------------
$sql = $db->query("SELECT comments.post_id, comments.is_register, comments.text, comments.autor, comments.email, post.id, post.date as newsdate, post.title, post.category, post.alt_name, post.flag FROM " . PREFIX . "_comments as comments, " . PREFIX . "_post as post WHERE post.id=comments.post_id ORDER BY comments.date DESC LIMIT 0,".LIMITCOMM);
while($row = $db->get_row($sql)) {
$row['date'] = strtotime($row['date']);
$row['newsdate'] = strtotime($row['newsdate']);
$row['date'] = strtotime($row['date']);
if (strlen($row['title']) > LIMITTITL)
$title = substr ($row['title'], 0, LIMITTITL)." ...";
else
$title = $row['title'];
if (strlen($row['text']) > 300)
$text = htmlspecialchars( stripslashes( substr ($row['text'], 0, 300).".." ) );
if (!$row['is_register'] == "1") {
if($row['email'] != ""){
if( preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $row['email'])){ $url_target = "";$mail_or_url = "mailto:"; }
else {
$url_target = "target=\"_blank\"";
$mail_or_url = "";
if(substr($row[email],0,3) == "www"){ $mail_or_url = "http://"; } }
if ($mail_or_url == "mailto:") {
$email = explode("@", $row['email'], 2);
$autor = "<script>var em0 = '$email[0]'; document.write('<a href=\"mailto:' + em0 + '@$email[1]\">".$row['autor']."</a>');</script>";
} else {
$autor = "<a $url_target href=\"$mail_or_url".$row[email]."\">".$row['autor']."</a>"; }
} else { $autor = $row['autor']; }
} else {
if ($config['allow_alt_url'] == "yes") {
$autor = "<a href=\"".$config['http_home_url']."user/".urlencode($row['autor'])."/\">".$row['autor']."</a>";
} else {
$autor = "<a href=\"$PHP_SELF?subaction=userinfo&user=".urlencode($row['autor'])."\">".$row['autor']."</a>"; } }
$row['date'] = strtotime($row['date']);
$row['category'] = intval($row['category']);
if ($config['allow_alt_url'] == "yes") {
if ($row['flag']) {
if ($row['category']) {
$full_link = $config['http_home_url'].get_url($row['category'])."/".$row['id']."-".$row['alt_name'].".html";
} else {
$full_link = $config['http_home_url'].$row['id']."-".$row['alt_name'].".html";
}
} else {
$full_link = $config['http_home_url'].date('Y/m/d/', $row['newsdate']).$row['alt_name'].".html";
}
} else {
$full_link = $config['http_home_url']."index.php?newsid=".$row['id'];
}
$post = "<a href=\"".$full_link."#comment\">".stripslashes($title)."</a>";
$text = htmlspecialchars(stripslashes($row['text']));
if (SHOWHITHB == "yes") {
$box = "onMouseover=\"showhint('<b>Комментарий</b>:</b><br />{$text}', this, event, '200px')\"";
}
$lcomm .= "<div {$box}><div onmouseover=\"this.className='lastcomm_over';\" onmouseout=\"this.className='lastcomm';\" class=\"lastcomm\">Автор: {$autor}, в новости:<br />{$post}</div></div>"; }
$lastcommb= "<script type=\"text/javascript\" src=\"".$config['http_home_url']."engine/skins/default.js\"></script>".$lcomm."";
?>