<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
 * MaxSite CMS
 * (c) https://max-3000.com/
 */

// коммментарии

static $comment_num = 0; // номер комментария по порядку - если нужно выводить в type_foreach-файле

$page_text_ok = true; // разрешить вывод текста комментария в зависимости от пароля записи

if (isset($page['page_password']) and $page['page_password']) {
	// есть пароль у страницы
	$page_text_ok = (isset($page['page_password_ok'])); // нет отметки, что пароль пройден
}

// echo '<span><a id="comments"></a></span>';

if ($fn = mso_page_foreach('page_comments_start')) require $fn;

mso_hook('page_comments_start');

// получаем список комментариев текущей страницы
require_once getinfo('common_dir') . 'comments.php'; // функции комментариев

// если был отправлен новый коммент, то обрабатываем его и выводим (внизу перед формой) сообщение в случае ошибки
$message_out = mso_get_new_comment(array('page_title' => $page['page_title']));

// получаем все разрешенные комментарии
$comments = mso_get_comments($page['page_id']);

// в сессии проверяем может быть только что отправленный комментарий
if (isset($MSO->data['session']['comments']) and $MSO->data['session']['comments']) {
	$anon_comm = $MSO->data['session']['comments']; // массив: id-коммент

	// получаем комментарии для этого юзера
	$an_comments = mso_get_comments($page['page_id'], array('anonim_comments' => $anon_comm));

	// добавляем в вывод
	if ($an_comments) $comments = array_merge($comments, $an_comments);
}

if (is_login())
	$edit_link = getinfo('siteurl') . 'admin/comments/edit/';
else
	$edit_link = '';

if ($comments or $page['page_comment_allow']) echo '<div class="mso-type-page-comments">';
if ($fn = mso_page_foreach('page-comments-do-list')) require $fn;

if ($page_text_ok and $comments) {

	echo '<div class="mso-comments">';
	eval(mso_tmpl_ts('type/page/units/page-comments-count-tmpl.php'));
	echo '<section>';

	if ($fn = mso_find_ts_file('type/page/units/page-comments-article-tmpl.php'))
		$tmpl = mso_tmpl($fn);

	// опция, разрешающая вывод аватарок
	$show_avatar = mso_get_option('show_avatar', 'general', 1);

	foreach ($comments as $comment) {
		$comment_num++;

		if ($fn = mso_page_foreach('page-comments')) {
			require $fn;
			continue;
		}

		extract($comment);

		if ($comment_num & 1)
			$a_class = 'mso-comment-odd'; // нечетное
		else
			$a_class = 'mso-comment-even'; // четное

		if ($users_id) $a_class .= ' mso-comment-users';
		elseif ($comusers_id) $a_class .= ' mso-comment-comusers';
		else $a_class .= ' mso-comment-anonim';

		if ($show_avatar)
			$avatar = mso_avatar($comment, '', false,  false, true); // только адрес граватарки
		else
			$avatar = '';

		// $comments_content = mso_comments_content($comments_content);

		if (!$comusers_url or !mso_get_option('allow_comment_comuser_url', 'general', 0))
			$comusers_url = '';

		eval($tmpl); // выполнение через шаблонизатор
	}

	echo '</section></div>';
}

if ($fn = mso_page_foreach('page-comments-posle-list')) require $fn;

if ($page['page_comment_allow'] and $page_text_ok) {
	// если запрещены комментарии и от анонимов и от комюзеров, то выходим
	if (
		mso_get_option('allow_comment_anonim', 'general', '1')
		or mso_get_option('allow_comment_comusers', 'general', '1')
	) {
		$to_login = tf('Вы можете <a href="#LOG#">войти</a> под своим логином или <a href="#REG#"> зарегистрироваться</a> на сайте.');
		$to_login = str_replace('#LOG#', getinfo('site_url') . 'login', $to_login);
		$to_login = str_replace('#REG#', getinfo('site_url') . 'registration', $to_login);

		if (mso_get_option('new_comment_anonim_moderate', 'general', '1'))
			$to_moderate = mso_get_option('form_comment_anonim_moderate', 'general', tf('Комментарий будет опубликован после проверки'));
		else
			$to_moderate = mso_get_option('form_comment_anonim', 'general', tf('Используйте нормальные имена'));

		// если запрещены комментарии от анонимов и при этом нет залогиненности, то форму при простой форме не выводим
		if (!mso_get_option('allow_comment_anonim', 'general', '1') and !is_login() and !is_login_comuser() and mso_get_option('form_comment_easy', 'general', '0')) {
			if (mso_get_option('allow_comment_comusers', 'general', '1')) {
				eval(mso_tmpl_ts('type/page/units/page-comment-to-login-tmpl.php'));
			}
		} else {
			if ($message_out) {
				echo '<a id="comments_message"></a>' . $message_out . '<script>$(window).load(function () {$("body,html").stop().animate({scrollTop: $("#comments_message").offset().top-50}, 500);}); </script>';
			}

			eval(mso_tmpl_ts('type/page/units/page-comment-form-tmpl.php'));
		}
	}
}

if ($comments or $page['page_comment_allow']) echo '</div><!-- /div.mso-type-page-comments -->';

# end of file
