Вы не зашли.
Держимс более лучший вариант выборочки (можете добавить нужные поля в запрос) :
$list = $db->select("SELECT a.id_topic, a.id_last_msg, a.id_member_started, b.id_topic, b.subject, b.poster_name, b.poster_time FROM smf_messages AS b, smf_topics AS a WHERE a.id_topic = b.id_topic GROUP BY a.id_last_msg DESC LIMIT 10");
if (mysql_errno() !=0) {
$template['vars']['lasttopic_smf] = "Нет соединения БД и форума SMF или вы не верное ввели префикс форума";
}
if (is_array($list) && count($list)) {
foreach ($list as $row) {
if (strlen($row['subject']) > $name_length) {
$row['subject'] = substr($row['subject'], 0,$name_length) . "...";
}
$tvars['vars'] = array (
'title' => $row['subject'],
'href' => 'index.php/topic,'.$row['id_topic'].'.0.html',
'date' => date($time, $row['poster_time']),
'autor' => 'index.php?action=profile;u='.$row['id_member_started'].'',
'name' => 'смотреть'
);
$tpl -> template('entries', $tpath['entries']);
$tpl -> vars('entries', $tvars);
$result .= $tpl -> show('entries');
}
}
А зачем такой изврат?
Мол htaccess открыть никак, и добавить "DirectoryIndex: блаблабла".....
Тема закрыта.
Прийдется своими силами, используя к примеру ваш аналог.
Недавно думал о таких системах, к примеру как указ, народ и прочие бесплатные хостинги.
Возьму за пример юказ (то что это говно - говорить мне не нужно, сам знаю).
Расмотрим его со стороны сервера и клиента.
Одно что понятно - что они используют некий код, написаный ими, чем то похожий на цмс системы.
Его отличительная возможность в том, что пользователь не может использовать php код, но может пользоватся готовыми блогами (или плагинами, как вам удобней).
А теперь, представьте себе ngcms со стороны пользователя(администратора) без доступа к FTP коду.
Чем он уступает? Да ничем. Аналогичным методом, можно использовать теги готовых плагинов под свои шаблоны.
На нгцмс - возможно создать нечто подобное ucoz хостингу, если конешно доработать.
Что здесь нужно - самое важное это возможность создавать подсайты(блог сайты) которым пользователь (создавший его) сможет управлять из админ панели, и быть его полноправным администраторам.
Для этого, нужен некий инсталлер.
Как можно выхитрить? Можно впринципе и сейчас это сделать. Приведу пример.
Берем и обрезаем пользователю права доступа к папке /engine , /template , index.php
Оставляем доступ к папке /uploads (Можно и туда закрыть по средствам FTP, а оставить лиш стандартный загрузчик через CMS).
Таким образом, пользователь сможет :
- Быстро менять шаблон (ведь с админки доступ у него остался на редактирование шаблона)
- Загружать свои файлы (загрузку изображений и файлов через админку не кто не отменял).
- Настройка системы под себя (аля зашол в админ панель - и воуля, настроил как себе нужно)
- Возможность манипулировать модулями и плагинами (плагины с админочьки то доступны, туда загрузить все - пользователь включает их по надобности и ставит код плагина в шаблон)
- Публикация новостей и полное управление сайтом.
Вот и мы добились того чего хотели. Мы - запретили пользователю юзать php и тем временем не ущимили его в гибкости его сайта.
Такой движок можно было бы назвать своим, построеным на ngcms.
Если кто либо напишет подобное - готов поставить его на свой личный выделеный сервер.
Идейо - zenn
Скачай заново...
Про то что вверху шапки то это просто забыл убрать...
Вот теперь - полёт нормальный. Можеш вылаживать как "stable".
Тестировано
Скинь плз версию 0.2, она была стабильней .. Эта постояно вылетает.
thx, tested... Пока полёт нормальный.
Нашол небольшой еррор.
Выбирает неверно автора последнего поста. Берет не его, а предыдущего автора.
Проверь выборку :
$list = $db->select("SELECT a.tid, a.topic, b.pid ,b.ptime, b.post_tid, v.id, v.username
FROM ".$prefix."topics AS a, ".$prefix."posts AS b, ".$prefix."users AS v
WHERE a.tid = b.post_tid AND b.poster_id = v.id
GROUP BY b.post_tid
ORDER BY IF (a.last_post_id, a.last_post_id, first_post_id) DESC LIMIT ".$num);
Так же, если кеширование выключено, высылает ошибку :
array ( 0 => array ( 0 => '2253', 'tid' => '2253', 1 => 'Помогите с железом', 'topic' => 'Помогите с железом', 2 => '15900', 'pid' => '15900', 3 => '1247835914', 'ptime' => '1247835914', 4 => '2253', 'post_tid' => '2253', 5 => '1974', 'id' => '1974', 6 => 'Владислав', 'username' => 'Владислав', ), 1 => array ( 0 => '2248', 'tid' => '2248', 1 => 'Контакт игра фермеры =)', 'topic' => 'Контакт игра фермеры =)', 2 => '15878', 'pid' => '15878', 3 => '1247807158', 'ptime' => '1247807158', 4 => '2248', 'post_tid' => '2248', 5 => '285', 'id' => '285', 6 => 'foXSer', 'username' => 'foXSer', ), 2 => array ( 0 => '2264', 'tid' => '2264', 1 => 'Осады каждый день', 'topic' => 'Осады каждый день', 2 => '16020', 'pid' => '16020', 3 => '1247934610', 'ptime' => '1247934610', 4 => '2264', 'post_tid' => '2264', 5 => '2518', 'id' => '2518', 6 => 'urik', 'username' => 'urik', ), 3 => array ( 0 => '2255', 'tid' => '2255', 1 => 'Ньюби хелпер', 'topic' => 'Ньюби хелпер', 2 => '15903', 'pid' => '15903', 3 => '1247836790', 'ptime' => '1247836790', 4 => '2255', 'post_tid' => '2255', 5 => '2381', 'id' => '2381', 6 => 'Hop6', 'username' => 'Hop6', ), 4 => array ( 0 => '2241', 'tid' => '2241', 1 => 'маленький баг репорт', 'topic' => 'маленький баг репорт', 2 => '15776', 'pid' => '15776', 3 => '1247690765', 'ptime' => '1247690765', 4 => '2241', 'post_tid' => '2241', 5 => '2381', 'id' => '2381', 6 => 'Hop6', 'username' => 'Hop6', ), 5 => array ( 0 => '2261', 'tid' => '2261', 1 => 'Скориа 2.1', 'topic' => 'Скориа 2.1', 2 => '15978', 'pid' => '15978', 3 => '1247915566', 'ptime' => '1247915566', 4 => '2261', 'post_tid' => '2261', 5 => '1', 'id' => '1', 6 => 'zenn', 'username' => 'zenn', ), 6 => array ( 0 => '2262', 'tid' => '2262', 1 => 'Проблема при компиляции', 'topic' => 'Проблема при компиляции', 2 => '15981', 'pid' => '15981', 3 => '1247918928', 'ptime' => '1247918928', 4 => '2262', 'post_tid' => '2262', 5 => '2505', 'id' => '2505', 6 => 'BLoOd1k', 'username' => 'BLoOd1k', ), 7 => array ( 0 => '2263', 'tid' => '2263', 1 => 'l2dot проблема с fist fury , rapid shot', 'topic' => 'l2dot проблема с fist fury , rapid shot', 2 => '15993', 'pid' => '15993', 3 => '1247920835', 'ptime' => '1247920835', 4 => '2263', 'post_tid' => '2263', 5 => '277', 'id' => '277', 6 => 'MotorBoy', 'username' => 'MotorBoy', ), 8 => array ( 0 => '2092', 'tid' => '2092', 1 => 'Подписка на сборки scoria.', 'topic' => 'Подписка на сборки scoria.', 2 => '14788', 'pid' => '14788', 3 => '1246173126', 'ptime' => '1246173126', 4 => '2092', 'post_tid' => '2092', 5 => '1', 'id' => '1', 6 => 'zenn', 'username' => 'zenn', ), 9 => array ( 0 => '2057', 'tid' => '2057', 1 => 'Geodata (full Interlude)', 'topic' => 'Geodata (full Interlude)', 2 => '14648', 'pid' => '14648', 3 => '1246012019', 'ptime' => '1246012019', 4 => '2057', 'post_tid' => '2057', 5 => '668', 'id' => '668', 6 => 'Arsik', 'username' => 'Arsik', ), )
Сверху сайта (в шапку).
Так же есть небольшая погрешность.
Если юзать удалёную БД, то тут есть грабли - нельзя писать адресом домёна (или localhost) только IP.
Так же, сделал бы конфигурабельность адреса форума, ведь не у всех форум находится в сайт/forum
А так работает нормально.
Можно еще сделать фильтрацию, чтобы не выводило одинаковые темы ( чтобы одинаковые $title не повторялись).
Фиксани плагин .
Щяс отпишу по полной ошибки.
Пока - косметика (config.php ) =>
В случае если таблицы NG CMS и форума vb находятся в разных БД, то Вам необходимо использовать этот раздел
По смыслу, не vb а aef
Нужно ждать упдейта гугл ПР-а.
Более делать нечего не нужно .
Можеш правда обратицо в милицию :D
insider, спасибо, незаметил.
done & close
Итак, взял шаблон st05 (выложен на форуме).
Пытаюсь добавить новость - после нажатия на submit (добавляю с адрес_сайта/addnews.htm) - выкидывает в поиск по сайту.
На дефолтовом шабе - нормально.
проверял addnews.tpl - там всё в порядке (проверял в сопоставлении с аналогичным файлом дефолтового шаблона).
Где еще может быть ошибка?
В любом случае ng не будет популярна пока на ней не будет пару десятков сайтов тысячников разных тематик.
Имхо.
Не вижу разницы. Более того, это решит проблему только с BB-кодами.
Так как бы красивей да и не есть гуд юзать <noindex> <a href="ваш линк" rel="nofollow">.ваш линк.</noindex>
И не забывайте, что у нас поисковых систем в мире не 2 штуки, а редиректор решит проблему сразу со всеми.
Очень глупый и не разумный метод.
Проще - сделать редиректор(редиректы поисковыми системами не индексируются).
Функции get[.$url.] и редиректа - гугл вам в помощь.
А по сути - пихнуть его в файл, к примеру :
/ваша_главная_папка_сайта/redirector/ > index.php
там же создать файл :
.htaccess
В него добавить :
DirectoryIndex : index.php
RewriteEngine Off
После, спарсить(/engine/includes/classes/parse.class.php) :
$outkeys [] = 'href="'.((!$keys['href'])?$alt:$keys['href']).'"';
Заменяем на :
$chek_url = parse_url($keys['href']);
if ($chek_url['host'] != 'ваш_сайт.домён')
$outkeys [] = 'href="http://ваш_сайт/redirector/?'.((!$keys['href'])?$alt:$keys['href']).'"';
else
$outkeys [] = 'href="'.((!$keys['href'])?$alt:$keys['href']).'"';
И воуля, все ссылки(ВНЕШНИЕ) - станут не индексируемыми, и ненадо быдло-кода rel=nofollow & noindex.
п.с. - для тех кто "вообще в танке" и что такое редирект - неслышали, держим сам редиректор (который нужно пихать в /redirector/index.php) :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Подождите.</title>
<meta http-equiv="refresh" content="6; url=<?=$_SERVER['QUERY_STRING']?>">
<script type="text/javascript">
//<![CDATA[
// Fix Mozilla bug: 209020
if ( navigator.product == 'Gecko' )
{
navstring = navigator.userAgent.toLowerCase();
geckonum = navstring.replace( /.*gecko\/(\d+)/, "$1" );
setTimeout("moz_redirect()",1500);
}
function moz_redirect()
{
var url_bit = "<?=$_SERVER['QUERY_STRING']?>";
window.location = url_bit.replace( new RegExp( "&", "g" ) , '&' );
}
//>
</script>
</head><body>
<div id="redirectwrap"><center>
<noindex>
<h4><b>наш нубо сайт</b></h4>
<p>Все что дальше этой страницы - не наш сайт, ответственности за файлы мы не несем</p>
<p>Вы перешли по внешней ссылке, возможно вы скачиваете файл. Подождите 5 секунды или : </p>
<p class="redirectfoot">(<a href="<?=$_SERVER['QUERY_STRING']?>">нажмите сюда, если не хотите ждать</a>)</p></noindex>
</center>
</div>
</body></html>
Снимите с меня этот статус . Немогу качать с атачей.
Блин в упор не вижу ссылку! Может там хайд?!!!
На SVN его тоже нет. Как быть? где взять? или всем фиолетово на плагин?
Плагин рабочий, протестировал на связке IPB 2.3.6 (нулиГ) <-> ngcms 0.9.0 Да у вас качественно всё, спасибо!
Вопрос, ссылочку можно? А то нескачать
ОООО! Плагин под вывод с AEF! Меня заинтересовало !! (так как у меня 2з и аеф форум) Спасибо. Посмотрим