SMF<->MKPortal.

Автор iRo, 15 декабря 2009, 17:10:48

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

iRo

Господа! Подскажите плз.

Имею данную связку.
Вопрос в следующем:
Как возможно перенести некоторые элементы из SMF в MKPortal? (ну и обратно)

Например что у портала, что у форума внизу отображаются copyrigth и банеры.
имею огромное желание переместить копирайт форума вниз к копирайту портала.
конкретно смотрите 4iro.ru внизу страницы есть SpyLog <-  хочу перенести те гифы которые генерит форум,
и после
"MultiBoard ©2009 4iRo Portal"
вставить строчку
"Powered by SMF 2.0 RC2 | SMF © 2006–2009, Simple Machines LLC"

ну и отчет генерации (страница сгенерирована) тоже сделать одну суммирующую.
пробовал перенести код, все отображается, но скрипт проверки наличия копирайта генерит ошибку.
да и переменные "global $settings,$txt;" которые я вставил для генерации в пхп код портала, работают только если генерится страница форума, а если главная, то все рушится...
помогите плз...
неохото все перелопачивать и отключать эту проверку и указывать абсалютные пути.
очень хочется сделать все правильно, по уму )))





PS поиском не нашел (((
ЭЭЭээээ.... тут надо чето писать....  А че писать то????

iRo

уже сам все нашел и написал.

кому нужно - сначала грузиться форум, потом портал,
создаете глобальную переменную в шаблоне форума, а в шаблоне портала ее подгружаете.
так можно передавать любые данные между порталом и форумом ))
ЭЭЭээээ.... тут надо чето писать....  А че писать то????

netoya

Не создавая новую тему спрошу тут:
Форум SMF 1.1.11 MKP C 1.2.2
С целью снижения нагрузки на сервер был установлена модификация меняющая способ отображения аватар на форуме, из-за этого перестала отображаться аватара в блоке на главной странице портала.
При этом при попытке прямого доступа к картинке по ссылке получаемой блоком выводится сообщение об ошибке
<br />
<b>Notice</b>:  Undefined index:  mime_type in <b>/home/public_html/forum/Sources/DisplayAvatar.php</b> on line <b>155</b><br />

Ранее файла DisplayAvatar.php не существовало, именно через него теперь выводятся аватары, на форуме все работает корректно, аватары отображаются.
Но в блоке пытается отобразить ссылку вида ./forum/index.php?action=dlattach;attach=365;type=avatar
Как изменить так, чтобы теперь в блоке выводилась картинка по прямой ссылке на файл изображения?

Пытаясь сам разобраться понял, что за эту функцию в портале отвечает smf_board_functions.php:
function get_avatar()
{
global $mkportals, $DB;

$prefix = DBPREFIX;;

if (substr($mkportals->member['avatar']['url'], 0, 7) == 'http://')
{
$dimension = url_image_size($mkportals->member['avatar']['url']);
if ($dimension[0] > 80) {
$dimension[1] = ceil(80 * $dimension[1] / $dimension[0]);
$dimension[0] = 80;
}
$avatar_img = "<img src=\"{$mkportals->member['avatar']['url']}\" width=\"$dimension[0]\" height=\"$dimension[1]\" alt=\"\" border=\"\" />";

} else {

$avatar_img = "<img src=\"{$mkportals->forum_url}/avatars/{$mkportals->member['avatar']['url']}\" alt=\"\" border=\"\" />";
}

if (!$mkportals->member['avatar']['url'])
{
$avatar_img = "";
}
if ($mkportals->member['avatar']['ID_ATTACH']) {
$idattach = $mkportals->member['avatar']['ID_ATTACH'];
$query = $DB->query( "SELECT filename FROM {$prefix}attachments WHERE ID_ATTACH = '$idattach'");
$row = $DB->fetch_row($query);
$avatar_img = "<img src=\"{$mkportals->forum_url}/index.php?action=dlattach;attach=$idattach;type=avatar\" alt=\"\" border=\"\" />";
}
return $avatar_img;
exit;
}


А в новом файле DisplayAvatar.php получается прямая ссылка на файл
  # Now get the information :D
  $file = mysql_fetch_assoc($result);

  $file['filename'] = getAttachmentFilename($file['real_filename'], $id_attach, false, $file['file_hash']);

файл прикладываю в аттаче.

digger®

Цитата: netoya от 15 января 2010, 10:25:41
С целью снижения нагрузки на сервер был установлена модификация меняющая способ отображения аватар на форуме

А что это за модификация?
Самый простой и эффективный способ - это просто перенести аватары в отдельную папку.

netoya

Да, это модификация, пакет устанавливал через админку, файл качал из аттача сообщения на офф форуме, аватары перед этим были перенесены в отдельную папку. Теперь как я понимаю для вывода аватар не используется index.tamplete.php

digger®

Цитата: netoya от 15 января 2010, 16:28:50
Да, это модификация, пакет устанавливал через админку, файл качал из аттача сообщения на офф форуме, аватары перед этим были перенесены в отдельную папку. Теперь как я понимаю для вывода аватар не используется index.tamplete.php

Если аватары штатным образом перенесены в отдельную папку, то они уже будут отдаваться напрямую, безо всяких костылей.