Информационная система "Журнал отзывов"

#
Информационная система "Журнал отзывов"
Подскажите, пожалуйста, как сделать в боковом меню отображение двух последних отзывов? сайт http://шалекаткова.рф/guestbook/
#
Re: Информационная система "Журнал отзывов"
vereteno писал(а):
как сделать в боковом меню отображение двух последних отзывов?

Хотя бы покажите код в ТДС? К сожалению Ванга давно не с нами.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Информационная система "Журнал отзывов"
<?php

$Informationsystem_Controller_Show = Core_Page::instance()->object;

$xslName = $Informationsystem_Controller_Show->item
   ? Core_Array::get(Core_Page::instance()->libParams, 'informationsystemItemXsl')
   : Core_Array::get(Core_Page::instance()->libParams, 'informationsystemXsl');

$Informationsystem_Controller_Show->addEntity(
   Core::factory('Core_Xml_Entity')
      ->name('ОтображатьСсылкуНаАрхив')->value(0)
)->addEntity(
   Core::factory('Core_Xml_Entity')
      ->name('ОтображатьСсылкиНаСледующиеСтраницы')->value(1)
)->addEntity(
   Core::factory('Core_Xml_Entity')
      ->name('ТекущаяГруппа')->value($Informationsystem_Controller_Show->group)
)->addEntity(
   Core::factory('Core_Xml_Entity')
      ->name('show_comments')->value(
         intval(Core_Array::get(Core_Page::instance()->libParams, 'showComments', 1))
      )
)->addEntity(
   Core::factory('Core_Xml_Entity')
      ->name('show_add_comments')->value(
         intval(Core_Array::get(Core_Page::instance()->libParams, 'showAddComment', 2))
      )
);

$Informationsystem_Controller_Show
   ->tags(TRUE)
   ->comments(TRUE);

if ($Informationsystem_Controller_Show->item == 0)
{
   //$Informationsystem_Controller_Show->itemsForbiddenTags(array('text'));

   // Обработка вставки информационного элемента
   if (Core_Array::getPost('submit_question'))
   {
      $Informationsystem_Controller_Show->cache(FALSE);

      $siteuser_id = 0;
      if (Core::moduleIsActive('siteuser'))
      {
         $oSiteuser = Core_Entity::factory('Siteuser')->getCurrent();

         if ($oSiteuser)
         {
            $siteuser_id = $oSiteuser->id;
         }
      }

      $oInformationsystem_Item = Core_Entity::factory('Informationsystem_Item');
      $oInformationsystem_Item->informationsystem_group_id = $Informationsystem_Controller_Show->group;
      $oInformationsystem_Item->active = Core_Page::instance()->libParams['addedItemActive'];

      $subject = nl2br(strip_tags(Core_Array::getPost('subject')));
      $text = strip_tags(Core_Array::getPost('text'));
      $oInformationsystem_Item->name = strlen($subject) > 0 ? $subject : '<Без темы>';
      $oInformationsystem_Item->text = nl2br($text);
      $oInformationsystem_Item->siteuser_id = $siteuser_id;

      $author = strip_tags(Core_Array::getPost('author'));
      $email = strip_tags(Core_Array::getPost('email'));

      $oInformationsystem = $Informationsystem_Controller_Show->getEntity();
      $oInformationsystemItems = $oInformationsystem->Informationsystem_Items;
      $oInformationsystemItems->queryBuilder()
         ->where('ip', '=', Core_Array::get($_SERVER, 'REMOTE_ADDR'))
         ->orderBy('id', 'DESC')
         ->limit(1);

      $aLastInformationsystemItem = $oInformationsystemItems->findAll();

      if (!isset($aLastInformationsystemItem[0]) || time() < Core_Date::sql2timestamp($oInformationsystem_Item->datetime) + ADD_COMMENT_DELAY)
      {
         if ($siteuser_id > 0 || Core_Captcha::valid(Core_Array::getPost('captcha_id'), Core_Array::getPost('captcha')))
         {
            $oInformationsystem->add($oInformationsystem_Item);

            // Вставляем в дополнительные свойства автора
            $oProperty = Core_Entity::factory('Property')->find(Core_Page::instance()->libParams['authorPropertyId']);

            if (!is_null($oProperty->id) && $author)
            {
               $oValue = $oProperty->createNewValue($oInformationsystem_Item->id);
               $oValue->value = $author;
               $oValue->save();
            }

            // Вставляем в дополнительные свойства email
            $oProperty = Core_Entity::factory('Property')->find(Core_Page::instance()->libParams['emailPropertyId']);

            if (!is_null($oProperty->id) && $email)
            {
               $oValue = $oProperty->createNewValue($oInformationsystem_Item->id);
               $oValue->value = $email;
               $oValue->save();
            }

            // Если пользователь зерегистрирован, получаем информацию
            if ($siteuser_id)
            {
               $author = $oSiteuser->name && $oSiteuser->surname
                  ? $oSiteuser->name . ' ' .   $oSiteuser->surname
                  : $oSiteuser->login;

               $email = $oSiteuser->email;
            }

            ob_start();
            if ($oInformationsystem_Item->active == 0)
            {
               ?>
               <p>Благодарим Вас, <?php echo $author?>!
               <br />Ваша запись принята. После проверки администратором она станет доступной!
               </p>
               <?php
            }
            else
            {
               ?>
               <p>Благодарим Вас, <?php echo $author?>!
               <br />Ваша запись принята и опубликована!
               </p>
               <?php
            }
            $Informationsystem_Controller_Show->addEntity(
               Core::factory('Core_Xml_Entity')
                  ->name('message')->value(ob_get_clean())
            );

            // Отправка письма администратору
            $message = "Доброе время суток, уважаемый Администратор!\n\nНа сайт, поддерживаемый системой управления сайтом HostCMS, была добавлена запись:\n";
            $message .= "Автор: " . $author . "\n";
            $message .= "E-mail: " . $email . "\n";
            $message .= "Тема: {$oInformationsystem_Item->name}\n";
            $message .= "Информационная система: ".$oInformationsystem->name."\n";
            $message .= "Дата: " . Core_Date::sql2datetime($oInformationsystem_Item->datetime) . "\n";
            $message .= "IP-адрес: " . $oInformationsystem_Item->ip . "\n";
            $message .= "Вопрос: " . $oInformationsystem_Item->text;

            $oCore_Mail_Driver = Core_Mail::instance()
               ->to(EMAIL_TO)
               ->from(Core_Valid::email($email)
                  ? $email
                  : EMAIL_TO
               )
               ->subject('Добавление информационного элемента')
               ->message($message)
               ->contentType('text/plain')
               ->send();
         }
         else
         {
            $Informationsystem_Controller_Show->addEntity(
               Core::factory('Core_Xml_Entity')
                  ->name('error')->value('Введен неверный код подтверждения!')
            )
            ->addEntity(
               Core::factory('Core_Xml_Entity')->name('adding_item')
               ->addEntity(
                  Core::factory('Core_Xml_Entity')->name('author')->value($author)
               )->addEntity(
                  Core::factory('Core_Xml_Entity')->name('email')->value($email)
               )->addEntity(
                  Core::factory('Core_Xml_Entity')->name('subject')->value($subject)
               )->addEntity(
                  Core::factory('Core_Xml_Entity')->name('text')->value($text)
               )
            );
         }
      }
      else
      {
         $Informationsystem_Controller_Show->addEntity(
               Core::factory('Core_Xml_Entity')
                  ->name('error')->value('Запись не может быть добавлена, т.к. прошло мало времени с момента Вашего последнего добавления вопроса!')
            );
      }
   }
}
else
{
   if (Core_Array::getPost('add_comment') && Core_Array::get(Core_Page::instance()->libParams, 'showAddComment') != 0)
   {
      $Informationsystem_Controller_Show->cache(FALSE);

      $oLastComment = Core_Entity::factory('Comment')->getLastCommentByIp(
         Core_Array::get($_SERVER, 'REMOTE_ADDR')
      );

      $oXmlCommentTag = Core::factory('Core_Xml_Entity')
         ->name('document');

      $siteuser_id = 0;
      if (Core::moduleIsActive('siteuser'))
      {
         $oSiteuser = Core_Entity::factory('Siteuser')->getCurrent();

         if ($oSiteuser)
         {
            $siteuser_id = $oSiteuser->id;
         }
      }

      $oComment = Core_Entity::factory('Comment');

      $allowable_tags = '<b><strong><i><em><br><p><u><strike><ul><ol><li>';
      $oComment->parent_id = intval(Core_Array::getPost('parent_id', 0));
      $oComment->active = Core_Array::get(Core_Page::instance()->libParams, 'addedCommentActive', 1) == 1 ? 1 : 0;
      $oComment->author = Core_Str::stripTags(Core_Array::getPost('author'));
      $oComment->email = Core_Str::stripTags(Core_Array::getPost('email'));
      $oComment->grade = intval(Core_Array::getPost('grade', 0));
      $oComment->subject = Core_Str::stripTags(Core_Array::getPost('subject'));
      $oComment->text = nl2br(Core_Str::stripTags(Core_Array::getPost('text'), $allowable_tags));
      $oComment->siteuser_id = $siteuser_id;

      $oInformationsystem_Item = Core_Entity::factory('Informationsystem_Item', $Informationsystem_Controller_Show->item);

      $oXmlCommentTag
         ->addEntity($oComment)
         ->addEntity($oInformationsystem_Item);

      if (is_null($oLastComment) || time() > Core_Date::sql2timestamp($oLastComment->datetime) + ADD_COMMENT_DELAY)
      {
         $oInformationsystem = $Informationsystem_Controller_Show->getEntity();

         if ($oInformationsystem->use_captcha == 0 || $siteuser_id > 0 || Core_Captcha::valid(Core_Array::getPost('captcha_id'), Core_Array::getPost('captcha')))
         {
            $oComment->save();

            $oInformationsystem_Item->add($oComment);

            $oXmlCommentTag->addEntity($oInformationsystem);

            // Отправка письма администратору
            $sText = Xsl_Processor::instance()
               ->xml($oXmlCommentTag->getXml())
               ->xsl(Core_Entity::factory('Xsl')->getByName(Core_Array::get(Core_Page::instance()->libParams, 'addCommentAdminMailXsl')))
               ->process();

            $oCore_Mail_Driver = Core_Mail::instance()
               ->to(EMAIL_TO)
               ->from(Core_Valid::email($oComment->email)
                  ? $oComment->email
                  : EMAIL_TO
               )
               ->subject(Core::_('Informationsystem.comment_mail_subject'))
               ->message(trim($sText))
               ->contentType(Core_Array::get(Core_Page::instance()->libParams, 'commentMailNoticeType', 0) == 0
                  ? 'text/plain'
                  : 'text/html'
               )
               ->send();
         }
         else
         {
            $oXmlCommentTag->addEntity(Core::factory('Core_Xml_Entity')
               ->name('error_captcha')->value(1)
            );

            $oComment->text = Core_Str::br2nl($oComment->text);
            $Informationsystem_Controller_Show->addEntity($oComment);
         }
      }
      else
      {
         $oXmlCommentTag->addEntity(Core::factory('Core_Xml_Entity')
            ->name('error_time')->value(1)
         );

         $oComment->text = Core_Str::br2nl($oComment->text);
         $Informationsystem_Controller_Show->addEntity($oComment);
      }

      // Результат добавления комментария
      $xsl_result = Xsl_Processor::instance()
         ->xml($oXmlCommentTag->getXml())
         ->xsl(Core_Entity::factory('Xsl')->getByName(
            Core_Array::get(Core_Page::instance()->libParams, 'addCommentNoticeXsl'))
         )
         ->process();

      $Informationsystem_Controller_Show->addEntity(
         Core::factory('Core_Xml_Entity')
            ->name('message')->value($xsl_result)
      );
   }
}

// В корне выводим из всех групп
/*if ($Informationsystem_Controller_Show->group == 0)
{
   $Informationsystem_Controller_Show->group(FALSE);
}*/

$Informationsystem_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl')->getByName($xslName)
   )
   ->itemsProperties(TRUE)
   ->show();
#
Re: Информационная система "Журнал отзывов"
Я конечно понимаю когда умело Copy - Paste!
Но это у вас стандартный ТДС из  "Информационная система для Вопросы-ответы, Гостевая книга и т.п."
Отображение где то в макете у вас мне кажется и я попросил тот код показать.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Информационная система "Журнал отзывов"
я извиняюсь, новичок я, осваиваюсь. Это  в макетах сайта? Там есть основной макет сайта и в нем есть еще шаблон для информационной системы. Его код надо?
#
Re: Информационная система "Журнал отзывов"
vereteno писал(а):
новичок я, осваиваюсь

Предлагаю потратить время на "Знакомство с HostCMS"  уверен в будущем будет полезен.
Если не справитесь то пишите помогу. Контакты ниже.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Информационная система "Журнал отзывов"
vereteno писал(а):
Это  в макетах сайта? Там есть основной макет сайта и в нем есть еще шаблон для информационной системы. Его код надо?

Да, "шаблон для информационной системы"
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Информационная система "Журнал отзывов"
<div class="breadcrumbs"><?php
// Вывод строки навигации
$Structure_Controller_Breadcrumbs = new Structure_Controller_Breadcrumbs(
      Core_Entity::factory('Site', CURRENT_SITE)
   );
$Structure_Controller_Breadcrumbs
   ->xsl(
      Core_Entity::factory('Xsl')->getByName('ХлебныеКрошки')
   )
   ->show();
?></div>


<?php
Core_Page::instance()->execute();
?>
#
Re: Информационная система "Журнал отзывов"
Seri писал(а):
Предлагаю потратить время на "Знакомство с HostCMS"  уверен в будущем будет полезен.

Спасибо за подсказку, очень полезная вещь, пошла изучать
Авторизация