Перейти к публикации

Рекомендованные сообщения

И так, для начала здравствуйте.

Вопрос:

Как сделать собственный информер с сайта?

Пользователь (кто угодно) копирует нужный код (предпочтительно через ява или пхп), а затем вставляет его на своём сайте в результате чего на его сайте выводятся новости (заглавия новостей) с моего.

Требования:

Возможность настройки количества импортируемых новостей

Возможность настройки дизайна для вывода новостей

Возможность настройки вывода с изображением и без

(всё это настраивается пользователем на моём сайте, после выбора настроек появляется нужный код для вставки).

Заранее спасибо.

Ссылка на сообщение
Поделиться на других сайтах

Я уже задавался таким вопросом. До версии 6.3 прекрасно работал информер этот:

=====================================================

 Plugin for DataLife Engine - JavaScript News

-----------------------------------------------------

 Copyright (c) 2007 ko1yan

=====================================================

 Данный код защищен авторскими правами

=====================================================

 Файл: news.php

-----------------------------------------------------

 Назначение: Экспорт новостей c помощью "script"

=====================================================

Поищи на форуме мое сообщение, там на него ссылка есть.

Ссылка на сообщение
Поделиться на других сайтах

И та, благодаря Danila был найден его пост со ссылкой на первоисточник.

Дабы не искали долго и нудно, привожу пример решения.

<?php

/*

=====================================================

 Plugin for DataLife Engine - JavaScript News

-----------------------------------------------------

 Copyright (c) 2007 ko1yan

=====================================================

 Данный код защищен авторскими правами

=====================================================

 Файл: news.php

-----------------------------------------------------

 Назначение: Экспорт новостей c помощью "script"

=====================================================

*/

define('DATALIFEENGINE', true);

define('ROOT_DIR', dirname (__FILE__));

define('ENGINE_DIR', ROOT_DIR.'/engine');


@include (ENGINE_DIR.'/data/config.php');

require_once ENGINE_DIR.'/inc/mysql.php';

require_once ENGINE_DIR.'/data/dbconfig.php';

require_once ENGINE_DIR.'/modules/functions.php';


check_xss ();



// Начало настроек модуля

//----------------------------

$limit=10; // количество выводимых новостей

$simbol=55; // обрезание ссылок

//----------------------------

// Конец настроек модуля



$this_month = date ('Y-m-d', time()-(3600*24*30));

$result = $db->query("SELECT id, title, date, alt_name FROM " . PREFIX . "_post WHERE approve='1' ORDER BY id DESC LIMIT 0,{$limit}");

	$newsexport = '';

	while($row = $db->get_row($result)) {


$row['date'] = strtotime($row['date']);


		if (strlen($row['title']) > $simbol)

			$title = substr ($row['title'], 0, $simbol)." ...";

		else

			$title = $row['title'];


if ($config['allow_alt_url'] == "yes")

$newsexport .= "<a href=\"".$config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html\">".stripslashes($title)."</a><br>";

else 

$newsexport .= "<a href=\"$PHP_SELF?newsid=".$row['id']."\">".stripslashes($title)."</a><br>";

}

echo "text='";

echo "$newsexport";

echo "';document.write(text);"

?>
+ Информация по установке модуля
1. Возможности скрипта □ Защита от XSS атак. □ Обрезание ссылок до определенного размера. □ Вывод опреденного количества новостей. □ Работа при включеном или отключенным ЧПУ. 2. Установка модуля на сервер 1. Откройте в текстовом редакторе файл news.php, настройте под себя. 2. Cкопируйте файл news.php в корневую директорию модуля, там где index.php и admin.php. 3. В нужное место вставляейте
<script src="http://сайт.ру/news.php"></script>

Надеемся что работа с нашим модулем доставим Вам только удовольствие.

Автор сего творения ko1yan

Всем спасибо за оказанную помощь.

Если есть какие другие решения пишите. :)

Изменено пользователем Nektov
Ссылка на сообщение
Поделиться на других сайтах

Nektov,

Имей в виду... если этот информер поставят очень многие... то загнётся твой хостер от нагрузки...

Ссылка на сообщение
Поделиться на других сайтах

Вот вариант http://webset.com.ua/category/2-3-8/inform...ya_CMS_DLE.html

Гибкости не много. Но зато не давит на сервер, при использовании nginx, сервер вобще ничего не почувствует кроме трафика и файловий системы.

Ссылка на сообщение
Поделиться на других сайтах

И так. Скачано.

По ссылке предложенной max-money скачан архив в котором 2 .php файла.

1. informer.php (пустой файл)

2. start_informer.php

Код start_informer.php

<?

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Подключение информера 

В корне разместить:

informer.php (доступ для записи)

start_informer.php


код что указан ниже добавить в index.php перед 

$config['http_home_url'] = reset(explode("index.php", $_SERVER['PHP_SELF']));


//******информер (в index.php)********

$thisdate1 = date("U");

$da_f = filemtime ("start_informer.php");

if ($thisdate1 - $da_f > 1000)

{

	include ROOT_DIR.'/start_informer.php';

}

else

{

}

clearstatcache;

//******конец - информер********



Загрузка информера:

<script type="text/javascript"  src="http://ваш.сайт/informer.php"></script>


 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */


if(!defined('DATALIFEENGINE')){  die("Hacking attempt!");};


$kol = 10; //Количество выводимых новостей

$rezerv = 30;

$sbor = "document.write('<table  border=0><tr><td><table border=0><tr><td><img src={$config['http_home_url']}admin.gif width=80 height=20 align=left></td><td><a class=informer_webset target=_blank href=".$config['http_home_url']."index.php><b>Новости сайта &quot;{$config['home_title']}&quot;</b></a></td></tr></table></td></tr><tr><td>";

$thisdate = date("Y-m-d H:i:s");

$ath = mysql_query("select  date, title, alt_name, fixed use index(date) from dle_post  order by date DESC limit 0, $rezerv");

if ($ath)

{

//фиксиров.

	$i=0;

	$fix=0;

	while($i <= $rezerv)

	{

	$i=$i+1;

	$row=mysql_fetch_array($ath);

	 if ($row['fixed'] > 0)

	  {

	  $fix=$fix + 1;		  

$todays_date = $row['date'];

$_year = substr($todays_date ,0,4);

$_month = substr($todays_date ,5,2);

$_day = substr($todays_date ,8,2);

$_hour = substr($todays_date,11,2);

$_minute = substr($todays_date,14,2); 	

$sbor=$sbor."<a class=informer_webset href=".$config['http_home_url'].$_year."/".$_month."/"."$_day"."/".$row['alt_name'].".html target=_blank>";

$p_date = $_day.".".$_month.".".$_year."  ";

	$sbor=$sbor."<font color=#666666><b>";

	$sbor=$sbor.$p_date;

	$sbor=$sbor."</b></font>&nbsp;&nbsp;";	

	$sbor=$sbor.$row['title']."</a><br>";

   }

  }		

}	

$ath = mysql_query("select  date, title, alt_name, fixed from dle_post  order by date DESC limit 0, $rezerv");	


if ($ath)

{	

//по датам

	$i=0;

	$maxi=0;

	while($i <= $kol-1-$fix)

	{

	$maxi=$maxi+1;

	$row=mysql_fetch_array($ath);

	if ($thisdate > $row['date'] and $row['fixed'] != 1 xor $maxi > 100)

  {

	$i=$i+1;		

	$todays_date = $row['date'];

	$_year = substr($todays_date ,0,4);

	$_month = substr($todays_date ,5,2);

	$_day = substr($todays_date ,8,2);

	$_hour = substr($todays_date,11,2);

	$_minute = substr($todays_date,14,2);	

	  $sbor=$sbor."<a class=informer_webset href=".$config['http_home_url'].$_year."/".$_month."/"."$_day"."/".$row['alt_name'].".html target=_blank>";

	$p_date = $_day.".".$_month.".".$_year."  ";

	$sbor=$sbor."<font color=#666666><b>";

	$sbor=$sbor.$p_date;

	$sbor=$sbor."</b></font>&nbsp;&nbsp;";	

	$sbor=$sbor.$row['title']."</a><br>";

  }

 }		

}

$sbor=$sbor."<A target=_blank class=informer_webset href=".$config['http_home_url']."><b>ВСЕ НОВОСТИ</b></A></td></tr></table>');";

$file=fopen("informer.php", "w+");

if(!$file)

{

	echo ("Ошибка открытия файла");

}

else

{

	fputs($file, $sbor);

}

fclose ($file);

?>

Пробуем отписываемся. :)

Ссылка на сообщение
Поделиться на других сайтах

И так. Скачано.

По ссылке предложенной max-money скачан архив в котором 2 .php файла.

если не выйдет стукни в аську, помогу

icq:214536176

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...