Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#24 used as offset, casting to integer (24) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#27 used as offset, casting to integer (27) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Новостная лента
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (2): [1] 2 »   

> Описание: Новости на сайте = объявления на форуме
jakomo
Отправлено: 21 Апреля, 2007 - 16:59:06
Post Id


Newbie


Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2007  

Карма 0




Подскажите пожалуйста как организовать такую систему на сайте и форуме чтобы Объявления, которые создавались на форуме могли бы переносится на главную страницу сайта в виде новостей (с датой создания и автором, или просто с датой). Я пытался порыться в кодах, но поскольку в PhP мой уровень познания не высок, я не смог найти функции отвечающие за считывания из файлов текста объявлений.

БЛагодарю за внимание. и заранее спасибо за ответы.
 
 Top
awep
Отправлено: 22 Апреля, 2007 - 08:34:37
Post Id



Наш человек


Покинул форум
Сообщений всего: 304
Дата рег-ции: Дек. 2005  
Откуда: Казань

Карма 6




функция get_file
 
 Top
jakomo
Отправлено: 23 Апреля, 2007 - 06:28:44
Post Id


Newbie


Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2007  

Карма 0




Расзбираясь в кодах и функцией этой я чуть не положил форум...

Авеп, можешь дать чуть более развернуто ответ о том как использовать эту функцию именно в форуме Exbb чтобы вытащить оттуда текст сообщения, дату и атвора.

Спасибо.
 
 Top
awep
Отправлено: 24 Апреля, 2007 - 15:10:14
Post Id



Наш человек


Покинул форум
Сообщений всего: 304
Дата рег-ции: Дек. 2005  
Откуда: Казань

Карма 6




выдрал со своего сайта. там я сделал один форум как архив новостей, то есть новая тема=новость.
начало: считываем все из файла всего форума
CODE:
$forum_list_file=$config['forum_dir'].'forum'.$modconfig['news_fm_num'].'/list.php';
$forum_list=get_file($forum_list_file);
ksort($forum_list);
reset($forum_list);
$ids=array_reverse(array_keys($forum_list));
$frm_cnt=count($forum_list);
где $config['forum_dir'] - папка форума а $modconfig['news_fm_num'] это айди форума. из этих данных ты получишь время первого поста то есть время добавления новости, кол-во ответов и айди автора. далее циклом(как тебе удобно,хош for, хош while, хош foreach) читаем каждый файл темы.
CODE:
$this_news_file=$config['forum_dir'].'forum'.$modconfig['news_fm_num'].'/'.$id.'-thd.php';
$this_news=get_file($this_news_file);
в массиве $this_news есть текст новости.
 
 Top
jakomo
Отправлено: 25 Апреля, 2007 - 09:29:21
Post Id


Newbie


Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2007  

Карма 0




Спасибо awep! НАсколько я понимаю этим кодом ты загоняешь весь текст содержащийся в '.$id.'thd.php файле в масиав. Но по какому принципу вытащитть отдельно текст сообщения, отдельно название темы и так далее? и почему то ДЕНВЕРУ не нравится функция GET_FILE ...
 
 Top
awep
Отправлено: 25 Апреля, 2007 - 13:19:20
Post Id



Наш человек


Покинул форум
Сообщений всего: 304
Дата рег-ции: Дек. 2005  
Откуда: Казань

Карма 6




я же все подробно описал!!
названия тем берутся из list.php. само сообщение из $id-thd.php.
в вышеуказанном коде получаем переменную $this_news , которая представляеют собой массив.
просто сделай
CODE:
print_r($this_news);
и поймешь что к чему
 
 Top
jakomo
Отправлено: 26 Апреля, 2007 - 01:24:32
Post Id


Newbie


Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2007  

Карма 0




спасибо! попробую затестить.
 
 Top
Терминатор01
Отправлено: 20 Июня, 2007 - 15:56:53
Post Id



Member


Покинул форум
Сообщений всего: 111
Дата рег-ции: Сент. 2006  

Карма -1




Я не спец. Попробовал собрать всё что написано выше.
CODE:
<?php
$config['forum_dir']='z:/home/test2.ru/www/test-exbb/';
$modconfig['news_fm_num']=4;

$forum_list_file=$config['forum_dir'].'forum'.$modconfig['news_fm_num'].'/list.php';
$forum_list=get_file($forum_list_file);
ksort($forum_list);
reset($forum_list);
$ids=array_reverse(array_keys($forum_list));
$frm_cnt=count($forum_list);

print_r($this_news);//line 12
//Функции
function get_file($filename) {
$fp = fopen($filename,'r');
fnsp_lock_file($fp,$filename);
$filesize = filesize($filename);
$filesize = ($filesize ===0) ? 1:$filesize-8;
fseek($fp,8);
$str = fread($fp,$filesize);
fclose($fp);
return (!empty($str))?unserialize($str):array();
}

function fnsp_lock_file(&$file,$filename,$mode = LOCK_SH) {
if (preg_match('/[c-z]:\\\.*/i', $_SERVER['PATH'])) return;
$i = 0;
while (!flock($file,$mode+LOCK_NB)) {
sleep(1);
$i++;
if ($i>=10) {
@fclose($file);
die('Access to file '.$filename.' blocked! Try again later');
}
}

}
?>

Добавил пару функций, чтоб они работали.
Выдаёт ошибку:
//Notice: Undefined variable: this_news in z:\home\test2.ru\www\news-awer.php on line 12
Но если поменять print_r($this_news);//line 12
на например print_r($forum_list); то действительно работает. Только надо ещё понять
что выводить, как и зачем.
А вобщем то мы изобретаем велосипед.
Уже созданы моды Новости форума на странице сайта и Объявлений на страницах сайта.
Именно с первого брал эти две функции.
Другое дело что эти моды ещё не доведены до совершенства.

(Отредактировано автором: 20 Июня, 2007 - 18:27:05)

 
 Top
awep
Отправлено: 22 Июня, 2007 - 08:51:37
Post Id



Наш человек


Покинул форум
Сообщений всего: 304
Дата рег-ции: Дек. 2005  
Откуда: Казань

Карма 6




Судя по всему, ты не знаешь, что вообще хранится в файлах форума.
CODE:
$forum_list_file=$config['forum_dir'].'forum'.$modconfig['news_fm_num'].'/list.php';
$forum_list=get_file($forum_list_file);
ksort($forum_list);
reset($forum_list);
$ids=array_reverse(array_keys($forum_list));
$frm_cnt=count($forum_list);

print_r($this_news);//line 12
ОТкуда ты вообще берешь $this_news? У тебя их еще нет, а ты их выводишь. Перебирай циклом переменную $forum_list и уже в цикле просматривай что там - поймешь. Не ленись!
Цитата:
А вобщем то мы изобретаем велосипед.
Не хочешь - не изобретай. Каждый делает все под себя, а моды ориентированы под конкретно одни цели.

Для начала сделай бэкап форума и просмотри что где и как хранится. Сразу даю подсказку: в основном данные хранятся в виде сериализованного массива, который можно считать функцией get_file из lib.php. Посмотри и все станет ясно.
Если не станет - объясню подробней.
 
 Top
SlyFox
Отправлено: 23 Июня, 2007 - 12:01:52
Post Id



Dreamer


Покинул форум
Сообщений всего: 236
Дата рег-ции: Окт. 2005  

Карма 1




Идея показалась интересной. Сделал некий набросок, вполне рабочий...
CODE:

<?
include('common.php');

$vars = parsed_vars();

$title_page = $exbb['boardname'].' :: Новости сайта';
include('./templates/'.$exbb['default_style'].'all_header.tpl');
include('./templates/'.$exbb['default_style'].'logos.tpl');

//<!-- NEWS -->
print("<div id='navstrip' align='left'><a href='index.php'>$exbb[boardname]</a>&nbsp;&raquo;&nbsp;Новости сайта</div>");

$forumid = 15;
$config['forum_dir'] = $exbb['home_path'].'forum'.$forumid.'/';

$forum_list_file=$config['forum_dir'].'list.php';
$forum_list=get_file($forum_list_file);
ksort($forum_list);
reset($forum_list);
//$ids=array_reverse(array_keys($forum_list));
$ids=array_reverse($forum_list);

$iii=0;

foreach($ids as $key => $id)
{
$name = $ids[$iii]['name'];
$author = '<a href="'.$exbb['boardurl'].'/profile.php?action=show&member='.$ids[$iii]['a_id'].'">'.$ids[$iii]['author'].'</a>';
$date = $ids[$iii]['date'];
$date = date(" d.m.Y H:i",$date);
$id = $ids[$iii]['id'];
$posts = $ids[$iii]['posts'];
$comment = '<a href="'.$exbb['boardurl'].'/topic.php?forum='.$forumid.'&topic='.$id.'">Обсуждение</a> ('.$posts.')';

$this_news_file=$config['forum_dir'].$id.'-thd.php';
$this_news=get_file($this_news_file);

foreach($this_news as $news_text)
{
$post = $news_text['post'];
break;
}

print("<table class='tableborder' width='100%' border='0' cellspacing='1' cellpadding='4'>");
print("<tr><td class='maintitle' align='left'><img src='./templates/InvisionExBB/im/nav_m.gif' border='0' alt='&gt;' width='8' height='8' />&nbsp;$name</th>");
print("</td>");
print("</td></tr>");
print("<tr><td class='row4'>$post</td></tr>");
print("<tr><td class='darkrow2'>Отправлено: $date | Автор: $author | $comment</td></tr>");
print("</table>");
print("<br>");

$iii++;
}

//<!-- NEWS -->

include('./templates/'.$exbb['default_style'].'footer.tpl');
include('page_tail.php');
?>


Я вобще-то не кодер, и РНР знаю посредственно достаточно, если кто решиться на варианты оптимизации, то хорошо. Насущный вопросв такой - как заставить этот код воспринимать BB-коды, которые, понятное дело есть в темах, которые скрипт выводит, но отображает их простым текстом. Что ему прикрутить, чем обработать код на выходе?
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« Моды, хаки, скины и дополнения »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0468]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33