avatar_ketanof

LastPosts Module: новые темы с DarkStyleWeb в одном месте

Автор ketanof, 2009 Май 23, 19:09

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

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

Ключевые слова [SEO] mu onlinedarkstyleweblastposts module

ketanof

Ознакомившись с многими версиями сайтов DarkStyleWeb не разу не встречался/или я не заметел скрипт который показывает последние топики/темы созданые на DS сайте либо через форум либо через cutenews. И это многим будет полезно узнать веть выложили Dream style в паблик.



Ждем сомого скрипта !=)

Everybody

#1
Чтоб на DSW выводить новые темы из форума и сайта все по разному. Еще зависит какой форум и где он стоит, на вашем компе или удаленно (например на хоостинге). Хотя можно как в мувеб сделать через RSS.
п.с. Skyline27 своим клиентам настраивает по разному вебы и для каждого форума.

Vaflan

Кстати, норм тема))) надо будет добавить это в Mymuweb )))

ketanof

В данной теме будет ити реч о встроеном форуме от SkyLine,  но если кто-то знает как с удаленных форумов выводить это будет хорошо если выложите скрипт )

waplet

last_forum_posts.php
Спойлер
Вы должны ввести сообщение или ваше сообщение содержит менее 50 символов
[свернуть]

ketanof

Цитата: waplet от 2009 Май 23, 20:13  last_forum_posts.php
Спойлер
Вы должны ввести сообщение или ваше сообщение содержит менее 50 символов
[свернуть]

Не канает не так все легко )

waplet

Tebe dlja chego nada?
Спойлер
Вы должны ввести сообщение или ваше сообщение содержит менее 50 символов
[свернуть]

ketanof

Цитата: waplet от 2009 Май 23, 20:52  Tebe dlja chego nada?
Спойлер
Вы должны ввести сообщение или ваше сообщение содержит менее 50 символов
[свернуть]

зайди примером  mu.dream.lv ..  видиш как у них отображает последние посты с форума .. мне надо так-же можно и с втроеного форума который уже имеется в DarkStyle  а можно с удоленного ! канает  любой вориант ..       !

Everybody

#8
mu-dream попал к мега лохам или реально у админов забот других хватает.
Буду приводить примеры на RSS так как наиболее простое решения для пользователей dsw. Стоит учесть что в некоторых случаях если не раотает то у вас отключен Allow_url_fopen (плохая вещ через которую обычно взламывают веб если есть повод/уязвимость)
Зато такой импорт работает с любого форума независимо где он находиться главное чтобы включен был канал импорта RSS с него

1 вариант. создаем скрипт last_rss.php с содержимым (нужен allow_fopen)
<?php
/**********************************************************
* Parse XML data into an array structure                *
* Usage: array parse_rss ( string data )                *
**********************************************************/
function parse_rss($reg_exp$xml_data) {
preg_match_all($reg_exp$xml_data$temp);
return array(
'count'=>count($temp[0]),
'title'=>$temp[1],
'link'=>$temp[2],
'desc'=>$temp[3],
'pubdate'=>$temp[4]  //добавлено
);
}

/**********************************************************
* Parse Array data into an HTML structure                *
* Usage: string parse_rss ( array data )                *
**********************************************************/
function output_rss($pattern$rss_data) {
$temp "";
for(
$i=0$i<$rss_data['count']; $i++) {
$temp .= sprintf($pattern,
$rss_data['link'][$i],
html_entity_decode($rss_data['title'][$i]),
html_entity_decode($rss_data['desc'][$i]),
$rss_data['pubdate'][$i]  //добавлено
);
}
return 
$temp;
}

/**********************************************************
* Settings                                              *
**********************************************************/
$url 'https://fashionstreet.ru/news/rss.xml';

$reg_exp  '#<item>.*?<title>(.*?)</title>.*?';
$reg_exp .='<link>(.*?)</link>.*?<description>';
$reg_exp .='(.*?)</description>.*?<pubDate>'//исправлено
$reg_exp .= '(.*?)</pubDate>.*?</item>#si';  //добавлено

$pattern '<a href="%s">%s</a><br>'// дата вирезана и удет только урл

/**********************************************************
* Main script                                            *
**********************************************************/
if ( $xml_data file_get_contents($url) ) {
$rss_data parse_rss($reg_exp$xml_data);
echo 
output_rss($pattern$rss_data);
}
/**********************************************************
* The END                                                *
**********************************************************/
?>
В шаблоне где надо ставим <?php include_once "last_rss.php"; ?>

2.  вариант. создаем скрипт last_rss2.php с содержимым (нужен allow_fopen)
<?php
setlocale
(LC_ALL'ru_RU.CP1251'); //установка русской локали для даты
/**********************************************************
* Parse XML data into an array structure                 *
* Usage: array parse_rss ( string data )                 *
**********************************************************/
function parse_rss($reg_exp$xml_data) {
preg_match_all($reg_exp$xml_data$temp);
return array(
'count'=>count($temp[0]),
'title'=>$temp[1],
'link'=>$temp[2],
'desc'=>$temp[3],
'pubdate'=>$temp[4]   //добавлено
);
}

/**********************************************************
* Parse Array data into an HTML structure                *
* Usage: string parse_rss ( array data )                 *
**********************************************************/
function output_rss($pattern$rss_data) {
$temp "";
for(
$i=0$i<$rss_data['count']; $i++) {
$temp .= sprintf($pattern,
strftime("%d %B %Y %R"strtotime($rss_data['pubdate'][$i])),
$rss_data['link'][$i],
html_entity_decode($rss_data['title'][$i]),
html_entity_decode($rss_data['desc'][$i])
//добавлено
);
}
return 
$temp;
}

/**********************************************************
* Settings                                               *
**********************************************************/
$url 'https://rss.svobodanews.ru/?zone=ru_news_world&count=50';

$reg_exp  '#<item>.*?<title>(.*?)</title>.*?';
$reg_exp .='<link>(.*?)</link>.*?<description>';
$reg_exp .='(.*?)</description>.*?<pubDate>'//исправлено
$reg_exp .= '(.*?)</pubDate>.*?</item>#si';  //добавлено

$pattern '<i>%s</i><br><a href="%s"><strong>%s</strong></a><br>%s<br><br>';
//строка форматирования вывода, можно переставить местами поля и добавить теги

/**********************************************************
* Main script                                            *
**********************************************************/
if ( $xml_data file_get_contents($url) ) {
// вот так можно -->
if ( extension_loaded('mb_string') ) {
$xml_data mb_convert_encoding($xml_data"windows-1251""utf-8");
} elseif ( 
extension_loaded('iconv') ) {
$xml_data iconv('utf-8''windows-1251'$xml_data);
}
// <--
$rss_data parse_rss($reg_exp$xml_data);
echo 
output_rss($pattern$rss_data);
}
/**********************************************************
* The END                                                *
**********************************************************/
?>
В шаблоне где надо ставим <?php include_once "last_rss2.php"; ?>

3. вариант. создаем скрипт last_rss3.php с содержимым (не нужен allow_fopen. зато необходим curl)
<?php
//адрес RSS ленты
$url 'https://www.nbg.ge/rss.php';

//получаем xml данные
$ch curl_init();
curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
$page curl_exec($ch);
curl_close($ch);

//создаёт XML-разборщик
$xml xml_parser_create('utf-8');
//устанавливает опции XML-разборщика
xml_parser_set_option($xmlXML_OPTION_SKIP_WHITE1);
//разбирает XML-данные в структуру массива
xml_parse_into_struct($xml$page$element$index);
//освобождает XML-разборщик
xml_parser_free($xml);

$index $index['DESCRIPTION'];
$element $element[$index[count($index) - 1]]['value'];

//преобразуем utf в html
$pattern '/<tr>s*<td>(USD|RUB|EUR)</td>s*<td>(.*)</td>s*'.
'<td>(.*)</td>s*<td>(.*)</td>s*<td>(.*)</td>s*</tr>/i';
preg_match_all($pattern$element$out);

//число проходов цикла.
$count count($out[0]);

echo 
'<table border="0">';
for (
$i=0$i $count$i++)
{
//преобразуем utf в html
$convmap = array(4304,  434700xffff);
$txt mb_encode_numericentity($out[2][$i], $convmap"utf-8");

echo 
'<tr>
<td>'
.$out[1][$i].'</td>
<td>'
.$txt.'</td>
<td>'
.$out[3][$i].'</td>
<td>'
.$out[4][$i].'</td>
<td>'
.$out[5][$i].'</td>
</tr>'
;
}
echo 
'</table>';
?>

Такой же код но компактней но без настроек.
Спойлер
Curl - Это библиотека, которая позволяет взаимодействовать с различными серверами по различным протоколам. Код с контролем времени будет выглядеть примерно следующим образом:
<?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.seonews.ru/rss/");
// вернуть значение а не вывести на страницу
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// чтобы заголовок не входил в контент
curl_setopt($ch, CURLOPT_HEADER, 0);
// ограничение по времени получения
// (сюда уже входит и время открытия соединения
// и время получения данных)
curl_setopt($ch, CURLOPT_TIMEOUT, 3);

$out = curl_exec($ch);
curl_close($ch);
?>
[свернуть]
В шаблоне где надо ставим <?php include_once "last_rss3.php"; ?>

4. вариант. на ajax треуется включенный сокет (он в вебсервере обычно включен где стоит мусайт)
*https://www.webreference.com/programming/javascript/rss_feeds_ajax/
*https://ajax.phpmagazine.net/2005/11/ajax_rss_reader_step_by_step_t.html

5. вариант. Video Youtube. Хмм только сейчас нарвался на сервис от google api, предлогающий с определенного канала импортировать видео на сайт. (регаешься на ютюбе, заливаешь ролики по теме и ставишь код)
*https://www.google.com/uds/solutions/wizards/videobar.html?uds_o=0&uds_pc=0&uds_cl=youtube

HuKaTuH[GM]

#9
Вот вам готовый скрипт для DarkStyle сайта

В footer.php добавляем новую рамку :

<table class="rbox" border="0" cellpadding="0" cellspacing="3" width="100%">
<tbody>
<tr>
<td valign=top style="background-image: url(<?php print $template_dir;?>img/main_menu.png);" height="21">
<p align="right"><b style="font: bold 16px Times New Roman;"><? print phrase_LastTopic; ?></b></td>
</tr>
<tr>
<td valign="top">
<?
include'last_forum_topics.php';
?>
</td>
</tr>
</tbody></table>

Заменяем содержимое файла last_forum_topics.php на следующее :

<?

$last_themes = "SELECT TOP 5 * from forum_topics order by last_post_date desc";
$last_themes = mssql_query($last_themes);

for($i=0;$i < mssql_num_rows($last_themes);++$i)
{
$last_themes_ = mssql_fetch_row($last_themes);


$topic_name=$last_themes_[2];
$topic_id=$last_themes_[0];
$topic_time=$last_themes_[5];
$topic_time=date($Time['format'], $topic_time);
$last_topic_date=$last_themes_[7];
$last_topic_date=date($Time['format'], $last_topic_date);
$rank = $i+1;
?>


<tr><td><a href="?pg=forum&t=<? print $topic_id; ?>" title="<? if ($last_topic_date != NULL ){
print"$last_topic_date";
}
else print"$topic_time"; ?>">
<? print $topic_name; ?></a></td></tr>
<?


}


?>

Вот и всего делов :)

HuKaTuH[GM]

#10
Обоснуй свою фразу дурачок ! Где ты тут видеш хоть какую дырку ? Я тут помогаю вам , а вы такие грубые , просто ужас , ну рас так пошло я больше помогать не буду !


Everybody

HuKaTuH[GM] Скрипт от встроенного форума предоставил, забыл отметить. ;)
п.с. он вроде по дефолту идет в архиве при покупки сайта dsw...

ketanof

Цитата: Everybody от 2009 Май 24, 23:31  HuKaTuH[GM] Скрипт от встроенного форума предоставил, забыл отметить. ;)
п.с. он вроде по дефолту идет в архиве при покупки сайта dsw...

Я нажал спасибо за старание, но некуя не работает :)))

HuKaTuH[GM]

#13
Да , я немного переделал скрипт встроенного форума :) , а с тем что он идёт по дефолту ты ошибся :)
Так же прошу удалить пост shadel'a , так как он бессмыслен ! В скрипте нету никаких дырок !

d-man55 , пиши в скупе : ma3axaka2 , помогу

ketanof

[quote name='HuKaTuH[GM]' post='19840' date='25.5.2009, 0:49']
Да , я немного переделал скрипт встроенного форума :) , а с тем что он идёт по дефолту ты ошибся :)
Так же прошу удалить пост shadel'a , так как он бессмыслен ! В скрипте нету никаких дырок !

d-man55 , пиши в скупе : ma3axaka2 , помогу[/quote]

Раз переделывал зачем тогда бодягу выложил? :blink:  и может давай без приватов выкладывай всем если жалко то под хайд если очень жалко то мож не выкладывать .. &lt;_&lt;

HuKaTuH[GM]

#15
Когда вы поставите так , как я сказал выше , у вас должно получиться так :
Только что cделал так , как я писал выше , и вот что получилось :)

DJGRAD

  Спасибо  Класна Давно искал

mocica


Похожие темы (5)