Модуль используется для отправки коротких сообщений как внутри контроллера, так и вовне.
https://github.com/WinterSilence/kohana-messageВ качестве примера использования привожу контроллер и вид страницы обратной связи(форма отправки писем администратору):
Код:
class Controller_Page_Feedback extends Controller_Page
{
public function action_index()
{
$this->view->filename('feedback');
if ($this->request->post())
{
$form = Model::factory('Feedback', $this->request->post());
if ($form->check())
{
$form->send_mail($this->config['contacts']['email']);
/**
* Отправка сообщения об успешной отправке данных.
* Второй параметр(TRUE) используется для авто перевода
* текста сообщений на текущий язык
*/
Message::success('Message success sent', TRUE);
$this->redirect($this->request->url(), 200);
}
else
{
// Отправка сообщения с возникшими ошибками
Message::error($form->errors('model'));
}
}
}
}
Код:
<h2>Feedback</h2>
<?php if (is_string(Message::get())): ?>
<div class="box">
<div class="alert alert-<?php echo Message::type(); ?>">
<strong><?php echo Message::type(); ?>!</strong> <?php echo Message::get(); ?>
</div>
</div>
<?php endif; ?>
<div class="wa-form">
<form action="" method="post">
<input type="hidden" name="csrf" value="<?php echo Security::token(); ?>">
<?php if (isset($user)): ?>
<input type="hidden" name="email" value="<?php echo $user->email; ?>">
<?php else: ?>
<div class="wa-field">
<div class="wa-name">Email:</div>
<div class="wa-value <?php echo Message::get('email') ? Message::type() : ''; ?>">
<input type="email" name="email" value="<?=Arr::get($post, 'email')?>">
<?php echo Message::get('email') ? '<span class="help-inline">'.Message::get('email').'</span>' : ''; ?>
</div>
</div>
<?php endif; ?>
<div class="wa-field">
<div class="wa-name">Title:</div>
<div class="wa-value <?php echo Message::get('title') ? Message::type() : ''; ?>">
<input type="text" name="title" value="<?=Arr::get($post, 'title')?>">
<?php echo Message::get('title') ? '<span class="help-inline">'.Message::get('title').'</span>' : ''; ?>
</div>
</div>
<div class="wa-field">
<div class="wa-name">Message:</div>
<div class="wa-value <?php echo Message::get('message') ? Message::type() : ''; ?>">
<textarea id="wbbeditor" name="message"><?=Arr::get($post, 'message')?></textarea>
<?php echo Message::get('message') ? '<span class="help-inline">'.Message::get('message').'</span>' : ''; ?>
</div>
</div>
<div class="wa-field">
<div class="wa-value <?php echo Message::get('captcha') ? Message::type() : ''; ?>">
<div class="wa-captcha">
<img class="wa-captcha-img" src="/captcha/" alt="Captcha">
<strong>→</strong>
<input type="text" name="captcha" class="wa-captcha-input">
<?php echo Message::get('captcha') ? '<span class="help-inline">'.Message::get('captcha').'</span>' : ''; ?>
</div>
</div>
</div>
<div class="wa-field">
<div class="wa-value wa-submit">
<input type="submit" name="send" value="Send" class="btn grad_purple">
</div>
</div>
</form>
</div>