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

Экспорт новостей сайта (тизер)


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

есть такой модуль у savgroup http://savgroup.ru/m...ayta-tizer.html , экспортит новости на другие сайты. На 10 версии еще работает, а с 10,1 уже не хочет экспортить, не могу найти что мешает. А данный вывод сейчас срочно понадобился, автор не отвечает, наверно занят )

<?php

@session_start();

@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );

@ini_set ( 'display_errors', true );

@ini_set ( 'html_errors', false );

@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );

define( 'DATALIFEENGINE', true );

define ( 'ROOT_DIR', '..' );

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

include ENGINE_DIR . '/data/config.php';

if( $config['http_home_url'] == "" ) {

$config['http_home_url'] = explode( "engine/export_tizer.php", $_SERVER['PHP_SELF'] );

$config['http_home_url'] = reset( $config['http_home_url'] );

$config['http_home_url'] = "http://" . $_SERVER['HTTP_HOST'] . $config['http_home_url'];

}

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

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

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

require_once ENGINE_DIR . '/classes/templates.class.php';

$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];

$_TIME = time () + ($config['date_adjust'] * 60);

$this_month = date( 'Y-m-d H:i:s', $_TIME );

if (isset ( $_GET['limit'] )) $limit = intval($_GET['limit']); else $limit = 5;

if (isset ( $_GET['category'] )) $category_list = trim($_GET['category']); else $category_list = "";

if($category_list) {

$category_wh = " AND p.category IN ({$category_list}) ";

} else $category_wh = "";

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

//				    Определение категорий и их параметры

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

$cat_info = get_vars ( "category" );

if (! is_array ( $cat_info )) {

$cat_info = array ();

$db->query ( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );

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

  $cat_info[$row['id']] = array ();

  foreach ( $row as $key => $value ) {

   $cat_info[$row['id']][$key] = stripslashes ( $value );

  }

}

set_vars ( "category", $cat_info );

$db->free ();

}


$tpl = new dle_template( );

$tpl->dir = ROOT_DIR . '/templates/' . $config['skin'];

define( 'TEMPLATE_DIR', $tpl->dir );

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

$db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p WHERE p.approve=1 AND p.date < '$this_month' {$category_wh} ORDER BY `date` DESC, `id` DESC LIMIT {$limit} " );

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

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

  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 ) {

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

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

   } else {

    foreach ( $cat_list as $element ) {

	 if( $element ) {

	  $my_cat[] = $cat_info[$element]['name'];

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

	  else $my_cat_link[] = "<a 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 );

  }

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

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

   if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {

    if( $row['category'] and $config['seo_type'] == 2 ) {

	 $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";

    } else {

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

    }

   } else {

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

   }

  } else {

   $full_link = $config['http_home_url'] . "index.php?newsid=" . $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'] ) );

  }

  $news_date = $row['date'];

  $tpl->copy_template = preg_replace_callback ( "#\{date=(.+?)\}#i", "formdate", $tpl->copy_template );

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

  $tpl->set( '{link-category}', $my_cat_link );

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

  $row['title'] = str_replace( "{", "&#123;", $row['title'] );

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

  if ( preg_match( "#\\{title limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {

   $count= intval($matches[1]);

   $row['title'] = strip_tags( $row['title'] );

   if( $count AND dle_strlen( $row['title'], $config['charset'] ) > $count ) {

    $row['title'] = dle_substr( $row['title'], 0, $count, $config['charset'] );

    if( ($temp_dmax = dle_strrpos( $row['title'], ' ', $config['charset'] )) ) $row['title'] = dle_substr( $row['title'], 0, $temp_dmax, $config['charset'] ). " ...";

   }

   $tpl->set( $matches[0], $row['title'] );

  }


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

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

  if( $user_group[$member_id['user_group']]['allow_hide'] ) $row['short_story'] = str_ireplace( "[hide]", "", str_ireplace( "[/hide]", "", $row['short_story']) );

  else $row['short_story'] = preg_replace ( "#\[hide\](.+?)\[/hide\]#ims", "<div class=\"quote\">" . $lang['news_regus'] . "</div>", $row['short_story'] );

  if (stripos ( $tpl->copy_template, "{image-" ) !== false) {

   $images = array();

   preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['short_story'], $media);

   $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);

   foreach($data as $url) {

    $info = pathinfo($url);

    if (isset($info['extension'])) {

	 if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue;

	 $info['extension'] = strtolower($info['extension']);

	 if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) array_push($images, $url);

    }

   }

   if ( count($images) ) {

    $i=0;

    foreach($images as $url) {

	 $i++;

	 $tpl->copy_template = str_replace( '{image-'.$i.'}', $url, $tpl->copy_template );

	 $tpl->copy_template = str_replace( '[image-'.$i.']', "", $tpl->copy_template );

	 $tpl->copy_template = str_replace( '[/image-'.$i.']', "", $tpl->copy_template );

    }

   }

   $tpl->copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl->copy_template );

   $tpl->copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template );

  }

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

  if ( preg_match( "#\\{text limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {

   $count= intval($matches[1]);

   $row['short_story'] = str_replace( "</p><p>", " ", $row['short_story'] );

   $row['short_story'] = strip_tags( $row['short_story'], "<br>" );

   $row['short_story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $row['short_story'] ) ) ) ));

   if( $count AND dle_strlen( $row['short_story'], $config['charset'] ) > $count ) {

    $row['short_story'] = dle_substr( $row['short_story'], 0, $count, $config['charset'] );

    if( ($temp_dmax = dle_strrpos( $row['short_story'], ' ', $config['charset'] )) ) $row['short_story'] = dle_substr( $row['short_story'], 0, $temp_dmax, $config['charset'] );

   }

   $tpl->set( $matches[0], $row['short_story'] );

  }

  // Обработка дополнительных полей

  if( $xfound ) {

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

   foreach ( $xfields as $value ) {

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

    if ( $value[6] AND !empty( $xfieldsdata[$value[0]] ) ) {

	 $temp_array = explode( ",", $xfieldsdata[$value[0]] );

	 $value3 = array();

	 foreach ($temp_array as $value2) {

	  $value2 = trim($value2);

	  $value2 = str_replace("&#039;", "'", $value2);

	  if( $config['allow_alt_url'] == "yes" ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urlencode( $value2 ) . "/\">" . $value2 . "</a>";

	  else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&amp;xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";

	 }

	 $xfieldsdata[$value[0]] = implode(", ", $value3);

	 unset($temp_array);

	 unset($value2);

	 unset($value3);

    }

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

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

	 $tpl->copy_template = str_replace( "[xfnotgiven_{$value[0]}]", "", $tpl->copy_template );

	 $tpl->copy_template = str_replace( "[/xfnotgiven_{$value[0]}]", "", $tpl->copy_template );

    } else {

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

	 $tpl->copy_template = str_replace( "[xfgiven_{$value[0]}]", "", $tpl->copy_template );

	 $tpl->copy_template = str_replace( "[/xfgiven_{$value[0]}]", "", $tpl->copy_template );

    }

    $xfieldsdata[$value[0]] = stripslashes( $xfieldsdata[$value[0]] );

    if ( preg_match( "#\\[xfvalue_{$preg_safe_name} limit=['\"](.+?)['\"]\\]#i", $tpl->copy_template, $matches ) ) {

	 $count= intval($matches[1]);

	 $xfieldsdata[$value[0]] = str_replace( "</p><p>", " ", $xfieldsdata[$value[0]] );

	 $xfieldsdata[$value[0]] = strip_tags( $xfieldsdata[$value[0]], "<br>" );

	 $xfieldsdata[$value[0]] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $xfieldsdata[$value[0]] ) ) ) ));

	 if( $count AND dle_strlen( $xfieldsdata[$value[0]], $config['charset'] ) > $count ) {

	  $xfieldsdata[$value[0]] = dle_substr( $xfieldsdata[$value[0]], 0, $count, $config['charset'] );

	  if( ($temp_dmax = dle_strrpos( $xfieldsdata[$value[0]], ' ', $config['charset'] )) ) $xfieldsdata[$value[0]] = dle_substr( $xfieldsdata[$value[0]], 0, $temp_dmax, $config['charset'] );

	 }

	 $tpl->set( $matches[0], $xfieldsdata[$value[0]] );

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

   }

  }

  // Обработка дополнительных полей


  $tpl->compile( 'content' );

}

$tpl->result['content'] = str_replace( '{THEME}', $config['http_home_url'] . 'templates/' . $config['skin'], $tpl->result['content'] );

$tpl->clear();

$db->free();

echo <<<HTML

document.getElementById('dle_tizer').innerHTML='{$tpl->result['content']}';

HTML;

?>

подозреваю, что проблема в этом

echo <<<HTML

document.getElementById('dle_tizer').innerHTML='{$tpl->result['content']}';

HTML;

но что то кручу-верчу, не выходит каменый цветок.

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

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

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

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

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

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

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

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

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

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