вопрос
есть такой вод код, который я добавляю в addcomments.php, все работает, но сообщение выводить не через модальное окно движка, а через окно браузера.. как мне заставить его выводить сообщение через окно движка?
вот код, отвечающий за вывод коммента (использую древовидные коментарии от RAZOR), я пробовал сделать по аналогии с дефолтным файлом, но лезли косяки..
не подскажите, что нужно добавить, чтобы работало правильно?
if (preg_match ("/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i", $_POST['comments']) || preg_match ("/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i", $_POST['name']))
{
if (preg_match ("/gig-softa.ru.ru/i", $_POST['comments']) || preg_match ("/gig-softa.ru/i", $_POST['name']))
{}
else
{
$stop[] = "Иди на... спамер конченый..URL адреса сайтов, публиковать ЗАПРЕЩЕНО!";
$CN_HALT = TRUE;
}
}
вот код, отвечающий за вывод коммента (использую древовидные коментарии от RAZOR), я пробовал сделать по аналогии с дефолтным файлом, но лезли косяки..
не подскажите, что нужно добавить, чтобы работало правильно?
function TreeAddComments(){
var Url = "";
var form = document.getElementById( "dle-comments-form" );
ShowLoading( "" );
if ( dle_wysiwyg == "yes" )
{
document.getElementById( "comments" ).value = tinyMCE.get( "comments" ).getContent();
Url += "&editor_mode=wysiwyg";
}
for( var i=0; i < form.elements.length; i++ )
{
var ElementForm = form.elements[i];
switch( ElementForm.type ){
case "checkbox": {
if( ElementForm.checked == true )
{
Url += "&" + ElementForm.name + "=" + ElementForm.value;
}
break
}
default: {
Url += "&" + ElementForm.name + "=" + ElementForm.value;
break
}
}
}
$.ajax({
url: dle_root + "engine/ajax/treecomments/addcomments.php",
data: Url,
success: function( data ){
HideLoading( "" );
if( /script language/i.exec( data ) == null )
{
if( form.answer_id )
{
$( "#tree_comments_form-" + form.answer_id.value ).html( data );
document.getElementById( "button_answer_to_" + form.answer_id.value ).innerHTML = "";
}
else
{
var new_id = Math.floor( Math.random() * ( 100 - 5 + 1 ) ) + 5;
var Element = document.createElement( "div" );
document.getElementById( "tree-comments-list" ).appendChild( Element );
Element.id = "new_comment_" + new_id;
$( "#" + Element.id ).html( data );
}
if( document.getElementById( "dle-ajax-comments" ) != null )
{
var DelElement = document.getElementById( "dle-ajax-comments" );
DelElement.parentNode.removeChild( DelElement );
}
if( form.answer_id )
{
var ObjCom = document.getElementById( "tree_comments_form-" + form.answer_id.value );
ObjCom.id = "tree_comments_result-" + form.answer_id.value;
form.answer_id = "";
CancelAnswer();
}
if( dle_group == 5 )
{
form.name.value = "";
form.mail.value = "";
}
form.comments.value = "";
CaptchaReload();
}
else
{
var new_id = Math.floor( Math.random() * ( 100 - 5 + 1 ) ) + 5;
var Element = document.createElement( "div" );
document.getElementById( "tree-comments-list" ).appendChild( Element );
Element.id = "new_comment_" + new_id;
$( "#" + Element.id ).html( data );
CaptchaReload();
}
},
dataType: "html",
type: "POST"
});
}
Ответил: ПафНутиЙ
А не проще ли просто в настройках движка запретить ссылки в комментариях, ибо с большой вероятностью ссылки постят роботы)))