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

Из-за чего происходит ошибка?


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

Из двух модулей - Wall by dark5ider и Комментарии к профилю 2.0 - слепил один. Полностью переделал и адаптировал под 9.3. Но вот возникла проблема такого характера

[15:48:12.429] POST http://test.ru/engine/ajax/iWall/wall.addcomments.php [HTTP/1.0 500 Internal Server Error 40мс]
Это происходит при нажатии на Отправить сообщение. Отправлятся должно на AJAX. Но, увы, не отправляется. Виснет "Пожалуйста, подождите".

Подскажите, где допущена ошибка? Делал на основе engine/ajax/addcomments.php

<?php

/*

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

 Файл: wall.addcomments.php

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

 Назначение: AJAX для добавления комментариев на стену

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

*/


@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', '../..' );


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

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


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


	$config['http_home_url'] = explode( "engine/ajax/iWall/wall.addcomments.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';


$_REQUEST['skin'] = trim(totranslit($_REQUEST['skin'], false, false));


if( $_REQUEST['skin'] == "" OR !@is_dir( ROOT_DIR . '/templates/' . $_REQUEST['skin'] ) ) {

	die( "Hacking attempt!" );

}


//################# Определение групп пользователей

$user_group = get_vars( "usergroup" );


if( ! $user_group ) {

	$user_group = array ();


	$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );


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


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


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

			$user_group[$row['id']][$key] = $value;

		}


	}

	set_vars( "usergroup", $user_group );

	$db->free();

}


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

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

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

$banned_info = get_vars ( "banned" );


if (! is_array ( $banned_info )) {

	$banned_info = array ();


	$db->query ( "SELECT * FROM " . USERPREFIX . "_banned" );

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


		if ($row['users_id']) {


			$banned_info['users_id'][$row['users_id']] = array (

																'users_id' => $row['users_id'], 

																'descr' => stripslashes ( $row['descr'] ), 

																'date' => $row['date'] );


		} else {


			if (count ( explode ( ".", $row['ip'] ) ) == 4)

				$banned_info['ip'][$row['ip']] = array (

														'ip' => $row['ip'], 

														'descr' => stripslashes ( $row['descr'] ), 

														'date' => $row['date']

														);

			elseif (strpos ( $row['ip'], "@" ) !== false)

				$banned_info['email'][$row['ip']] = array (

															'email' => $row['ip'], 

															'descr' => stripslashes ( $row['descr'] ), 

															'date' => $row['date'] );

			else $banned_info['name'][$row['ip']] = array (

															'name' => $row['ip'], 

															'descr' => stripslashes ( $row['descr'] ), 

															'date' => $row['date'] );


		}


	}

	set_vars ( "banned", $banned_info );

	$db->free ();

}


if( $config["lang_" . $_REQUEST['skin']] ) {


	if ( file_exists( ROOT_DIR . '/language/' . $config["lang_" . $_REQUEST['skin']] . '/website.lng' ) ) {

		@include_once (ROOT_DIR . '/language/' . $config["lang_" . $_REQUEST['skin']] . '/website.lng');

	} else die("Language file not found");


} else {


	@include_once ROOT_DIR . '/language/' . $config['langs'] . '/website.lng';


}

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


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


if( ! $is_logged ) {

	$member_id['user_group'] = 5;

}


if ( check_ip ( $banned_info['ip'] ) ) die("error");


$tpl = new dle_template( );

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

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


$ajax_adds = true;


$_POST['name'] = convert_unicode( $_POST['name'], $config['charset']  );

$_POST['mail'] = convert_unicode( $_POST['mail'], $config['charset'] );

$_POST['comments'] = convert_unicode( $_POST['comments'], $config['charset'] );


require_once ENGINE_DIR . '/modules/iWall/wall.addcomments.php';


if( $CN_HALT != TRUE ) {


	$wall_row = $db->super_query( "SELECT " . PREFIX . "_wall_comments.id, `profile_id`, " . PREFIX . "_wall_comments.user_id, `date`, autor as gast_name, " . PREFIX . "_wall_comments.email as gast_email, `text`, `ip`, `is_register`, `name`, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, lastdate, reg_date, banned, signature, foto, fullname, land, icq, xfields, wall_posts_count FROM " . PREFIX . "_wall_comments LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_wall_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_wall_comments.profile_id = '$profile_id' ORDER BY id DESC LIMIT  0,1" );


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


	include_once ENGINE_DIR . '/modules/iWall/wall.tpl.php';

}


if( $_POST['editor_mode'] == "wysiwyg" ) {


	$clear_value = "tinyMCE.execInstanceCommand( 'comments', 'mceSetContent', false, '', false )";


} else {


	$clear_value = "form.comments.value = '';";


}


if( $CN_HALT ) {


	$stop = implode( '\n', $stop );


	$tpl->result['wall_posts'] = "<script type=\"text/javascript\">\n";


	var form = document.getElementById('dle-comments-form');


	{$clear_value}


	if ( form.sec_code ) {

		form.sec_code.value = ''; 

	}


	$tpl->result['content'] .= "\n DLEalert('" . $stop . "', '". $lang['add_comm']."');\n var timeval = new Date().getTime();\n


	if( document.getElementById('recaptcha_response_field') ) {

		Recaptcha.reload(); 

	}


	if( document.getElementById('dle-captcha') ) {

		document.getElementById('dle-captcha').innerHTML = '<a onclick=\"reload(); return false;\" href=\"#\" title=\"{$lang['reload_code']}\"><img src=\"' + dle_root + 'engine/modules/antibot.php?rand=' + timeval + '\" border=0></a>';

	}\n </script>";


} else {


	$tpl->result['comments'] = "<div id=\"blind-animation\" style=\"display:none\">".$tpl->result['comments']."<div>";


	$tpl->result['comments'] .= <<<HTML

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

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


	var form = document.getElementById('dle-comments-form');


	{$clear_value}

</script>

HTML;


}


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


@header( "Content-type: text/html; charset=" . $config['charset'] );

echo $tpl->result['comments'];


?>

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

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

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

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

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

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

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

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

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

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