Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента

#
Re: Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента
$DataBase = new DataBase();
#
Re: Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента
Fatal error: Cannot instantiate non-existent class: database in
#
Re: Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента
В таком случае попробуйте вместо $DataBase = new DataBase(); использовать $DataBase = new MySQL();

#
Re: Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента
ЗАМЕЧАНИЕ: Undefined variable: INFSYS_result в файле /home/i/intrastore/cosp/public_html/lib/lib_40/lib_40.php (строка 227)
   Ошибка выполнения запроса! - Unknown column 'information_items_table.information_systems_id' in 'where clause'
   ПРЕДУПРЕЖЕДЕНИЕ: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource в файле /home/i/intrastore/cosp/public_html/lib/lib_40/lib_40.php (строка 245)

никак не получается (
#
Re: Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента
ruslanbakiev, сообщите адрес сайта и данные доступа к разделу администрирования. А также адрес страницы с ошибкой на адрес службы техподдержки.
#
Re: Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента
это бесплатная версия - поможете?
#
Re: Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента
да
#
Re: Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента
Добрый вечер.

Будет ли «это» работать в типовой. дин. стр. «Информационная система для Вопросы-ответы, Гостевая книга и т.п.»

В обычной тип. дин. стр «Инф. Система» — получилось, код идентичен.

А вот куда вставлять в «Информационная система для Вопросы-ответы, Гостевая книга и т.п» Сформулировал, конечно, плохо. Надеюсь поймёте.

На всякий случай, приведу код:

<?php

$InformationSystem_id = to_int($GLOBALS['LA']['InformationSystemID']);

// Получаем информацию о текущем пользователе
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$site_user_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_user_id = 0;
}

/* Массив внешних параметров, передаваемых в XML */
$external_propertys = array();

/* Добавление комментария */
// ShowAddComment == 1 - только авторизированные
// ShowAddComment == 2 - все
/*if (isset($_POST['add_comment'])
&& ((to_int($GLOBALS['LA']['ShowAddComment']) == 1 && $site_user_id > 0) || to_int($GLOBALS['LA']['ShowAddComment']) == 2))*/
if (isset($_POST['add_comment']))
{
$param['information_items_id'] = to_int($GLOBALS['InformationResult']['item_id']);

/* XSL шаблон для отправки уведомления администратору о добавлении комментария */
$param['admin_email_xsl'] = to_str($GLOBALS['LA']['xsl_admin_email']);

$xsl_add_comment = to_str($GLOBALS['LA']['xsl_add_comment']);

/* Режим добавления комментария:
1 - публиковать сразу,
0 - публиковать после проверки.
Если пользователь авторизирован - публикуем сразу. */
if (to_bool($GLOBALS['LA']['TypeAddComment']) || $site_user_id > 0)
{
$param['status'] = 1;
}
else
{
$param['status'] = 0;
}

// Текст комментария
$_POST['comment_text'] = nl2br(to_str($_POST['comment_text']));

// Типографируем текст, если доступен модуль типографирования
if (class_exists('typograph'))
{
$typograph = new typograph();
$_POST['comment_text'] = $typograph->ProcessTypographic($_POST['comment_text']);
}

$param['comment_mail_type'] = to_int($GLOBALS['LA']['comment_mail_type']);

// ID родительского комментария
$param['comment_parent_id'] = to_int($_POST['comment_parent_id']);

$param['comment_autor'] = htmlspecialchars(strip_tags(to_str($_POST['comment_autor'])));
$param['comment_email'] = htmlspecialchars(strip_tags(to_str($_POST['comment_email'])));
$param['comment_subject'] = htmlspecialchars(strip_tags(to_str($_POST['comment_subject'])));
$param['comment_text'] = to_str($_POST['comment_text']);
$param['comment_grade'] = to_int($_POST['comment_grade']);

ob_start();
$GLOBALS['LA_InformationSystem']->ShowAddComment('УведомлениеДобавлениеКомментария', $param);
$external_propertys['message'] = ob_get_clean();

}

/* Отображаем элемент если не было добавления комментария, или результат добавления комментария отрицательный */
/*if (!isset($_POST['add_comment']) || isset($result_add_comment) && !$result_add_comment)*/
{
/* XSL шаблон для отображения списка элементов информационной системы */
$xsl_list = to_str($GLOBALS['LA']['xsl_information_system_list']);

/* XSL шаблон для отображения элемента информационной системы */
$xsl_item = to_str($GLOBALS['LA']['xsl_information_item']);

$InformationResult = $GLOBALS['InformationResult'];

/* Массив внешних параметров, передаваемых в XML */
$external_propertys['ОтображатьСсылкуНаАрхив'] = 0;
$external_propertys['ОтображатьСсылкиНаСледующиеСтраницы'] = 1;

/* Массив дополнительных параметров */
$property = array();

/* Число элементов на страницу */
if (isset($InformationResult['items_on_page']))
{
if ($InformationResult['items_on_page'] !== true)
{
$InformationResult['items_on_page'] = to_int($InformationResult['items_on_page']);
}
}
else
{
$InformationResult['items_on_page'] = 10;
}

/* Номер, с которого начинается показ */
if (isset($InformationResult['items_begin']))
{
$InformationResult['items_begin'] = to_int($InformationResult['items_begin']);
}
else
{
$InformationResult['items_begin'] = 0;
}

// Метод определения идентификатора информационной группы и идентификатора
// информационного элемента по значению URI
//$result = $GLOBALS['LA_InformationSystem']->GetInformationFromPath($InformationSystem_id);

if ($GLOBALS['INFSYS_result'] != false)
{
/* Вывод списка */
if ($GLOBALS['INFSYS_result']['item'] == false)
{
// Капча
$Captcha = new Captcha();
$external_propertys['captcha_key'] = $Captcha->GetCaptchaID();

/* Обработка вставки информационного элемента */
if (isset($_POST['submit_question']))
{
// Проверяем правильноть указания капчи
// Для авторизированных пользователей капчу не проверяем
if ($site_user_id > 0
|| $Captcha->ValidCaptcha(to_str($_POST['captcha_key']), to_str($_POST['captcha_keystring'])))
{
if ($GLOBALS['LA_InformationSystem']->confirm_information_item(date('U'), $_SERVER['REMOTE_ADDR']) == 1)
{
$date= date('Y-m-d H:i:s');

/* Определяем группу (если задана)
Принимает в качестве параметра ID информационной системы*/
//$result = $GLOBALS['LA_InformationSystem']->GetInformationFromPath($InformationSystem_id);

$group_id = to_int($GLOBALS['INFSYS_result']['group']);

// Статус вновь добавленного элемента
// 0 - не активен (необходимо вручную проверить и включить)
// 1 - активен, виден сразу после публикации
$item_status = to_int($GLOBALS['LA']['ItemStatus']);

// Текст сообщения
$text = nl2br(htmlspecialchars(strip_tags(to_str($_POST['text_item']))));

// Типографируем текст, если доступен модуль типографирования
if (class_exists('typograph'))
{
$typograph = new typograph();
$text = $typograph->ProcessTypographic($text);
}

$param = array();
$param['site_users_id'] = $site_user_id;

// Вставляем запись
$question_id = $GLOBALS['LA_InformationSystem']->InsertInformationItems(0,   0,
$InformationSystem_id, $group_id, $date,   htmlspecialchars(strip_tags(to_str($_POST['subject']))), '',
$item_status, $text, '', 0, to_str($_SERVER['REMOTE_ADDR']), '', 1, '', '', '', '', $param);

$row = $GLOBALS['LA_InformationSystem']->GetInformationSystemItems($question_id);

// Вставляем в дополнительные свойства автора, его email и id
$GLOBALS['LA_InformationSystem']->InsertInformationPropertysItems(0, 0,   to_int($GLOBALS['LA']['autor_property_id']), $question_id, htmlspecialchars(strip_tags(to_str($_POST['autor']))));

$GLOBALS['LA_InformationSystem']->InsertInformationPropertysItems(0, 0,   to_int($GLOBALS['LA']['email_property_id']), $question_id, htmlspecialchars(strip_tags(to_str($_POST['email']))));

// Если пользователь зерегистрирован, получаем информацию
if (class_exists('SiteUsers') && !empty($site_user_id))
{
$row_site_user = $SiteUsers->GetSiteUser($site_user_id);

if(!empty($row_site_user['site_users_name']) && !empty($row_site_user['site_users_surname']))
{
$site_user_name = $row_site_user['site_users_name'].' '.$row_site_user['site_users_surname'];
}
else
{
$site_user_name = $row_site_user['site_users_login'];
}

$site_user_email = $row_site_user['site_users_email'];
}
else
{
$site_user_name = htmlspecialchars(strip_tags(to_str($_POST['autor'])));
$site_user_email = htmlspecialchars(strip_tags(to_str($_POST['email'])));
}

ob_start();
if ($item_status == 0)
{
?>
<p>Благодарим Вас!
<br />Ваша запись принята. После проверки Администратором она станет доступной!
</p>
<?php
}
else
{
?>
<p>Благодарим Вас!
<br />Ваша запись принята и опубликована!
</p>
<?php    
}
$external_propertys['message'] = ob_get_clean();

// Отправка письма администратору
$message = "Доброе время суток, уважаемый Администратор!\n\nНа сайт, поддерживаемый системой управления сайтом HostCMS, была добавлена запись:\n";
$message .= "Автор: ".$site_user_name."\n";
$message .= "E-mail: ".$site_user_email."\n";
$message .= "Тема: ".htmlspecialchars(strip_tags(to_str($_POST['subject'])))."\n";
$message .=   "Информационная система: ".$row['information_systems_name']."\n";
$message .= "Информационный элемент: ".$row['information_items_name']."\n";
$message .=   "Редактировать: http://".to_str($_SERVER['HTTP_HOST'])."/admin/InformationSystems/InformationSystems.php?admin_forms_id=12&operation=edit_group_item&check_1_{$question_id}=1&information_system_id={$InformationSystem_id}\n";
$DateClass = new DateClass();
$message .= "Дата: ".$DateClass->datetime_format($date)."\n";
$message .= "IP-адрес: ".to_str($_SERVER['REMOTE_ADDR'])."\n";
$message .= "Вопрос: ".htmlspecialchars(strip_tags(to_str($_POST['text_item'])));

$subject = 'Добавление вопроса';

$kernel = & singleton('kernel');
$kernel->SendMailWithFile(EMAIL_TO, EMAIL_TO, $subject, $message, array(), 'text/plain');
}
else // нельзя добавлить объявление - прошло мало времени
{
$external_propertys['error'] = 'Запись не может быть добавлена, т.к. прошло мало времени с момента Вашего последнего добавления вопроса!';
}
}
// Ошибка добавления записи
else
{
$external_propertys['error'] = 'Вы неверно ввели число подтверждения отправки формы!';

$external_propertys['fio'] = htmlspecialchars(strip_tags(to_str($_POST['autor'])));
$external_propertys['email'] = htmlspecialchars(strip_tags(to_str($_POST['email'])));
$external_propertys['subject'] = htmlspecialchars(strip_tags(to_str($_POST['subject'])));
$external_propertys['text_item'] = htmlspecialchars(strip_tags(to_str($_POST['text_item'])));
}
}

/* Отображаем информационную систему */
$GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $GLOBALS['INFSYS_result']['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
}
else
{
/* Определяем идентификатор информационного элемента */
$item_id = $GLOBALS['LA_InformationSystem']->GetIdInformationItem($GLOBALS['INFSYS_result']['item'], $GLOBALS['INFSYS_result']['group'], $InformationSystem_id);

/* Выводим элемент информационной системы */
$GLOBALS['LA_InformationSystem']->ShowInformationSystemItem($item_id, $xsl_item, $external_propertys);
}
}
}
?>
Держи крепко, отпускай легко :P
#
Re: Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента
Эта конструкция работает, если выводить все одним шаблоном, а как сделать так, что бы эти ссылки выводились в другом шаблоне, подскажите пожалуйста.
Модератор
#
Re: Вывод ссылок на предыдущий и следующий элементы при выводе инфоэлемента
Nikita, уточните вопрос, не совсем понятно, что Вы хотите сделать.
Авторизация