Ejemplo n.º 1
0
 public function viewAction($callbackId)
 {
     $callback = Callbacks\Callback::get((int) $callbackId);
     if (!$callback) {
         Tools::header(404);
         Tools::redirect('/', 'Отзыв не найден', 'danger');
     }
     $this->view->setTitle('Отзыв: ' . $callback->name);
     $this->view->page(['data' => compact('callback')]);
 }
Ejemplo n.º 2
0
 public function init()
 {
     $callbacksData = filter_input(INPUT_POST, 'Callbacks', FILTER_REQUIRE_ARRAY);
     if (!empty($callbacksData)) {
         $callback = new \Callbacks\Callback();
         $error = false;
         if (empty($callbacksData['text'])) {
             $error = true;
             Msg::add('Вы не написали текст отзыва');
         } else {
             $callback->text = nl2br(htmlspecialchars($callbacksData['text']));
         }
         if (empty($callbacksData['name'])) {
             $error = true;
             Msg::add('Вы не указали свое имя');
         } else {
             $callback->name = htmlspecialchars($callbacksData['name']);
         }
         if (empty($callbacksData['phone'])) {
             $error = true;
             Msg::add('Вы не указали свой номер телефона');
         } else {
             $callback->phone = htmlspecialchars($callbacksData['phone']);
         }
         $files = filter_var($_FILES['Callbacks'], FILTER_REQUIRE_ARRAY);
         if (!empty($files['tmp_name']['photo'])) {
             $callback->image_file_id = App::$cur->files->upload(['name' => $files['name']['photo'], 'tmp_name' => $files['tmp_name']['photo']]);
         }
         $callback->mail = htmlspecialchars($callbacksData['mail']);
         $callback->type_id = (int) $callbacksData['type'];
         if (!$error) {
             $callback->save();
             if (!empty(App::$cur->config['site']['email'])) {
                 $subject = 'Новый отзыв';
                 $text = 'Вы можете его посмотреть по этому адресу: <a href = "http://' . idn_to_utf8(INJI_DOMAIN_NAME) . '/admin/callbacks">http://' . idn_to_utf8(INJI_DOMAIN_NAME) . '/admin/callbacks</a>';
                 Tools::sendMail('noreply@' . INJI_DOMAIN_NAME, App::$cur->config['site']['email'], $subject, $text);
             }
             Tools::redirect('/', 'Ваш отзыв был получен и появится после обработки администратором', 'success');
         }
     }
 }
Ejemplo n.º 3
0
<div class = 'callbacks'>
  <h1>Отзывы</h1>
  <?php 
$callbacks = Callbacks\Callback::getList(['where' => ['view', '1'], 'order' => ['weight', 'asc']]);
foreach ($callbacks as $callback) {
    echo "<h3>{$callback->name}<div class = 'time'>{$callback->date_create}</div></h3>";
    echo "<p>" . nl2br($callback->text) . "</p>";
}
?>
</div>
<h3>Можете и вы в свободной форме оставить свой отзыв</h3>
<?php 
$this->widget('Callbacks\\form');
Ejemplo n.º 4
0
<?php

return ['widget' => function () {
    ?>
        <div class="panel panel-default">
          <div class="panel-heading">Отзывы</div>
          <div class="panel-body">
            <p>Всего: <?php 
    echo Callbacks\Callback::getCount();
    ?>
</p>
            <p>Новых сегодня: <?php 
    echo Callbacks\Callback::getCount(['where' => ['date_create', date('Y-m-d 00:00:00'), '>']]);
    ?>
</p>
          </div>
          <div class="panel-footer">
            <a href ="/admin/Callbacks/Callback">Просмотр</a>
          </div>
        </div>
        <?php 
}];