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

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

Доброго времени суток!

Есть вопрос я собрался перехать с рукаписанного движка на ДЛЕ. Базу новостей я перенесу без проблем кажеться но для того чтобы не терять позиции(имеетьсся ввиду то что мой сайт уже проиндексирован поисковиками и хорошо появляеться в запросах) на текущий момент линк имеет вид http://www.ric.dp.ua/news/completely/42090 , а при переносе новости в базу дле линк на новость будет http://www.ric.dp.ua/2007/12/31/komersant..._na_prokat.html.

(ВНИМАНИЕ! этот линк преведен для примера!)Материал один и тотже но мне бы хотелось чтобы линк на старые и новые оставался http://www.ric.dp.ua/news/completely/42090 как это реализовать на ДЛЕ ?

Буду признателен за подсказку.

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

Иванов,

Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован.
Ссылка на сообщение
Поделиться на других сайтах

http://www.ric.dp.ua/news/completely/42090

42090 - ID новости

completely - ?

Да, 42090 это ID новости

completely - это просто вывод линка движка с которого мы сьежаем

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

а при переносе новости в базу дле линк на новость будет http://www.ric.dp.ua/2007/12/31/komersant..._na_prokat.html.
у вас какая версия DLE?

Советую вам переносить новости сохраняя ID, тогда вообще проблем не будет

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

6.7

так новость с оригинальным ID я сохраню это понятно а вто, как сделать так чтобы появлялась .../news/completely/...

мне это непонятно

а где формируется эта ссылка на новость каким скриптом?

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

·• Greeze •·, это не то)

а где формируется эта ссылка на новость каким скриптом?
engine/modules/show.short.php переменная $full_link

с .htaccess я думаю справитесь

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

·• Greeze •·, это не то)

а где формируется эта ссылка на новость каким скриптом?
engine/modules/show.short.php переменная $full_link

с .htaccess я думаю справитесь

тесть если я поменяю в этой строке

$full_link = $config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html";

на

$full_link = $config['http_home_url'].news.completely.$row['id'].".html";

должно получиться ?

·• Greeze •· спасибо за линк пригодиьтся тоже :)

не неполлучилось:)

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/dleivan/public_html/engine/modules/show.short.php on line 234

правда я поменял только в show.short.php а в .htaccess не понял где менять

может подскажете как это сделать правда помне так лутьше еслиб добрая душа это показала как это сделать

или кото занет гле есть список всех переменная - возможно разберсь при помоши его

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

Иванов, тот "рукописный" движок вы писали?

$full_link = $config['http_home_url'].'news/completely/'.$row['id'].'.html';

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

lifestar - спасибо за строку

линк получился тот что надо но вот при желании просмотреть полную новость и войти в коментарий мне відает что мол нет ее или ее удалили.

нехватает мне опыта

помогите плиз готов оплатить труд (в разумных приделах :) )

Ссылка на сообщение
Поделиться на других сайтах
при желании просмотреть полную новость и войти в коментарий мне відает что мол нет ее или ее удалили.
приводите полностью данные, какая получается ссылка?
Ссылка на сообщение
Поделиться на других сайтах

получаеться сылка на полную новость домен/news/completely/49020.html

а коментрарий домен/news/completely/49020.html#comment

а в ответ

Внимание, обнаружена ошибка

К сожалению, данная страница для Вас не доступна: возможно, был изменен ее адрес или она была удалена. Пожалуйста, воспользуйтесь поиском.

и при поиске это материала по словам из текста выдает тоже сообшение

подставляю после домена домен/2007/12/31/komersant_sdali_na%20_prokat.html открываеться во всей красе

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

Иванов, я же писал

с .htaccess я думаю справитесь

Значит следовало бы подумать, что изменения в engine/modules/show.short.php - это ещё не всё.

В .htacess замените

# Сам пост

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]


RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2 [L]

RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3 [L]

RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2 [L]


RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]

RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]

RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2 [L]

RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1 [L]
на это
# Сам пост

RewriteRule ^news/completely/page,([0-9]+),([0-9]+),([0-9]+).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]

RewriteRule ^news/completely/page,([0-9]+),([0-9]+).html(/?)+$ index.php?newsid=$3&news_page=$2 [L]

RewriteRule ^news/completely/print:page,([0-9]+),([0-9]+).html(/?)+$ engine/print.php?news_page=$2&newsid=$3 [L]

RewriteRule ^news/completely/([0-9]+).html(/?)+$ index.php?newsid=$2 [L]

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

я так понимаю что остальные строки прибиваються? правильно ?

и по поводу show.short.php там мредактируеться одна строка (их там три)

} else {

$full_link = $config['http_home_url'].$row['id']."-".$row['alt_name'].".html";

$print_link = $config['http_home_url']."print:page,".$news_page.",".$row['id']."-".$row['alt_name'].".html";

$short_link = $config['http_home_url'];

$row['alt_name'] = $row['id']."-".$row['alt_name'];

$link_page = $config['http_home_url'].'page,'.$news_page.',';

$news_name = $row['alt_name'];

}

} else {

$full_link = $config['http_home_url'].'news/completely/'.$row['id'].".html";

$print_link = $config['http_home_url'].date('Y/m/d/', $row['date'])."print:page,".$news_page.",".$row['alt_name'].".html";

$short_link = $config['http_home_url'].date('Y/m/d/', $row['date']);

$link_page = $config['http_home_url'].date('Y/m/d/', $row['date']).'page,'.$news_page.',';

$news_name = $row['alt_name'];

}

} else {

$full_link = $config['http_home_url']."index.php?newsid=".$row['id'];

$print_link = $config['http_home_url']."engine/print.php?newsid=".$row['id']."&news_page=".$news_page;

$short_link = "";

}

$i++;

//

// обработка страниц

подскажите плиз

так как выше указанные изменения произвел теперь при нажатии просто страница с анонсам перегружаеться

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

в новый код для .htaccess закралась ошибка

вот правильный вариант:

# Сам пост

RewriteRule ^news/completely/page,([0-9]+),([0-9]+),([0-9]+).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]

RewriteRule ^news/completely/page,([0-9]+),([0-9]+).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]

RewriteRule ^news/completely/print:page,([0-9]+),([0-9]+).html(/?)+$ engine/print.php?news_page=$1&newsid=$2 [L]

RewriteRule ^news/completely/([0-9]+).html(/?)+$ index.php?newsid=$1 [L]
$full_link = $config['http_home_url']."index.php?newsid=".$row['id'];
оставляем как есть,
$full_link = $config['http_home_url'].$row['id']."-".$row['alt_name'].".html";

$print_link = $config['http_home_url']."print:page,".$news_page.",".$row['id']."-".$row['alt_name'].".html";
меняем на
$full_link = $config['http_home_url'].'news/completely/'.$row['id'].'.html';

$print_link = $config['http_home_url'].'news/completely/print:page,'.$news_page.','.$row['id'].'.html';
а
$full_link = $config['http_home_url'].'news/completely/'.$row['id'].".html";

$print_link = $config['http_home_url'].date('Y/m/d/', $row['date'])."print:page,".$news_page.",".$row['alt_name'].".html";
на
$full_link = $config['http_home_url'].'news/completely/'.$row['id'].'.html';

$print_link = $config['http_home_url'].'news/completely/print:page,'.$news_page.','.$row['id'].'.html';

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

Господа те кто будет пользовать этот материал для решения схожего вопроса учтите что замену надо произвести и вдругих модулях: топновость и т.д.

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

Появился вопрос с которым я не справился

при открытии новости http://dle.ivanoff.mobi/news/completely/9.html в конце материала под ним есть "Другие новости по теме:" после корекции в файле shof.full.php сілки принимают вид http://dle.ivanoff.mobi/news/completely/9.html т.е. указівают на открітій материал. как єто побороть?

Привожу сам код

<?php

/*

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

 DataLife Engine - by SoftNews Media Group 

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

 http://dle-news.ru/

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

 Copyright (c) 2004,2008 SoftNews Media Group

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

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

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

 Файл: show.full.php

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

 Назначение: Просмотр полной новости и комментариев

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

*/

if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}


if($allow_full_story AND $CN_HALT != TRUE){


	$sql_result = $db->query($sql_news);


	$allow_list = explode (',', $user_group[$member_id['user_group']]['allow_cats']);


	$perm = 1;

	$i = 0;

	$news_found = false;


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


	if ($i) break;


	$xfields = xfieldsload();

	$options = news_permission ($row['access']);


	if ($row['votes'] AND $view_template != "print") include_once ENGINE_DIR.'/modules/poll.php';


	if (!$row['category']) { $my_cat = "---"; $my_cat_link = "---";} else {


		$my_cat = array (); $my_cat_link = array ();

		$cat_list = explode (',', $row['category']);


		if (count($cat_list) == 1) {


			if ($allow_list[0] != "all" AND !in_array ($cat_list[0], $allow_list)) $perm = 0;


			$my_cat[] = $cat_info[$cat_list[0]]['name'];


			$my_cat_link = get_categories ($cat_list[0]); 


		} else {


			foreach ($cat_list as $element) {


				if ($allow_list[0] != "all" AND !in_array ($element, $allow_list)) $perm = 0;


				if ($element) { $my_cat[] = $cat_info[$element]['name']; if ($config['ajax']) $go_page = "onclick=\"DlePage('do=cat&category={$cat_info[$element]['alt_name']}'); return false;\" "; else $go_page = "";

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

								$my_cat_link[] = "<a {$go_page}href=\"".$config['http_home_url'].get_url($element)."/\">{$cat_info[$element]['name']}</a>";

						else

								$my_cat_link[] = "<a {$go_page}href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";

				}

			}


		$my_cat_link = implode (', ', $my_cat_link);

		}


		$my_cat = implode (', ', $my_cat);

	}


	$category_id = intval ($row['category']);


	if (isset($view_template) AND $view_template == "print") $tpl->load_template('print.tpl'); 

	elseif ($category_id AND $cat_info[$category_id]['full_tpl'] != '') $tpl->load_template($cat_info[$category_id]['full_tpl'].'.tpl');

	else $tpl->load_template('fullstory.tpl');	


	if ($options[$member_id['user_group']] AND $options[$member_id['user_group']] != 3)$perm = 1;

	if ($options[$member_id['user_group']] == 3) $perm = 0;


	if ($options[$member_id['user_group']] == 1) $user_group[$member_id['user_group']]['allow_addc'] = 0;

	if ($options[$member_id['user_group']] == 2) $user_group[$member_id['user_group']]['allow_addc'] = 1;


	if (!$row['approve'] AND $member_id['name'] != $row['autor'] AND $member_id['user_group'] != '1') $perm = 0;

	if (!$row['approve']) $allow_comments = false;


	if (!$perm) break;


	if ($config['allow_read_count'] == "yes") {

		if ($config['cache_count'])

		$db->query("INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['id']}')");

		else $db->query("UPDATE " . PREFIX . "_post set news_read=news_read+1 where id='{$row['id']}'");

	}


	$news_found = TRUE;

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


	if((strlen($row['full_story']) < 10) AND (strpos($tpl->copy_template, "{short-story}") === false) ){ $row['full_story'] = $row['short_story']; }


	if(!$news_page) { $news_page = 1; };


	$news_seiten = explode("{PAGEBREAK}", $row['full_story']);

	$anzahl_seiten = count($news_seiten);


	if($news_page <= 0 OR $news_page > $anzahl_seiten) {


		$news_page = 1;

	}


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


		if ($row['flag']) {


			if ($category_id) {


				$full_link = $config['http_home_url'].'news/completely/'.$row['id'].'.html';

				$print_link = $config['http_home_url'].'news/completely/print:page,'.$news_page.','.$row['id'].'.html';

				$short_link = $config['http_home_url'].get_url($category_id)."/";

				$row['alt_name'] = $row['id']."-".$row['alt_name'];

				$link_page = $config['http_home_url'].get_url($category_id)."/".'page,'.$news_page.',';

				$news_name = $row['alt_name'];



			} else {


				$full_link = $config['http_home_url'].'news/completely/'.$row['id'].'.html';

				$print_link = $config['http_home_url'].'news/completely/print:page,'.$news_page.','.$row['id'].'.html';


				$short_link = $config['http_home_url'];

				$row['alt_name'] = $row['id']."-".$row['alt_name'];

				$link_page = $config['http_home_url'].'page,'.$news_page.',';

				$news_name = $row['alt_name'];



			}


		} else {


			$full_link = $config['http_home_url'].'news/completely/'.$row['id'].'.html';

$print_link = $config['http_home_url'].'news/completely/print:page,'.$news_page.','.$row['id'].'.html';

			$short_link = $config['http_home_url'].date('Y/m/d/', $row['date']);

			$link_page = $config['http_home_url'].date('Y/m/d/', $row['date']).'page,'.$news_page.',';

			$news_name = $row['alt_name'];



		}


	} else {


		$full_link = $config['http_home_url']."index.php?newsid=".$row['id'];

		$print_link = $config['http_home_url']."engine/print.php?newsid=".$row['id']."&amp;news_page=".$news_page;

		$short_link = "";


	}


	$i++;


	//

	// обработка страниц

	//

	$row['full_story'] = $news_seiten[$news_page-1];


	$row['full_story'] = preg_replace('#(\A[\s]*<br[^>]*>[\s]*|'									  // remove <br/> at beginning of the string

										 .'<br[^>]*>[\s]*\Z)#is', '', $row['full_story']);  // remove <br/> at end of string

	$news_seiten = ""; unset ($news_seiten);



	if ($anzahl_seiten > 1) {


		if ($news_page < $anzahl_seiten)

		{

			$pages = $news_page + 1;


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

				$nextpage = " | <a href=\"".$short_link."page,".$pages.",".$row['alt_name'].".html\">".$lang['news_next']."</a>";

			} else {

				$nextpage = " | <a href=\"$PHP_SELF?newsid=".$row['id']."&amp;news_page=".$pages."\">".$lang['news_next']."</a>";

			}

		}


		if ($news_page > 1)

		{

			$pages = $news_page -1;


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

				$prevpage = "<a href=\"".$short_link."page,".$pages.",".$row['alt_name'].".html\">".$lang['news_prev']."</a> | ";

			} else {

				$prevpage = "<a href=\"$PHP_SELF?newsid=".$row['id']."&amp;news_page=".$pages."\">".$lang['news_prev']."</a> | ";

			}

		}


		$tpl->set('{pages}', $prevpage.$lang['news_site']." ".$news_page.$lang['news_iz'].$anzahl_seiten.$nextpage);



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


			$replacepage = 	"<a href=\"".$short_link."page,"."\\1".",".$row['alt_name'].".html\">\\2</a>";


		} else {


			$replacepage = 	"<a href=\"$PHP_SELF?newsid=".$row['id']."&amp;news_page=\\1\">\\2</a>";

		}


		$row['full_story']  = preg_replace("'\[PAGE=(.*?)\](.*?)\[/PAGE\]'si",$replacepage,$row['full_story']);


	} else {


		$tpl->set('{pages}', '');

		$row['full_story']  = preg_replace("'\[PAGE=(.*?)\](.*?)\[/PAGE\]'si","",$row['full_story']);

	}


	$metatags['title'] = stripslashes($row['title']);

	$comments_num = $row['comm_num'];



		$news_find = array(

		 '{comments-num}'		=> $comments_num,

		 '{views}'				=> $row['news_read'],

		 '{category}'			=> $my_cat,

		 '{link-category}'		=> $my_cat_link,

		 '{news-id}'			=> $row['id'],

		);


		if (date(Ymd, $row['date']) == 	date(Ymd, $_TIME)) {


			$tpl->set('{date}',  $lang['time_heute'].langdate(", H:i", $row['date']));


		} elseif (date(Ymd, $row['date']) == date(Ymd, ($_TIME - 86400))) {


			$tpl->set('{date}',  $lang['time_gestern'].langdate(", H:i", $row['date']));


		} else {


			$tpl->set('{date}',  langdate($config['timestamp_active'], $row['date']));


		}


		$tpl->set('',  $news_find);


		if ($cat_info[$row['category']]['icon']) {


			$tpl->set('{category-icon}', $cat_info[$row['category']]['icon']);


		} else {


			$tpl->set('{category-icon}', "{THEME}/dleimages/no_icon.gif");


		}


		// Ссылки на версию для печати

		$tpl->set('[print-link]',"<a href=\"".$print_link."\">");

		$tpl->set('[/print-link]',"</a>");

		// Ссылки на версию для печати


	if ($row['allow_rate'])

		$tpl->set('{rating}',ShowRating ($row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating']));

	else 

		$tpl->set('{rating}',"");


	if ($config['ajax']) { 


		$go_page = "onclick=\"DlePage(\'subaction=userinfo&user=".urlencode($row['autor'])."\'); return false;\" ";

		$news_page = "onclick=\"DlePage(\'subaction=allnews&user=".urlencode($row['autor'])."\'); return false;\" ";


	} else { $go_page = ""; $news_page = "";}


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


		$go_page .= "href=\"".$config['http_home_url']."user/".urlencode($row['autor'])."/\"";

		$news_page .= "href=\"".$config['http_home_url']."user/".urlencode($row['autor'])."/news/\"";


	} else {


		$go_page .= "href=\"$PHP_SELF?subaction=userinfo&amp;user=".urlencode($row['autor'])."\"";

		$news_page .= "href=\"$PHP_SELF?subaction=allnews&amp;user=".urlencode($row['autor'])."\"";


	}


	$go_page = "onClick=\"return dropdownmenu(this, event, UserNewsMenu('".htmlspecialchars($go_page)."', '".htmlspecialchars($news_page)."','".urlencode($row['autor'])."', '".$member_id['user_group']."'), '170px')\" onMouseout=\"delayhidemenu()\"";		


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

			$tpl->set('{author}', "<a {$go_page} href=\"".$config['http_home_url']."user/".urlencode($row['autor'])."/\">".$row['autor']."</a>");

	else

			$tpl->set('{author}', "<a {$go_page} href=\"$PHP_SELF?subaction=userinfo&amp;user=".urlencode($row['autor'])."\">".$row['autor']."</a>");


	if ( strpos( $_SERVER['REQUEST_URI'], "pages.php" ) !== false) {


		$_SESSION['referrer'] = $full_link;


	} else	$_SESSION['referrer'] = $_SERVER['REQUEST_URI'];



		$tpl->set('[full-link]',"<a href=\"".$full_link."\">");

		$tpl->set('[/full-link]',"</a>");



		if ($row['allow_comm']) {


			$tpl->set('[com-link]',"<a href=\"".$full_link."\">");

			$tpl->set('[/com-link]',"</a>");


		}  else $tpl->set_block("'\\[com-link\\](.*?)\\[/com-link\\]'si","");


	if (!$row['approve'] AND ($member_id['name'] == $row['autor'] AND !$user_group[$member_id['user_group']]['allow_all_edit'])){

		$tpl->set('[edit]',"<a href=\"".$config['http_home_url']."index.php?do=addnews&amp;id=".$row['id']."\" >");

		$tpl->set('[/edit]',"</a>");

	}

	elseif ($is_logged AND (($member_id['name'] == $row['autor'] AND $user_group[$member_id['user_group']]['allow_edit']) OR $user_group[$member_id['user_group']]['allow_all_edit'])){

		$tpl->set('[edit]',"<a onClick=\"return dropdownmenu(this, event, MenuNewsBuild('".$row['id']."', 'full'), '170px')\" href=\"".$config['http_home_url'].$config['admin_path']."?mod=editnews&amp;action=editnews&amp;id=".$row['id']."\" target = \"_blank\" >");

		$tpl->set('[/edit]',"</a>");

		}

	else $tpl->set_block("'\\[edit\\](.*?)\\[/edit\\]'si","");



	if ($config['related_news']) {


		if ($config['allow_cache'] != "yes") { $config['allow_cache'] = "yes"; $revert_cache = true; }

		else $revert_cache = false;


	$buffer = dle_cache("related", $row['id']);


	if ($buffer === FALSE) {


		if (strlen($row['full_story']) < strlen($row['short_story']))

			$body = $row['short_story'];

		else

			$body = $row['full_story'];


		$body = $db->safesql(strip_tags(stripslashes($metatags['title']." ".$body)));


		$db->query ("SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields, title) AGAINST ('$body') AND id != ".$row['id']." AND approve='1'".$where_date." LIMIT 5");


		while($related = $db->get_row()) {


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

			$related['category'] = intval($related['category']);


			if (strlen($related['title']) > 75)

				$related['title'] = substr ($related['title'], 0, 75)." ...";


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


				if ($related['flag']) {


					if ($related['category']) {


						$full_link = $config['http_home_url'].'news/completely/'.$row['id'].".html";


					} else {


						$full_link = $config['http_home_url'].'news/completely/'.$row['id'].".html";


					}


				} else {


					$full_link = $config['http_home_url'].'news/completely/'.$row['id'].".html";

				}


			} else {


				$full_link = $config['http_home_url']."index.php?newsid=".$related['id'];


			}



				$buffer .= "<li><a href=\"".$full_link."\">".stripslashes($related['title'])."</a></li>";


		}


		$db->free();

		create_cache ("related", $buffer, $row['id']);

	  }


		$tpl->set('{related-news}', $buffer);


		if ($revert_cache) $config['allow_cache'] = "no";


	}



	if ($is_logged){


		if (!strstr ($member_id['favorites'], $row['id']))

			$tpl->set('{favorites}',"<a id=\"fav-id-".$row['id']."\" href=\"$PHP_SELF?do=favorites&amp;doaction=add&amp;id=".$row['id']."\"><img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/plus_fav.gif\" onclick=\"doFavorites('".$row['id']."', 'plus'); return false;\" title=\"".$lang['news_addfav']."\" align=\"absmiddle\" border=\"0\"></a>");

		else

			$tpl->set('{favorites}',"<a id=\"fav-id-".$row['id']."\" href=\"$PHP_SELF?do=favorites&amp;doaction=del&amp;id=".$row['id']."\"><img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/minus_fav.gif\" onclick=\"doFavorites('".$row['id']."', 'minus'); return false;\" title=\"".$lang['news_minfav']."\" align=\"absmiddle\" border=\"0\"></a>");


	} else $tpl->set('{favorites}',"");


	if ( strpos( $tpl->copy_template, "[group=" ) !== false) {

		$tpl->copy_template = preg_replace( "#\\[group=(.+?)\\](.*?)\\[/group\\]#ies","check_group('\\1', '\\2')", $tpl->copy_template);

	}


	if ( strpos( $tpl->copy_template, "[not-group=" ) !== false) {

		$tpl->copy_template = preg_replace( "#\\[not-group=(.+?)\\](.*?)\\[/not-group\\]#ies","check_group('\\1', '\\2', false)", $tpl->copy_template);

	}


	if ($row['votes'])

		$tpl->set('{poll}', $tpl->result['poll']);

	else

		$tpl->set('{poll}', '');


	if ($config['allow_banner'])

		include_once ENGINE_DIR.'/modules/banners.php';


	if (count($banners) AND $config['allow_banner']) {


		foreach ($banners as $name => $value) {

			$tpl->copy_template = str_replace("{banner_".$name."}",$value, $tpl->copy_template);

		}

	}


	$tpl->set_block("'{banner_(.*?)}'si","");


	if ( strpos( $tpl->copy_template, "[category=" ) !== false) {

		$tpl->copy_template = preg_replace( "#\\[category=(.+?)\\](.*?)\\[/category\\]#ies","check_category('\\1', '\\2', '{$row['category']}')", $tpl->copy_template);

	}


	if ( strpos( $tpl->copy_template, "[not-category=" ) !== false) {

		$tpl->copy_template = preg_replace( "#\\[not-category=(.+?)\\](.*?)\\[/not-category\\]#ies","check_category('\\1', '\\2', '{$row['category']}', false)", $tpl->copy_template);

	}


	$tpl->set('{title}', $metatags['title']);

	$tpl->set('{short-story}', stripslashes($row['short_story']));

	$tpl->set('{full-story}', stripslashes("<div id='news-id-".$row['id']."'>".$row['full_story']."</div>"));


	if ($user_group[$member_id['user_group']]['allow_hide'])	$tpl->set_block("'\[hide\](.*?)\[/hide\]'si","\\1");

	else $tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","<div class=\"quote\">".$lang['news_regus']."</div>");


	if ($row['keywords'] == '' AND $row['descr'] == '') create_keywords ($row['short_story'].$row['full_story']);

	else {

	$metatags['keywords'] = $row['keywords'];

	$metatags['description'] = $row['descr'];

	}


	if (strpos ($tpl->copy_template, "[xfvalue_") !== false ) {


	  $xfieldsdata = xfieldsdataload ($row['xfields']);


	  foreach ($xfields as $value) {

		$preg_safe_name = preg_quote($value[0], "'");


		  if (empty($xfieldsdata[$value[0]])) {

			$tpl->copy_template = preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template);

		  } else {

			$tpl->copy_template = preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "\\1", $tpl->copy_template);

		  }


		$tpl->copy_template = str_replace("[xfvalue_{$preg_safe_name}]", stripslashes($xfieldsdata[$value[0]]), $tpl->copy_template);

	  }

	}


		$tpl->compile('content');


	$news_id = $row['id'];

	$allow_add = $row['allow_comm'];


	if (isset($view_template)) $allow_add = false;


   }


	$tpl->clear();

	$db->free($sql_result);


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

			if ( strpos( $tpl->result['content'], "[attachment=" ) !== false)

			{

				$tpl->result['content'] = show_attach($tpl->result['content'], $news_id);

			}


	if (!$news_found AND !$perm) msgbox ($lang['all_err_1'], "<b>{$user_group[$member_id['user_group']]['group_name']}</b> ".$lang['news_err_28']);

	elseif (!$news_found) { @header("HTTP/1.0 404 Not Found"); msgbox ($lang['all_err_1'], $lang['news_err_12']); }


}

//################################################################################

####################################

//		 Просмотр комментариев

//################################################################################

####################################

if($allow_comments and $allow_add and $CN_HALT != TRUE){


	if ($comments_num > 0) {


	$config['comm_nummers'] = intval($config['comm_nummers']);

	$cstart = intval($_GET['cstart']);


	if ($cstart){

	$cstart = $cstart - 1;

	$cstart = $cstart * $config['comm_nummers'];} else $cstart = 0;


	if ($config['comm_msort'] == "") $config['comm_msort'] = "ASC";


	$i = 0;


	$tpl->load_template('comments.tpl');


	if (strpos ($tpl->copy_template, "[xfvalue_") !== false) $xfound = true; else $xfound = false;


	if ($xfound) $xfields = xfieldsload(true);


	$tpl->copy_template = "<a name=\"comment\"></a>".$tpl->copy_template;


	if ($config['allow_cmod']) $where_approve = " AND " . PREFIX . "_comments.approve='1'"; else $where_approve = "";


	$sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'".$where_approve." ORDER BY date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']);


	while($row = $db->get_row($sql_result)){ $i++;


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


	$row['gast_name'] = stripslashes($row['gast_name']);

	$row['gast_email'] = stripslashes($row['gast_email']);

	$row['name'] = stripslashes($row['name']);


	if (!$row['is_register'] OR $row['name'] == '') {

		if($row['gast_email'] != ""){

			if( preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $row['gast_email'])){ $url_target = "";$mail_or_url = "mailto:"; }

				else{

					$url_target = "target=\"_blank\"";

					$mail_or_url = "";

					if(substr($row[email],0,3) == "www"){ $mail_or_url = "http://"; }

					}


	if ($mail_or_url == "mailto:") {

	$tpl->set('{author}', "<a href=\"mailto:{$row['gast_email']}\">".$row['gast_name']."</a>");

	} else {

	$tpl->set('{author}', "<a $url_target href=\"$mail_or_url".$row[gast_email]."\">".$row['gast_name']."</a>");

	}



					}

					else{ $tpl->set('{author}', $row['gast_name']); }

	}else

	{


	if ($config['ajax']) $go_page = "onclick=\"DlePage(\'subaction=userinfo&user=".urlencode($row['name'])."\'); return false;\" "; else $go_page = "";


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


		$go_page .= "href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\"";


	} else {


		$go_page .= "href=\"$PHP_SELF?subaction=userinfo&amp;user=".urlencode($row['name'])."\"";


	}


	$go_page = "onClick=\"return dropdownmenu(this, event, UserMenu('".htmlspecialchars($go_page)."', '".$row['user_id']."', '".$member_id['user_group']."'), '170px')\" onMouseout=\"delayhidemenu()\"";		


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

	$tpl->set('{author}', "<a {$go_page} href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\">".$row['name']."</a>");

	else

	$tpl->set('{author}', "<a {$go_page} href=\"$PHP_SELF?subaction=userinfo&amp;user=".urlencode($row['name'])."\">".$row['name']."</a>");


	}


	if ($is_logged AND $member_id['user_group'] == '1')

	$tpl->set('{ip}', "IP: <a onClick=\"return dropdownmenu(this, event, IPMenu('".$row['ip']."', '".$lang['ip_info']."', '".$lang['ip_tools']."', '".$lang['ip_ban']."'), '190px')\" onMouseout=\"delayhidemenu()\" href=\"http://www.nic.ru/whois/?ip={$row['ip']}\" target=\"_blank\">{$row['ip']}</a>");

	else

	$tpl->set('{ip}', '');



	if ($is_logged AND (($member_id['name'] == $row['name'] AND $row['is_register'] AND $user_group[$member_id['user_group']]['allow_editc']) OR $user_group[$member_id['user_group']]['edit_allc'])){

		$tpl->set('[com-edit]',"<a onClick=\"return dropdownmenu(this, event, MenuCommBuild('".$row['id']."'), '170px')\" onMouseout=\"delayhidemenu()\" href=\"".$config['http_home_url']."index.php?do=comments&amp;action=comm_edit&amp;id=".$row['id']."\">");

		$tpl->set('[/com-edit]',"</a>");

		$allow_comments_ajax = true;

		}

	else $tpl->set_block("'\\[com-edit\\](.*?)\\[/com-edit\\]'si","");


	if ($is_logged AND (($member_id['name'] == $row['name'] AND $row['is_register']  AND $user_group[$member_id['user_group']]['allow_delc']) OR $member_id['user_group'] == '1' OR $user_group[$member_id['user_group']]['del_allc'])){

		$tpl->set('[com-del]',"<a href=\"java script:confirmDelete('".$config['http_home_url']."index.php?do=comments&amp;action=comm_del&amp;id=".$row['id']."&amp;dle_allow_hash=".$dle_login_hash."')\">");

		$tpl->set('[/com-del]',"</a>");

		}

	else $tpl->set_block("'\\[com-del\\](.*?)\\[/com-del\\]'si","");


	if (($user_group[$member_id['user_group']]['allow_addc']) AND $config['allow_comments'] == "yes")

	{

		if (!$row['is_register'] OR $row['name'] == '') $row['name'] = $row['gast_name']; else $row['name'] = $row['name'];

		$tpl->set('[fast]',"<a onmouseover=\"dle_copy_quote('".str_replace( array(" ", "'"), array("&nbsp;", "&amp;#039;"), $row['name'] )."');\" href=\"#\" onClick=\"dle_ins('".str_replace( array(" ", "'"), array("&nbsp;", "&amp;#039;"), $row['name'] )."'); return false;\"\">");

		$tpl->set('[/fast]',"</a>");

	} else $tpl->set_block("'\\[fast\\](.*?)\\[/fast\\]'si","");


		$tpl->set('{mail}', $row['email']);


		if (date(Ymd, $row['date']) == 	date(Ymd, $_TIME)) {


			$tpl->set('{date}',  $lang['time_heute'].langdate(", H:i", $row['date']));


		} elseif (date(Ymd, $row['date']) == 	date(Ymd, ($_TIME - 86400))) {


			$tpl->set('{date}',  $lang['time_gestern'].langdate(", H:i", $row['date']));


		} else {


			$tpl->set('{date}',  langdate($config['timestamp_comment'], $row['date']));


		}


		$tpl->set('{news_title}', "");


  if ($xfound) {

	$xfieldsdata = xfieldsdataload ($row['xfields']);


	foreach ($xfields as $value) {

	  $preg_safe_name = preg_quote($value[0], "'");


	  if ($value[5] != 1 OR $member_id['user_group'] == 1 OR ($is_logged AND $row['is_register'] AND $member_id['name'] == $row['name'])) {

		if (empty($xfieldsdata[$value[0]])) {

		  $tpl->copy_template = preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template);

		} else {

		  $tpl->copy_template = preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "\\1", $tpl->copy_template);

		}

	  $tpl->copy_template = preg_replace("'\\[xfvalue_{$preg_safe_name}\\]'i", stripslashes($xfieldsdata[$value[0]]), $tpl->copy_template);

	  } else {

		  $tpl->copy_template = preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template);

		  $tpl->copy_template = preg_replace("'\\[xfvalue_{$preg_safe_name}\\]'i", "", $tpl->copy_template);

		}

	}

  }



	if ($config['comm_msort'] == "ASC")

		$tpl->set('{comment-id}', $cstart+$i);

	else

		$tpl->set('{comment-id}', $comments_num-$cstart-$i+1);


	if ($row['foto']) 

	$tpl->set('{foto}', $config['http_home_url']."uploads/fotos/".$row['foto']);

	else

	$tpl->set('{foto}', "{THEME}/images/noavatar.png");


	if ($row['is_register'] AND $row['icq']) $tpl->set('{icq}', stripslashes($row['icq']));

	else $tpl->set('{icq}', '--');


	if ($row['is_register'] AND $row['land']) $tpl->set('{land}', stripslashes($row['land']));

	else $tpl->set('{land}', '--');


	if ($row['is_register'] AND $row['fullname']) $tpl->set('{fullname}', stripslashes($row['fullname']));

	else $tpl->set('{fullname}', '--');


	if ($row['is_register']) $tpl->set('{registration}', langdate("j.m.Y", $row['reg_date']));

	else $tpl->set('{registration}', '--');


	if ($row['is_register'] AND $row['signature']) {

	$tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","\\1");

	$tpl->set('{signature}', stripslashes($row['signature']));

	} else {

	$tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","");

	}


	if (!$row['user_group']) $row['user_group'] = 5;


	if ($user_group[$row['user_group']]['icon'])

		$tpl->set('{group-icon}', "<img src=\"".$user_group[$row['user_group']]['icon']."\" border=\"0\" />");

	else

		$tpl->set('{group-icon}', "");


	$tpl->set('{group-name}', $user_group[$row['user_group']]['group_name']);


	$tpl->set('{news-num}', intval($row['news_num']));

	$tpl->set('{comm-num}', intval($row['comm_num']));


	$tpl->set('{comment}', "<div id='comm-id-".$row['id']."'>".stripslashes($row['text'])."</div>");


	if ($user_group[$member_id['user_group']]['allow_hide'])	$tpl->set_block("'\[hide\](.*?)\[/hide\]'si","\\1");

	else $tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","<div class=\"quote\">".$lang['news_regus']."</div>");


		$tpl->compile('content');

}

		$tpl->clear();


		$tpl->result['content'] .= "\n<span id='dle-ajax-comments'></span>\n";


		$db->free($sql_result);


	if ($comments_num > $config['comm_nummers']) {

		include_once ENGINE_DIR.'/modules/c_navigation.php';

		} 

	}


if (($user_group[$member_id['user_group']]['allow_addc']) AND $config['allow_comments'] == "yes")

	{


	if (!$comments_num) $tpl->result['content'] .= "\n<span id='dle-ajax-comments'></span>\n";


	$tpl->load_template('addcomments.tpl');


	if ($config['allow_comments_wysiwyg'] == "yes"){

	$tpl->copy_template = "<script language=JavaScript src='".$config['http_home_url']."engine/editor/scripts/innovaeditor.js'></script>\n".$tpl->copy_template;

	include_once ENGINE_DIR.'/editor/comments.php';

	$bb_code = "";

	}

	else include_once ENGINE_DIR.'/modules/bbcode.php';


	if ($config['allow_comments_wysiwyg'] != "yes"){

		$tpl->set('[not-wysywyg]', "");

		$tpl->set('[/not-wysywyg]',"");

	} else $tpl->set_block("'\\[not-wysywyg\\](.*?)\\[/not-wysywyg\\]'si","");


	if ($user_group[$member_id['user_group']]['captcha']) {

		$tpl->set('[sec_code]',"");

		$tpl->set('[/sec_code]',"");

		$path = parse_url($config['http_home_url']);

		$tpl->set('{sec_code}',"<span id=\"dle-captcha\"><img src=\"".$path['path']."engine/modules/antibot.php\" alt=\"${lang['sec_image']}\" border=\"0\"><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a></span>");

	} else {

		$tpl->set('{sec_code}',"");

		$tpl->set_block("'\\[sec_code\\](.*?)\\[/sec_code\\]'si","");

	}


	if ($config['allow_comments_wysiwyg'] == "yes"){

	$tpl->set('{wysiwyg}',$wysiwyg);

	} else

	{

	$tpl->set('{wysiwyg}','');

	}


	$tpl->set('{text}', '');

	$tpl->set('{bbcode}',$bb_code);

	$tpl->set('{title}',$lang['news_addcom']);


	if (!$is_logged) {

	$tpl->set('[not-logged]','');

	$tpl->set('[/not-logged]','');

	}

	else $tpl->set_block("'\\[not-logged\\](.*?)\\[/not-logged\\]'si","");


	if ($is_logged) $hidden = "<input type=\"hidden\" name=\"name\" id=\"name\" value=\"{$member_id['name']}\" /><input type=\"hidden\" name=\"mail\" id=\"mail\" value=\"\" />"; else $hidden = "";


	$tpl->copy_template = "<form  method=\"post\" name=\"dle-comments-form\" id=\"dle-comments-form\" action=\"{$_SESSION['referrer']}\">".$tpl->copy_template."

	<input type=\"hidden\" name=\"subaction\" value=\"addcomment\" />{$hidden}

	<input type=\"hidden\" name=\"post_id\" id=\"post_id\" value=\"$news_id\" /></form>";


$tpl->copy_template .= <<<HTML

<script language='JavaScript' type="text/javascript">

function reload () {


	var rndval = new Date().getTime(); 


	document.getElementById('dle-captcha').innerHTML = '<img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" border="0" width="120" height="50"><br /><a onclick="reload(); return false;" href="#">{$lang['reload_code']}</a>';


};

</script>

HTML;


	$tpl->compile('content');

	$tpl->clear();

	}

	elseif ($config['allow_comments'] != "no") {


	$tpl->load_template('info.tpl');

	$tpl->set('{error}', $lang['news_info_1']);

	$tpl->set('{group}', $user_group[$member_id['user_group']]['group_name']);

	$tpl->set('{title}', $lang['all_info']);

	$tpl->compile('content');

	$tpl->clear();


	}

}


?>

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

указівают на открітій материал. как єто побороть?
как это понимать?

простите за плохой украинский :)

указыват на уже открытый материал т.е. если линк на новость имеет вид http://dle.ivanoff.mobi/news/completely/9.html то и заголовки новостей под надписью Материалы по теме точнее линки на на эти заголовки точно такие же что и у открытой новости.

мне непонятно что с этим можно сделать ?

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

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

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

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

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

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

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

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

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

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