dima98 0 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 (изменено) Доброго времени суток! Есть вопрос я собрался перехать с рукаписанного движка на ДЛЕ. Базу новостей я перенесу без проблем кажеться но для того чтобы не терять позиции(имеетьсся ввиду то что мой сайт уже проиндексирован поисковиками и хорошо появляеться в запросах) на текущий момент линк имеет вид 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 как это реализовать на ДЛЕ ? Буду признателен за подсказку. Изменено 21 февраля 2008 пользователем Иванов Цитата Ссылка на сообщение Поделиться на других сайтах
WMDrakon 20 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 Иванов, Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован. Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 Автор Спасибо за правку исправился. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 http://www.ric.dp.ua/news/completely/42090 42090 - ID новости completely - ? Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 (изменено) Автор http://www.ric.dp.ua/news/completely/42090 42090 - ID новости completely - ? Да, 42090 это ID новости completely - это просто вывод линка движка с которого мы сьежаем Изменено 21 февраля 2008 пользователем Иванов Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 то есть на все новости должна быть ссылка вида: /news/completely/ID где ID - номер новости? Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 Автор то есть на все новости должна быть ссылка вида: /news/completely/ID где ID - номер новости? да Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 а при переносе новости в базу дле линк на новость будет http://www.ric.dp.ua/2007/12/31/komersant..._na_prokat.html.у вас какая версия DLE? Советую вам переносить новости сохраняя ID, тогда вообще проблем не будет Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 Автор 6.7 так новость с оригинальным ID я сохраню это понятно а вто, как сделать так чтобы появлялась .../news/completely/... мне это непонятно а где формируется эта ссылка на новость каким скриптом? Цитата Ссылка на сообщение Поделиться на других сайтах
Greeze 0 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 Иванов, http://4dle.ru/2007/12/13/izmenjaem_urly_novostejj.html Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 ·• Greeze •·, это не то) а где формируется эта ссылка на новость каким скриптом?engine/modules/show.short.php переменная $full_link с .htaccess я думаю справитесь Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 (изменено) Автор ·• 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 не понял где менять может подскажете как это сделать правда помне так лутьше еслиб добрая душа это показала как это сделать или кото занет гле есть список всех переменная - возможно разберсь при помоши его Изменено 21 февраля 2008 пользователем Иванов Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 21 февраля 2008 Рассказать Опубликовано: 21 февраля 2008 Иванов, тот "рукописный" движок вы писали? $full_link = $config['http_home_url'].'news/completely/'.$row['id'].'.html'; Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 22 февраля 2008 Рассказать Опубликовано: 22 февраля 2008 Автор увы еслиб я его писал я бы не задавал вопросов и не переходил на ДЛЕ за подсказку спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 22 февраля 2008 Рассказать Опубликовано: 22 февраля 2008 Автор lifestar - спасибо за строку линк получился тот что надо но вот при желании просмотреть полную новость и войти в коментарий мне відает что мол нет ее или ее удалили. нехватает мне опыта помогите плиз готов оплатить труд (в разумных приделах ) Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 22 февраля 2008 Рассказать Опубликовано: 22 февраля 2008 при желании просмотреть полную новость и войти в коментарий мне відает что мол нет ее или ее удалили.приводите полностью данные, какая получается ссылка? Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 22 февраля 2008 Рассказать Опубликовано: 22 февраля 2008 (изменено) Автор получаеться сылка на полную новость домен/news/completely/49020.html а коментрарий домен/news/completely/49020.html#comment а в ответ Внимание, обнаружена ошибка К сожалению, данная страница для Вас не доступна: возможно, был изменен ее адрес или она была удалена. Пожалуйста, воспользуйтесь поиском. и при поиске это материала по словам из текста выдает тоже сообшение подставляю после домена домен/2007/12/31/komersant_sdali_na%20_prokat.html открываеться во всей красе Изменено 22 февраля 2008 пользователем Иванов Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 22 февраля 2008 Рассказать Опубликовано: 22 февраля 2008 Иванов, я же писал с .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] Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 22 февраля 2008 Рассказать Опубликовано: 22 февраля 2008 Автор я так понимаю что остальные строки прибиваються? правильно ? и по поводу 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++; // // обработка страниц подскажите плиз так как выше указанные изменения произвел теперь при нажатии просто страница с анонсам перегружаеться Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 22 февраля 2008 Рассказать Опубликовано: 22 февраля 2008 в новый код для .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'; Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 22 февраля 2008 Рассказать Опубликовано: 22 февраля 2008 (изменено) Автор Спасибо огромноевсе все получилось Изменено 22 февраля 2008 пользователем Иванов Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 23 февраля 2008 Рассказать Опубликовано: 23 февраля 2008 Автор Господа те кто будет пользовать этот материал для решения схожего вопроса учтите что замену надо произвести и вдругих модулях: топновость и т.д. Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 29 февраля 2008 Рассказать Опубликовано: 29 февраля 2008 (изменено) Автор Появился вопрос с которым я не справился при открытии новости 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&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']."&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']."&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']."&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']."&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&user=".urlencode($row['autor'])."\""; $news_page .= "href=\"$PHP_SELF?subaction=allnews&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&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&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&action=editnews&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&doaction=add&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&doaction=del&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&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&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&action=comm_edit&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&action=comm_del&id=".$row['id']."&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(" ", "&#039;"), $row['name'] )."');\" href=\"#\" onClick=\"dle_ins('".str_replace( array(" ", "'"), array(" ", "&#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(); } } ?> Изменено 29 февраля 2008 пользователем Иванов Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 29 февраля 2008 Рассказать Опубликовано: 29 февраля 2008 указівают на открітій материал. как єто побороть?как это понимать? Цитата Ссылка на сообщение Поделиться на других сайтах
dima98 0 Опубликовано: 29 февраля 2008 Рассказать Опубликовано: 29 февраля 2008 Автор указівают на открітій материал. как єто побороть?как это понимать? простите за плохой украинский указыват на уже открытый материал т.е. если линк на новость имеет вид http://dle.ivanoff.mobi/news/completely/9.html то и заголовки новостей под надписью Материалы по теме точнее линки на на эти заголовки точно такие же что и у открытой новости. мне непонятно что с этим можно сделать ? Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.